| | |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.HouseInfoBean; |
| | | import com.hdl.photovoltaic.ui.bean.HouseIdBean; |
| | | import com.hdl.photovoltaic.ui.bean.MessageBean; |
| | | import com.hdl.sdk.link.common.exception.HDLLinkException; |
| | | import com.hdl.sdk.link.core.bean.gateway.GatewayBean; |
| | | import com.hdl.sdk.link.core.callback.GatewayCallBack; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取住宅列表 |
| | | * 获取缓存住宅列表 |
| | | * |
| | | * @return 住宅列表 |
| | | */ |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取住宅ID列表 |
| | | * 获取缓存住宅ID列表 |
| | | * |
| | | * @return 住宅ID列表 |
| | | */ |
| | |
| | | |
| | | |
| | | /** |
| | | * 获取住宅列表 |
| | | * 获取住宅列表,包括获取住宅id列表,住宅详情列表; |
| | | * |
| | | * @param cloudCallBeak - |
| | | */ |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 用户自定义配置温度单位 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param tempType 温度单位类型 (C :摄氏度, F :华氏度) |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void setResidenceTemperatureUnit(String homeId, String tempType, CloudCallBeak<Boolean> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_C_F_CustomConfig; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | json.addProperty("tempType", tempType); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String str) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(true); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取用户自定义配置温度单位详情 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param cloudCallBeak - |
| | | */ |
| | | public void getResidenceTemperatureUnit(String homeId, CloudCallBeak<String> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_C_F_CustomConfigInfo; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | |
| | | List<MessageBean> list = new ArrayList<>(); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String jsonStr) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(jsonStr); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 添加【住宅详情】到本地缓存 |
| | | * |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取住宅Id对象 |
| | | * |
| | | * @param homeId 住宅id |
| | | * @return 列表索引 |
| | | */ |
| | | public HouseIdBean getHouseId(String homeId) { |
| | | for (int i = 0; i < houseIdList.size(); i++) { |
| | | if (houseIdList.get(i).getHomeId().equals(homeId)) { |
| | | return houseIdList.get(i); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 切换住宅 |
| | | * |
| | | * @param houseIdBean 住宅Id对象 |
| | | */ |
| | | public void switchHouse(HouseIdBean houseIdBean) { |
| | | String oidHomeId = UserConfigManage.getInstance().getHomeId(); |
| | | if (houseIdBean.getHomeId().equals(oidHomeId)) { |
| | | HdlLogLogic.print("点击同一个住宅"); |
| | | String homeId = UserConfigManage.getInstance().getHomeId(); |
| | | if (houseIdBean.getHomeId().equals(homeId)) { |
| | | HdlLogLogic.print("点击同一个住宅--->" + homeId); |
| | | return; |
| | | } |
| | | //订阅要全部取消 |
| | |
| | | } |
| | | //要清空之前tcp连接缓存 |
| | | //TODO: 10/10/23 |
| | | //删除旧的住宅文件夹 |
| | | HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath()); |
| | | //删除旧的住宅文件夹 2023年11月03日14:28:19暂时去掉 |
| | | // HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath()); |
| | | //重新设置住宅id |
| | | UserConfigManage.getInstance().setHomeId(houseIdBean.getHomeId()); |
| | | UserConfigManage.getInstance().setHomeName(houseIdBean.getHomeName()); |
| | | //重新设置本地通讯秘钥 |
| | | UserConfigManage.getInstance().setLocalSecret(houseIdBean.getLocalSecret()); |
| | | //配置本地通信的信息 |
| | |
| | | //重新创建住宅文件夹 |
| | | HdlFileLogic.getInstance().createDirectory(); |
| | | //进去住宅详情搜索一下逆变器列表,目的是建立通讯通道; |
| | | HdlDeviceLogic.getInstance().searchGateway(null); |
| | | HdlDeviceLogic.getInstance().searchCurrentHomeGateway(null); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 电站数据(统计) |
| | | * |
| | | * @param homeId 住宅id |
| | | */ |
| | | public void getResidenceInverterAllInfo(String homeId, CloudCallBeak<Bitmap> cloudCallBeak) { |
| | | String requestUrl = HttpApi.POST_inverter_allInfo; |
| | | JsonObject json = new JsonObject(); |
| | | json.addProperty("homeId", homeId); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { |
| | | @Override |
| | | public void onSuccess(String jsonStr) { |
| | | if (cloudCallBeak != null) { |
| | | // cloudCallBeak.onSuccess(jsonStr); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(e); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | static class HouseBeanClass { |