| | |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 获取云端BMS设备列表 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param cloudCallBeak 回调 |
| | | */ |
| | | public void getCloudBmsDeviceList(String homeId, CloudCallBeak<List<CloudInverterDeviceBean>> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_Device_bmsDevices; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | // json.addProperty("zoneType", "password");//区域 |
| | | |
| | | 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<List<CloudInverterDeviceBean>>() { |
| | | }.getType(); |
| | | List<CloudInverterDeviceBean> list = new Gson().fromJson(jsonStr, type); |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(list); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除云端上逆变器 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 设备清空运行数据 |
| | | * |
| | | * @param mac 网关mac |
| | | * @param linkCallBack 回调 |
| | | */ |
| | | public void DeviceClearData(String mac, LinkCallBack<Boolean> linkCallBack) { |
| | | String requestUrl = TopicApi.DEVICE_RUN_DATA_CLEAR; |
| | | TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, null, "", new HDLLinkCallBack() { |
| | | @Override |
| | | public void onSuccess(String json) { |
| | | if (linkCallBack != null) { |
| | | linkCallBack.onSuccess(true); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | if (linkCallBack != null) { |
| | | linkCallBack.onError(e); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取逆变器列表,整合云端逆变器列表和本地逆变器列表(设备类型有:并网逆变器,离线逆变器,负载中心设备); |
| | | * 注意:有外网,以云端设备列表为准;云端没有,本地存在,则删除本地;否则,没有外网只有局域网,以本地为主,搜索多少个设备就显示多少个 |
| | | * |
| | |
| | | * @param cloudCallBeak 返回逆变器列表 |
| | | */ |
| | | public void getCurrentHomeLocalAndCloudGatewayList(String homeId, CloudCallBeak<List<GatewayBean>> cloudCallBeak) { |
| | | HDLLinkLocalGateway.getInstance().getGatewayList().clear();//先清空之前逆变器列表 |
| | | // HDLLinkLocalGateway.getInstance().getGatewayList().clear();//先清空之前逆变器列表 |
| | | searchCurrentHomeGateway(homeId, new GatewayCallBack() { |
| | | @Override |
| | | public void onSuccess(List<GatewayBean> gatewayBeanList) { |
| | |
| | | gatewayBean.setOutputActivePower(cloudInverterDeviceBean.getOutputActivePower());//逆变器输出有功功率 |
| | | gatewayBean.setTotalElectricityPvToday(cloudInverterDeviceBean.getTotalElectricityPvToday());//今日发电量 |
| | | if (!TextUtils.isEmpty(cloudInverterDeviceBean.getOmodel())) { |
| | | //可能设备没有上报给云端,建议绑定逆变器时候追加一个参数; |
| | | //可能设备没有上报给云端,建议绑定逆变器时候追加一个参数;//todo 添加设备型号BMS获取类型值不一样 |
| | | gatewayBean.setDevice_model(cloudInverterDeviceBean.getOmodel());//设备型号 |
| | | } |
| | | gatewayBean.setSpk(cloudInverterDeviceBean.getSpk());//设备spk |
| | |
| | | spks.add(INVERTER_DEVICE_SPK); |
| | | spks.add(LC_SPK); |
| | | spks.add(OFF_INVERTER_OG_SPK); |
| | | spks.add(HDL_BMS_SPK); |
| | | return spks; |
| | | } |
| | | |
| | |
| | | * 离线逆变器spk |
| | | */ |
| | | public final String OFF_INVERTER_OG_SPK = "energy.inverter_og"; |
| | | /** |
| | | * BMS设备spk |
| | | */ |
| | | public final String HDL_BMS_SPK = "energy.hdl_bms"; |
| | | } |