mac
2023-10-09 e10685706d2bacf0da27b8393c04a1f7a4df2bad
2023年10月09日18:06:49
1个文件已添加
6个文件已修改
381 ■■■■ 已修改文件
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java 221 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceRemoteInfo.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java
@@ -77,15 +77,10 @@
    private String deviceId;
    /**
     * 毫米波sid
     * sid
     */
    private String sid;
    /**
     * 设备来源(自定义:0=表示网关;1=表示平台)
     */
    private String src;
    private String systemStatusDesc;//云端-状态
@@ -93,13 +88,15 @@
    private String categorySecondName;//云端-设备类型(产品二级分类名称)
    public String getSrc() {
        return src == null ? "" : this.src;
    }
    //子网号/设备号
    private String addresses;
    public void setSrc(String src) {
        this.src = src;
    }
    //网关状态:1:待机,2:连接中,3:故障,4:运行,5:离线
    private int deviceStatus;
    private String powerPvNow;//发电功率
    private String totalElectricityPvToday;//今日发电量
    public String getAesKey() {
        return aesKey == null ? "" : aesKey;
@@ -394,4 +391,36 @@
    public void setCategorySecondName(String categorySecondName) {
        this.categorySecondName = categorySecondName;
    }
    public String getAddresses() {
        return addresses == null ? "" : addresses;
    }
    public void setAddresses(String addresses) {
        this.addresses = addresses;
    }
    public int getDeviceStatus() {
        return deviceStatus;
    }
    public void setDeviceStatus(int deviceStatus) {
        this.deviceStatus = deviceStatus;
    }
    public String getPowerPvNow() {
        return powerPvNow == null ? "" : powerPvNow;
    }
    public void setPowerPvNow(String powerPvNow) {
        this.powerPvNow = powerPvNow;
    }
    public String getTotalElectricityPvToday() {
        return totalElectricityPvToday == null ? "" : totalElectricityPvToday;
    }
    public void setTotalElectricityPvToday(String totalElectricityPvToday) {
        this.totalElectricityPvToday = totalElectricityPvToday;
    }
}
app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -229,4 +229,7 @@
    private static final String FILENAME = "UserConfigManage.json";
}
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -7,7 +7,12 @@
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.hdlhttp.HxHttp;
import com.hdl.linkpm.sdk.core.api.HDLCloudHomeApi;
import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.core.response.HDLResponse;
import com.hdl.linkpm.sdk.device.bean.FunctionInfoBean;
import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils;
import com.hdl.photovoltaic.bean.HttpResponsePack;
import com.hdl.photovoltaic.bean.LocalResponse;
import com.hdl.photovoltaic.config.AppConfigManage;
@@ -21,6 +26,7 @@
import com.hdl.photovoltaic.listener.LinkCallBack;
import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean;
import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
import com.hdl.photovoltaic.ui.bean.InverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
@@ -32,11 +38,15 @@
import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
import com.hdl.sdk.link.core.callback.GatewayCallBack;
import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import io.reactivex.rxjava3.disposables.Disposable;
/**
@@ -59,8 +69,6 @@
                }
                if (gatewayBean.getMaster().equals("true")
                        && gatewayBean.getHomeId().equals(UserConfigManage.getInstance().getHomeId())) {
//                    if ("0101050217BBC400".equals(gatewayBean.getOid()))//测试时过滤掉无效的,这行后面代码要删除
//                        continue;
                    newList.add(gatewayBean);
                }
            }
@@ -507,7 +515,7 @@
    }
    /**
     * 获取本地设备列表
     * 获取本地逆变器列表
     * 注意:有外网以云端设备为准,本地存在,云端没有则删除;内网以本地为主,搜索多少个设备就显示多少个;
     *
     * @param cloudCallBeak -
@@ -527,33 +535,71 @@
                            }
                            return;
                        }
                        //收集删除逆变器sid
                        List<String> removeSidList = new ArrayList<>();
                        //记录条数
                        AtomicInteger atomicInteger = new AtomicInteger(0);
                        for (int i = 0; i < list.size(); i++) {
                            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
                            for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                                GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                                if (!cloudInverterDeviceBean.getSid().equals(gatewayBean.getSid())) {
                                    //本地有,云端没有,删除本地;
                                    removeSidList.add(gatewayBean.getSid());
                            getDeviceRemoteInfo(UserConfigManage.getInstance().getHomeId(), cloudInverterDeviceBean.getSpk(), cloudInverterDeviceBean.getOsn(), new CloudCallBeak<DeviceRemoteInfo>() {
                                @Override
                                public void onSuccess(DeviceRemoteInfo deviceRemoteInfo) {
                                    atomicInteger.set(atomicInteger.get() + 1);
                                    refreshGatewayCacheData(true, cloudInverterDeviceBean, deviceRemoteInfo);
                                    if (atomicInteger.get() == list.size()) {
                                        //收集删除逆变器sid
                                        List<String> removeSidList = new ArrayList<>();
                                        for (int i = 0; i < list.size(); i++) {
                                            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
                                            for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                                                GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                                                if (!cloudInverterDeviceBean.getSid().equals(gatewayBean.getSid())) {
                                                    //本地有,云端没有,删除本地;
                                                    removeSidList.add(gatewayBean.getSid());
                                                }
                                            }
                                        }
                                        for (int i = 0; i < removeSidList.size(); i++) {
                                            //删除本地的逆变器
                                            removeInverter(removeSidList.get(i));
                                        }
                                        if (cloudCallBeak != null) {
                                            cloudCallBeak.onSuccess(true);
                                        }
                                    }
                                }
                            }
                        }
                        for (int i = 0; i < removeSidList.size(); i++) {
                            //删除本地的逆变器
                            removeInverter(removeSidList.get(i));
                                @Override
                                public void onFailure(HDLException e) {
                                    atomicInteger.set(atomicInteger.get() + 1);
                                    //有可能最后一条是失败的
                                    if (atomicInteger.get() == list.size()) {
                                        //收集删除逆变器sid
                                        List<String> removeSidList = new ArrayList<>();
                                        for (int i = 0; i < list.size(); i++) {
                                            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
                                            for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
                                                GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
                                                if (!cloudInverterDeviceBean.getSid().equals(gatewayBean.getSid())) {
                                                    //本地有,云端没有,删除本地;
                                                    removeSidList.add(gatewayBean.getSid());
                                                }
                                            }
                                        }
                                        for (int i = 0; i < removeSidList.size(); i++) {
                                            //删除本地的逆变器
                                            removeInverter(removeSidList.get(i));
                                        }
                                        if (cloudCallBeak != null) {
                                            cloudCallBeak.onSuccess(true);
                                        }
                                    }
                                    HdlLogLogic.print("获取设备远程通讯信息失败->msg->" + e.getMsg() + "(" + e.getCode() + ")");
                                }
                            });
                        }
                        for (int i = 0; i < list.size(); i++) {
                            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
                            GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(cloudInverterDeviceBean.getSid());
                            objectAssignment(cloudInverterDeviceBean, gatewayBean);
                        }
                        if (cloudCallBeak != null) {
                            cloudCallBeak.onSuccess(true);
                        }
                    }
                    @Override
@@ -572,24 +618,42 @@
                    public void onSuccess(List<CloudInverterDeviceBean> list) {
                        //清楚本地网关列表
                        HDLLinkLocalGateway.getInstance().getGatewayList().clear();
                        if (list == null || list.size() == 0) {
                            if (cloudCallBeak != null) {
                                cloudCallBeak.onSuccess(true);
                            }
                            return;
                        }
                        //记录条数
                        AtomicInteger atomicInteger = new AtomicInteger(0);
                        for (int i = 0; i < list.size(); i++) {
                            CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
                            //云端对象数据交换到本地对象
                            GatewayBean gatewayBean = new GatewayBean();
                            objectAssignment(cloudInverterDeviceBean, gatewayBean);
                            getDeviceRemoteInfo(UserConfigManage.getInstance().getHomeId(), cloudInverterDeviceBean.getSpk(), cloudInverterDeviceBean.getOsn(), new CloudCallBeak<DeviceRemoteInfo>() {
                                @Override
                                public void onSuccess(DeviceRemoteInfo deviceRemoteInfo) {
                                    atomicInteger.set(atomicInteger.get() + 1);
                                    refreshGatewayCacheData(false, cloudInverterDeviceBean, deviceRemoteInfo);
                                    if (atomicInteger.get() == list.size()) {
                                        if (cloudCallBeak != null) {
                                            cloudCallBeak.onSuccess(true);
                                        }
                                    }
                                }
                            //添加网关
                            HDLLinkLocalGateway.getInstance().getGatewayList().add(gatewayBean);
                                @Override
                                public void onFailure(HDLException e) {
                                    atomicInteger.set(atomicInteger.get() + 1);
                                    if (atomicInteger.get() == list.size()) {
                                        if (cloudCallBeak != null) {
                                            cloudCallBeak.onSuccess(true);
                                        }
                                    }
                                    HdlLogLogic.print("获取设备远程通讯信息失败->msg->" + e.getMsg() + "(" + e.getCode() + ")");
                                }
                            });
                        }
                        if (cloudCallBeak != null) {
                            cloudCallBeak.onSuccess(true);
                        }
                    }
@@ -600,6 +664,46 @@
                        }
                    }
                });
            }
        });
    }
    /**
     * 获取设备远程通讯信息
     *
     * @param homeId        住宅Id
     * @param spk           spk
     * @param mac           设备mac
     * @param cloudCallBeak 回调
     * @return -
     */
    public void getDeviceRemoteInfo(String homeId, String spk, String mac, CloudCallBeak<DeviceRemoteInfo> cloudCallBeak) {
        String requestUrl = HttpApi.POST_Device_remoteInfo;
        JsonObject json = new JsonObject();
        json.addProperty("homeId", homeId);
        json.addProperty("spk", spk);
        json.addProperty("mac", mac);
        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
            @Override
            public void onSuccess(String jsonStr) {
                if (TextUtils.isEmpty(jsonStr)) {
                    if (cloudCallBeak != null) {
                        cloudCallBeak.onSuccess(null);
                    }
                }
                Type type = new TypeToken<DeviceRemoteInfo>() {
                }.getType();
                DeviceRemoteInfo deviceRemoteInfo = new Gson().fromJson(jsonStr, type);
                if (cloudCallBeak != null) {
                    cloudCallBeak.onSuccess(deviceRemoteInfo);
                }
            }
            @Override
            public void onFailure(HDLException e) {
                if (cloudCallBeak != null) {
                    cloudCallBeak.onFailure(e);
                }
            }
        });
    }
@@ -627,26 +731,47 @@
        HDLLinkLocalGateway.getInstance().refreshGatewayByHomeIdAndSpk(UserConfigManage.getInstance().getHomeId(), spks, true, gatewayCallBack);
    }
    private void objectAssignment(CloudInverterDeviceBean cloudInverterDeviceBean, GatewayBean gatewayBean) {
        if (cloudInverterDeviceBean == null || gatewayBean == null) {
            return;
    /**
     * 刷新逆变器缓存信息(包括设置mqtt秘钥)
     * 注:
     * 1:本地存在更新信息即可;
     * 2:云端有本地不存在,则虚拟一个逆变器对象添加在本地;
     *
     * @param deviceRemoteInfo        设备远程通讯信息
     * @param cloudInverterDeviceBean 逆变器
     */
    private static void refreshGatewayCacheData(boolean isLocal, CloudInverterDeviceBean cloudInverterDeviceBean, DeviceRemoteInfo deviceRemoteInfo) {
        //本地查找逆变器
        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(cloudInverterDeviceBean.getOsn());
        if (gatewayBean == null) {
            //不存在,虚拟一个逆变器对象;
            gatewayBean = new GatewayBean();
            HDLLinkLocalGateway.getInstance().getGatewayList().add(gatewayBean);//添加逆变器设备
        }
        gatewayBean.setOid(cloudInverterDeviceBean.getOid());
        gatewayBean.setSid(cloudInverterDeviceBean.getSid());
        gatewayBean.setGatewayId(cloudInverterDeviceBean.getGatewayId());
        gatewayBean.setOnline(cloudInverterDeviceBean.isOnline());
        gatewayBean.setDevice_mac(cloudInverterDeviceBean.getOsn());//设备mac
        gatewayBean.setDevice_name(cloudInverterDeviceBean.getGatewayName());
        gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId());
        //更新属性
        if (deviceRemoteInfo != null) {
            gatewayBean.setAesKey(deviceRemoteInfo.getSecret());//设置mqtt通讯秘钥
            gatewayBean.setGatewayId(deviceRemoteInfo.getGatewayId());//设置gatewayId
        }
        gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId());//住宅id
        gatewayBean.setDeviceStatus(cloudInverterDeviceBean.getDeviceStatus());//设置网关状态
        gatewayBean.setDeviceId(cloudInverterDeviceBean.getDeviceId());//设置link设备id
        gatewayBean.setDevice_mac(cloudInverterDeviceBean.getOsn());//设置mac
        gatewayBean.setOid(cloudInverterDeviceBean.getOid());//设备oid
        gatewayBean.setSid(cloudInverterDeviceBean.getSid());//设备sid
        gatewayBean.setDevice_name(cloudInverterDeviceBean.getName());//设备名称
        gatewayBean.setGatewayType(cloudInverterDeviceBean.getSpk());//设置spk
        gatewayBean.setLocalEncrypt(true);
        gatewayBean.setMaster("true");
        gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());
        gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion());
        gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName());
        gatewayBean.setDeviceId(cloudInverterDeviceBean.getDeviceId());
        gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());//设备状态
        gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion());//软件版本号
        gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName());//设备类型(产品二级分类名称
        gatewayBean.setAddresses(cloudInverterDeviceBean.getAddresses());//子网号/设备号
        gatewayBean.setPowerPvNow(cloudInverterDeviceBean.getPowerPvNow());//发电功率
        gatewayBean.setTotalElectricityPvToday(cloudInverterDeviceBean.getTotalElectricityPvToday());//今日发电量
    }
    /**
     * 获取网关spk列表
@@ -655,7 +780,9 @@
     */
    private List<String> getGatewaySpk() {
        List<String> spks = new ArrayList<>();
        spks.add("energy.hdl_inverter");
        spks.add(DEVICE_SPK);
        return spks;
    }
    public final String DEVICE_SPK = "energy.hdl_inverter";
}
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -57,7 +57,7 @@
        return sHdlUniLogic;
    }
    //region ******【原生】和【小程序】通讯的方法 onOtherUniMPEventReceive();openUniMP();sendUni();******
    //region ******【原生】和【小程序】通讯的3个方法名 onOtherUniMPEventReceive();openUniMP();sendUni();******
    /**
     * 原生接收到uni发来的数据
@@ -77,8 +77,9 @@
            if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(event)) {
                //住宅模块
                switch (type) {
                    //创建电站
                    case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: {
                        //创建
                        //EventBus事件分发
                        BaseEventBus baseEventBus = new BaseEventBus();
                        baseEventBus.setType(ConstantManage.EVENTBUS_POST_HOME_CREATED);
@@ -88,6 +89,10 @@
                    break;
                    case HDLUniMP.UNI_EVENT_REPLY_HOME_DETAILS: {
                        //详情
                    }
                    break;
                    case HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE: {
                        //关闭详情页
                    }
                    break;
@@ -162,8 +167,9 @@
                        });
                    }
                    break;
                    //获取逆变器列表
                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: {
                        //获取网关设备列表
                        HdlDeviceLogic.getInstance().getLocalGatewayList(new CloudCallBeak<Boolean>() {
                            @Override
                            public void onSuccess(Boolean obj) {
@@ -186,10 +192,10 @@
                    }
                    break;
                    //获取oid列表
                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OID: {
                        //添加设备到云端
                        String mac = getKeyValue("mac", getKeyValue("data", data));
                        //获取oid列表
                        HdlDeviceLogic.getInstance().getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() {
                            @Override
                            public void onSuccess(List<OidBean> list) {
@@ -222,12 +228,10 @@
                            }
                        });
                    }
                    //设备时间编辑
                    break;
                    //设备时间编辑
                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME_EDIT: {
                        //添加设备到云端
                        String mac = getKeyValue("mac", getKeyValue("data", data));
                        //获取oid列表
                        HdlDeviceLogic.getInstance().getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() {
                            @Override
                            public void onSuccess(List<OidBean> obj) {
@@ -248,22 +252,23 @@
                WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance());
                //wifi模块
                switch (type) {
                    //获取wifi列表
                    case HDLUniMP.UNI_EVENT_REPLY_WIFI_LIST: {
                        //获取wifi列表
                        if (callback != null) {
                            uniCallbackData(wifiUtils.getScanResult(), callback);
                        }
                    }
                    break;
                    //当前wifi详情
                    case HDLUniMP.UNI_EVENT_REPLY_WIFI_INFO: {
                        //当前wifi详情
                        if (callback != null) {
                            uniCallbackData(wifiUtils.getCurrentConnectWifiInfo(), callback);
                        }
                    }
                    break;
                    //wifi连接
                    case HDLUniMP.UNI_EVENT_REPLY_WIFI_CONNECT: {
                        //wifi连接
                    }
                    break;
app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
@@ -15,7 +15,6 @@
     */
    private boolean online;
    private String gatewayId;//网关Id
    private String gatewayName;//网关名称
    private String deviceId;//设备id
    private String name;//设备名称
    private String spk;
@@ -35,6 +34,8 @@
    private String hwVersion;//软件版本号
    private String categorySecondName;//设备类型(产品二级分类名称)
    public String getSystemStatusDesc() {
        return systemStatusDesc == null ? "" : systemStatusDesc;
@@ -69,13 +70,6 @@
        this.gatewayId = gatewayId;
    }
    public String getGatewayName() {
        return gatewayName == null ? "" : gatewayName;
    }
    public void setGatewayName(String gatewayName) {
        this.gatewayName = gatewayName;
    }
    public String getDeviceId() {
        return deviceId == null ? "" : deviceId;
app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceRemoteInfo.java
New file
@@ -0,0 +1,63 @@
package com.hdl.photovoltaic.ui.bean;
import java.io.Serializable;
/**
 * 设备远程通讯信息对象
 */
public class DeviceRemoteInfo implements Serializable {
    public String getGatewayId() {
        return gatewayId;
    }
    public void setGatewayId(String gatewayId) {
        this.gatewayId = gatewayId;
    }
    public boolean isEncrypt() {
        return encrypt;
    }
    public void setEncrypt(boolean encrypt) {
        this.encrypt = encrypt;
    }
    public int getAlgorithmType() {
        return algorithmType;
    }
    public void setAlgorithmType(int algorithmType) {
        this.algorithmType = algorithmType;
    }
    public String getSpk() {
        return spk;
    }
    public void setSpk(String spk) {
        this.spk = spk;
    }
    public String getMac() {
        return mac;
    }
    public void setMac(String mac) {
        this.mac = mac;
    }
    public String getSecret() {
        return secret == null ? "" : secret;
    }
    public void setSecret(String secret) {
        this.secret = secret;
    }
    private String gatewayId;
    private boolean encrypt;//是否加密
    private int algorithmType;//0.SM4  1.AES  2.不加密
    private String spk;
    private String mac;//设备mac
    private String secret;//私钥
}
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -25,7 +25,9 @@
    public final static String UNI_EVENT_REPLY_HOME_CREATION = "creation";//住宅【电站】创建
    public final static String UNI_EVENT_REPLY_HOME_EDIT = "edit";//住宅【电站】编辑
    public final static String UNI_EVENT_REPLY_HOME_DETAILS = "details";//住宅【电站】详情
    public final static String UNI_EVENT_REPLY_Home_DEl = "del";//住宅【电站】删除
    public final static String UNI_EVENT_REPLY_HOME_DEl = "del";//住宅【电站】删除
    public final static String UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE= "close_home_details_page";//关闭详情页
    /*********设备模块*********/
    public final static String UNI_EVENT_REPLY_DEVICE_MODEL = "uni_device_model";//设备模块(大类)
    public final static String UNI_EVENT_REPLY_DEVICE_LIST = "list";//本地逆变器设备列表