mac
2023-12-05 b2d2e6dcf6ec38a2f24721f2bc925d634a6eb78d
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -103,14 +103,11 @@
     * 获取当前住宅的【主】逆变器列表
     */
    public GatewayBean getCurrentHomeMainGateway() {
        List<GatewayBean> list = HDLLinkLocalGateway.getInstance().getGatewayList();
        List<GatewayBean> list = this.getCurrentHomeGatewayList();
        if (list.size() > 0) {
            for (int i = 0; i < list.size(); i++) {
                GatewayBean gatewayBean = list.get(i);
                if (TextUtils.isEmpty(gatewayBean.getDevice_mac())) {
                    continue;
                }
                if (gatewayBean.getMaster().equals(GatewayMasterType.MasterTrue) && gatewayBean.getHomeId().equals(UserConfigManage.getInstance().getHomeId())) {
                if (gatewayBean.getMaster().equals(GatewayMasterType.MasterTrue)) {
                    //找到返回
                    return gatewayBean;
                }
@@ -563,8 +560,8 @@
    }
    /**
     * 获取逆变器列表
     * 注意:有外网以云端设备为准,本地存在,云端没有则删除;内网以本地为主,搜索多少个设备就显示多少个;
     * 获取逆变器列表(整合云端和本地列表)
     * 注意:有外网,以云端设备为准,本地存在,云端没有则删除;内网,以本地为主,搜索多少个设备就显示多少个;
     *
     * @param cloudCallBeak 返回逆变器列表
     */
@@ -667,7 +664,7 @@
            @Override
            public void onError(HDLLinkException e) {
                //外网只有1情况(本地搜索逆变器列表失败了)
                //外网只有1种情况(本地搜索逆变器列表失败了)
                HdlDeviceLogic.getInstance().getCloudInverterDeviceList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                    @Override
                    public void onSuccess(List<CloudInverterDeviceBean> list) {
@@ -824,6 +821,50 @@
        HDLLinkLocalGateway.getInstance().refreshGatewayByHomeIdAndSpk(UserConfigManage.getInstance().getHomeId(), spks, true, gatewayCallBack);
    }
    /**
     * 判断是本地连接
     *
     * @param deviceMac 设备mac
     * @return true=本地连接
     */
    public boolean isLocalConnect(String deviceMac) {
        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(deviceMac);
        return gatewayBean == null;
    }
    /**
     * 检测逆变器有没有连接上云
     *
     * @param deviceMac 设备mac
     */
    public void checkInverterConnectedCloud(String deviceMac, CloudCallBeak<CloudInverterDeviceBean> cloudCallBeak) {
        this.getCloudInverterDeviceList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<CloudInverterDeviceBean>>() {
            @Override
            public void onSuccess(List<CloudInverterDeviceBean> list) {
                CloudInverterDeviceBean cloudInverterDeviceBean = null;
                if (list != null && list.size() > 0) {
                    for (int i = 0; i < list.size(); i++) {
                        if (list.get(i).getOsn().equals(deviceMac)) {
                            cloudInverterDeviceBean = list.get(i);
                            break;
                        }
                    }
                }
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(cloudInverterDeviceBean);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
    /**
     * 刷新逆变器缓存信息(包括设置mqtt秘钥)