mac
2023-12-06 d830fef6a2bc2ab061e6ac2b423c4a49dda3cf21
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -20,6 +20,7 @@
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
import com.hdl.sdk.link.core.callback.GatewayCallBack;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import java.nio.charset.StandardCharsets;
@@ -114,7 +115,7 @@
                            public void onSuccess(HouseInfoBean houseInfoBean) {
                                atomicInteger.set(atomicInteger.get() + 1);
                                if (houseInfoBean != null) {
                                    houseInfoBean.setHomeImage(houseIdBean.getHomeImage());//电站图片
                                    houseInfoBean.setPowerStationImage(houseIdBean.getPowerStationImage());//电站图片
                                    houseInfoBean.setInstalledCapacity(houseIdBean.getInstalledCapacity());//装机容量
                                    houseInfoBean.setPower(houseIdBean.getPower());//发电功率
                                    houseInfoBean.setTodayElectricity(houseIdBean.getTodayElectricity());//今天发电量
@@ -514,41 +515,31 @@
     */
    public void switchHouse(HouseIdBean houseIdBean) {
        String oidHomeId = UserConfigManage.getInstance().getHomeId();
//        if (houseIdBean.getHomeId().equals(oidHomeId)) {
//            return;
//        }
        //删除旧的住宅文件夹
        HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
        if (houseIdBean.getHomeId().equals(oidHomeId)) {
            HdlLogLogic.print("点击同一个住宅");
            return;
        }
        //订阅要全部取消
        if (MqttRecvClient.getInstance() != null) {
            MqttRecvClient.getInstance().removeAllTopic();
        }
        //要清空之前tcp连接缓存
        //TODO: 10/10/23
        //删除旧的住宅文件夹 2023年11月03日14:28:19暂时去掉
//        HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
        //重新设置住宅id
        UserConfigManage.getInstance().setHomeId(houseIdBean.getHomeId());
        UserConfigManage.getInstance().setHomeName(houseIdBean.getHomeName());
        //重新设置本地通讯秘钥
        UserConfigManage.getInstance().setLocalSecret(houseIdBean.getLocalSecret());
        //重新创建住宅文件夹
        HdlFileLogic.getInstance().createDirectory();
        //配置本地通信的信息
        initLocalLinkSdk();
        HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
            @Override
            public void onSuccess(List<GatewayBean> gatewayBeanList) {
            }
            @Override
            public void onError(HDLLinkException e) {
            }
        });
    }
    /**
     * 配置本地通信的信息(tcp通信用到)
     */
    private void initLocalLinkSdk() {
        HDLLinkConfig.getInstance().setHomeId(UserConfigManage.getInstance().getHomeId());
        HDLLinkConfig.getInstance().setLocalSecret(UserConfigManage.getInstance().getLocalSecret());
        //重新创建住宅文件夹
        HdlFileLogic.getInstance().createDirectory();
        //进去住宅详情搜索一下逆变器列表,目的是建立通讯通道;
        HdlDeviceLogic.getInstance().searchGateway(null);
    }
    static class HouseBeanClass {