From 073e5d5103870246fe33029e5f6d36536a1bb76c Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 30 六月 2023 10:33:05 +0800 Subject: [PATCH] 2023年06月30日10:33:03 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 121 +++++++++++++++++++++++++++++++++++---- 1 files changed, 107 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java index c16a5ad..6ecf796 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -4,19 +4,34 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; +import com.hdl.hdlhttp.HxHttp; import com.hdl.photovoltaic.bean.HttpResponsePack; +import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.internet.HttpClient; +import com.hdl.photovoltaic.internet.TcpClient; import com.hdl.photovoltaic.internet.api.HttpApi; +import com.hdl.photovoltaic.internet.api.TopicApi; import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean; import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; import com.hdl.photovoltaic.ui.bean.InverterDeviceBean; import com.hdl.photovoltaic.ui.bean.OidBean; +import com.hdl.photovoltaic.uni.HDLUniMP; +import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; +import com.hdl.sdk.link.common.exception.HDLLinkCode; +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; +import com.hdl.sdk.link.core.callback.HDLLinkCallBack; +import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; import java.lang.reflect.Type; +import java.util.ArrayList; import java.util.List; + +import io.reactivex.rxjava3.disposables.Disposable; /** * 璁惧閫昏緫鐨勭晫闈� @@ -44,18 +59,23 @@ /** * 娣诲姞閫嗗彉鍣� * - * @param inverterDeviceBean 閫嗗彉鍣ㄥ璞� - * @param cloudCallBeak 鍥炶皟 + * @param mac - + * @param spk - + * @param sid - + * @param oid - + * @param name - + * @param cloudCallBeak */ - public void addInverterDevice(InverterDeviceBean inverterDeviceBean, CloudCallBeak<Boolean> cloudCallBeak) { + public void addInverterDevice(String mac, String spk, String sid, String oid, String name, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.POST_Device_Add; JsonObject json = new JsonObject(); json.addProperty("homeId", UserConfigManage.getInstance().getHomeId()); - json.addProperty("mac", inverterDeviceBean.getDevice_mac()); - json.addProperty("spk", inverterDeviceBean.getGateway_type()); - json.addProperty("sid", inverterDeviceBean.getSid()); - json.addProperty("oid", inverterDeviceBean.getOid()); - json.addProperty("name", inverterDeviceBean.getDevice_name()); + json.addProperty("mac", mac); + json.addProperty("spk", spk); + json.addProperty("sid", sid); + json.addProperty("oid", oid); + json.addProperty("name", name); // json.addProperty("zoneType", "password");//鍖哄煙 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { @@ -78,13 +98,13 @@ /** * 鑾峰彇閫嗗彉鍣ㄥ垪琛� * - * @param inverterDeviceBean 閫嗗彉鍣ㄥ璞� - * @param cloudCallBeak 鍥炶皟 + * @param homeId 浣忓畢id + * @param cloudCallBeak 鍥炶皟 */ - public void getInverterDeviceList(InverterDeviceBean inverterDeviceBean, CloudCallBeak<CloudInverterDeviceBean> cloudCallBeak) { + public void getInverterDeviceList(String homeId, CloudCallBeak<CloudInverterDeviceBean> cloudCallBeak) { String requestUrl = HttpApi.POST_Device_List; JsonObject json = new JsonObject(); - json.addProperty("homeId", UserConfigManage.getInstance().getHomeId()); + json.addProperty("homeId", homeId); // json.addProperty("zoneType", "password");//鍖哄煙 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { @@ -180,9 +200,9 @@ * 鍏ㄩ噺鏇存柊OID * * @param oidList oid鍒楄〃 - * @param cloudCallBeak 鍥炶皟 + * @param cloudCallBeak 鍥炶皟update */ - public void fullRenewalOid(List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) { + public void fullUpdateOid(List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.POST_Device_ChildDevices_List; JsonObject json = new JsonObject(); json.addProperty("operationSource", "PROGRAM_ENERGY");// @@ -222,6 +242,79 @@ } } }); + } + + /** + * 璁剧疆缃戝叧杩滅▼鍙傛暟 + * + * @param mac 璁惧mac + * @param cloudCallBeak 鍥炶皟update + */ + public void steGatewayParam(String mac, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = TopicApi.GATEWAY_SEND_REMOTE_EDIT; + JsonObject json = new JsonObject(); + json.addProperty("homeId", UserConfigManage.getInstance().getHomeId()); + json.addProperty("server_addr", AppConfigManage.getUserRegionUrl()); + json.addProperty("local_secret", UserConfigManage.getInstance().getLocalSecret()); + TcpClient.getInstance().sendDataToLinkGateway(mac, true, requestUrl, json, "", new HDLLinkCallBack() { + @Override + public void onSuccess(String msg) { + + } + + @Override + public void onError(HDLLinkException e) { + + } + }); + } + + /** + * 缂栬緫缃戝叧鍙傛暟 + * + * @param mac 璁惧mac + * @param cloudCallBeak 鍥炶皟update + */ + public void editGatewayParam(String mac, CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = TopicApi.GATEWAY_SEND_EDIT; + JsonObject json = new JsonObject(); + json.addProperty("master", "true"); + TcpClient.getInstance().sendDataToLinkGateway(mac, true, requestUrl, json, "", new HDLLinkCallBack() { + @Override + public void onSuccess(String msg) { + + } + + @Override + public void onError(HDLLinkException e) { + + } + }); + + } + + + /** + * 鎼滅储缃戝叧鍒楄〃 + * + * @param gatewayCallBack - + */ + public void searchGateway(GatewayCallBack gatewayCallBack) { + List<String> spks = this.getGatewaySpk(); + //缃戝叧鎼滅储 + HDLLinkLocalGateway.getInstance().refreshGatewayByHomeIdAndSpk(UserConfigManage.getInstance().getHomeId(), spks, true, gatewayCallBack); + } + + /** + * 鑾峰彇缃戝叧spk鍒楄〃 + * + * @return - + */ + private List<String> getGatewaySpk() { + List<String> spks = new ArrayList<>(); + spks.add("energy.hdl_inverter"); + return spks; + } } -- Gitblit v1.8.0