From 89c38fa6f118d56cb163c245905de8f1c0a75a7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 19 三月 2024 18:03:50 +0800 Subject: [PATCH] 2024年03月19日18:03:44 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 78 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 73 insertions(+), 5 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 d656e12..1066f02 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -2,6 +2,7 @@ import android.text.TextUtils; +import com.facebook.imagepipeline.image.OriginalEncodedImageInfo; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; @@ -21,12 +22,17 @@ import com.hdl.photovoltaic.ui.bean.DeviceTimeBean; import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.sdk.link.HDLLinkLocalSdk; +import com.hdl.sdk.link.common.config.TopicConstant; +import com.hdl.sdk.link.common.exception.HDLLinkCode; import com.hdl.sdk.link.common.exception.HDLLinkException; +import com.hdl.sdk.link.common.utils.IdUtils; +import com.hdl.sdk.link.core.bean.LinkRequest; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; 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.core.connect.HDLConnectHelper; import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; import com.hdl.sdk.link.gateway.type.GatewayMasterType; @@ -35,7 +41,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; - /** @@ -60,6 +65,7 @@ } return sHdlDeviceLogic; } + /** * 鑾峰彇褰撳墠浣忓畢鐨勯�嗗彉鍣ㄥ垪琛�(鍖呮嫭浠庣殑閫嗗彉鍣�) @@ -108,7 +114,7 @@ return; } oidList.addAll(oidBeanList); - if (atomicInteger.get() == oidList.size()) { + if (atomicInteger.get() == list.size()) { //鍏ㄩ儴鑾峰彇鍚庡啀涓婁紶 fullUpdateOid(homeId, oidList, new CloudCallBeak<Boolean>() { @Override @@ -179,7 +185,7 @@ /** * 娣诲姞澶氫釜閫嗗彉鍣ㄥ埌浜戠涓� * - * @param list 閫嗗彉鍣ㄥ垪琛� + * @param list 閫嗗彉鍣ㄥ垪琛� * @param cloudCallBeak - */ public void addAllInverterDeviceToCloud(String homeId, List<GatewayBean> list, CloudCallBeak<Boolean> cloudCallBeak) { @@ -562,7 +568,7 @@ public void editGatewayParam(String mac, LinkCallBack<Boolean> linkCallBack) { String requestUrl = TopicApi.SET_GATEWAY_EDIT; JsonObject json = new JsonObject(); - json.addProperty("master", GatewayMasterType.MasterTrue); + json.addProperty("master", GatewayMasterType.MasterFalse); TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, json, "", new HDLLinkCallBack() { @Override public void onSuccess(String msg) { @@ -614,6 +620,67 @@ }); } + + /** + * 鍒濆鍖栭�嗗彉鍣� + * + * @param mac 缃戝叧mac + */ + public void initializeGateway(String mac, LinkCallBack<Boolean> linkCallBack) { + String requestUrl = TopicApi.GATEWAY_INITIALIZE_REMOTE; + JsonObject sendJsonObj = new JsonObject(); + JsonObject jObject = new JsonObject(); + jObject.addProperty("device_mac", mac); + sendJsonObj.add("objects", jObject); + TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, sendJsonObj, "", 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); + } + } + }); + + } + + + /** + * 鍒犻櫎oid + * + * @param mac 缃戝叧mac + * @param oid 璁惧oid + */ + public void deleteOid(String mac, String oid, LinkCallBack<Boolean> linkCallBack) { + String requestUrl = TopicApi.DELETING_GATEWAY_SLAVE; + JsonArray jsonArray = new JsonArray(); + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("oid", oid);//璁惧oid + jsonArray.add(jsonObject); + TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, jsonArray, "", 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); + } + } + }); + + } + /** * 鑾峰彇閫嗗彉鍣╫id鍒楄〃 @@ -931,8 +998,9 @@ * @param gatewayCallBack - */ public void searchAllNetworkGateway(GatewayCallBack gatewayCallBack) { + List<String> spks = this.getGatewaySpk(); //缃戝叧鎼滅储 - HDLLinkLocalSdk.getInstance().refreshGateway(gatewayCallBack, this.getGatewaySpk()); + HDLLinkLocalGateway.getInstance().refreshGatewayBySpk(spks, true, gatewayCallBack); } /** -- Gitblit v1.8.0