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