From a8c3ca4f1d9433e914325222ae5f26da2f9e2489 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 14 九月 2023 18:05:37 +0800
Subject: [PATCH] 增加了住宅id功能
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 156 insertions(+), 1 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
index 82b4652..14f9b6e 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -1,5 +1,7 @@
package com.hdl.sdk.connect.socket;
+import static com.hdl.sdk.connect.config.HDLLinkConfig.AUTHENTICATE_IS_DEVICEINFO_KEY;
+
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
@@ -27,8 +29,10 @@
import com.hdl.sdk.connect.bean.request.GatewayInfoRequest;
import com.hdl.sdk.connect.bean.request.ListOidRequest;
import com.hdl.sdk.connect.bean.request.ListOidRequest2;
+import com.hdl.sdk.connect.bean.request.ListSidRequest;
import com.hdl.sdk.connect.bean.request.ListUploadRequest;
import com.hdl.sdk.connect.bean.response.AuthenticateResponse;
+import com.hdl.sdk.connect.bean.response.BaseLocalCodeResponse;
import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
import com.hdl.sdk.connect.bean.request.FunctionAttributeRequest;
@@ -94,6 +98,7 @@
public boolean isBroadcast = false;
+
/**
* 骞挎挱鑷韩淇℃伅缁欎富缃戝叧
*/
@@ -128,6 +133,10 @@
if (!TextUtils.isEmpty(data)) {
DeviceInfoResponse response = GsonConvert.getGson().fromJson(data, new TypeToken<DeviceInfoResponse>() {
}.getType());
+
+ if ((response == null) || (response.getObjects() == null) || (response.getObjects().getIPAddress() == null))
+ return;
+
HDLLinkConfig.getInstance().setIpAddress(response.getObjects().getIPAddress());
LogUtils.i("---getIpAddress=" + HDLLinkConfig.getInstance().getIpAddress());
@@ -544,6 +553,53 @@
}
/**
+ * 鑾峰彇鍦烘櫙鍒楄〃
+ */
+ public void getScene(List<String> sids, HDLLinkCallBack callBack) {
+ if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<PropertyReadRequest>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+
+ List<PropertyReadRequest> list = new ArrayList<>();
+ for (String s : sids) {
+ list.add(new PropertyReadRequest(s));
+ }
+ data.setObjects(list);
+
+ String topic = String.format(TopicConstant.SCENE_GET, getGatewayId());
+ LinkRequest message = new LinkRequest(topic,
+ GsonConvert.getGson().toJson(data));
+
+ String replyTopic = topic + "_reply";
+ try {
+ sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() {
+ @Override
+ public void onSucceed() {
+
+ }
+
+ @Override
+ public void onError() {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_FUNCTION_LIST_ERROR));
+ }
+ }
+ });
+ } catch (Exception e) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_FUNCTION_LIST_ERROR));
+ }
+ }
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR));
+ }
+ }
+ }
+
+ /**
* 鍦烘櫙鎺у埗
*
* @param sids 鍦烘櫙sid鍒楄〃
@@ -612,6 +668,52 @@
data.setObjects(list);
String topic = String.format(TopicConstant.LIST_UPLOAD, getGatewayId());
+ LinkRequest message = new LinkRequest(topic,
+ GsonConvert.getGson().toJson(data));
+
+ String replyTopic = topic + "_reply";
+ try {
+ sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() {
+ @Override
+ public void onSucceed() {
+
+ }
+
+ @Override
+ public void onError() {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ });
+ } catch (Exception e) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ }
+
+ /**
+ * 涓婃姤Sid鍒楄〃
+ *
+ * @param requestList sid鍒楄〃
+ * @param callBack 鍥炶皟
+ */
+ public void UploadSidList(List<ListSidRequest> requestList, HDLLinkCallBack callBack) {
+ if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<ListSidRequest>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+
+ data.setObjects(requestList);
+
+ String topic = String.format(TopicConstant.LIST_SID_UPLOAD, getGatewayId());
LinkRequest message = new LinkRequest(topic,
GsonConvert.getGson().toJson(data));
@@ -828,9 +930,10 @@
final String msgId = IdUtils.getUUId();
String time = String.valueOf(System.currentTimeMillis());
- final BaseLocalResponse<List<ListOidRequest>> data = new BaseLocalResponse<>();
+ final BaseLocalCodeResponse<List<ListOidRequest>> data = new BaseLocalCodeResponse<>();
data.setId(msgId);
data.setTime_stamp(time);
+ data.setCode("0");
final ListOidRequest request = new ListOidRequest();
request.setOid(oid);
@@ -1011,4 +1114,56 @@
}
+ /**
+ * 鍥炲缃戝叧閰嶇疆鍛戒护
+ * @param mac_Oid_GatewayId
+ * @param msgId 娑堟伅Id
+ * @param callBack
+ */
+ public void gatewayRemoteEditReply(String mac_Oid_GatewayId, String msgId, HDLLinkCallBack callBack) {
+ if (TextUtils.isEmpty(mac_Oid_GatewayId)) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
+ }
+
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalCodeResponse<List<String>> data = new BaseLocalCodeResponse<>();
+ data.setId(msgId);
+ data.setTime_stamp(time);
+ data.setCode("0");
+
+
+ String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE_REPLY, mac_Oid_GatewayId);
+ LinkRequest message = new LinkRequest(topic,
+ GsonConvert.getGson().toJson(data));
+
+
+
+ try {
+ sendMsg(message.getSendBytes(), topic, callBack, new SendListener() {
+ @Override
+ public void onSucceed() {
+ if (callBack == null) return;
+ try {
+ callBack.onSuccess("閫�缃戞垚鍔�");
+ HDLLinkConfig.getInstance().clearConfig();
+
+ } catch (Exception e) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
+ }
+ }
+
+ @Override
+ public void onError() {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ });
+ } catch (Exception e) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0