From b73aeebc90267339a4851a68a6ebd396b7c66aea Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 21 五月 2024 17:08:01 +0800
Subject: [PATCH] Merge branch 'wjc_new' into wxw_new
---
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 159 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 123 insertions(+), 36 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 77eda60..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;
@@ -64,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;
@@ -90,6 +92,8 @@
*/
public class HdlUniLogic implements HDLUniMPSDKManager.IOnOtherUniMPEventCallBack {
private static volatile HdlUniLogic sHdlUniLogic;
+
+ public final static String separator="---";
/**
* 鑾峰彇褰撳墠瀵硅薄
@@ -127,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) {
@@ -237,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: {
@@ -269,6 +272,11 @@
this.uniGetMessageNumber(mode_type, data, callback);
}
break;
+ //鍒濆鍖栭�嗗彉鍣�
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_INITIALIZEINVERTER: {
+ this.setInitializeGateway(mode_type, data, callback);
+ }
+ break;
}
@@ -276,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鍗囩骇妯″潡
@@ -428,6 +457,7 @@
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(HDLApp.getInstance(), SetActivity.class);
HDLApp.getInstance().startActivity(intent);
+
}
break;
@@ -461,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;
@@ -484,7 +514,7 @@
}
} catch (Exception e) {
- HdlLogLogic.print("uni--->鍙戦��--->" + e.getMessage(), true);
+ HdlLogLogic.print("uni---鍙戦��---" + e.getMessage(), true);
}
}
@@ -499,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);
}
/**
@@ -513,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);
}
}
@@ -526,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);
+ }
+ }
+ });
+ }
+
/**
* 鑾峰彇浣嶇疆淇℃伅,鍖呮嫭缁忕含搴�
@@ -731,7 +796,7 @@
@Override
public void onSuccess(Boolean b) {
if (b) {
- HdlLogLogic.print("鏈湴鍗囩骇--->", true);
+ HdlLogLogic.print("鏈湴鍗囩骇---", true);
//鏈湴
//1,寤虹珛鏈湴鏈嶅姟锛�
//2,鍛婅瘔缃戝叧鎵嬫満ip鍜岀鍙o紱
@@ -769,7 +834,7 @@
}
});
} else {
- HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true);
+ HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true);
//杩滅▼鍗囩骇闇�瑕佹娴嬪湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯
HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() {
@Override
@@ -808,7 +873,7 @@
@Override
public void onFailure(HDLException e) {
- HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true);
+ HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true);
//杩滅▼鍗囩骇闇�瑕佹娴嬪湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯
HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() {
@Override
@@ -983,7 +1048,7 @@
@Override
public void onSuccess(Boolean b) {
if (b) {
- HdlLogLogic.print("鏈湴鍗囩骇--->", true);
+ HdlLogLogic.print("鏈湴鍗囩骇---", true);
//鏈湴
//1,寤虹珛鏈湴鏈嶅姟锛�
// 2锛屽憡璇夌綉鍏虫墜鏈篿p鍜岀鍙o紱
@@ -1021,7 +1086,7 @@
}
});
} else {
- HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true);
+ HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true);
//杩滅▼鍗囩骇闇�瑕併�愭娴嬨�戝湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯
HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() {
@Override
@@ -1060,7 +1125,7 @@
@Override
public void onFailure(HDLException e) {
- HdlLogLogic.print("鍦ㄧ嚎鍗囩骇--->", true);
+ HdlLogLogic.print("鍦ㄧ嚎鍗囩骇---", true);
//杩滅▼鍗囩骇闇�瑕併�愭娴嬨�戝湪閫嗗彉鍣ㄦ湁娌℃湁杩炴帴涓婁簯
HdlDeviceLogic.getInstance().checkInverterConnectedCloud(homeId, deviceMac, new CloudCallBeak<CloudInverterDeviceBean>() {
@Override
@@ -1721,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鍗忚鏁版嵁
@@ -1740,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);
@@ -1752,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);
}
});
}
@@ -1805,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();
}
@@ -1830,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