mac
2024-07-10 68c1826255df230fcbd2bd72ea0945415cbb8e17
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -157,11 +157,12 @@
            list.remove(index);
        }
    }
    /**
     * 移除缓存列表里面逆变器
     *
     * @param homeId 电站id
     * @param deviceId    逆变器deviceId
     * @param homeId   电站id
     * @param deviceId 逆变器deviceId
     */
    public void removeLocalCacheMemoryGatewayToDeviceId(String homeId, String deviceId) {
        if (TextUtils.isEmpty(deviceId)) {
@@ -493,22 +494,7 @@
            @Override
            public void onFailure(HDLException e) {
                //添加逆变器失败后初始化逆变器
                HdlLogLogic.print("添加逆变器失败后开始初始化逆变器-->", true);
                for (int i = 0; i < list.size(); i++) {
                    GatewayBean gatewayBean = list.get(i);
                    HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
                        @Override
                        public void onSuccess(Boolean obj) {
                            HdlLogLogic.print("初始化逆变器成功-->mac:" + gatewayBean.getDevice_mac(), true);
                        }
                        @Override
                        public void onError(HDLLinkException e) {
                            HdlLogLogic.print("初始化逆变器失败-->mac:" + gatewayBean.getDevice_mac(), true);
                        }
                    });
                }
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
@@ -1055,7 +1041,7 @@
    /**
     * 获取逆变器列表(整合云端和本地列表)
     * 注意:有外网,以云端设备为准,本地存在,云端没有则删除;内网,以本地为主,搜索多少个设备就显示多少个;
     * 注意:有外网,以云端设备为准,本地存在,云端没有则删除;否则,没有外网只有局域网,以本地为主,搜索多少个设备就显示多少个
     *
     * @param homeId        住宅id
     * @param cloudCallBeak 返回逆变器列表
@@ -1068,7 +1054,19 @@
                HdlDeviceLogic.getInstance().getCloudInverterDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                    @Override
                    public void onSuccess(List<CloudInverterDeviceBean> list) {
                        ///情况1:有局域网,有外网;
                        List<String> removeSidList = new ArrayList<>();
                        for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                            GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                            if (!querySidInverter(list, gatewayBean.getSid())) {
                                //本地有,云端没有,删除本地;
                                removeSidList.add(gatewayBean.getSid());
                            }
                        }
                        for (int i = 0; i < removeSidList.size(); i++) {
                            //删除本地的逆变器
                            removeLocalInverter(removeSidList.get(i));
                        }
                        //情况1:有局域网,有外网;
                        setDeviceRemoteInfo(list, homeId, cloudCallBeak);
                    }