From 32b5f366ceaad4aa9a33eccf0b109eef24175495 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 10 十月 2023 14:55:01 +0800
Subject: [PATCH] 2023年10月10日14:54:56
---
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java | 6
app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java | 1
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java | 30 +--
app/src/main/java/com/hdl/photovoltaic/bean/MqttInfo.java | 46 +++++
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java | 35 ---
app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java | 27 ++
app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java | 56 ++++++
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 48 ++--
app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java | 87 +++++----
app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java | 2
app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java | 38 ++++
app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java | 41 ++--
app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java | 5
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 29 ++
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 79 ++++----
15 files changed, 351 insertions(+), 179 deletions(-)
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
index 97789d7..9fc5d40 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
@@ -114,29 +114,25 @@
*/
if (code == null || code.intValue() == 200 || code.intValue() == 0) {
notifySucceed(msg);
- }else {
+ } else {
notifyFailure(ErrorUtils.getByCode(code));
}
- }
- else if (msg instanceof ZigbeeResponse) {
+ } else if (msg instanceof ZigbeeResponse) {
ZigbeeResponse linkResponse = (ZigbeeResponse) msg;
//TODO 濡傛灉閰嶇疆浠庣綉鍏崇殑淇℃伅锛岄�氳繃涓荤綉鍏宠浆杈撅紝杩欓噷oid瑕佸垽鏂笅
if (replyTopic.equals(linkResponse.getTopic())) {
notifySucceed(linkResponse.getData());
- }
- else{
+ } else {
notifyFailure(HDLLinkCode.HDL_TOPIC_NOT_RIGHT);
}
- }else if(msg instanceof ModbusResponse){
+ } else if (msg instanceof ModbusResponse) {
ModbusResponse response = (ModbusResponse) msg;
if (replyTopic.equals(response.getTopic())) {
notifySucceed(response.getData());
- }
- else{
+ } else {
notifyFailure(HDLLinkCode.HDL_TOPIC_NOT_RIGHT);
}
- }
- else{
+ } else {
notifyFailure(new HDLLinkCode(HDLLinkCode.HDL_OBJECT_NOT_SUPPORT.getCode(), "Object Name:" + msg));
}
} catch (Exception e) {
@@ -161,8 +157,8 @@
* @param mac 璁惧mac
*/
public HDLConnectHelper(Long sendAwaitTime, int maxRetry, String ipAddress, int port,
- LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp,String mac) {
- this(sendAwaitTime,maxRetry,ipAddress,port,linkRequest,listener,isTcp);
+ LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp, String mac) {
+ this(sendAwaitTime, maxRetry, ipAddress, port, linkRequest, listener, isTcp);
this.mac = mac;
}
@@ -245,10 +241,9 @@
* @param mac 璁惧mac
*/
public HDLConnectHelper(String ipAddress,
- LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp,String mac) {
- this(DEF_SEND_TIMEOUT, DEF_MAX_RETRY, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, listener, isTcp,mac);
+ LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp, String mac) {
+ this(DEF_SEND_TIMEOUT, DEF_MAX_RETRY, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, listener, isTcp, mac);
}
-
/**
@@ -269,10 +264,9 @@
* @param linkRequest 鍙戦�佸璞�
* @param isTcp 鏄惁TCP
*/
- public HDLConnectHelper(Long timeout,String ipAddress, LinkRequest linkRequest, boolean isTcp) {
+ public HDLConnectHelper(Long timeout, String ipAddress, LinkRequest linkRequest, boolean isTcp) {
this(timeout, DEF_SEND_ONE, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, null, isTcp);
}
-
/**
@@ -330,7 +324,7 @@
byte[] encryBytes = null;
GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac);
if (gatewayBean != null && getGatewayTypeList().contains(gatewayBean.getGatewayType())) {
- //姣背娉㈣繙绋媘qtt绉橀挜涓嶄竴鏍�
+ //閫嗗彉鍣ㄨ繙绋媘qtt绉橀挜涓嶄竴鏍�
encryBytes = EncryptUtil.encryBytes(linkRequest.getCloudSendBytes(), gatewayBean.getAesKey());
} else {
encryBytes = EncryptUtil.encryBytes(linkRequest.getCloudSendBytes(), HDLLinkConfig.getInstance().getAesKey());
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java
index 6e8ef74..fbcecfe 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java
@@ -152,12 +152,12 @@
connOpts.setMqttVersion(MqttConnectOptions.MQTT_VERSION_3_1_1);
sampleClient.setCallback(new MqttCallbackExtended() {
public void connectComplete(boolean reconnect, String serverURI) {
- LogUtils.d(TAG, "connect success");
+ LogUtils.d(TAG, "mqtt杩炴帴鎴愬姛");
checkAndsubscribeAllTopics("");
}
public void connectionLost(Throwable throwable) {
- LogUtils.d(TAG, "杩炴帴鏂紑");
+ LogUtils.d(TAG, "mqtt杩炴帴鏂紑");
lastTopicFilters.clear();
}
@@ -224,7 +224,7 @@
if (cloudsGatewayId.equals(HDLLinkConfig.getInstance().getHomeId())) {
aes = getHomeAES();
} else if (gatewayBean != null && HDLConnectHelper.getGatewayTypeList().contains(gatewayBean.getGatewayType())) {
- //姣背娉qtt涓撶敤绉橀挜
+ //閫嗗彉鍣╩qtt涓撶敤绉橀挜
aes = gatewayBean.getAesKey();
} else {
aes = HDLLinkConfig.getInstance().getAesKey();
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
index 82120dc..c584a14 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
@@ -122,6 +122,11 @@
}
}
+ /**
+ * 鏀跺埌EventBUs閫氱煡
+ *
+ * @param eventBus 鏁版嵁
+ */
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMessage(BaseEventBus eventBus) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/bean/MqttInfo.java b/app/src/main/java/com/hdl/photovoltaic/bean/MqttInfo.java
new file mode 100644
index 0000000..d10b31e
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/bean/MqttInfo.java
@@ -0,0 +1,46 @@
+package com.hdl.photovoltaic.bean;
+
+import java.io.Serializable;
+
+public class MqttInfo implements Serializable {
+ //瀹㈡埛绔痠d
+ private String clientId;
+ //瀵嗙爜
+ private String passWord;
+ //鍦板潃
+ private String url;
+ //鐢ㄦ埛鍚�
+ private String userName;
+
+ public String getClientId() {
+ return clientId == null ? "" : clientId;
+ }
+
+ public void setClientId(String clientId) {
+ this.clientId = clientId;
+ }
+
+ public String getPassWord() {
+ return passWord == null ? "" : passWord;
+ }
+
+ public void setPassWord(String passWord) {
+ this.passWord = passWord;
+ }
+
+ public String getUrl() {
+ return url == null ? "" : url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getUserName() {
+ return userName == null ? "" : userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
index 485a826..2a5fb1f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
@@ -13,7 +13,7 @@
public static final String SAVE_HOME_HOME_ID = "homeId";
/******EventBus鍙戝竷浜嬩欢鐨勫父閲�*********/
- public static final String EVENTBUS_POST_HOME_CREATED = "home_created";//浣忓畢鍒涘缓鍙戝竷
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java b/app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java
index a24c543..bfbd56f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/MqttClient.java
@@ -2,4 +2,5 @@
public class MqttClient {
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
index 9e0bbf1..69f5577 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
@@ -1,44 +1,11 @@
package com.hdl.photovoltaic.internet.api;
public class HttpApi {
- //region -----鐢ㄦ埛绠$悊---------
- /**
- * B绔帴鍙�
- */
- //鑾峰彇璐﹀彿鍖哄煙淇℃伅
- public static final String POST_RegionByUserAccount = "/smart-footstone/region/regionByUserAccount";
- //鐧诲綍鎺ュ彛
- public static final String POST_Login = "/smart-footstone/user/oauth/login";
- //鐢ㄦ埛鎵惧洖瀵嗙爜 蹇樿瀵嗙爜,閫氳繃閭鍜屾墜鏈哄彿鎵惧洖
- public static final String B_POST_FORGET_PROGRAM_PWD = "/smart-footstone/user/oauth/forgetProgramPwd";
- //鍙戦�佹秷鎭獙璇佺爜
- public static final String POST_SEND_VERIFICATION = "/smart-footstone/verification/message/send";
- //鏇存敼涓汉瀵嗙爜
- public static final String POST_UPDATE_PROGRAM_PASSWORD = "/smart-footstone/user/userInfo/updateProgramPassword";
- //鑾峰彇鍛樺伐鍒楄〃
- public static final String POST_GET_USER_LIST = "/smart-footstone/user/userInfo/getUserList";
- //鑾峰彇鐢ㄦ埛涓汉淇℃伅 C绔�
- public static final String POST_GET_MEMBER_INFO = "/smart-footstone/member/memberInfo/getMemberInfo";
- //鏇存柊涓汉淇℃伅 C绔�
- public static final String POST_UPDATE_MEMBER_INFO = "/smart-footstone/member/memberInfo/updateMemberInfo";
- //涓婁紶鍥剧墖
- public static final String POST_UPLOAD_IMAGE = "/home-wisdom/app/images/upload_image";
- //涓婁紶鍥剧墖锛堟柊锛�
- public static final String POST_UPLOAD_IMAGE_NEW = "/basis-cosmos/file/upload";
- //鏌ヨ鍥剧墖璺緞
- public static final String POST_GET_IMAGE_URL = "/home-wisdom/app/images/get_image_url";
- //閫�鍑虹櫥褰�
- public static final String POST_GET_IMAGE_LOGOUT = "/basis-footstone/mgmt/user/oauth/logout";
- /**
- * C绔帴鍙�
- */
- //閫�鍑虹櫥褰�
- public static final String C_POST_GET_OAUTH_REGISTER = "/smart-footstone/member/oauth/register";
- //鐢ㄦ埛鎵惧洖瀵嗙爜 蹇樿瀵嗙爜,閫氳繃閭鍜屾墜鏈哄彿鎵惧洖
- public static final String C_POST_FORGET_PROGRAM_PWD = "/smart-footstone/member/oauth/forgetPwd";
+ //region **********銆怋绔�戝拰銆怌绔�戝叡鐢ㄦ帴鍙�**********
+ //mqtt杩炴帴闇�瑕侊紙璇泙鎺ュ彛鍦板潃:https://hdl-gz.yuque.com/wnkbmh/cdrglh/totdnt#40b28997锛�
+ public static final String POST_Mqtt_GetRemoteInfo = "/home-wisdom/app/mqtt/getRemoteInfo";
- //endregion
//region -----鐢电珯绠$悊(浣忓畢)---------
//鐢电珯鍒楄〃
public static final String POST_PowerStation_List = "/home-wisdom/app/powerStation/page";
@@ -64,8 +31,54 @@
//鍏ㄩ噺鏇存柊OID
public static final String POST_Device_Oid = "/home-wisdom/program/device/oid/add";
//鑾峰彇閫嗗彉鍣�(鑾峰彇璁惧杩滅▼閫氳淇℃伅)
- public static final String POST_Device_remoteInfo = "/home-wisdom/program/device/remoteInfo";
+ public static final String POST_Device_RemoteInfo = "/home-wisdom/program/device/remoteInfo";
//endregion
+ //endregion
+
+ //region **********銆怋绔帴鍙c��**********
+
+ //region -----鐢ㄦ埛绠$悊---------
+ //鑾峰彇璐﹀彿鍖哄煙淇℃伅
+ public static final String POST_RegionByUserAccount = "/smart-footstone/region/regionByUserAccount";
+ //鐧诲綍鎺ュ彛
+ public static final String POST_Login = "/smart-footstone/user/oauth/login";
+ //鐢ㄦ埛鎵惧洖瀵嗙爜 蹇樿瀵嗙爜,閫氳繃閭鍜屾墜鏈哄彿鎵惧洖
+ public static final String B_POST_FORGET_PROGRAM_PWD = "/smart-footstone/user/oauth/forgetProgramPwd";
+ //鍙戦�佹秷鎭獙璇佺爜
+ public static final String POST_SEND_VERIFICATION = "/smart-footstone/verification/message/send";
+ //鏇存敼涓汉瀵嗙爜
+ public static final String POST_UPDATE_PROGRAM_PASSWORD = "/smart-footstone/user/userInfo/updateProgramPassword";
+ //鑾峰彇鍛樺伐鍒楄〃
+ public static final String POST_GET_USER_LIST = "/smart-footstone/user/userInfo/getUserList";
+ //鑾峰彇鐢ㄦ埛涓汉淇℃伅 C绔�
+ public static final String POST_GET_MEMBER_INFO = "/smart-footstone/member/memberInfo/getMemberInfo";
+ //鏇存柊涓汉淇℃伅 C绔�
+ public static final String POST_UPDATE_MEMBER_INFO = "/smart-footstone/member/memberInfo/updateMemberInfo";
+ //涓婁紶鍥剧墖
+ public static final String POST_UPLOAD_IMAGE = "/home-wisdom/app/images/upload_image";
+ //涓婁紶鍥剧墖锛堟柊锛�
+ public static final String POST_UPLOAD_IMAGE_NEW = "/basis-cosmos/file/upload";
+ //鏌ヨ鍥剧墖璺緞
+ public static final String POST_GET_Image_Url = "/home-wisdom/app/images/get_image_url";
+ //閫�鍑虹櫥褰�
+ public static final String POST_GET_IMAGE_LOGOUT = "/basis-footstone/mgmt/user/oauth/logout";
+ //endregion
+ //endregion
+
+
+ //region **********銆怌绔帴鍙c��**********
+ //region -----鐢ㄦ埛绠$悊---------
+
+
+ //閫�鍑虹櫥褰�
+ public static final String C_POST_GET_OAUTH_REGISTER = "/smart-footstone/member/oauth/register";
+ //鐢ㄦ埛鎵惧洖瀵嗙爜 蹇樿瀵嗙爜,閫氳繃閭鍜屾墜鏈哄彿鎵惧洖
+ public static final String C_POST_FORGET_PROGRAM_PWD = "/smart-footstone/member/oauth/forgetPwd";
+ //endregion
+ //endregion
+
+
+
}
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 2db7010..037b4bf 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -40,6 +40,7 @@
import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
+import com.hdl.sdk.link.gateway.type.GatewayMasterType;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -54,27 +55,6 @@
*/
public class HdlDeviceLogic {
private static volatile HdlDeviceLogic sHdlDeviceLogic;
-
- /**
- * 鑾峰彇褰撳墠浣忓畢鐨勯�嗗彉鍣ㄥ垪琛�
- */
- public List<GatewayBean> getGatewayList() {
- List<GatewayBean> newList = new ArrayList<>();
- List<GatewayBean> list = HDLLinkLocalGateway.getInstance().getGatewayList();
- if (list.size() > 0) {
- for (int i = 0; i < list.size(); i++) {
- GatewayBean gatewayBean = list.get(i);
- if (TextUtils.isEmpty(gatewayBean.getDevice_mac())) {
- continue;
- }
- if (gatewayBean.getMaster().equals("true")
- && gatewayBean.getHomeId().equals(UserConfigManage.getInstance().getHomeId())) {
- newList.add(gatewayBean);
- }
- }
- }
- return newList;
- }
/**
* 鑾峰彇褰撳墠瀵硅薄
@@ -92,6 +72,28 @@
}
return sHdlDeviceLogic;
}
+
+ /**
+ * 鑾峰彇褰撳墠浣忓畢鐨勯�嗗彉鍣ㄥ垪琛�
+ */
+ public List<GatewayBean> getCurrentHomeGatewayList() {
+ List<GatewayBean> newList = new ArrayList<>();
+ List<GatewayBean> list = HDLLinkLocalGateway.getInstance().getGatewayList();
+ if (list.size() > 0) {
+ for (int i = 0; i < list.size(); i++) {
+ GatewayBean gatewayBean = list.get(i);
+ if (TextUtils.isEmpty(gatewayBean.getDevice_mac())) {
+ continue;
+ }
+ if (gatewayBean.getMaster().equals(GatewayMasterType.MasterTrue)
+ && gatewayBean.getHomeId().equals(UserConfigManage.getInstance().getHomeId())) {
+ newList.add(gatewayBean);
+ }
+ }
+ }
+ return newList;
+ }
+
/**
* 娣诲姞閫嗗彉鍣ㄥ埌浜戠涓�
@@ -419,7 +421,7 @@
public void editGatewayParam(String mac, LinkCallBack<Boolean> linkCallBack) {
String requestUrl = TopicApi.SET_GATEWAY_EDIT;
JsonObject json = new JsonObject();
- json.addProperty("master", "true");
+ json.addProperty("master", GatewayMasterType.MasterTrue);
TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, json, "", new HDLLinkCallBack() {
@Override
public void onSuccess(String msg) {
@@ -515,15 +517,16 @@
}
/**
- * 鑾峰彇鏈湴閫嗗彉鍣ㄥ垪琛�
+ * 鑾峰彇閫嗗彉鍣ㄥ垪琛�
* 娉ㄦ剰:鏈夊缃戜互浜戠璁惧涓哄噯,鏈湴瀛樺湪锛屼簯绔病鏈夊垯鍒犻櫎锛涘唴缃戜互鏈湴涓轰富,鎼滅储澶氬皯涓澶囧氨鏄剧ず澶氬皯涓紱
*
- * @param cloudCallBeak -
+ * @param cloudCallBeak 杩斿洖閫嗗彉鍣ㄥ垪琛�
*/
- public void getLocalGatewayList(CloudCallBeak<Boolean> cloudCallBeak) {
+ public void getCurrentHomeLocalAndCloudGatewayList(CloudCallBeak<List<GatewayBean>> cloudCallBeak) {
HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
@Override
public void onSuccess(List<GatewayBean> gatewayBeanList) {
+ //灞�鍩熺綉鎯呭喌
HdlDeviceLogic.getInstance().getCloudInverterDeviceList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<CloudInverterDeviceBean>>() {
@Override
public void onSuccess(List<CloudInverterDeviceBean> list) {
@@ -531,7 +534,7 @@
// //浜戠娌℃湁缁戝畾閫嗗彉鍣�,浠ユ湰鍦颁负涓�;
// HDLLinkLocalGateway.getInstance().getGatewayList().clear();
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(true);
+ cloudCallBeak.onSuccess(getCurrentHomeGatewayList());
}
return;
}
@@ -563,7 +566,7 @@
removeInverter(removeSidList.get(i));
}
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(true);
+ cloudCallBeak.onSuccess(getCurrentHomeGatewayList());
}
}
}
@@ -591,7 +594,7 @@
removeInverter(removeSidList.get(i));
}
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(true);
+ cloudCallBeak.onSuccess(getCurrentHomeGatewayList());
}
}
HdlLogLogic.print("鑾峰彇璁惧杩滅▼閫氳淇℃伅澶辫触->msg->" + e.getMsg() + "(" + e.getCode() + ")");
@@ -613,15 +616,15 @@
@Override
public void onError(HDLLinkException e) {
+ //澶栫綉鎯呭喌
HdlDeviceLogic.getInstance().getCloudInverterDeviceList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<CloudInverterDeviceBean>>() {
@Override
public void onSuccess(List<CloudInverterDeviceBean> list) {
- //娓呮鏈湴缃戝叧鍒楄〃
+ //浜戠娌℃湁,娓呯┖鏈湴閫嗗彉鍣ㄥ垪琛�
HDLLinkLocalGateway.getInstance().getGatewayList().clear();
-
if (list == null || list.size() == 0) {
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(true);
+ cloudCallBeak.onSuccess(getCurrentHomeGatewayList());
}
return;
}
@@ -636,7 +639,7 @@
refreshGatewayCacheData(false, cloudInverterDeviceBean, deviceRemoteInfo);
if (atomicInteger.get() == list.size()) {
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(true);
+ cloudCallBeak.onSuccess(getCurrentHomeGatewayList());
}
}
}
@@ -646,7 +649,7 @@
atomicInteger.set(atomicInteger.get() + 1);
if (atomicInteger.get() == list.size()) {
if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(true);
+ cloudCallBeak.onSuccess(getCurrentHomeGatewayList());
}
}
HdlLogLogic.print("鑾峰彇璁惧杩滅▼閫氳淇℃伅澶辫触->msg->" + e.getMsg() + "(" + e.getCode() + ")");
@@ -678,7 +681,7 @@
* @return -
*/
public void getDeviceRemoteInfo(String homeId, String spk, String mac, CloudCallBeak<DeviceRemoteInfo> cloudCallBeak) {
- String requestUrl = HttpApi.POST_Device_remoteInfo;
+ String requestUrl = HttpApi.POST_Device_RemoteInfo;
JsonObject json = new JsonObject();
json.addProperty("homeId", homeId);
json.addProperty("spk", spk);
@@ -721,7 +724,7 @@
}
/**
- * 鎼滅储缃戝叧鍒楄〃
+ * 鎼滅储閫嗗彉鍣ㄥ垪琛�
*
* @param gatewayCallBack -
*/
@@ -752,6 +755,10 @@
if (deviceRemoteInfo != null) {
gatewayBean.setAesKey(deviceRemoteInfo.getSecret());//璁剧疆mqtt閫氳绉橀挜
gatewayBean.setGatewayId(deviceRemoteInfo.getGatewayId());//璁剧疆gatewayId
+ //鐢ㄤ箣鍓嶇殑搴�,搴曞眰mqtt璁㈤槄锛屽姞瑙e瘑浼氱敤鍒拌鍙傛暟;
+ HDLLinkConfig.getInstance().setAesKey(deviceRemoteInfo.getSecret());//璁剧疆mqtt閫氳绉橀挜搴�
+ HDLLinkConfig.getInstance().setGatewayId(deviceRemoteInfo.getGatewayId());//璁剧疆gatewayId
+
}
gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId());//浣忓畢id
gatewayBean.setDeviceStatus(cloudInverterDeviceBean.getDeviceStatus());//璁剧疆缃戝叧鐘舵��
@@ -762,7 +769,7 @@
gatewayBean.setDevice_name(cloudInverterDeviceBean.getName());//璁惧鍚嶇О
gatewayBean.setGatewayType(cloudInverterDeviceBean.getSpk());//璁剧疆spk
gatewayBean.setLocalEncrypt(true);
- gatewayBean.setMaster("true");
+ gatewayBean.setMaster(GatewayMasterType.MasterTrue);
gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc());//璁惧鐘舵��
gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion());//杞欢鐗堟湰鍙�
gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName());//璁惧绫诲瀷(浜у搧浜岀骇鍒嗙被鍚嶇О
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
index 1a4d07c..986d82f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
@@ -2,6 +2,8 @@
import android.util.Log;
+import com.google.gson.Gson;
+
/**
* 鏃ュ織閫昏緫
*/
@@ -35,7 +37,7 @@
* android鎵撳嵃
*
* @param tag 鏍囩
- * @param mgs 杈撳嚭淇℃伅
+ * @param mgs 閿欒淇℃伅
*/
public static void print(String tag, String mgs) {
if (isDebug) {
@@ -56,4 +58,56 @@
System.out.println(mgs);
}
+ /**
+ * java鎵撳嵃
+ *
+ * @param tag 鏍囬
+ * @param mgs 閿欒淇℃伅
+ * @param code 閿欒鐮�
+ */
+ public static void print(String tag, String mgs, int code) {
+ if (isDebug) {
+ return;
+ }
+ System.out.println(title + tag + "======" + mgs + "(" + code + ")");
+ }
+
+ /**
+ * java鎵撳嵃
+ *
+ * @param tag 鏍囬
+ * @param mgs 閿欒淇℃伅
+ * @param code 閿欒鐮�
+ */
+ public static void print(String tag, String mgs, String code) {
+ if (isDebug) {
+ return;
+ }
+ System.out.println(title + tag + "======" + mgs + "(" + code + ")");
+ }
+
+ /**
+ * java鎵撳嵃
+ *
+ * @param tag 鏍囬
+ * @param o 閿欒淇℃伅
+ */
+ public static void print(String tag, Object o) {
+
+ if (isDebug) {
+ return;
+ }
+ if (o == null) {
+ System.out.println(title + tag);
+ } else {
+ try {
+ System.out.println(title + tag + "======" + new Gson().toJson(o));
+ } catch (Exception e) {
+ System.out.println(title + tag + "======" + e.getMessage());
+ }
+ }
+ }
+
+ private static final String title = "鑷畾涔夎緭鍑烘墦鍗颁俊鎭�:";
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java
index 233b542..e7f7f5a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java
@@ -1,19 +1,26 @@
package com.hdl.photovoltaic.other;
+import android.provider.Settings;
+import android.text.TextUtils;
+
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.hdlhttp.HxHttp;
import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.bean.HttpResponsePack;
+import com.hdl.photovoltaic.bean.MqttInfo;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
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.DeviceRemoteInfo;
import java.lang.reflect.Type;
import java.util.List;
+import java.util.Random;
import io.reactivex.rxjava3.disposables.Disposable;
@@ -41,31 +48,28 @@
}
/**
- * 鑾峰彇閫嗗彉鍣�(鑾峰彇璁惧杩滅▼閫氳淇℃伅)
+ * 鑾峰彇mqtt杩滅▼杩炴帴鏁版嵁
*
- * @param homeId 浣忓畢Id
- * @param spk spk
- * @param mac 璁惧mac
+ * @param homeType 浣忓畢绫诲瀷 (1.ZIGBEE 2.BUSPRO 3.A 4.ALL锛�
* @param cloudCallBeak 鍥炶皟
*/
- public void getDeviceRemoteInfo(String homeId, String spk, String mac, CloudCallBeak<String> cloudCallBeak) {
- String requestUrl = HttpApi.POST_Device_remoteInfo;
+ public void getMqttRemoteInfo(String homeType, CloudCallBeak<MqttInfo> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_Mqtt_GetRemoteInfo;
+ int randomNumberClientId = new Random().nextInt(1000000000);
+ String deviceUuid = Settings.System.getString(HDLApp.getInstance().getContentResolver(), Settings.System.ANDROID_ID);
JsonObject json = new JsonObject();
- json.addProperty("homeId", homeId);
- json.addProperty("spk", spk);
- json.addProperty("mac", mac);
+ json.addProperty("attachClientId", randomNumberClientId);
+ json.addProperty("homeType", homeType);
+ json.addProperty("deviceUuid", deviceUuid);
HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
@Override
public void onSuccess(String jsonStr) {
-// if (httpResponsePack != null && httpResponsePack.getData() != null) {
-// Gson gson = new Gson();
-// String json = gson.toJson(httpResponsePack.getData());
-// Type typeOfT = new TypeToken<List<CloudInverterChildDeviceBean>>() {
-// }.getType();
-// if (cloudCallBeak != null) {
-// cloudCallBeak.onSuccess("list");
-// }
-// }
+ Type type = new TypeToken<MqttInfo>() {
+ }.getType();
+ MqttInfo mqttInfo = new Gson().fromJson(jsonStr, type);
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(mqttInfo);
+ }
}
@Override
@@ -77,4 +81,5 @@
});
}
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
index c4322ac..5be1e09 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -514,43 +514,24 @@
*/
public void switchHouse(HouseIdBean houseIdBean) {
String oidHomeId = UserConfigManage.getInstance().getHomeId();
-// if (houseIdBean.getHomeId().equals(oidHomeId)) {
-// return;
-// }
-
+ if (houseIdBean.getHomeId().equals(oidHomeId)) {
+ HdlLogLogic.print("鐐瑰嚮鍚屼竴涓綇瀹�");
+ return;
+ }
//鍒犻櫎鏃х殑浣忓畢鏂囦欢澶�
HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
//閲嶆柊璁剧疆浣忓畢id
UserConfigManage.getInstance().setHomeId(houseIdBean.getHomeId());
//閲嶆柊璁剧疆鏈湴閫氳绉橀挜
UserConfigManage.getInstance().setLocalSecret(houseIdBean.getLocalSecret());
- //閲嶆柊鍒涘缓浣忓畢鏂囦欢澶�
- HdlFileLogic.getInstance().createDirectory();
//閰嶇疆鏈湴閫氫俊鐨勪俊鎭�
- initLocalLinkSdk();
-
- HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
- @Override
- public void onSuccess(List<GatewayBean> gatewayBeanList) {
- }
-
- @Override
- public void onError(HDLLinkException e) {
- }
- });
- }
-
-
- /**
- * 閰嶇疆鏈湴閫氫俊鐨勪俊鎭�(tcp閫氫俊鐢ㄥ埌)
- */
- private void initLocalLinkSdk() {
HDLLinkConfig.getInstance().setHomeId(UserConfigManage.getInstance().getHomeId());
HDLLinkConfig.getInstance().setLocalSecret(UserConfigManage.getInstance().getLocalSecret());
-
-
+ //閲嶆柊鍒涘缓浣忓畢鏂囦欢澶�
+ HdlFileLogic.getInstance().createDirectory();
+ //杩涘幓浣忓畢璇︽儏鎼滅储涓�涓嬮�嗗彉鍣ㄥ垪琛�,鐩殑鏄缓绔嬮�氳閫氶亾;
+ HdlDeviceLogic.getInstance().searchGateway(null);
}
-
static class HouseBeanClass {
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 8a02ce0..491e3f0 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -5,6 +5,7 @@
import android.util.Log;
import com.google.gson.Gson;
+import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.bean.BaseEventBus;
@@ -23,6 +24,7 @@
import com.hdl.sdk.link.core.callback.GatewayCallBack;
import com.hdl.sdk.link.core.callback.ModbusCallBack;
import com.hdl.sdk.link.core.connect.HDLModBusConnect;
+import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import org.greenrobot.eventbus.EventBus;
@@ -82,17 +84,23 @@
//EventBus浜嬩欢鍒嗗彂
BaseEventBus baseEventBus = new BaseEventBus();
- baseEventBus.setType(ConstantManage.EVENTBUS_POST_HOME_CREATED);
+ baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION);
baseEventBus.setData(getKeyValue("data", data));
EventBus.getDefault().post(baseEventBus);
}
break;
+ //璇诲彇璇︽儏
case HDLUniMP.UNI_EVENT_REPLY_HOME_DETAILS: {
- //璇︽儏
+
}
break;
+ //鍏抽棴璇︽儏椤�
case HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE: {
- //鍏抽棴璇︽儏椤�
+ //EventBus浜嬩欢鍒嗗彂
+ BaseEventBus baseEventBus = new BaseEventBus();
+ baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
+ baseEventBus.setData(getKeyValue("data", data));
+ EventBus.getDefault().post(baseEventBus);
}
break;
@@ -103,8 +111,8 @@
} else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) {
//璁惧妯″潡
switch (type) {
+ //娣诲姞閫嗗彉鍣ㄥ埌浜戠
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: {
- //娣诲姞璁惧鍒颁簯绔�
String mac = getKeyValue("mac", getKeyValue("data", data));
HdlDeviceLogic.getInstance().setGatewayRemoteParam(mac, new LinkCallBack<Boolean>() {
@Override
@@ -151,8 +159,8 @@
}
break;
+ //灞�鍩熺綉鎼滅储閫嗗彉鍣ㄥ垪琛�
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_NET_LIST: {
- //缃戝叧鎼滅储
HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
@Override
public void onSuccess(List<GatewayBean> gatewayBeanList) {
@@ -169,12 +177,16 @@
break;
//鑾峰彇閫嗗彉鍣ㄥ垪琛�
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: {
-
- HdlDeviceLogic.getInstance().getLocalGatewayList(new CloudCallBeak<Boolean>() {
+ HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(new CloudCallBeak<List<GatewayBean>>() {
@Override
- public void onSuccess(Boolean obj) {
+ public void onSuccess(List<GatewayBean> list) {
if (callback != null) {
- uniCallbackData(HdlDeviceLogic.getInstance().getGatewayList(), callback);
+ uniCallbackData(list, callback);
+ //EventBus浜嬩欢鍒嗗彂
+ BaseEventBus baseEventBus = new BaseEventBus();
+ baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST);
+ baseEventBus.setData(list);
+ EventBus.getDefault().post(baseEventBus);
}
}
@@ -211,11 +223,9 @@
});
}
break;
- //璁惧鏃堕棿璇诲彇
+ //閫嗗彉鍣ㄦ椂闂磋鍙�
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME: {
- //娣诲姞璁惧鍒颁簯绔�
String mac = getKeyValue("mac", getKeyValue("data", data));
- //鑾峰彇oid鍒楄〃
HdlDeviceLogic.getInstance().getGatewayTime(mac, new LinkCallBack<Boolean>() {
@Override
public void onSuccess(Boolean obj) {
@@ -229,20 +239,10 @@
});
}
break;
- //璁惧鏃堕棿缂栬緫
+ //閫嗗彉鍣ㄦ椂闂寸紪杈�
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME_EDIT: {
String mac = getKeyValue("mac", getKeyValue("data", data));
- HdlDeviceLogic.getInstance().getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() {
- @Override
- public void onSuccess(List<OidBean> obj) {
-
- }
-
- @Override
- public void onError(HDLLinkException e) {
-
- }
- });
+ HdlDeviceLogic.getInstance().editGatewayTime(mac, new JsonObject(), null);
}
break;
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index 491be13..66b8b35 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -6,19 +6,31 @@
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
+import android.provider.Settings;
import android.view.View;
import com.google.gson.Gson;
+import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.home.type.HomeType;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.bean.MqttInfo;
import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMqttLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.sdk.link.HDLLinkLocalSdk;
import com.hdl.sdk.link.common.event.EventListener;
import com.hdl.sdk.link.core.bean.ModbusResponse;
+import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
+
+import java.util.Random;
/**
* 鎴戠殑鐢电珯鐣岄潰
@@ -46,6 +58,10 @@
initEvent();
//娉ㄥ唽鐩戝惉
registerAllTopicsListener();
+ //鍒濆鍖杕qtt瀹㈡埛绔�
+ initMqttClient();
+
+
}
private void initEvent() {
@@ -196,5 +212,27 @@
HDLLinkLocalSdk.getInstance().registerAllTopicsListener(allTopicsListener);
}
+ /**
+ * 鍒濆鍖杕qtt瀹㈡埛绔�
+ */
+ public void initMqttClient() {
+ HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() {
+ @Override
+ public void onSuccess(MqttInfo info) {
+ if (info != null) {
+ MqttRecvClient.init(_mActivity, info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord());
+ HdlLogLogic.print("mqtt鍒濆鍖栨垚鍔�!", info);
+ } else {
+ HdlLogLogic.print("mqtt鍒濆鍖栧け璐�!", null);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ HdlLogLogic.print("mqtt鍒濆鍖栧け璐�", e.getMessage(), e.getCode());
+ }
+ });
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
index a614e2d..57c0e8c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
@@ -6,6 +6,7 @@
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.databinding.ActivitySetBinding;
@@ -13,7 +14,7 @@
/**
* 璁剧疆鐣岄潰
*/
-public class SetActivity extends CustomBaseActivity {
+public class SetActivity extends CustomBaseActivity implements View.OnClickListener {
private ActivitySetBinding viewBinding;
@@ -33,12 +34,8 @@
}
private void initEvent() {
- viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
+ viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(this);
+ viewBinding.outTv.setOnClickListener(this);
}
private void initView() {
@@ -62,4 +59,20 @@
}
+ @Override
+ public void onClick(View v) {
+ if (v.getId() == viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.getId()) {
+ finish();
+ } else if (v.getId() == viewBinding.outTv.getId()) {
+ logoutRequest();
+ }
+
+ }
+
+ /**
+ * 閫�鍑虹櫥褰曡姹傜殑鏂规硶
+ */
+ private void logoutRequest() {
+ HDLLinkPMUser.getInstance().logout(0);
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index 779e64f..4f16261 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -13,12 +13,9 @@
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.gson.Gson;
-import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.bean.BaseEventBus;
-import com.hdl.photovoltaic.config.ConstantManage;
-import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.enums.ShowErrorMode;
@@ -29,10 +26,10 @@
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
-import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.PermissionUtils;
+import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
import java.util.ArrayList;
import java.util.List;
@@ -66,7 +63,6 @@
@Override
public void onBindView(Bundle savedInstanceState) {
manager = (CameraManager) _mActivity.getSystemService(Context.CAMERA_SERVICE);
-
initData();
//鍒濆鍖�
initView();
@@ -141,11 +137,16 @@
this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList());
}
+ /**
+ * 鏀跺埌EventBUs閫氱煡
+ *
+ * @param eventBus 鏁版嵁
+ */
@Override
public void onEventMessage(BaseEventBus eventBus) {
super.onEventMessage(eventBus);
- //鏀跺埌EventBUs閫氱煡
- if (ConstantManage.EVENTBUS_POST_HOME_CREATED.equals(eventBus.getType())) {
+ if (HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION.equals(eventBus.getType())) {
+ //uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡
updateUIData(false);
if (eventBus.getData() != null) {
Gson gson = new Gson();
@@ -153,6 +154,20 @@
HouseIdBean houseIdBean = gson.fromJson(json, HouseIdBean.class);
HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
}
+ } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) {
+ //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡
+ if (MqttRecvClient.getInstance() != null) {
+ MqttRecvClient.getInstance().removeAllTopic();
+ }
+ } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) {
+ //杩涘幓浣忓畢璇︽儏璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡
+ for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList().size(); i++) {
+ //String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList().get(i).getGatewayId();
+ //瀛楃涓叉槸鑷繁鎸夎鍒欐嫾鎺ョ殑,閲岄潰娉ㄥ唽涓婚鏃朵細瑙f瀽瀛楃涓�,鍙嬁getGatewayId()鍊�;
+ //String topic = "/user/" + gatewayId+"/1";
+ //杩涘幓浣忓畢璇︽儏寮�濮嬭闃呬富棰�
+ MqttRecvClient.getInstance().checkAndsubscribeAllTopics("");
+ }
}
}
--
Gitblit v1.8.0