| | |
| | | public List<GatewayBean> getCurrentHomeGatewayList(String homeId, List<CloudInverterDeviceBean> cloudInverterDeviceList) { |
| | | try { |
| | | List<GatewayBean> newList = new ArrayList<>(); |
| | | //云端有设备列表,HDLLinkLocalGateway.getInstance().getGatewayList()没有,即本地没有,里面会调用refreshGatewayCacheData()方法虚拟一个逆变器实体添加本地列表里面; |
| | | //云端有设备列表,本地没有,即HDLLinkLocalGateway.getInstance().getGatewayList()没有,里面会调用refreshGatewayCacheData()方法虚拟一个逆变器实体添加本地列表里面; |
| | | List<GatewayBean> list = HDLLinkLocalGateway.getInstance().getGatewayList(); |
| | | if (list.size() > 0) { |
| | | for (int i = 0; i < list.size(); i++) { |
| | |
| | | } |
| | | } |
| | | //有外网,以云端设备列表为准;云端没有,本地存在,则删除本地;否则,没有外网只有局域网,以本地为主,搜索多少个设备就显示多少个 |
| | | //追加这个条件是因为上面把HDLLinkLocalGateway.getInstance().getGatewayList()列表处理完后,接着搜索局域网又还原列表数据,导致出现旧数据; |
| | | if (cloudInverterDeviceList != null && cloudInverterDeviceList.size() > 0) { |
| | | List<GatewayBean> checkNewList = new ArrayList<>(); |
| | | for (int i = 0; i < cloudInverterDeviceList.size(); i++) { |
| | |
| | | } |
| | | newList.clear(); |
| | | newList.addAll(checkNewList); |
| | | |
| | | } |
| | | // // 将list2的元素合并到list1的头部 |
| | | // // 模拟设备列表数据 |
| | | // List<GatewayBean> mockData = getGatewayDeviceListMockData(3); |
| | | // if (mockData.size() > 0) { |
| | | // for (GatewayBean mockDatum : mockData) { |
| | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | atomicInteger.set(atomicInteger.get() + 1); |
| | | //注意:这个逆变器只能本地控制(因为拿不到mqtt通讯秘钥以及GatewayID,无法远程控制) |
| | | //更新逆变器本地缓存信息 |
| | | refreshGatewayCacheData(false, cloudInverterDeviceBean, null, homeId); |
| | | //当最后一条请求失败了,才有回调 |
| | | if (atomicInteger.get() == list.size()) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(getCurrentHomeGatewayList(homeId, list)); |
| | | } |
| | | } |
| | | HdlLogLogic.print("获取设备远程通讯信息失败---msg---" + e.getMsg() + "(" + e.getCode() + ")"); |
| | | HdlLogLogic.print("获取设备远程通讯信息失败(mac:"+cloudInverterDeviceBean.getOsn()+")------" + e.getMsg() + "(" + e.getCode() + ")",true); |
| | | } |
| | | }); |
| | | } |
| | |
| | | gatewayBean.setOgMaster(cloudInverterDeviceBean.isOgMaster()); |
| | | //逆变器 |
| | | gatewayBean.setMaster(GatewayMasterType.MasterTrue);//默认都是主逆变器(以后支持从逆变器要更改) |
| | | gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());//设备状态 |
| | | gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());//设备状态(逆变器设备) |
| | | gatewayBean.setWorkStatusDesc(cloudInverterDeviceBean.getWorkStatusDesc());//工作状态(负载中心设备) |
| | | gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion());//软件版本号 |
| | | gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName());//设备类型(产品二级分类名称 |
| | | gatewayBean.setDeviceType(cloudInverterDeviceBean.getDeviceType());//设备类型(INV:逆变器;BMS:BMS控制盒;BATTERY:电池单元) |
| | |
| | | gatewayBean.setSpk(cloudInverterDeviceBean.getSpk());//设备spk |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |