From 7fdae87bc3de46b5b012f8987c6902cd8b054323 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 16 五月 2024 18:17:11 +0800 Subject: [PATCH] 2024年05月16日18:17:09 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 164 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 126 insertions(+), 38 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java index 1975031..f764262 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -34,6 +34,7 @@ import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; 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.CloudCallBeak; import com.hdl.photovoltaic.listener.LinkCallBack; @@ -43,6 +44,7 @@ import com.hdl.photovoltaic.ui.bean.Geolocation; import com.hdl.photovoltaic.ui.bean.LinkBean; import com.hdl.photovoltaic.ui.bean.OidBean; +import com.hdl.photovoltaic.ui.bean.UnCountBean; import com.hdl.photovoltaic.ui.me.AsRegardsActivity; import com.hdl.photovoltaic.ui.me.PersonalDataActivity; import com.hdl.photovoltaic.ui.me.SetActivity; @@ -63,6 +65,7 @@ import com.hdl.sdk.link.core.connect.HDLModBusConnect; import com.hdl.sdk.link.core.connect.HDLUdpConnect; import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; +import com.huawei.hms.api.Api; import org.greenrobot.eventbus.EventBus; import org.json.JSONObject; @@ -89,6 +92,8 @@ */ public class HdlUniLogic implements HDLUniMPSDKManager.IOnOtherUniMPEventCallBack { private static volatile HdlUniLogic sHdlUniLogic; + + public final static String separator="---"; /** * 鑾峰彇褰撳墠瀵硅薄 @@ -126,8 +131,8 @@ } String type = getKeyValue("type", data);//灏忕被 String logTag = getKeyValue("logTag", data);//鏍囪uni鎸囦护 - String mode_type = "澶х被->" + topic + "--->" + "灏忕被->" + type;//鐢ㄦ潵鎵撳嵃鐨� - HdlLogLogic.print(logTag + ":" + "uni--->鍙戦��--->" + mode_type + "\r\n" + data, true); + String mode_type = "澶х被-" + topic + "---" + "灏忕被-" + type;//鐢ㄦ潵鎵撳嵃鐨� + HdlLogLogic.print(logTag + ":" + "uni---鍙戦��---" + mode_type + "\r\n" + data, true); if (HDLUniMP.UNI_EVENT_REPLY_USER_MODEL.equals(topic)) { //鐢ㄦ埛妯″潡 switch (type) { @@ -236,7 +241,6 @@ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME: { this.uniGetInverterTime(mode_type, data, callback); } - break; //閫嗗彉鍣ㄦ椂闂寸紪杈� case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME_EDIT: { @@ -268,6 +272,11 @@ this.uniGetMessageNumber(mode_type, data, callback); } break; + //鍒濆鍖栭�嗗彉鍣� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_INITIALIZEINVERTER: { + this.setInitializeGateway(mode_type, data, callback); + } + break; } @@ -275,36 +284,57 @@ WifiUtils wifiUtils = WifiUtils.getInstance(); //wifi妯″潡 switch (type) { - //鑾峰彇wifi鍒楄〃 - case HDLUniMP.UNI_EVENT_REPLY_WIFI_LIST: { + //鑾峰彇鎵嬫満wifi鍒楄〃 + case HDLUniMP.UNI_EVENT_REPLY_PHONE_WIFI_LIST: { if (callback != null) { uniCallbackData(mode_type, wifiUtils.getScanResult(), callback); } } break; - //褰撳墠wifi璇︽儏 - case HDLUniMP.UNI_EVENT_REPLY_WIFI_PHONE_INFO: { + //鑾峰彇鎵嬫満褰撳墠wifi璇︽儏 + case HDLUniMP.UNI_EVENT_REPLY_PHONE_WIFI_INFO: { if (callback != null) { uniCallbackData(mode_type, wifiUtils.getCurrentConnectWifiInfo(), callback); } } break; - //閰嶇疆WiFi淇℃伅缁欓�嗗彉鍣� - case HDLUniMP.UNI_EVENT_REPLY_WIFI_SET_DEVICE: { - String mac = getKeyValue("mac", getKeyValue("data", data));// - String wif_type = getKeyValue("wif_type", getKeyValue("data", data));//1锛氱儹鐐�,2锛氭棤绾縲ifi,3锛氫互澶綉 - String ssid = getKeyValue("ssid", getKeyValue("data", data));// - String password = getKeyValue("password", getKeyValue("data", data));// - startTcpThreadSendAccountAndPassword(mode_type, ssid, password, callback); - - } - break; //鎵撳紑鎵嬫満Wifi璁剧疆鐣岄潰 - case HDLUniMP.UNI_EVENT_REPLY_OPEN_WIFI_SETTINGS: { + case HDLUniMP.UNI_EVENT_REPLY_PHONE_OPEN_WIFI_SETTINGS: { Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); HDLApp.getInstance().startActivity(intent); } + //閫嗗彉鍣╓iFi淇℃伅閰嶇疆 + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_WIFI_SET: { + uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_WIFI_EDIT, callback); + } break; + //閫嗗彉鍣╓iFi淇℃伅鑾峰彇 + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_WIFI_GET: { + uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_WIFI_GET, callback); + } + break; + //閫嗗彉鍣ㄧ儹鐐归厤缃� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_HOTSPOT_SET: { + uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_HOTSPOT_EDIT, callback); + } + break; + //閫嗗彉鍣ㄧ儹鐐硅幏鍙� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_HOTSPOT_GET: { + uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_HOTSPOT_GET, callback); + } + break; + //閫嗗彉鍣ㄤ互澶綉閰嶇疆 + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ETHERNET_SET: { + uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_EDIT, callback); + } + break; + //閫嗗彉鍣ㄤ互澶綉鑾峰彇 + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ETHERNET_GET: { + uniGetAndSetNetwork(mode_type, data, TopicApi.DELETING_GATEWAY_ETHERNET_GET, callback); + } + break; + } } else if (HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL.equals(topic)) { //OTA鍗囩骇妯″潡 @@ -427,6 +457,7 @@ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClass(HDLApp.getInstance(), SetActivity.class); HDLApp.getInstance().startActivity(intent); + } break; @@ -460,7 +491,7 @@ //涓撻棬鏀堕泦uni鏃ュ織 case HDLUniMP.UNI_EVENT_REPLY_OTHER_UNI_LOG: { String customizeContentFormat = getKeyValue("customizeContentFormat", getKeyValue("data", data)); - HdlLogLogic.print("uni--->log--->" + customizeContentFormat, true); + HdlLogLogic.print("uni---log---" + customizeContentFormat, true); } break; @@ -483,7 +514,7 @@ } } catch (Exception e) { - HdlLogLogic.print("uni--->鍙戦��--->" + e.getMessage(), true); + HdlLogLogic.print("uni---鍙戦��---" + e.getMessage(), true); } } @@ -498,7 +529,7 @@ public void openUniMP(String path, JSONObject jsonObject) { JSONObject json = this.createdJSONObject(jsonObject, true); HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, json, HdlUniLogic.this); - HdlLogLogic.print("uni--->缁勮uni鍙戦�佹暟鎹牸寮�--->" + json, false); + HdlLogLogic.print("uni---缁勮uni鍙戦�佹暟鎹牸寮�---" + json, false); } /** @@ -512,7 +543,7 @@ try { HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, topic, getJSONObject(callBackBaseBean)); } catch (Exception e) { - HdlLogLogic.print("uni--->鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢--->" + e.getMessage(), false); + HdlLogLogic.print("uni---鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢---" + e.getMessage(), false); } } @@ -525,6 +556,41 @@ //endregion //region ******uni鎺ュ彛鏂规硶****** + + + /** + * 鑾峰彇鎴栬�呴厤缃�嗗彉鍣ㄧ綉缁滐紙鍖呮嫭閫嗗彉鍣ㄧ儹鐐癸紝wifi锛屼互澶綉锛変俊鎭� + */ + private void uniGetAndSetNetwork(String type, Object data, String TopicApi, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + JsonObject jObject = null; + String attribute_data = getKeyValue("attribute_data", getKeyValue("data", data)); + if (!TextUtils.isEmpty(attribute_data)) { + try { + jObject = new Gson().fromJson(attribute_data, JsonObject.class); + } catch (Exception ignored) { + jObject = new JsonObject(); + } + } + //瑙e瘑璐熻浇鏁版嵁(鍐欏瘑閽ョ粰缃戝叧涓�瀹氭槸鏄庢枃锛屽洜涓洪偅鏃剁綉鍏宠繕娌℃湁瀵嗛挜) + TcpClient.getInstance().sendDataToLinkGateway(mac, false, TopicApi, jObject, "", new HDLLinkCallBack() { + @Override + public void onSuccess(String msg) { + if (callback != null) { + uniCallbackData(type, msg, callback); + } + + } + + @Override + public void onError(HDLLinkException e) { + if (callback != null) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + } + }); + } + /** * 鑾峰彇浣嶇疆淇℃伅,鍖呮嫭缁忕含搴� @@ -730,7 +796,7 @@ @Override public void onSuccess(Boolean b) { if (b) { - HdlLogLogic.print("鏈湴鍗囩骇--->", true); + HdlLogLogic.print("鏈湴鍗囩骇---", true); //鏈湴 //1,寤虹珛鏈湴鏈嶅姟锛� //2,鍛婅瘔缃戝叧鎵嬫満ip鍜岀鍙o紱 @@ -768,7 +834,7 @@ } }); } else { - HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true); + HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true); //杩滅▼鍗囩骇闇�瑕佹娴嬪湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯 HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { @Override @@ -807,7 +873,7 @@ @Override public void onFailure(HDLException e) { - HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true); + HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true); //杩滅▼鍗囩骇闇�瑕佹娴嬪湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯 HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { @Override @@ -982,7 +1048,7 @@ @Override public void onSuccess(Boolean b) { if (b) { - HdlLogLogic.print("鏈湴鍗囩骇--->", true); + HdlLogLogic.print("鏈湴鍗囩骇---", true); //鏈湴 //1,寤虹珛鏈湴鏈嶅姟锛� // 2锛屽憡璇夌綉鍏虫墜鏈篿p鍜岀鍙o紱 @@ -1020,7 +1086,7 @@ } }); } else { - HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true); + HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true); //杩滅▼鍗囩骇闇�瑕併�愭娴嬨�戝湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯 HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { @Override @@ -1059,7 +1125,7 @@ @Override public void onFailure(HDLException e) { - HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true); + HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true); //杩滅▼鍗囩骇闇�瑕併�愭娴嬨�戝湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯 HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() { @Override @@ -1265,9 +1331,9 @@ */ private void uniGetMessageNumber(String type, Object data, DCUniMPJSCallback callback) { String homeId = getKeyValue("homeId", getKeyValue("data", data)); - HdlMessageLogic.getInstance().getMessageUntreatedCount(homeId, new CloudCallBeak<String>() { + HdlMessageLogic.getInstance().getMessageUntreatedCount(homeId, new CloudCallBeak<UnCountBean>() { @Override - public void onSuccess(String data) { + public void onSuccess(UnCountBean data) { uniCallbackData(type, data, callback); } @@ -1720,6 +1786,28 @@ ).start(); } + /** + * 鍒濆鍖栦綘閫嗗彉鍣� + * + * @param type 璐﹀彿 + * @param data uni璇锋眰鏁版嵁 + * @param callback uni鍥炶皟 + */ + public void setInitializeGateway(String type, Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().initializeInverter(mac, new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniCallbackData(type, obj, callback); + } + + @Override + public void onError(HDLLinkException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + /** * 鍙戦�乵odbus鍗忚鏁版嵁 @@ -1739,7 +1827,7 @@ String tempData = getKeyValue("data", data); if (TextUtils.isEmpty(tempData)) { uniCallbackData(type, null, -2, "data鍐呭涓虹┖", callback); - //HdlLogLogic.print("data鍐呭涓虹┖--->", false); + //HdlLogLogic.print("data鍐呭涓虹┖---", false); return; } ModBusBean modBusBean = new Gson().fromJson(tempData, ModBusBean.class); @@ -1751,24 +1839,24 @@ // } if (modBusBean.getMac() == null || modBusBean.getData() == null) { uniCallbackData(type, null, -2, "鍙戦�佸け璐�,(mac鎴栬�卭id)涓虹┖", callback); - //HdlLogLogic.print("uni--->鍙戦��--->ModBus--->鍙戦�佸け璐�,(mac鎴栬�卭id)涓虹┖." + Arrays.toString(modBusBean.getData()), true); + //HdlLogLogic.print("uni---鍙戦��---ModBus---鍙戦�佸け璐�,(mac鎴栬�卭id)涓虹┖." + Arrays.toString(modBusBean.getData()), true); return; } - //HdlLogLogic.print("uni--->鍙戦��--->ModBus--->" + Arrays.toString(modBusBean.getData()), true); + //HdlLogLogic.print("uni---鍙戦��---ModBus---" + Arrays.toString(modBusBean.getData()), true); //鍙戦�乵odbus鍗忚 HDLModBusConnect.getInstance().Send(modBusBean.getMac(), modBusBean.getData(), new ModbusCallBack() { @Override public void onSuccess(int[] data) { uniCallbackData(type, data, callback); -// HdlLogLogic.print("uni--->鎺ユ敹--->ModBus--->" + Arrays.toString(data), true); +// HdlLogLogic.print("uni---鎺ユ敹---ModBus---" + Arrays.toString(data), true); } @Override public void onError(HDLLinkException e) { uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); -// HdlLogLogic.print("uni--->鎺ユ敹--->ModBus--->" + e.getMsg() + "(" + e.getCode() + ")", true); +// HdlLogLogic.print("uni---鎺ユ敹---ModBus---" + e.getMsg() + "(" + e.getCode() + ")", true); } }); } @@ -1804,7 +1892,7 @@ uniCallBackBaseBean.setData(data); return getJSONObject(uniCallBackBaseBean); } catch (Exception e) { - HdlLogLogic.print("uni--->缁勮鍙戦�佺粰uni鏁版嵁鏍煎紡鏈夊紓甯�--->" + e.getMessage(), false); + HdlLogLogic.print("uni---缁勮鍙戦�佺粰uni鏁版嵁鏍煎紡鏈夊紓甯�---" + e.getMessage(), false); } return new JSONObject(); } @@ -1829,10 +1917,10 @@ if (callback != null) { callback.invoke(getJSONObject(uniCallBackBaseBean)); // callback.invoke(uniCallBackBaseBean); - HdlLogLogic.print("uni--->鍥炲--->" + type + "--->" + new Gson().toJson(uniCallBackBaseBean), true); + HdlLogLogic.print("uni---鍥炲---" + type + "---" + new Gson().toJson(uniCallBackBaseBean), true); } } catch (Exception e) { - HdlLogLogic.print("uni--->鍥炲--->" + type + "--->" + e.getMessage(), true); + HdlLogLogic.print("uni---鍥炲---" + type + "---" + e.getMessage(), true); } -- Gitblit v1.8.0