From 636c4bb04e4fcd723766b82732990cdb4ae4ea2e Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 22 二月 2024 15:48:23 +0800
Subject: [PATCH] 删除掉本地库

---
 /dev/null       |   29 -----------------------------
 settings.gradle |    2 +-
 2 files changed, 1 insertions(+), 30 deletions(-)

diff --git a/HDLLinkLocalSdk/.gitignore b/HDLLinkLocalSdk/.gitignore
deleted file mode 100644
index 42afabf..0000000
--- a/HDLLinkLocalSdk/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/build.gradle b/HDLLinkLocalSdk/build.gradle
deleted file mode 100644
index ba504e2..0000000
--- a/HDLLinkLocalSdk/build.gradle
+++ /dev/null
@@ -1,55 +0,0 @@
-plugins {
-    id 'com.android.library'
-}
-
-android {
-    compileSdkVersion 29
-
-    defaultConfig {
-        minSdkVersion 21
-        targetSdkVersion 29
-        versionCode 102
-        versionName "1.0.2"
-
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-        consumerProguardFiles "consumer-rules.pro"
-    }
-
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
-        }
-    }
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_8
-        targetCompatibility JavaVersion.VERSION_1_8
-    }
-
-    /**
-     * 鎵撳寘鑷姩鍛藉悕
-     */
-    android.libraryVariants.all { variant ->
-        variant.outputs.all {
-            outputFileName = "hdl-link-V" + defaultConfig.versionName  + ".aar"
-        }
-    }
-}
-
-dependencies {
-    implementation 'com.google.code.gson:gson:2.8.8'
-    implementation 'androidx.appcompat:appcompat:1.2.0'
-    implementation 'com.google.android.material:material:1.3.0'
-    implementation 'com.alibaba:fastjson:1.2.66'
-    api 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'
-    api 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
-    implementation 'org.bouncycastle:bcpg-jdk16:1.46'
-    //浜嬩欢鎬荤嚎 Eventbus
-    api 'org.greenrobot:eventbus:3.2.0'
-    //HDLLinkPMSdk SDK
-    api project(path: ':HDLLinkPMSdk')
-
-//    //鍔犲瘑
-//    implementation 'cn.hutool:hutool-all:5.6.5'
-//    implementation 'org.bouncycastle:bcprov-jdk15on:1.60'
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/consumer-rules.pro b/HDLLinkLocalSdk/consumer-rules.pro
deleted file mode 100644
index e69de29..0000000
--- a/HDLLinkLocalSdk/consumer-rules.pro
+++ /dev/null
diff --git a/HDLLinkLocalSdk/proguard-rules.pro b/HDLLinkLocalSdk/proguard-rules.pro
deleted file mode 100644
index 481bb43..0000000
--- a/HDLLinkLocalSdk/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-#   http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-#   public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/AndroidManifest.xml b/HDLLinkLocalSdk/src/main/AndroidManifest.xml
deleted file mode 100644
index 71bb242..0000000
--- a/HDLLinkLocalSdk/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.hdl.sdk.link">
-
-</manifest>
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java
deleted file mode 100644
index c2bddca..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/HDLLinkLocalSdk.java
+++ /dev/null
@@ -1,3238 +0,0 @@
-package com.hdl.sdk.link;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.widget.Toast;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.reflect.TypeToken;
-import com.hdl.sdk.link.bean.GatewayLocationBean;
-import com.hdl.sdk.link.bean.LinkGroupControlCreateBean;
-import com.hdl.sdk.link.bean.LinkIrDeviceBean;
-import com.hdl.sdk.link.bean.LinkOtaBean;
-import com.hdl.sdk.link.bean.LinkSidNameBean;
-import com.hdl.sdk.link.bean.MMWAreaBean;
-import com.hdl.sdk.link.common.config.TopicConstant;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.common.utils.ErrorUtils;
-import com.hdl.sdk.link.common.utils.IdUtils;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-import com.hdl.sdk.link.bean.LinkCreateLogicBean;
-import com.hdl.sdk.link.bean.LinkCreateSceneBean;
-import com.hdl.sdk.link.bean.LinkEnableLogicBean;
-import com.hdl.sdk.link.bean.LinkEnableSecurityBean;
-import com.hdl.sdk.link.bean.LinkFunctionBean;
-import com.hdl.sdk.link.bean.LinkLogicBean;
-import com.hdl.sdk.link.bean.LinkOidBean;
-import com.hdl.sdk.link.bean.LinkReNameGWBean;
-import com.hdl.sdk.link.bean.LinkRoomBean;
-import com.hdl.sdk.link.bean.LinkRoomBindBean;
-import com.hdl.sdk.link.bean.LinkSceneBean;
-import com.hdl.sdk.link.bean.LinkSidStrBean;
-import com.hdl.sdk.link.bean.LinkSidUidBean;
-import com.hdl.sdk.link.core.bean.FileRequest;
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.request.AuthenticateRequest;
-import com.hdl.sdk.link.core.bean.request.DeviceControlRequest;
-import com.hdl.sdk.link.core.bean.request.FunctionAttributeRequest;
-import com.hdl.sdk.link.core.bean.request.PropertyReadRequest;
-import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
-import com.hdl.sdk.link.core.bean.scenebatch.SceneCanDeleteInfo;
-import com.hdl.sdk.link.core.bean.scenebatch.SceneGroupInfo;
-import com.hdl.sdk.link.core.callback.GatewayCallBack;
-import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
-import com.hdl.sdk.link.core.callback.HDLLinkResponseCallBack;
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.event.EventListener;
-import com.hdl.sdk.link.core.callback.HDLLinkTCallBack;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.core.connect.HDLUdpConnect;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.connect.HDLConnectHelper;
-import com.hdl.sdk.link.core.utils.LinkResponseUtils;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-
-import java.lang.reflect.Type;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-/**
- * Created by jlchen on 11/15/21.
- *
- * @Description : HDLLink
- */
-public class HDLLinkLocalSdk {
-    /**
-     * instance
-     */
-    private volatile static HDLLinkLocalSdk instance;
-
-    /**
-     * getInstance
-     *
-     * @return HDLLink
-     */
-    public static synchronized HDLLinkLocalSdk getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkLocalSdk.class) {
-                if (instance == null) {
-                    instance = new HDLLinkLocalSdk();
-                }
-            }
-        }
-        return instance;
-    }
-
-    private static Context context;
-
-
-    public void init(Context context) {
-        this.context = context.getApplicationContext();
-
-        String[] gatewayErrors = context.getResources().getStringArray(R.array.gateway);
-        Map<String, String> codeAndMsgMap = new HashMap<>();
-        for (String gatewayError : gatewayErrors) {
-            String codeMsg[] = gatewayError.split("=");
-            codeAndMsgMap.put(codeMsg[0], codeMsg[1]);
-        }
-        //鍒濆鍖栫姸鎬佺爜澶氳瑷�淇℃伅
-        ErrorUtils.errorsMap.putAll(codeAndMsgMap);
-    }
-
-    public Context getContext() {
-        return context;
-    }
-
-    public boolean isZh() {
-        Locale locale = getContext().getResources().getConfiguration().locale;
-        String language = locale.getLanguage();
-        if (language.endsWith("zh"))
-            return true;
-        else
-            return false;
-    }
-
-    public static void showToast(String msg){
-//        runOnUiThread(new Runnable() {
-//            @Override
-//            public void run() {
-//                try {
-//                    if (toast == null) {
-//                        toast = Toast.makeText(HDLGlobal.getInstance().getContext(), message, Toast.LENGTH_SHORT);
-//                    } else {
-//                        toast.setText(message);
-//                    }
-//                    toast.show();
-//                } catch (Exception ignored) {
-//
-//                }
-//            }
-//
-//        });
-        Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
-    }
-
-    /**
-     * 璁剧疆鎵撳嵃鏄惁寮�鍚�
-     *
-     * @param enable
-     */
-    public void setLogEnabled(boolean enable) {
-        LogUtils.setEnabled(enable);
-    }
-
-    /**
-     * 娉ㄥ唽鎵�鏈変富棰樻秷鎭殑鐩戝惉
-     *
-     * @param listener
-     */
-    public synchronized void registerAllTopicsListener(EventListener listener) {
-        EventDispatcher.getInstance().registerAllTopicsListener(listener);
-    }
-
-    /**
-     * 鍙栨秷鎵�鏈変富棰樻秷鎭殑鐩戝惉
-     *
-     * @param listener
-     */
-    public synchronized void removeAllTopicsListener(EventListener listener) {
-        if (listener == null) return;
-        EventDispatcher.getInstance().removeAllTopicsListener(listener);
-    }
-
-    /***********************涓夋柟璁惧鍜岀綉鍏抽�氫俊涔嬪墠鐨勮璇佹祦绋�****************************/
-    /**
-     * 妫�娴嬫槸鍚﹀凡缁忚璇佽繃
-     * 璁よ瘉閫氳繃鎵嶈兘杩涜璁惧鎺у埗
-     *
-     * @return
-     */
-    public boolean checkIfCertified() {
-        return HDLLinkConfig.getInstance().checkIfCertified();
-    }
-
-    /**
-     * 寮�濮嬬洃鍚拰鍙戣捣鍏ョ綉鍙婅璇佽姹�
-     *
-     * @param request  璁よ瘉璇锋眰淇℃伅
-     * @param callBack 缁撴灉鍥炶皟
-     */
-    public void startAuthenticateRequest(AuthenticateRequest request, HDLLinkCallBack callBack) {
-        HDLUdpConnect.getInstance().startAuthenticateRequest(request, callBack);
-    }
-
-    /**
-     * 鍙戦�佸叆缃戝強璁よ瘉璇锋眰
-     *
-     * @param ip       缃戝叧IP
-     * @param request  璁よ瘉璇锋眰淇℃伅
-     * @param callBack 缁撴灉鍥炶皟
-     */
-    public void sendAuthenticateRequest(String ip, AuthenticateRequest request, HDLLinkCallBack callBack) {
-        HDLUdpConnect.getInstance().sendAuthenticateRequest(ip, request, callBack);
-    }
-
-    /***********************涓夋柟璁惧璇峰厛璁よ瘉鎴愬姛 鍐嶈皟鐢ㄤ笅闈㈢殑鎺ュ彛鍜岀綉鍏抽�氫俊****************************/
-    /**
-     * 缁勬挱鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎锛屾悳绱㈠埌鍒欒繑鍥炴寚瀹氱殑缃戝叧瀵硅薄
-     *
-     * @param callBack 鍥炶皟
-     */
-    public void searchGatewayMulticast(HDLUdpConnect.SearchGatewayCallBack callBack) {
-        HDLUdpConnect.getInstance().searchGatewayMulticast(callBack);
-    }
-
-    /**
-     * 缁勬挱鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎锛屾悳绱㈠埌鍒欒繑鍥炴寚瀹氱殑缃戝叧瀵硅薄
-     *
-     * @param callBack 鍥炶皟
-     */
-    public void searchGatewayBroadcast(HDLUdpConnect.SearchGatewayCallBack callBack) {
-        HDLUdpConnect.getInstance().searchGatewayBroadcast(callBack);
-    }
-
-    /**
-     * 鑾峰彇璁惧鍒楄〃
-     */
-    public void getDeviceList(HDLLinkTCallBack<List<LinkOidBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-            String topic = String.format(TopicConstant.GET_DEVICE_LIST, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getDeviceList onSuccess");
-                        Type type = new TypeToken<BaseLocalResponse<List<LinkOidBean>>>() {
-                        }.getType();
-                        List<LinkOidBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                        if (list == null) {
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                        } else {
-                            callBack.onSuccess(list);
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 绾㈠瀹�/閬ユ帶鍣ㄥ畾浣�
-     */
-    public void locationIr(String sid, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            List<JSONObject> stringList = new ArrayList<>();
-            JSONObject jsonObject1 = new JSONObject();
-            jsonObject1.put("sid", sid);
-            jsonObject1.put("duration_time", "5");
-            stringList.add(jsonObject1);
-            jsonObject.put("objects", stringList);
-            String topic = String.format(TopicConstant.IR_FIND_REMOTE, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("locationIr onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 绾㈠瀹濆垹闄わ紙閲囩敤link鍗忚閫氱煡鍒犻櫎骞堕��缃戝瓙璁惧鎷撴墤鍏崇郴锛�
-     */
-    public void deleteLinkDevice(String oid, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            List<JSONObject> stringList = new ArrayList<>();
-            JSONObject jsonObject1 = new JSONObject();
-            jsonObject1.put("oid", oid);
-            stringList.add(jsonObject1);
-            jsonObject.put("objects", stringList);
-            String topic = String.format(TopicConstant.DELETING_GATEWAY_SLAVE, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("deleteLinkDevice onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 閬ユ帶鍣ㄥ垹闄わ紙閲囩敤link鍗忚閫氱煡鍒犻櫎骞堕��缃戝瓙璁惧鎷撴墤鍏崇郴锛�
-     */
-    public void deleteIrControlDevice(String sid, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            List<JSONObject> stringList = new ArrayList<>();
-            JSONObject jsonObject1 = new JSONObject();
-            jsonObject1.put("sid", sid);
-            stringList.add(jsonObject1);
-            jsonObject.put("objects", stringList);
-            String topic = String.format(TopicConstant.DELETING_GATEWAY_SLAVE, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("deleteIrControlDevice onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 璁惧鎺у埗
-     */
-    public void controlDevice(Object object, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            List<Object> stringList = new ArrayList<>();
-            stringList.add(object);
-            jsonObject.put("objects", stringList);
-            String topic = String.format(TopicConstant.PROPERTY_DOWN, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("controlDevice onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    public void controlDevice(Object object, String gatewayId, String ipAddress, String mac, boolean encrypt, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-
-        String time = String.valueOf(System.currentTimeMillis());
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("id", IdUtils.getUUId());
-        jsonObject.put("time_stamp", time);
-        List<Object> stringList = new ArrayList<>();
-        stringList.add(object);
-        jsonObject.put("objects", stringList);
-        String topic = String.format(TopicConstant.PROPERTY_DOWN, gatewayId);
-        LinkRequest request = new LinkRequest(topic, jsonObject.toString(), encrypt);
-        new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof LinkResponse) {
-                    LogUtils.i("controlDevice onSuccess");
-                    callBack.onSuccess("");
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                if (callBack != null) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true, mac).send();
-    }
-
-    /**
-     * 鏇存敼涓荤綉鍏冲娉ㄥ悕
-     */
-    public void changeGWName(String gateWayName, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<LinkReNameGWBean> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            LinkReNameGWBean linkReNameGWBean = new LinkReNameGWBean();
-            linkReNameGWBean.setDevice_name(gateWayName);
-            data.setObjects(linkReNameGWBean);
-            String topic = String.format(TopicConstant.GATEWAY_RENAME, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("changeGWName onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鏇存敼浠庣綉鍏冲娉ㄥ悕
-     */
-    public void changeCongGWName(String gateWayName, String gatewayId, String ipAddress, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<LinkReNameGWBean> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            LinkReNameGWBean linkReNameGWBean = new LinkReNameGWBean();
-            linkReNameGWBean.setDevice_name(gateWayName);
-            data.setObjects(linkReNameGWBean);
-            String topic = String.format(TopicConstant.GATEWAY_RENAME, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            request.setCloudTopic(String.format(TopicConstant.NATIVE_LINK_DOWN_SLAVE, HDLLinkConfig.getInstance().getGatewayId(), gatewayId));
-            new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("changeCongGWName onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * sid鏇存敼鍚嶅瓧
-     */
-    public void sidNameChange(List<LinkSidNameBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidNameBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.EDIT_FUNCTION, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("sidNameChange onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    public void sidNameChange(List<LinkSidNameBean> bean, String gatewayId, String ipaddress, boolean isLocalEncrypt, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String time = String.valueOf(System.currentTimeMillis());
-        final BaseLocalResponse<List<LinkSidNameBean>> data = new BaseLocalResponse<>();
-        data.setId(IdUtils.getUUId());
-        data.setTime_stamp(time);
-        data.setObjects(bean);
-        String topic = String.format(TopicConstant.EDIT_FUNCTION, gatewayId);
-        LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), isLocalEncrypt);
-        new HDLConnectHelper(ipaddress, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof LinkResponse) {
-                    LogUtils.i("sidNameChange onSuccess");
-                    callBack.onSuccess("");
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                if (callBack != null) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true).send();
-    }
-
-    /**
-     * sid缁戝畾鎴块棿
-     */
-    public void sidBindUid(List<LinkSidUidBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidUidBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SID_BIND_ROOM, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("sidBindUid onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * sid缁戝畾鎴块棿
-     */
-    public void sidBindUid(List<LinkSidUidBean> bean, String gatewayId, String ipaddress, boolean isLocalEncrypt, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String time = String.valueOf(System.currentTimeMillis());
-        final BaseLocalResponse<List<LinkSidUidBean>> data = new BaseLocalResponse<>();
-        data.setId(IdUtils.getUUId());
-        data.setTime_stamp(time);
-        data.setObjects(bean);
-        String topic = String.format(TopicConstant.SID_BIND_ROOM, gatewayId);
-        LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), isLocalEncrypt);
-        new HDLConnectHelper(ipaddress, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof LinkResponse) {
-                    LogUtils.i("sidBindUid onSuccess");
-                    callBack.onSuccess("Success");
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                if (callBack != null) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true).send();
-    }
-
-    /**
-     * sid鍒犻櫎缁戝畾鎴块棿鍏崇郴
-     */
-    public void sidDeleteUid(List<LinkSidUidBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidUidBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SID_DELETE_ROOM, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("sidDeleteUid onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍒涘缓鍦烘櫙
-     */
-    public void createScene(List<LinkCreateSceneBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkCreateSceneBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.CREATE_SCENE, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("createScene onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 缂栬緫鍦烘櫙 鎵归噺澶勭悊缁�
-     */
-    public void editSceneBatchGroup(List<SceneGroupInfo> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<SceneGroupInfo>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SCENE_EDIT, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("editSceneBatchGroup onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 缂栬緫鍦烘櫙 鎵归噺澶勭悊鍒犻櫎
-     */
-    public void editSceneBatchDelete(List<SceneCanDeleteInfo> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<SceneCanDeleteInfo>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SCENE_EDIT, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("editSceneBatchDelete onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 缂栬緫鍦烘櫙
-     */
-    public void editScene(List<LinkCreateSceneBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkCreateSceneBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SCENE_EDIT, gatewayId);
-            for (int i = 0; i < data.getObjects().size(); i++) {
-                if (data.getObjects().get(i).getFunctions().size() == 0) {
-                    data.getObjects().get(i).setFunctions(null);
-                }
-//                if (data.getObjects().get(i).getUids().size() == 0) {
-//                    data.getObjects().get(i).setUids(null);
-//                }
-            }
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("editScene onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍒犻櫎鍦烘櫙
-     */
-    public void deleteScene(List<LinkSidStrBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidStrBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SCENE_DELETE, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("deleteScene onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鑷姩鍖栧垪琛�
-     */
-    public void getLogicList(HDLLinkTCallBack<List<LinkLogicBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-            String topic = String.format(TopicConstant.LOGIC_LIST_GET, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getLogicList onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkLogicBean>>>() {
-                            }.getType();
-                            List<LinkLogicBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鑷姩鍖栬鎯�
-     */
-    public void getLogicDetail(List<LinkSidStrBean> list, HDLLinkTCallBack<List<LinkCreateLogicBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidStrBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(list);
-            String topic = String.format(TopicConstant.LOGIC_GET, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getLogicDetail onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkCreateLogicBean>>>() {
-                            }.getType();
-                            List<LinkCreateLogicBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鏂板缓鑷姩鍖�
-     */
-    public void createLogic(List<LinkCreateLogicBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkCreateLogicBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.LOGIC_EDIT, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("createLogic onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 寮�鍚叧闂嚜鍔ㄥ寲
-     */
-    public void enableLogic(List<LinkEnableLogicBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkEnableLogicBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.LOGIC_ENABLE_EDIT, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("enableLogic onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍒犻櫎鑷姩鍖�
-     */
-    public void deleteLogic(List<LinkSidStrBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidStrBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.LOGIC_DELETE, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("deleteLogic onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 绾㈠瀹濊瘯鐮�
-     */
-    public void irCodeTest(JSONObject content, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            JSONArray jsonArray = new JSONArray();
-            jsonArray.add(content);
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            jsonObject.put("objects", jsonArray);
-            String topic = String.format(TopicConstant.IR_CODE_TEST, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("irCodeTest onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 绾㈠瀹濇坊鍔犻仴鎺у櫒
-     */
-    public void irDeviceAdd(JSONObject content, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            JSONArray jsonArray = new JSONArray();
-            jsonArray.add(content);
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            jsonObject.put("objects", jsonArray);
-            String topic = String.format(TopicConstant.IR_DEVICE_ADD, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneList onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 绾㈠瀹濊嚜瀛︾爜
-     */
-    public void irCodeStudy(JSONObject content, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            JSONArray jsonArray = new JSONArray();
-            jsonArray.add(content);
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            jsonObject.put("objects", jsonArray);
-            String topic = String.format(TopicConstant.IR_CODE_STUDY, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("irCodeStudy onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 绾㈠瀹濊嚜瀛︾爜鍒犻櫎
-     */
-    public void irCodeRemove(JSONObject content, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            JSONArray jsonArray = new JSONArray();
-            jsonArray.add(content);
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            jsonObject.put("objects", jsonArray);
-            String topic = String.format(TopicConstant.IR_CODE_REMOVE, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("irCodeRemove onSuccess");
-                        callBack.onSuccess("");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 绾㈠瀹濋仴鎺у櫒鍒楄〃鑾峰彇
-     */
-    public void irDeviceList(JSONObject content, HDLLinkTCallBack<List<LinkIrDeviceBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JSONObject jsonObject = new JSONObject();
-            JSONArray jsonArray = new JSONArray();
-            jsonArray.add(content);
-            jsonObject.put("id", IdUtils.getUUId());
-            jsonObject.put("time_stamp", time);
-            jsonObject.put("objects", jsonArray);
-            String topic = String.format(TopicConstant.IR_DEVICE_LIST, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("irDeviceList onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkIrDeviceBean>>>() {
-                            }.getType();
-                            List<LinkIrDeviceBean> response = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (response == null) {
-                                callBack.onSuccess(new ArrayList<>());
-                            } else {
-                                callBack.onSuccess(response);
-                            }
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 鑾峰彇瀹夐槻鍒楄〃
-     */
-    public void getSecurityList(HDLLinkTCallBack<List<LinkLogicBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-
-            String topic = String.format(TopicConstant.SECURITY_LIST_GET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSecurityList onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkLogicBean>>>() {
-                            }.getType();
-                            List<LinkLogicBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鑷姩鍖栬鎯�
-     */
-    public void getSecurityDetail(List<LinkSidStrBean> list, HDLLinkTCallBack<List<LinkCreateLogicBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidStrBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(list);
-
-            String topic = String.format(TopicConstant.SECURITY_GET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSecurityDetail onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkCreateLogicBean>>>() {
-                            }.getType();
-                            List<LinkCreateLogicBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鏂板缓瀹夐槻
-     */
-    public void createSecurity(List<LinkCreateLogicBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkCreateLogicBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SECURITY_EDIT, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("createSecurity onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍒犻櫎瀹夐槻
-     */
-    public void deleteSecurity(List<LinkSidStrBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidStrBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SECURITY_DELETE, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("deleteSecurity onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 寮�鍚叧闂嚜鍔ㄥ寲
-     */
-    public void enableSecurity(List<LinkEnableSecurityBean> bean, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkEnableSecurityBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.SECURITY_STATUS_SET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("enableSecurity onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 鑾峰彇鍔熻兘鍒楄〃
-     */
-    public void getFunctionList(HDLLinkTCallBack<List<LinkFunctionBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-
-            String topic = String.format(TopicConstant.GET_FUNCTION_LIST, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getFunctionList onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkFunctionBean>>>() {
-                            }.getType();
-                            List<LinkFunctionBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 妯℃嫙浜戠ota
-     */
-    public void otaDeviceUpgradeDown(String oid, String module, HDLLinkTCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkOtaBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            List<LinkOtaBean> bean = new ArrayList<>();
-            LinkOtaBean linkOtaBean = new LinkOtaBean();
-            linkOtaBean.setOid(oid);
-            linkOtaBean.setModule(module);
-            linkOtaBean.setSize(291710);
-            linkOtaBean.setSign_method("md5");
-            linkOtaBean.setSign("05afc42e715b724e01b4ecd0ee2bde5d");
-            linkOtaBean.setUrl("https://hdl-hz-prod.oss-cn-hangzhou.aliyuncs.com/20/2023/05/37886160-375a-4bf0-8a32-4093dac38679.ota");
-            linkOtaBean.setVersion("V02.04.16");
-            bean.add(linkOtaBean);
-            data.setObjects(bean);
-            String topic = String.format(TopicConstant.OTA_UPGRADE_DOWN, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getFunctionList onSuccess");
-                        if (callBack != null) {
-                            callBack.onSuccess("Success");
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 鏇存敼Sid澶囨敞鍚�
-     */
-    public void editSidName(BaseLocalResponse<List<JsonObject>> data, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-//            LinkReNameGWBean linkReNameGWBean = new LinkReNameGWBean();
-//            linkReNameGWBean.setDevice_name(sidName);
-//            data.setObjects(linkReNameGWBean);
-            String topic = String.format(TopicConstant.EDIT_FUNCTION_ATTRIBUTE, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("editSidName onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鍔熻兘灞炴��
-     * 鏀寔鎵归噺
-     *
-     * @param sids
-     * @param callBack
-     */
-    public void getFunctionAttribute(List<String> sids, HDLLinkTCallBack<List<LinkFunctionBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-
-            final BaseLocalResponse<List<FunctionAttributeRequest>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            List<FunctionAttributeRequest> list = new ArrayList<>();
-            for (String s : sids) {
-                list.add(new FunctionAttributeRequest(s));
-            }
-            data.setObjects(list);
-
-            String topic = String.format(TopicConstant.GET_FUNCTION_ATTRIBUTE, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getFunctionAttribute onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkFunctionBean>>>() {
-                            }.getType();
-                            List<LinkFunctionBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 璁惧鎺у埗
-     *
-     * @param requestList 鎺у埗鐘舵�佸弬鏁�
-     * @param callBack    缁撴灉鍥炶皟
-     */
-    public void propertyDown(List<DeviceControlRequest> requestList, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-
-            final BaseLocalResponse<List<DeviceControlRequest>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(requestList);
-            String topic = String.format(TopicConstant.PROPERTY_DOWN, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("propertyDown onSuccess");
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-
-    }
-
-    /**
-     * 鏈嶅姟璋冪敤
-     *
-     * @param topic    涓婚
-     * @param callBack 鍥炶皟
-     */
-    public void serviceDown(String topic, JSONArray jsonArray, String ipAddress, boolean encrypt, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-
-        String time = String.valueOf(System.currentTimeMillis());
-        final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
-        data.setId(IdUtils.getUUId());
-        data.setTime_stamp(time);
-        data.setObjects(jsonArray);
-
-        LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), encrypt);
-        new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof LinkResponse) {
-                    LogUtils.i("propertyRead onSuccess");
-                    callBack.onSuccess(msg.toString());
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                if (callBack != null) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true).send();
-    }
-
-    /**
-     * 鏈嶅姟璋冪敤
-     *
-     * @param topic    涓婚
-     * @param callBack 鍥炶皟
-     */
-    public void serviceDown(String topic, JSONArray jsonArray, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(jsonArray);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("propertyRead onSuccess");
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 鏈嶅姟鐘舵�佽幏鍙�
-     *
-     * @param topic    涓婚
-     * @param callBack 鍥炶皟
-     */
-    public void serviceRead(String topic, JSONArray jsonArray, String ipAddress, boolean encrypt, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String time = String.valueOf(System.currentTimeMillis());
-        final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
-        data.setId(IdUtils.getUUId());
-        data.setTime_stamp(time);
-        data.setObjects(jsonArray);
-
-        LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), encrypt);
-        new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof LinkResponse) {
-                    LogUtils.i("propertyRead onSuccess");
-                    callBack.onSuccess(msg.toString());
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                if (callBack != null) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true).send();
-    }
-
-    /**
-     * 鏈嶅姟鐘舵�佽幏鍙�
-     *
-     * @param topic    涓婚
-     * @param callBack 鍥炶皟
-     */
-    public void serviceRead(String topic, JSONArray jsonArray, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<JSONArray> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(jsonArray);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("propertyRead onSuccess");
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇姣背娉㈠尯鍩�
-     *
-     * @param sid      璇锋眰鍙傛暟 鎸囧畾璇诲彇鐨勮澶噑id
-     * @param callBack 鍥炶皟
-     */
-    public void getMillimeterArea(String sid, HDLLinkTCallBack<List<MMWAreaBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            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<>();
-            list.add(new PropertyReadRequest(sid));
-            data.setObjects(list);
-
-            String topic = String.format(TopicConstant.MMW_AREA_GET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("propertyRead onSuccess");
-                        Type type = new TypeToken<BaseLocalResponse<List<MMWAreaBean>>>() {
-                        }.getType();
-                        List<MMWAreaBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                        if (list == null) {
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                        } else {
-                            callBack.onSuccess(list);
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 璇诲彇鐘舵��
-     *
-     * @param sids     璇锋眰鍙傛暟 鎸囧畾璇诲彇鐨勮澶噑id鍒楄〃
-     * @param callBack 鍥炶皟
-     */
-    public void propertyRead(List<String> sids, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            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.PROPERTY_READ, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("propertyRead onSuccess");
-                        Type type = new TypeToken<BaseLocalResponse<String>>() {
-                        }.getType();
-                        String list = LinkResponseUtils.convertLinkResponse(msg, type);
-                        if (list == null) {
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                        } else {
-                            callBack.onSuccess(list);
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 璇诲彇鐘舵��
-     *
-     * @param sids     璇锋眰鍙傛暟 鎸囧畾璇诲彇鐨勮澶噑id鍒楄〃
-     * @param callBack 鍥炶皟
-     */
-    public void propertyRead(List<String> sids, String gatewayId, String ipAddress, String mac, boolean encrypt, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-
-        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.PROPERTY_READ, gatewayId);
-
-        LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), encrypt);
-        new HDLConnectHelper(ipAddress, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof LinkResponse) {
-                    LogUtils.i("propertyRead onSuccess");
-                    Type type = new TypeToken<BaseLocalResponse<String>>() {
-                    }.getType();
-                    String list = LinkResponseUtils.convertLinkResponse(msg, type);
-                    if (list == null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                    } else {
-                        callBack.onSuccess(list);
-                    }
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                if (callBack != null) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true, mac).send();
-    }
-
-    /**
-     * 鑾峰彇鍦烘櫙鍒楄〃
-     */
-    public void getSceneList(HDLLinkTCallBack<List<LinkSceneBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-
-            String topic = String.format(TopicConstant.SCENE_LIST_GET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneList onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkSceneBean>>>() {
-                            }.getType();
-                            List<LinkSceneBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    public void getSceneListaa(HDLLinkTCallBack<List<LinkSceneBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-
-        if (!TextUtils.isEmpty("18FE8588AC73E526")) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-
-            String topic = String.format(TopicConstant.SCENE_LIST_GET, "18FE8588AC73E526");
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper("192.168.1.100", request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneList onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkSceneBean>>>() {
-                            }.getType();
-                            List<LinkSceneBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    public void getSceneListAiks(GatewayBean bean, HDLLinkTCallBack<List<LinkSceneBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-
-        if (!TextUtils.isEmpty(bean.getDevice_mac())) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-
-            String topic = String.format(TopicConstant.SCENE_LIST_GET, bean.getDevice_mac());
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), false);
-            new HDLConnectHelper(bean.getIp_address(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneList onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkSceneBean>>>() {
-                            }.getType();
-                            List<LinkSceneBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鑾峰彇鍦烘櫙璇︽儏
-     */
-    public void getSceneDetail(List<LinkSidStrBean> list, HDLLinkTCallBack<List<LinkCreateSceneBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkSidStrBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(list);
-            String topic = String.format(TopicConstant.SCENE_GET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneDetail onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkCreateSceneBean>>>() {
-                            }.getType();
-                            List<LinkCreateSceneBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍦烘櫙鎺у埗
-     *
-     * @param sids     鍦烘櫙sid鍒楄〃
-     * @param callBack 鍥炶皟
-     */
-    public void controlScene(List<String> sids, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            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_CONTROL, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("controlScene onSuccess");
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍦烘櫙鎺у埗
-     *
-     * @param sids     鍦烘櫙sid鍒楄〃
-     * @param callBack 鍥炶皟
-     */
-    public void controlAiksScene(GatewayBean bean, List<String> sids, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String device_mac = bean.getDevice_mac();
-        if (!TextUtils.isEmpty(device_mac)) {
-            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_CONTROL, device_mac);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), false);
-            new HDLConnectHelper(bean.getIp_address(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("controlScene onSuccess");
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 缇ゆ帶澧炲垹
-     */
-    public void groupControlEdit(List<LinkGroupControlCreateBean> list, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkGroupControlCreateBean>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(list);
-            String topic = String.format(TopicConstant.GROUPCONTROL_EDIT, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneDetail onSuccess");
-                        if (callBack != null) {
-                            callBack.onSuccess(msg.toString());
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 缇ゆ帶鎺у埗
-     */
-    public void groupControlControl(JSONObject object, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<JSONObject>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            List<JSONObject> objectList = new ArrayList<>();
-            objectList.add(object);
-            data.setObjects(objectList);
-            String topic = String.format(TopicConstant.GROUPCONTROL_CONTROL, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneDetail onSuccess");
-                        if (callBack != null) {
-                            callBack.onSuccess(msg.toString());
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 缇ゆ帶鍒犻櫎
-     */
-    public void groupControlDelete(JSONObject object, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<JSONObject>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            List<JSONObject> objectList = new ArrayList<>();
-            objectList.add(object);
-            data.setObjects(objectList);
-            String topic = String.format(TopicConstant.GROUPCONTROL_DELETE, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneDetail onSuccess");
-                        if (callBack != null) {
-                            callBack.onSuccess(msg.toString());
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                        HDLLinkLocalSdk.showToast(hdlLinkCode.getMsg());
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 缇ゆ帶鍒楄〃鑾峰彇
-     */
-    public void getGroupControlList(List<JSONObject> list, HDLLinkTCallBack<List<LinkGroupControlCreateBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<JSONObject>> data = new BaseLocalResponse<>();
-            data.setId(IdUtils.getUUId());
-            data.setTime_stamp(time);
-            data.setObjects(list);
-            String topic = String.format(TopicConstant.GROUPCONTROL_LIST_GET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(data), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getSceneDetail onSuccess");
-                        if (callBack != null) {
-                            Type type = new TypeToken<BaseLocalResponse<List<LinkGroupControlCreateBean>>>() {
-                            }.getType();
-                            List<LinkGroupControlCreateBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                            if (list == null) {
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                            } else {
-                                callBack.onSuccess(list);
-                            }
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 閫氱敤UDP鍙戦�佹寚浠�
-     * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆�
-     *
-     * @param topic    鍙戦�佹暟鎹�
-     * @param bodyStr  body鍐呭
-     * @param callBack 鍥炶皟
-     */
-    public void udpSendMsg(String topic, String bodyStr, HDLLinkResponseCallBack callBack) {
-        HDLUdpConnect.getInstance().udpSendMsg(topic, bodyStr, false, callBack);
-    }
-
-    /**
-     * 閫氱敤骞挎挱UDP鍙戦�佹寚浠�
-     * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆�
-     *
-     * @param topic    鍙戦�佹暟鎹�
-     * @param bodyStr  body鍐呭
-     * @param callBack 鍥炶皟
-     */
-    public void udpBroadcastSendMsg(String topic, String bodyStr, HDLLinkResponseCallBack callBack) {
-        HDLUdpConnect.getInstance().udpSendMsg(topic, bodyStr, true, callBack);
-    }
-
-    /**
-     * 閫氱敤TCP鍙戦�佹寚浠�
-     * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆�
-     *
-     * @param topic    鍙戦�佹暟鎹�
-     * @param body     body鍐呭
-     * @param callBack 鍥炶皟
-     */
-    public void tcpSendMsg(String topic, String body, HDLLinkCallBack callBack) {
-
-        LinkRequest request = new LinkRequest(topic, body, HDLLinkConfig.getInstance().isLocalEncrypt());
-        new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof LinkResponse) {
-                    LogUtils.i("sendMsg onSuccess");
-                    if (callBack != null) {
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack != null) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true).send();
-    }
-
-    /**
-     * 閫氱敤TCP鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
-     *
-     * @param topic 鍙戦�佹暟鎹�
-     * @param body  鍥炲鐨勪富棰�
-     */
-    public void tcpSendMsg(String topic, String body) {
-        LinkRequest request = new LinkRequest(topic, body, HDLLinkConfig.getInstance().isLocalEncrypt());
-        new HDLConnectHelper(1, HDLLinkConfig.getInstance().getIpAddress(), request, true);
-    }
-
-    /**
-     * 鍒涙柊缃戝叧鍒楄〃锛岄噸鏂拌鍙�
-     *
-     * @param homeId   浣忓畢Id
-     * @param callBack 鍥炶皟鎵�鏈夎鍙栧埌鐨勭綉鍏冲垪琛�
-     */
-    public void refreshGatewayByHome(String homeId, GatewayCallBack callBack) {
-        HDLLinkLocalGateway.getInstance().refreshGatewayByHome(homeId, callBack);
-    }
-
-    /**
-     * 鍒涙柊缃戝叧鍒楄〃锛岄噸鏂拌鍙�
-     *
-     * @param callBack 鍥炶皟鎵�鏈夎鍙栧埌鐨勭綉鍏冲垪琛�
-     */
-    public void refreshGateway(GatewayCallBack callBack) {
-        HDLLinkLocalGateway.getInstance().refreshGateway(callBack);
-    }
-
-    public void refreshGateway(GatewayCallBack callBack,List<String> spks) {
-        HDLLinkLocalGateway.getInstance().refreshGateway(callBack,spks);
-    }
-    /**
-     * 鑾峰彇褰撳墠浣忓畢缂撳瓨鐨勬墍鏈夌綉鍏筹紝涓�鑸槸璋冭瘯杞欢浣跨敤锛屼笁鏂逛笉鐢ㄨ皟璇曟鏂规硶
-     * 濡傛灉涔嬪墠杩樻病鏈夎鍙栬繃缃戝叧锛屽厛璋冪敤鏂规硶refreshGatewayByHome璇诲彇涓�娆�
-     *
-     * @return
-     */
-    public List<GatewayBean> getGatewayByHome() {
-        return HDLLinkLocalGateway.getInstance().getGatewayList();
-    }
-
-
-    /**
-     * 鑾峰彇鎴块棿鍒楄〃
-     *
-     * @param callBack
-     */
-    public void getRoomList(HDLLinkTCallBack<List<LinkRoomBean>> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-
-            String topic = String.format(TopicConstant.ROOM_LIST_GET, gatewayId);
-
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getRoomList onSuccess");
-                        Type type = new TypeToken<BaseLocalResponse<List<LinkRoomBean>>>() {
-                        }.getType();
-                        List<LinkRoomBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                        if (list == null) {
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                        } else {
-                            callBack.onSuccess(list);
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍏ㄩ噺鏇存柊鎴块棿鍒楄〃
-     *
-     * @param list
-     * @param callBack
-     */
-    public void coverAddRoomList(List<LinkRoomBean> list, HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<List<LinkRoomBean>> senData = new BaseLocalResponse<>();
-            senData.setId(IdUtils.getUUId());
-            senData.setTime_stamp(time);
-            senData.setObjects(list);
-
-            String topic = String.format(TopicConstant.ROOM_COVER_ADD, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(senData), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("coverAddRoomList onSuccess");
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍏ㄩ噺鏇存柊鎴块棿鍒楄〃
-     *
-     * @param callBack
-     */
-    public void getGatewaylist(HDLLinkCallBack callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            final BaseLocalResponse<JSONObject> senData = new BaseLocalResponse<>();
-            senData.setId(IdUtils.getUUId());
-            senData.setTime_stamp(time);
-            JSONObject jsonObject = new JSONObject();
-            jsonObject.put("device_mac", "0C811A93EA13F1F5");
-            senData.setObjects(jsonObject);
-            String topic = String.format(TopicConstant.GATEWAY_INFO, gatewayId);
-            LinkRequest request = new LinkRequest(topic, GsonConvert.getGson().toJson(senData), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        callBack.onSuccess(msg.toString());
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /**
-     * 鑾峰彇鎴块棿缁戝畾鍏崇郴
-     */
-    public void getRoomBindList(HDLLinkTCallBack<List<LinkRoomBindBean>> callBack, List<String> uidRoomList) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = HDLLinkConfig.getInstance().getGatewayId();
-
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-            JsonArray array = new JsonArray();
-            for (String uid : uidRoomList) {
-                array.add(uid);
-            }
-            jsonObject.add("objects", array);
-            String topic = String.format(TopicConstant.ROOM_BIND_LIST_GET, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getRoomBindList onSuccess");
-                        Type type = new TypeToken<BaseLocalResponse<List<LinkRoomBindBean>>>() {
-                        }.getType();
-                        List<LinkRoomBindBean> list = LinkResponseUtils.convertLinkResponse(msg, type);
-                        if (list == null) {
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                        } else {
-                            callBack.onSuccess(list);
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 璇诲彇缃戝叧缁忕含搴�
-     */
-    public void getGatewayLocation(String gatewayId, HDLLinkTCallBack<GatewayLocationBean> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-            String topic = String.format(TopicConstant.GATEWAY_LOCATION_GET, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getGatewayLocation onSuccess");
-                        Type type = new TypeToken<BaseLocalResponse<GatewayLocationBean>>() {
-                        }.getType();
-                        GatewayLocationBean list = LinkResponseUtils.convertLinkResponse(msg, type);
-                        if (list == null) {
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_PARSING_ERROR));
-                        } else {
-                            callBack.onSuccess(list);
-                        }
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 璁剧疆缃戝叧缁忕含搴�
-     */
-    public void gatewayLocation(GatewayBean bean, String longitude, String lat, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = bean.getGatewayId();
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-            JsonObject jsonObject1 = new JsonObject();
-            jsonObject1.addProperty("longitude", longitude);
-            jsonObject1.addProperty("latitude", lat);
-            jsonObject.add("objects", jsonObject1);
-            String topic = String.format(TopicConstant.GATEWAY_LOCATION_EDIT, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), HDLLinkConfig.getInstance().isLocalEncrypt());
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("getRoomBindList onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-    /**
-     * 鍒氬垰缁戝畾缃戝叧鐨勬椂鍊欒缃綉鍏崇粡绾害  涓嶉渶瑕佸姞瀵�
-     */
-    public void gatewayLocation(String mGatewayId, String longitude, String lat, boolean isEncrypt, HDLLinkTCallBack<String> callBack) {
-        if (null == callBack) {
-            return;
-        }
-        String gatewayId = mGatewayId;
-        if (!TextUtils.isEmpty(gatewayId)) {
-            String time = String.valueOf(System.currentTimeMillis());
-            JsonObject jsonObject = new JsonObject();
-            jsonObject.addProperty("id", IdUtils.getUUId());
-            jsonObject.addProperty("time_stamp", time);
-            JsonObject jsonObject1 = new JsonObject();
-            jsonObject1.addProperty("longitude", longitude);
-            jsonObject1.addProperty("latitude", lat);
-            jsonObject.add("objects", jsonObject1);
-            String topic = String.format(TopicConstant.GATEWAY_LOCATION_EDIT, gatewayId);
-            LinkRequest request = new LinkRequest(topic, jsonObject.toString(), isEncrypt);
-            new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), request, new HDLConnectHelper.HdlSocketListener() {
-                @Override
-                public void onSucceed(Object msg) {
-                    if (msg instanceof LinkResponse) {
-                        LogUtils.i("gatewayLocation onSuccess");
-                        callBack.onSuccess("Success");
-                    }
-                }
-
-                @Override
-                public void onFailure(HDLLinkCode hdlLinkCode) {
-                    //HDLExceptionSubmitUtils.submit(topic, request, HDLLinkCopyException.getErrorWithCode(hdlLinkCode.getCode(), hdlLinkCode.getMsg()));
-                    if (callBack != null) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                    }
-                }
-            }, true).send();
-        } else {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-        }
-    }
-
-
-    /*********************** 鏂囦欢浼犺緭 ****************************/
-    /**
-     * 鏂囦欢鐢ㄩ�旈�氱煡
-     *
-     * @param fileId   鏂囦欢Id
-     * @param fileName 鏂囦欢鍚嶇О
-     * @param purpose  鐢ㄩ�� 鐢ㄩ�旀灇涓�
-     *                 zigbee璁惧閰嶇疆鎭㈠锛� ConfigRecoveryForZigbeeDevices
-     *                 鏁版嵁澶囦唤锛欴ataBackup
-     *                 鏁版嵁鎭㈠锛欴ataRecovery
-     * @param callBack
-     */
-    public void sendFileUserNotification(String fileId, String fileName, String purpose, HDLLinkCallBack callBack) {
-        //甯ф牸寮忥細head+鍛戒护瀛�+鏁版嵁闀垮害+浜岃繘鍒舵暟鎹�
-        String time = String.valueOf(System.currentTimeMillis());
-        String data = "hex" + "0001" + fileId + "\r\n" + fileName + "\r\n" + purpose;
-        byte[] dataBytes = data.getBytes(StandardCharsets.UTF_8);
-        FileRequest linkRequest = new FileRequest(fileId, 0x0011, dataBytes, HDLLinkConfig.getInstance().isLocalEncrypt());
-        linkRequest.setReplyTopic(linkRequest.getAckTopic());
-        new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), linkRequest, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-
-            }
-        }, true).send();
-    }
-
-    /**
-     * 鍙戦�佹枃浠剁浉鍏冲懡浠�
-     */
-    public void sendFileCommand(byte[] dataBytes, Integer command, HDLLinkCallBack callBack) {
-        //甯ф牸寮忥細head+鍛戒护瀛�+鏁版嵁闀垮害+浜岃繘鍒舵暟鎹�
-        String time = String.valueOf(System.currentTimeMillis());
-//        byte []dataBytes=data.getBytes(StandardCharsets.UTF_8);
-        FileRequest linkRequest = new FileRequest("65531", command, dataBytes, HDLLinkConfig.getInstance().isLocalEncrypt());
-        linkRequest.setReplyTopic(linkRequest.getAckTopic());
-        linkRequest.setCloudTopic(String.format(TopicConstant.NATIVE_LINK_DOWN, HDLLinkConfig.getInstance().getGatewayId()));
-        new HDLConnectHelper(HDLLinkConfig.getInstance().getIpAddress(), linkRequest, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-
-            }
-        }, true).send();
-    }
-
-
-    /********************************椹卞姩鍗囩骇***********************************/
-    /**
-     * 鍙戦�佹枃浠剁浉鍏冲懡浠�
-     */
-    public void sendFileCommand(String ipAddress, byte[] dataBytes, String fileId, Integer command, HDLLinkCallBack callBack) {
-        //甯ф牸寮忥細head+鍛戒护瀛�+鏁版嵁闀垮害+浜岃繘鍒舵暟鎹�
-        FileRequest linkRequest = new FileRequest(fileId, command, dataBytes, HDLLinkConfig.getInstance().isLocalEncrypt());
-        linkRequest.setReplyTopic(linkRequest.getAckTopic());
-        new HDLConnectHelper(ipAddress, linkRequest, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-
-            }
-        }, true).send();
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/GatewayLocationBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/GatewayLocationBean.java
deleted file mode 100644
index 3e0d993..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/GatewayLocationBean.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/5/18
- * description:
- */
-public class GatewayLocationBean implements Serializable {
-    private String longitude;
-    private String latitude;
-
-    public String getLongitude() {
-        return longitude == null ? "" : longitude;
-    }
-
-    public void setLongitude(@NonNull String longitude) {
-        this.longitude = longitude;
-    }
-
-    public String getLatitude() {
-        return latitude == null ? "" : latitude;
-    }
-
-    public void setLatitude(@NonNull String latitude) {
-        this.latitude = latitude;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkAttributesBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkAttributesBean.java
deleted file mode 100644
index f233869..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkAttributesBean.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import androidx.annotation.NonNull;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by jlchen on 1/13/22.
- *
- */
-public class LinkAttributesBean implements Serializable {
-
-    private String key;
-    private String data_type;
-    private List<String> value = new ArrayList<>();
-    private String max;
-    private String min;
-
-
-    public List<String> getValue() {
-        if (value == null) {
-            return new ArrayList<>();
-        }
-        return value;
-    }
-
-    public void setValue(@NonNull List<String> value) {
-        this.value = value;
-    }
-
-    public String getMax() {
-        return max == null ? "" : max;
-    }
-
-    public void setMax(String max) {
-        this.max = max;
-    }
-
-    public String getMin() {
-        return min == null ? "" : min;
-    }
-
-    public void setMin(String min) {
-        this.min = min;
-    }
-
-    @NonNull
-    public String getKey() {
-        return key == null ? "" : key;
-    }
-
-    public void setKey(@NonNull String key) {
-        this.key = key;
-    }
-
-    @NonNull
-    public String getData_type() {
-        return data_type == null ? "" : data_type;
-    }
-
-    public void setData_type(@NonNull String data_type) {
-        this.data_type = data_type;
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicBean.java
deleted file mode 100644
index 204248f..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicBean.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/16
- * description:
- */
-public class LinkCreateLogicBean implements Serializable {
-    private String sid;
-    private String name;
-    private String relation;
-    private String enable;
-    //enable甯冮槻銆乨isable鎾掗槻
-    private String status;
-    //"all"--鍏ㄥ畢甯冮槻锛�"normal"--鏅�氭ā寮�,"all_day":24灏忔椂,"mute"锛氶潤闊�
-    private String type;
-    private String gatewayId;
-    private LinkCreateLogicCycleBean cycle = new LinkCreateLogicCycleBean();
-    private List<LinkCreateLogicInputBean> input = new ArrayList<>();
-    private List<LinkCreateLogicOutputBean> output = new ArrayList<>();
-    private NoticeConfigInfo noticeConfig = new NoticeConfigInfo();
-
-    public NoticeConfigInfo getNoticeConfig() {
-        return noticeConfig;
-    }
-
-    public void setNoticeConfig(@NonNull NoticeConfigInfo noticeConfig) {
-        this.noticeConfig = noticeConfig;
-    }
-
-    public String getGateWayId() {
-        return gatewayId == null ? "" : gatewayId;
-    }
-
-    public void setGateWayId(@NonNull String gateWayId) {
-        this.gatewayId = gateWayId;
-    }
-
-    public String getStatus() {
-        return status == null ? "" : status;
-    }
-
-    public void setStatus(@NonNull String status) {
-        this.status = status;
-    }
-
-    public String getType() {
-        return type == null ? "" : type;
-    }
-
-    public void setType(@NonNull String type) {
-        this.type = type;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public String getRelation() {
-        return relation == null ? "" : relation;
-    }
-
-    public void setRelation(@NonNull String relation) {
-        this.relation = relation;
-    }
-
-    public String getEnable() {
-        return enable == null ? "" : enable;
-    }
-
-    public void setEnable(@NonNull String enable) {
-        this.enable = enable;
-    }
-
-    public LinkCreateLogicCycleBean getCycle() {
-        return cycle;
-    }
-
-    public void setCycle(@NonNull LinkCreateLogicCycleBean cycle) {
-        this.cycle = cycle;
-    }
-
-    public List<LinkCreateLogicInputBean> getInput() {
-        if (input == null) {
-            return new ArrayList<>();
-        }
-        return input;
-    }
-
-    public void setInput(@NonNull List<LinkCreateLogicInputBean> input) {
-        this.input = input;
-    }
-
-    public List<LinkCreateLogicOutputBean> getOutput() {
-        if (output == null) {
-            return new ArrayList<>();
-        }
-        return output;
-    }
-
-    public void setOutput(@NonNull List<LinkCreateLogicOutputBean> output) {
-        this.output = output;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicCycleBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicCycleBean.java
deleted file mode 100644
index 869f035..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicCycleBean.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/16
- * description:
- */
-public class LinkCreateLogicCycleBean implements Serializable {
-    private String type;
-    private String desc;
-    private List<String> value = new ArrayList<>();
-
-    public String getType() {
-        return type == null ? "" : type;
-    }
-
-    public void setType(@NonNull String type) {
-        this.type = type;
-    }
-
-    public String getDesc() {
-        return desc == null ? "" : desc;
-    }
-
-    public void setDesc(@NonNull String desc) {
-        this.desc = desc;
-    }
-
-    public List<String> getValue() {
-        if (value == null) {
-            return new ArrayList<>();
-        }
-        return value;
-    }
-
-    public void setValue(@NonNull List<String> value) {
-        this.value = value;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicInputBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicInputBean.java
deleted file mode 100644
index 2440999..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicInputBean.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/16
- * description:
- */
-public class LinkCreateLogicInputBean implements Serializable {
-    private String sid;
-    /**
-     * 鏃堕棿鐐规潯浠�  1
-     * 鏃堕棿娈垫潯浠�	2
-     * 璁惧鐘舵�佸彉鍖栨潯浠�	3
-     * 鐜淇℃伅	4
-     * 瀹夐槻鏉′欢	5 涓嶅仛
-     * 浜戠澶╂皵鏉′欢	6
-     * 鏌愪釜閫昏緫/鍦烘櫙鐨勮緭鍑烘潯浠�	7
-     * 鍦扮悊鍥存爮	8 涓嶅仛
-     */
-    private String condition_type;
-    /**
-     * 娌℃湁璇ュ瓧娈点�佽鍊兼垨0: 鐘舵�佹娴�(姣忔鏀跺埌鐘舵�佸氨鎴愮珛)
-     * 1:鍔ㄤ綔妫�娴�(闇�瑕佸垏鎹㈢姸鎬佹墠鎴愮珛)
-     */
-    private String detect_type;
-    private String identifier;
-    //true:涓存椂bypass涓�乫alse:鍚敤涓�  鏄惁杩囨护
-    private String bypass;
-    private List<LinkCreateLogicInputConditionBean> condition = new ArrayList<>();
-    private String statusDesc;
-    private String src;
-    private String omodel;
-    private String choose;
-    private String oid;
-    private String spk;
-    private String delay;
-    private String name;
-    private String online;
-    private LinkCreateSceneImageBean sceneImage = new LinkCreateSceneImageBean();
-    private List<LinkCreateSceneFunctionStatusBean> status = new ArrayList<>();
-    private LinkCreateSceneFunctionControlAttrsBean controlAttrs;
-    private List<LinkCreateSceneFunctionattributesBean> attributes = new ArrayList<>();
-
-    public String getIdentifier() {
-        return identifier == null ? "" : identifier;
-    }
-
-    public void setIdentifier(@NonNull String identifier) {
-        this.identifier = identifier;
-    }
-
-    public String getDetect_type() {
-        return detect_type == null ? "" : detect_type;
-    }
-
-    public void setDetect_type(@NonNull String detect_type) {
-        this.detect_type = detect_type;
-    }
-
-    public String getBypass() {
-        return bypass == null ? "" : bypass;
-    }
-
-    public void setBypass(@NonNull String bypass) {
-        this.bypass = bypass;
-    }
-
-    public String getStatusDesc() {
-        return statusDesc == null ? "" : statusDesc;
-    }
-
-    public void setStatusDesc(@NonNull String statusDesc) {
-        this.statusDesc = statusDesc;
-    }
-
-    public String getSrc() {
-        return src == null ? "" : src;
-    }
-
-    public void setSrc(@NonNull String src) {
-        this.src = src;
-    }
-
-    public String getOmodel() {
-        return omodel == null ? "" : omodel;
-    }
-
-    public void setOmodel(@NonNull String omodel) {
-        this.omodel = omodel;
-    }
-
-    public String getChoose() {
-        return choose == null ? "" : choose;
-    }
-
-    public void setChoose(@NonNull String choose) {
-        this.choose = choose;
-    }
-
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    public String getDelay() {
-        return delay == null ? "" : delay;
-    }
-
-    public void setDelay(@NonNull String delay) {
-        this.delay = delay;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public String getOnline() {
-        return online == null ? "" : online;
-    }
-
-    public void setOnline(@NonNull String online) {
-        this.online = online;
-    }
-
-    public LinkCreateSceneImageBean getSceneImage() {
-        if (sceneImage == null) {
-            sceneImage = new LinkCreateSceneImageBean("0", "https://hdl-hz-prod.oss-cn-hangzhou.aliyuncs.com/material/appdebug/scene0.png", "/static/images/scene/scene0.png");
-        }
-        return sceneImage;
-    }
-
-    public void setSceneImage(@NonNull LinkCreateSceneImageBean sceneImage) {
-        this.sceneImage = sceneImage;
-    }
-
-    public List<LinkCreateSceneFunctionStatusBean> getStatus() {
-        if (status == null) {
-            return new ArrayList<>();
-        }
-        return status;
-    }
-
-    public void setStatus(@NonNull List<LinkCreateSceneFunctionStatusBean> status) {
-        this.status = status;
-    }
-
-    public LinkCreateSceneFunctionControlAttrsBean getControlAttrs() {
-        return controlAttrs;
-    }
-
-    public void setControlAttrs(@NonNull LinkCreateSceneFunctionControlAttrsBean controlAttrs) {
-        this.controlAttrs = controlAttrs;
-    }
-
-    public List<LinkCreateSceneFunctionattributesBean> getAttributes() {
-        if (attributes == null) {
-            return new ArrayList<>();
-        }
-        return attributes;
-    }
-
-    public void setAttributes(@NonNull List<LinkCreateSceneFunctionattributesBean> attributes) {
-        this.attributes = attributes;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getCondition_type() {
-        return condition_type == null ? "" : condition_type;
-    }
-
-    public void setCondition_type(@NonNull String condition_type) {
-        this.condition_type = condition_type;
-    }
-
-    public List<LinkCreateLogicInputConditionBean> getCondition() {
-        if (condition == null) {
-            return new ArrayList<>();
-        }
-        return condition;
-    }
-
-    public void setCondition(@NonNull List<LinkCreateLogicInputConditionBean> condition) {
-        this.condition = condition;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicInputConditionBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicInputConditionBean.java
deleted file mode 100644
index 800a6f2..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicInputConditionBean.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/16
- * description:
- */
-public class LinkCreateLogicInputConditionBean implements Serializable {
-    private String key;
-    private String comparator;
-    private String data_type;
-    private String value;
-
-    public String getKey() {
-        return key == null ? "" : key;
-    }
-
-    public void setKey(@NonNull String key) {
-        this.key = key;
-    }
-
-    public String getComparator() {
-        return comparator == null ? "" : comparator;
-    }
-
-    public void setComparator(@NonNull String comparator) {
-        this.comparator = comparator;
-    }
-
-    public String getData_type() {
-        return data_type == null ? "" : data_type;
-    }
-
-    public void setData_type(@NonNull String data_type) {
-        this.data_type = data_type;
-    }
-
-    public String getValue() {
-        return value == null ? "" : value;
-    }
-
-    public void setValue(@NonNull String value) {
-        this.value = value;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicOutputBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicOutputBean.java
deleted file mode 100644
index e2010e6..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicOutputBean.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/16
- * description:
- */
-public class LinkCreateLogicOutputBean implements Serializable {
-    /**
-     * 璁惧=1
-     * 鍦烘櫙=2
-     * 瀹夐槻=3
-     */
-    private String target_type;
-    private String delay;
-    private String sid;
-    private String name;
-    private List<LinkCreateLogicOutputStatusBean> status = new ArrayList<>();
-    //鍦烘櫙
-    private List<LinkCreateSceneBean> detailInfo = new ArrayList<>();
-
-    //璁惧
-    private String statusDesc;
-    private String src;
-    private String omodel;
-    private String choose;
-    private String oid;
-    private String spk;
-    private String online;
-    private String identifier;
-    private LinkCreateSceneImageBean sceneImage;
-    private LinkCreateSceneFunctionControlAttrsBean controlAttrs;
-    private List<LinkCreateSceneFunctionattributesBean> attributes = new ArrayList<>();
-
-    public String getIdentifier() {
-        return identifier == null ? "" : identifier;
-    }
-
-    public void setIdentifier(@NonNull String identifier) {
-        this.identifier = identifier;
-    }
-
-    public String getStatusDesc() {
-        return statusDesc == null ? "" : statusDesc;
-    }
-
-    public void setStatusDesc(@NonNull String statusDesc) {
-        this.statusDesc = statusDesc;
-    }
-
-    public String getSrc() {
-        return src == null ? "" : src;
-    }
-
-    public void setSrc(@NonNull String src) {
-        this.src = src;
-    }
-
-    public String getOmodel() {
-        return omodel == null ? "" : omodel;
-    }
-
-    public void setOmodel(@NonNull String omodel) {
-        this.omodel = omodel;
-    }
-
-    public String getChoose() {
-        return choose == null ? "" : choose;
-    }
-
-    public void setChoose(@NonNull String choose) {
-        this.choose = choose;
-    }
-
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    public String getOnline() {
-        return online == null ? "" : online;
-    }
-
-    public void setOnline(@NonNull String online) {
-        this.online = online;
-    }
-
-    public LinkCreateSceneImageBean getSceneImage() {
-        if (sceneImage == null) {
-            sceneImage = new LinkCreateSceneImageBean("0", "https://hdl-hz-prod.oss-cn-hangzhou.aliyuncs.com/material/appdebug/scene0.png", "/static/images/scene/scene0.png");
-        }
-        return sceneImage;
-    }
-
-    public void setSceneImage(@NonNull LinkCreateSceneImageBean sceneImage) {
-        this.sceneImage = sceneImage;
-    }
-
-    public LinkCreateSceneFunctionControlAttrsBean getControlAttrs() {
-        return controlAttrs;
-    }
-
-    public void setControlAttrs(@NonNull LinkCreateSceneFunctionControlAttrsBean controlAttrs) {
-        this.controlAttrs = controlAttrs;
-    }
-
-    public List<LinkCreateSceneFunctionattributesBean> getAttributes() {
-        if (attributes == null) {
-            return new ArrayList<>();
-        }
-        return attributes;
-    }
-
-    public void setAttributes(@NonNull List<LinkCreateSceneFunctionattributesBean> attributes) {
-        this.attributes = attributes;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public List<LinkCreateSceneBean> getDetailInfo() {
-        if (detailInfo == null) {
-            return new ArrayList<>();
-        }
-        return detailInfo;
-    }
-
-    public void setDetailInfo(@NonNull List<LinkCreateSceneBean> detailInfo) {
-        this.detailInfo = detailInfo;
-    }
-
-    public String getTarget_type() {
-        return target_type == null ? "" : target_type;
-    }
-
-    public void setTarget_type(@NonNull String target_type) {
-        this.target_type = target_type;
-    }
-
-    public String getDelay() {
-        return delay == null ? "" : delay;
-    }
-
-    public void setDelay(@NonNull String delay) {
-        this.delay = delay;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public List<LinkCreateLogicOutputStatusBean> getStatus() {
-        if (status == null) {
-            return new ArrayList<>();
-        }
-        return status;
-    }
-
-    public void setStatus(@NonNull List<LinkCreateLogicOutputStatusBean> status) {
-        this.status = status;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicOutputStatusBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicOutputStatusBean.java
deleted file mode 100644
index eff3608..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateLogicOutputStatusBean.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/16
- * description:
- */
-public class LinkCreateLogicOutputStatusBean implements Serializable {
-    //鈿狅笍 杩欒竟闇�瑕佹坊鍔犲叾浠栧瓧娈�  鍥犱负鍗曠函杩欎簺涓嶅鐢�
-    private String value;
-    private String key;
-    private String attrName;
-    private String desc;
-
-    public String getAttrName() {
-        return attrName == null ? "" : attrName;
-    }
-
-    public void setAttrName(@NonNull String attrName) {
-        this.attrName = attrName;
-    }
-
-    public String getDesc() {
-        return desc == null ? "" : desc;
-    }
-
-    public void setDesc(@NonNull String desc) {
-        this.desc = desc;
-    }
-
-    public String getKey() {
-        return key == null ? "" : key;
-    }
-
-    public void setKey(@NonNull String key) {
-        this.key = key;
-    }
-
-    public String getValue() {
-        return value == null ? "" : value;
-    }
-
-    public void setValue(@NonNull String value) {
-        this.value = value;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneBean.java
deleted file mode 100644
index 91f4f18..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneBean.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneBean implements Serializable {
-    private String delay;
-    private String name;
-    private String sid;
-    private String group;
-    private String can_delete;
-    private String can_edit;
-    private String gatewayId;
-    private String image;
-    private String from; //鏉ユ簮锛屾柟渚跨綉鍏宠瘑鍒�
-    private String local;
-    private List<LinkCreateSceneImageToCloudBean> imageBeans = new ArrayList<>();
-    private List<String> uids = new ArrayList<>();
-    private List<LinkCreateSceneFunctionBean> functions = new ArrayList<>();
-
-    public String getCan_edit() {
-        return can_edit == null ? "" : can_edit;
-    }
-
-    public void setCan_edit(@NonNull String can_edit) {
-        this.can_edit = can_edit;
-    }
-
-    public String getLocal() {
-        return local == null ? "" : local;
-    }
-
-    public void setLocal(@NonNull String local) {
-        this.local = local;
-    }
-
-    public String getFrom() {
-        return from == null ? "" : from;
-    }
-
-    public void setFrom(@NonNull String from) {
-        this.from = from;
-    }
-
-    public String getGatewayId() {
-        return gatewayId == null ? "" : gatewayId;
-    }
-
-    public void setGatewayId(@NonNull String gatewayId) {
-        this.gatewayId = gatewayId;
-    }
-
-    public String getImage() {
-        return image == null ? "" : image;
-    }
-
-    public void setImage(@NonNull String image) {
-        this.image = image;
-    }
-
-    public String getGroup() {
-        return group == null ? "" : group;
-    }
-
-    public void setGroup(@NonNull String group) {
-        this.group = group;
-    }
-
-    public List<LinkCreateSceneImageToCloudBean> getImageBeans() {
-        if (imageBeans == null) {
-            return imageBeans = new ArrayList<>();
-        }
-        return imageBeans;
-    }
-
-    public void setImageBeans(@NonNull List<LinkCreateSceneImageToCloudBean> imageBeans) {
-        this.imageBeans = imageBeans;
-    }
-
-    public String getGateWayId() {
-        return gatewayId == null ? "" : gatewayId;
-    }
-
-    public void setGateWayId(@NonNull String gateWayId) {
-        this.gatewayId = gateWayId;
-    }
-
-    public String getCan_delete() {
-        return can_delete == null ? "" : can_delete;
-    }
-
-    public void setCan_delete(@NonNull String can_delete) {
-        this.can_delete = can_delete;
-    }
-
-    public String getDelay() {
-        return delay == null ? "" : delay;
-    }
-
-    public void setDelay(@NonNull String delay) {
-        this.delay = delay;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public List<String> getUids() {
-        if (uids == null) {
-            return new ArrayList<>();
-        }
-        return uids;
-    }
-
-    public void setUids(@NonNull List<String> uids) {
-        this.uids = uids;
-    }
-
-    public List<LinkCreateSceneFunctionBean> getFunctions() {
-        if (functions == null) {
-            return new ArrayList<>();
-        }
-        return functions;
-    }
-
-    public void setFunctions(@NonNull List<LinkCreateSceneFunctionBean> functions) {
-        this.functions = functions;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionBean.java
deleted file mode 100644
index a93a83c..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionBean.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneFunctionBean implements Serializable {
-    private String statusDesc;
-    private String src;
-    private String omodel;
-    private String choose;
-    private String oid;
-    private String sid;
-    private String spk;
-    private String delay;
-    private String name;
-    private String online;
-    private String type;
-    private String identifier;
-    private LinkCreateSceneImageBean sceneImage = new LinkCreateSceneImageBean();
-    private List<LinkCreateSceneFunctionStatusBean> status = new ArrayList<>();
-    private LinkCreateSceneFunctionControlAttrsBean controlAttrs = new LinkCreateSceneFunctionControlAttrsBean();
-    private List<LinkCreateSceneFunctionattributesBean> attributes = new ArrayList<>();
-
-    public String getIdentifier() {
-        return identifier == null ? "" : identifier;
-    }
-
-    public void setIdentifier(@NonNull String identifier) {
-        this.identifier = identifier;
-    }
-
-    public LinkCreateSceneImageBean getSceneImage() {
-        if (sceneImage == null) {
-            sceneImage = new LinkCreateSceneImageBean("0", "https://hdl-hz-prod.oss-cn-hangzhou.aliyuncs.com/material/appdebug/scene0.png", "/static/images/scene/scene0.png");
-        }
-        return sceneImage;
-    }
-
-    public String getType() {
-        return type == null ? "" : type;
-    }
-
-    public void setType(@NonNull String type) {
-        this.type = type;
-    }
-
-    public void setSceneImage(@NonNull LinkCreateSceneImageBean sceneImage) {
-        this.sceneImage = sceneImage;
-    }
-
-    public String getStatusDesc() {
-        return statusDesc == null ? "" : statusDesc;
-    }
-
-    public void setStatusDesc(@NonNull String statusDesc) {
-        this.statusDesc = statusDesc;
-    }
-
-    public String getSrc() {
-        return src == null ? "" : src;
-    }
-
-    public void setSrc(@NonNull String src) {
-        this.src = src;
-    }
-
-    public String getOmodel() {
-        return omodel == null ? "" : omodel;
-    }
-
-    public void setOmodel(@NonNull String omodel) {
-        this.omodel = omodel;
-    }
-
-    public String getChoose() {
-        return choose == null ? "" : choose;
-    }
-
-    public void setChoose(@NonNull String choose) {
-        this.choose = choose;
-    }
-
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    public String getDelay() {
-        return delay == null ? "" : delay;
-    }
-
-    public void setDelay(@NonNull String delay) {
-        this.delay = delay;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public String getOnline() {
-        return online == null ? "" : online;
-    }
-
-    public void setOnline(@NonNull String online) {
-        this.online = online;
-    }
-
-    public List<LinkCreateSceneFunctionStatusBean> getStatus() {
-        if (status == null) {
-            return new ArrayList<>();
-        }
-        return status;
-    }
-
-    public void setStatus(@NonNull List<LinkCreateSceneFunctionStatusBean> status) {
-        this.status = status;
-    }
-
-    public LinkCreateSceneFunctionControlAttrsBean getControlAttrs() {
-        return controlAttrs;
-    }
-
-    public void setControlAttrs(@NonNull LinkCreateSceneFunctionControlAttrsBean controlAttrs) {
-        this.controlAttrs = controlAttrs;
-    }
-
-    public List<LinkCreateSceneFunctionattributesBean> getAttributes() {
-        if (attributes == null) {
-            return new ArrayList<>();
-        }
-        return attributes;
-    }
-
-    public void setAttributes(@NonNull List<LinkCreateSceneFunctionattributesBean> attributes) {
-        this.attributes = attributes;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionControlAttrsBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionControlAttrsBean.java
deleted file mode 100644
index b57338c..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionControlAttrsBean.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneFunctionControlAttrsBean implements Serializable {
-    private String delay1;
-    private String sid;
-    private List<LinkCreateSceneFunctionStatusBean> status = new ArrayList<>();
-
-    public String getDelay1() {
-        return delay1 == null ? "" : delay1;
-    }
-
-    public void setDelay1(@NonNull String delay1) {
-        this.delay1 = delay1;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public List<LinkCreateSceneFunctionStatusBean> getStatus() {
-        if (status == null) {
-            return new ArrayList<>();
-        }
-        return status;
-    }
-
-    public void setStatus(@NonNull List<LinkCreateSceneFunctionStatusBean> status) {
-        this.status = status;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionStatusBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionStatusBean.java
deleted file mode 100644
index 0e10c49..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionStatusBean.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneFunctionStatusBean implements Serializable {
-    private String value;
-    private String key;
-    private String attrName;
-    private String desc;
-    private String comparator;
-
-    public String getComparator() {
-        return comparator == null ? "" : comparator;
-    }
-
-    public void setComparator(@NonNull String comparator) {
-        this.comparator = comparator;
-    }
-
-    public String getValue() {
-        return value == null ? "" : value;
-    }
-
-    public void setValue(@NonNull String value) {
-        this.value = value;
-    }
-
-    public String getKey() {
-        return key == null ? "" : key;
-    }
-
-    public void setKey(@NonNull String key) {
-        this.key = key;
-    }
-
-    public String getAttrName() {
-        return attrName == null ? "" : attrName;
-    }
-
-    public void setAttrName(@NonNull String attrName) {
-        this.attrName = attrName;
-    }
-
-    public String getDesc() {
-        return desc == null ? "" : desc;
-    }
-
-    public void setDesc(@NonNull String desc) {
-        this.desc = desc;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionattributesBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionattributesBean.java
deleted file mode 100644
index f4f46c1..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionattributesBean.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneFunctionattributesBean implements Serializable {
-    private String data_type;
-    private String accessMode;
-    private String key;
-    private String desc;
-    private String maxValue;
-    private String minValue;
-    private String unit;
-    private List<String> value = new ArrayList<>();
-    private List<LinkCreateSceneFunctionattributesEnumerationsBean> enumerations = new ArrayList<>();
-
-    public String getData_type() {
-        return data_type == null ? "" : data_type;
-    }
-
-    public void setData_type(@NonNull String data_type) {
-        this.data_type = data_type;
-    }
-
-    public String getAccessMode() {
-        return accessMode == null ? "" : accessMode;
-    }
-
-    public void setAccessMode(@NonNull String accessMode) {
-        this.accessMode = accessMode;
-    }
-
-    public String getKey() {
-        return key == null ? "" : key;
-    }
-
-    public void setKey(@NonNull String key) {
-        this.key = key;
-    }
-
-    public String getDesc() {
-        return desc == null ? "" : desc;
-    }
-
-    public void setDesc(@NonNull String desc) {
-        this.desc = desc;
-    }
-
-    public String getMaxValue() {
-        return maxValue == null ? "" : maxValue;
-    }
-
-    public void setMaxValue(@NonNull String maxValue) {
-        this.maxValue = maxValue;
-    }
-
-    public String getMinValue() {
-        return minValue == null ? "" : minValue;
-    }
-
-    public void setMinValue(@NonNull String minValue) {
-        this.minValue = minValue;
-    }
-
-    public String getUnit() {
-        return unit == null ? "" : unit;
-    }
-
-    public void setUnit(@NonNull String unit) {
-        this.unit = unit;
-    }
-
-    public List<String> getValue() {
-        if (value == null) {
-            return new ArrayList<>();
-        }
-        return value;
-    }
-
-    public void setValue(@NonNull List<String> value) {
-        this.value = value;
-    }
-
-    public List<LinkCreateSceneFunctionattributesEnumerationsBean> getEnumerations() {
-        if (enumerations == null) {
-            return new ArrayList<>();
-        }
-        return enumerations;
-    }
-
-    public void setEnumerations(@NonNull List<LinkCreateSceneFunctionattributesEnumerationsBean> enumerations) {
-        this.enumerations = enumerations;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionattributesEnumerationsBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionattributesEnumerationsBean.java
deleted file mode 100644
index f73d61c..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneFunctionattributesEnumerationsBean.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneFunctionattributesEnumerationsBean implements Serializable {
-    private String value;
-    private String desc;
-
-    public String getValue() {
-        return value == null ? "" : value;
-    }
-
-    public void setValue(@NonNull String value) {
-        this.value = value;
-    }
-
-    public String getDesc() {
-        return desc == null ? "" : desc;
-    }
-
-    public void setDesc(@NonNull String desc) {
-        this.desc = desc;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneImageBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneImageBean.java
deleted file mode 100644
index 8df6d7b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneImageBean.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneImageBean implements Serializable {
-    private String id;
-    private String url;
-    private String local;
-
-    public LinkCreateSceneImageBean(String id, String url, String local) {
-        this.id = id;
-        this.url = url;
-        this.local = local;
-    }
-
-    public LinkCreateSceneImageBean() {
-    }
-
-    public String getId() {
-        return id == null ? "" : id;
-    }
-
-    public void setId(@NonNull String id) {
-        this.id = id;
-    }
-
-    public String getUrl() {
-        return url == null ? "" : url;
-    }
-
-    public void setUrl(@NonNull String url) {
-        this.url = url;
-    }
-
-    public String getLocal() {
-        return local == null ? "" : local;
-    }
-
-    public void setLocal(@NonNull String local) {
-        this.local = local;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneImageToCloudBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneImageToCloudBean.java
deleted file mode 100644
index 09e64db..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkCreateSceneImageToCloudBean.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/23
- * description:
- */
-public class LinkCreateSceneImageToCloudBean implements Serializable {
-    private String imageId;
-    private String cloudUrl;
-    private String localUrl;
-
-    public String getImageId() {
-        return imageId == null ? "" : imageId;
-    }
-
-    public void setImageId(@NonNull String imageId) {
-        this.imageId = imageId;
-    }
-
-    public String getCloudUrl() {
-        return cloudUrl == null ? "" : cloudUrl;
-    }
-
-    public void setCloudUrl(@NonNull String cloudUrl) {
-        this.cloudUrl = cloudUrl;
-    }
-
-    public String getLocalUrl() {
-        return localUrl == null ? "" : localUrl;
-    }
-
-    public void setLocalUrl(@NonNull String localUrl) {
-        this.localUrl = localUrl;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkEnableLogicBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkEnableLogicBean.java
deleted file mode 100644
index cfb835e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkEnableLogicBean.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/21
- * description:
- */
-public class LinkEnableLogicBean implements Serializable {
-    private String sid;
-    private String enable;
-
-    public LinkEnableLogicBean(String sid, String enable) {
-        this.sid = sid;
-        this.enable = enable;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getEnable() {
-        return enable == null ? "" : enable;
-    }
-
-    public void setEnable(@NonNull String enable) {
-        this.enable = enable;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkEnableSecurityBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkEnableSecurityBean.java
deleted file mode 100644
index 3558569..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkEnableSecurityBean.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/21
- * description:
- */
-public class LinkEnableSecurityBean implements Serializable {
-    private String sid;
-    private String status;
-    private String alarm;
-
-    public LinkEnableSecurityBean(String sid, String status) {
-        this.sid = sid;
-        this.status = status;
-    }
-
-    public LinkEnableSecurityBean(String sid, String status, String alarm) {
-        this.sid = sid;
-        this.status = status;
-        this.alarm = alarm;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getStatus() {
-        return status == null ? "" : status;
-    }
-
-    public void setStatus(@NonNull String status) {
-        this.status = status;
-    }
-
-    public String getAlarm() {
-        return alarm == null ? "" : alarm;
-    }
-
-    public void setAlarm(@NonNull String alarm) {
-        this.alarm = alarm;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkFunctionBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkFunctionBean.java
deleted file mode 100644
index e7a86c8..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkFunctionBean.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import androidx.annotation.NonNull;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by jlchen on 1/6/22.
- */
-public class LinkFunctionBean implements Serializable {
-    private String sid;//鍔熻兘鐨剆id
-    private String oid;//妯″潡鐨刼id
-    private String name;//鍔熻兘鍥炶矾鍚嶅瓧
-    private String spk;//spk
-    private String omodel;
-    private String src;
-    private String online;
-    private List<LinkAttributesBean> attributes = new ArrayList<>();//鍔熻兘灞炴�э紝闇�瑕佸崟鐙彂閫佸姛鑳藉睘鎬ц鍙栫殑鎸囦护璇诲洖鏉�
-    private List<LinkStatusBean> status = new ArrayList<>();//褰撳墠璁惧鐘舵�佸�硷紝璁惧鎺у埗鐨勬椂鍊欐墠鐢ㄥ埌
-
-    private boolean templateFlag = false;//妯℃澘鏍囪
-
-    /**
-     * 1:灞曠ず 2:涓嶅睍绀�
-     */
-    private String show;
-
-    public String getShow() {
-        return show == null ? "1" : show;
-    }
-
-    public void setShow(@NonNull String show) {
-        this.show = show;
-    }
-
-
-    public boolean isTemplateFlag() {
-        return templateFlag;
-    }
-
-    public void setTemplateFlag(boolean templateFlag) {
-        this.templateFlag = templateFlag;
-    }
-
-
-    @NonNull
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    @NonNull
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    @NonNull
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    @NonNull
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    @NonNull
-    public String getOmodel() {
-        return omodel == null ? "" : omodel;
-    }
-
-    public void setOmodel(@NonNull String omodel) {
-        this.omodel = omodel;
-    }
-
-    @NonNull
-    public String getSrc() {
-        return src == null ? "" : src;
-    }
-
-    public void setSrc(@NonNull String src) {
-        this.src = src;
-    }
-
-    @NonNull
-    public String getOnline() {
-        return online == null ? "" : online;
-    }
-
-    public void setOnline(@NonNull String online) {
-        this.online = online;
-    }
-
-    @NonNull
-    public List<LinkStatusBean> getStatus() {
-        if (status == null) {
-            return new ArrayList<>();
-        }
-        return status;
-    }
-
-    public void setStatus(@NonNull List<LinkStatusBean> status) {
-        this.status = status;
-    }
-
-    @NonNull
-    public List<LinkAttributesBean> getAttributes() {
-        if (attributes == null) {
-            return new ArrayList<>();
-        }
-        return attributes;
-    }
-
-    public void setAttributes(@NonNull List<LinkAttributesBean> attributes) {
-        this.attributes = attributes;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkFunctionWithRoomBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkFunctionWithRoomBean.java
deleted file mode 100644
index dfb6b22..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkFunctionWithRoomBean.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by jlchen on 1/6/22.
- */
-public class LinkFunctionWithRoomBean implements Serializable {
-    private String sid;//鍔熻兘鐨剆id
-    private String oid;//妯″潡鐨刼id
-    private String name;//鍔熻兘鍥炶矾鍚嶅瓧
-    private String spk;//spk
-    private String omodel;
-    private String src;
-    private String online;
-    private String roomName;
-    private List<LinkAttributesBean> attributes = new ArrayList<>();//鍔熻兘灞炴�э紝闇�瑕佸崟鐙彂閫佸姛鑳藉睘鎬ц鍙栫殑鎸囦护璇诲洖鏉�
-    private List<LinkStatusBean> status = new ArrayList<>();//褰撳墠璁惧鐘舵�佸�硷紝璁惧鎺у埗鐨勬椂鍊欐墠鐢ㄥ埌
-
-    private boolean templateFlag = false;//妯℃澘鏍囪
-
-    /**
-     * 1:灞曠ず 2:涓嶅睍绀�
-     */
-    private String show;
-
-    private boolean hasRoom;
-
-    public boolean isHasRoom() {
-        return hasRoom;
-    }
-
-    public void setHasRoom(@NonNull boolean hasRoom) {
-        this.hasRoom = hasRoom;
-    }
-
-    public String getRoomName() {
-        return roomName == null ? "" : roomName;
-    }
-
-    public void setRoomName(@NonNull String roomName) {
-        this.roomName = roomName;
-    }
-
-    public String getShow() {
-        return show == null ? "1" : show;
-    }
-
-    public void setShow(@NonNull String show) {
-        this.show = show;
-    }
-
-
-    public boolean isTemplateFlag() {
-        return templateFlag;
-    }
-
-    public void setTemplateFlag(boolean templateFlag) {
-        this.templateFlag = templateFlag;
-    }
-
-
-    @NonNull
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    @NonNull
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    @NonNull
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    @NonNull
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    @NonNull
-    public String getOmodel() {
-        return omodel == null ? "" : omodel;
-    }
-
-    public void setOmodel(@NonNull String omodel) {
-        this.omodel = omodel;
-    }
-
-    @NonNull
-    public String getSrc() {
-        return src == null ? "" : src;
-    }
-
-    public void setSrc(@NonNull String src) {
-        this.src = src;
-    }
-
-    @NonNull
-    public String getOnline() {
-        return online == null ? "" : online;
-    }
-
-    public void setOnline(@NonNull String online) {
-        this.online = online;
-    }
-
-    @NonNull
-    public List<LinkStatusBean> getStatus() {
-        if (status == null) {
-            return new ArrayList<>();
-        }
-        return status;
-    }
-
-    public void setStatus(@NonNull List<LinkStatusBean> status) {
-        this.status = status;
-    }
-
-    @NonNull
-    public List<LinkAttributesBean> getAttributes() {
-        if (attributes == null) {
-            return new ArrayList<>();
-        }
-        return attributes;
-    }
-
-    public void setAttributes(@NonNull List<LinkAttributesBean> attributes) {
-        this.attributes = attributes;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkGroupControlCreateBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkGroupControlCreateBean.java
deleted file mode 100644
index 8f65835..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkGroupControlCreateBean.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/6/30
- * description:
- */
-public class LinkGroupControlCreateBean implements Serializable {
-    private String sid;
-    private String name;
-    private String type;
-    private List<String> uids = new ArrayList<>();
-    private List<LinkSidSpkBean> sids = new ArrayList<>();
-    /**
-     * "${宸插畬鎴愭暟}/${鎬绘暟}"
-     */
-    private String progress;
-    /**
-     * 1:閰嶇疆涓�
-     * 2:閰嶇疆澶辫触
-     * 3:閰嶇疆鎴愬姛
-     * 4:閮ㄥ垎鎴愬姛
-     */
-    private int state;
-    /**
-     * 鐢ㄦ埛寮�鍏宠褰� 鍙互鎺у埗  榛樿off鏄叧  on鏄紑
-     */
-    private String onoff;
-
-    public LinkGroupControlCreateBean() {
-    }
-
-    public String getOnoff() {
-        return onoff == null ? "" : onoff;
-    }
-
-    public void setOnoff(@NonNull String onoff) {
-        this.onoff = onoff;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public String getType() {
-        return type == null ? "" : type;
-    }
-
-    public void setType(@NonNull String type) {
-        this.type = type;
-    }
-
-    public List<String> getUids() {
-        if (uids == null) {
-            return uids = new ArrayList<>();
-        }
-        return uids;
-    }
-
-    public int getState() {
-        return state;
-    }
-
-    public void setState(@NonNull int state) {
-        this.state = state;
-    }
-
-    public void setUids(@NonNull List<String> uids) {
-        this.uids = uids;
-    }
-
-    public List<LinkSidSpkBean> getSids() {
-        if (sids == null) {
-            return sids = new ArrayList<>();
-        }
-        return sids;
-    }
-
-    public String getProgress() {
-        return progress == null ? "" : progress;
-    }
-
-    public void setProgress(@NonNull String progress) {
-        this.progress = progress;
-    }
-
-    public void setSids(@NonNull List<LinkSidSpkBean> sids) {
-        this.sids = sids;
-    }
-
-    public LinkGroupControlCreateBean(String name, String type) {
-        this.name = name;
-        this.type = type;
-    }
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkIrDeviceBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkIrDeviceBean.java
deleted file mode 100644
index df0dd4e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkIrDeviceBean.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/3/13
- * description:
- */
-public class LinkIrDeviceBean implements Serializable {
-    private String sid;
-    private String name;
-    private String spk;
-    private String oid;
-    private String omodel;
-    private String online;
-    private List<LinkAttributesBean> attributes = new ArrayList<>();
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    public String getOmodel() {
-        return omodel == null ? "" : omodel;
-    }
-
-    public void setOmodel(@NonNull String omodel) {
-        this.omodel = omodel;
-    }
-
-    public String getOnline() {
-        return online == null ? "" : online;
-    }
-
-    public void setOnline(@NonNull String online) {
-        this.online = online;
-    }
-
-    public List<LinkAttributesBean> getAttributes() {
-        if (attributes == null) {
-            return attributes = new ArrayList<>();
-        }
-        return attributes;
-    }
-
-    public void setAttributes(@NonNull List<LinkAttributesBean> attributes) {
-        this.attributes = attributes;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkLogicBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkLogicBean.java
deleted file mode 100644
index d0e6f69..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkLogicBean.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/2/16
- * description:   鏄惁鍚屾椂琛ㄧず瀹夐槻璺熻嚜鍔ㄥ寲???  闇�瑕佹爣娉ㄤ竴涓�????鏄惁闇�瑕佹洿鏂颁竴涓被鍚�
- */
-public class LinkLogicBean implements Serializable {
-    private String sid;
-    private String name;
-    /**
-     * 鑷姩鍖栧紑鍚叧闂�
-     */
-    private String enable;
-    /**
-     * 瀹夐槻甯冮槻鎾ら槻浣跨敤
-     */
-    private String status;
-    private String gatewayId;
-    private LinkCreateLogicBean detailInfo = new LinkCreateLogicBean();
-
-    public String getGateWayId() {
-        return gatewayId == null ? "" : gatewayId;
-    }
-
-    public void setGateWayId(@NonNull String gateWayId) {
-        this.gatewayId = gateWayId;
-    }
-
-    public String getStatus() {
-        return status == null ? "" : status;
-    }
-
-    public void setStatus(@NonNull String status) {
-        this.status = status;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    public String getEnable() {
-        return enable == null ? "" : enable;
-    }
-
-    public void setEnable(@NonNull String enable) {
-        this.enable = enable;
-    }
-
-    public LinkCreateLogicBean getDetailInfo() {
-        return detailInfo;
-    }
-
-    public void setDetailInfo(@NonNull LinkCreateLogicBean detailInfo) {
-        this.detailInfo = detailInfo;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkOidBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkOidBean.java
deleted file mode 100644
index ecea4da..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkOidBean.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import androidx.annotation.NonNull;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by jlchen on 1/10/22.
- * Link Oid妯″潡瀵硅薄
- */
-public class LinkOidBean implements Serializable {
-
-    private String oid;//oid
-    private String device_name;//妯″潡鍚嶅瓧
-    private String device_mac;//妯″潡Mac鍦板潃銆乑igBee鐨凞eviceAddr
-    private String device_model;//ZigBee鐨凪odelIdentifier
-    private String addresses;//
-    private String driver_code;//
-    private String hw_version;//纭欢鐗堟湰
-    private String fw_version;
-    private String src;//鏉ヨ嚜閭d釜椹卞姩
-    private String from;//鏉ヨ嚜閭d釜缃戝叧
-    private final String protocolType="zigbee";//鍗忚绫诲瀷(bus銆乲nx銆亃igbee)
-    private String parentOid;//鐖惰澶噊id
-    private List<ImageInfoBean> image_info = new ArrayList<>();// 涓�涓澶囧彲鑳藉涓浐浠剁増鏈� 鍥轰欢鐗堟湰鍒楄〃
-
-    //    private boolean templateFlag = false;//妯℃澘鏍囪
-//
-//    public boolean isTemplateFlag() {
-//        return templateFlag;
-//    }
-//
-//    public void setTemplateFlag(boolean templateFlag) {
-//        this.templateFlag = templateFlag;
-//    }
-    @NonNull
-    public String getParentOid() {
-        return parentOid == null ? "" : parentOid;
-    }
-
-    public void setParentOid(String parentOid) {
-        this.parentOid = parentOid;
-    }
-
-    @NonNull
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    @NonNull
-    public String getDevice_name() {
-        return device_name == null ? "" : device_name;
-    }
-
-    public void setDevice_name(@NonNull String device_name) {
-        this.device_name = device_name;
-    }
-
-    @NonNull
-    public String getDevice_mac() {
-        return device_mac == null ? "" : device_mac;
-    }
-
-    public void setDevice_mac(@NonNull String device_mac) {
-        this.device_mac = device_mac;
-    }
-
-    @NonNull
-    public String getDevice_model() {
-        return device_model == null ? "" : device_model;
-    }
-
-    public void setDevice_model(@NonNull String device_model) {
-        this.device_model = device_model;
-    }
-
-    @NonNull
-    public String getAddresses() {
-        return addresses == null ? "" : addresses;
-    }
-
-    public void setAddresses(@NonNull String addresses) {
-        this.addresses = addresses;
-    }
-
-    @NonNull
-    public String getDriver_code() {
-        return driver_code == null ? "" : driver_code;
-    }
-
-    public void setDriver_code(@NonNull String driver_code) {
-        this.driver_code = driver_code;
-    }
-
-    @NonNull
-    public String getHw_version() {
-        return hw_version == null ? "" : hw_version;
-    }
-
-    public void setHw_version(@NonNull String hw_version) {
-        this.hw_version = hw_version;
-    }
-
-    @NonNull
-    public String getFw_version() {
-        return fw_version == null ? "" : fw_version;
-    }
-
-    public void setFw_version(@NonNull String fw_version) {
-        this.fw_version = fw_version;
-    }
-
-    @NonNull
-    public String getSrc() {
-        return src == null ? "" : src;
-    }
-
-    public void setSrc(@NonNull String src) {
-        this.src = src;
-    }
-
-    @NonNull
-    public String getFrom() {
-        return from == null ? "" : from;
-    }
-
-    public void setFrom(@NonNull String from) {
-        this.from = from;
-    }
-
-    @NonNull
-    public List<ImageInfoBean> getImage_info() {
-        if (image_info == null) {
-            return new ArrayList<>();
-        }
-        return image_info;
-    }
-
-    public void setImage_info(@NonNull List<ImageInfoBean> image_info) {
-        this.image_info = image_info;
-    }
-
-    /**
-     * 鍥轰欢鍜岀‖浠剁増鏈�
-     */
-    public static class ImageInfoBean implements Serializable {
-        private String imageId;
-        private String fw_version;
-
-        @NonNull
-        public String getImageId() {
-            return imageId == null ? "" : imageId;
-        }
-
-        public void setImageId(@NonNull String imageId) {
-            this.imageId = imageId;
-        }
-
-        @NonNull
-        public String getFw_version() {
-            return fw_version == null ? "" : fw_version;
-        }
-
-        public void setFw_version(@NonNull String fw_version) {
-            this.fw_version = fw_version;
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkOtaBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkOtaBean.java
deleted file mode 100644
index 4e72b64..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkOtaBean.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by jlchen on 1/13/22.
- *
- */
-public class LinkOtaBean implements Serializable {
-
-    private String oid;
-    private String module;
-    private long size;
-    private String version;
-    private String url;
-    private String sign_method;
-    private String sign;
-
-    public String getSign_method() {
-        return sign_method == null ? "" : sign_method;
-    }
-
-    public void setSign_method(@NonNull String sign_method) {
-        this.sign_method = sign_method;
-    }
-
-    public String getSign() {
-        return sign == null ? "" : sign;
-    }
-
-    public void setSign(@NonNull String sign) {
-        this.sign = sign;
-    }
-
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    public String getModule() {
-        return module == null ? "" : module;
-    }
-
-    public void setModule(@NonNull String module) {
-        this.module = module;
-    }
-
-    public long getSize() {
-        return size;
-    }
-
-    public void setSize(@NonNull long size) {
-        this.size = size;
-    }
-
-    public String getVersion() {
-        return version == null ? "" : version;
-    }
-
-    public void setVersion(@NonNull String version) {
-        this.version = version;
-    }
-
-    public String getUrl() {
-        return url == null ? "" : url;
-    }
-
-    public void setUrl(@NonNull String url) {
-        this.url = url;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkReNameGWBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkReNameGWBean.java
deleted file mode 100644
index 3e50f5c..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkReNameGWBean.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import androidx.annotation.NonNull;
-
-import java.io.Serializable;
-
-public class LinkReNameGWBean implements Serializable {
-    private String device_name;
-
-    public String getDevice_name() {
-        return device_name == null ? "" : device_name;
-    }
-
-    public void setDevice_name(@NonNull String device_name) {
-        this.device_name = device_name;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkResponseBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkResponseBean.java
deleted file mode 100644
index ef27efd..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkResponseBean.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/13
- * description:
- */
-public class LinkResponseBean implements Serializable {
-    private String id;
-    private String code;
-    private String time_stamp;
-
-    public String getId() {
-        return id == null ? "" : id;
-    }
-
-    public void setId(@NonNull String id) {
-        this.id = id;
-    }
-
-    public String getCode() {
-        return code == null ? "" : code;
-    }
-
-    public void setCode(@NonNull String code) {
-        this.code = code;
-    }
-
-    public String getTime_stamp() {
-        return time_stamp == null ? "" : time_stamp;
-    }
-
-    public void setTime_stamp(@NonNull String time_stamp) {
-        this.time_stamp = time_stamp;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkRoomBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkRoomBean.java
deleted file mode 100644
index cec4779..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkRoomBean.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import androidx.annotation.NonNull;
-
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 12/20/21.
- */
-public class LinkRoomBean implements Serializable {
-
-    private String uid;//鎴块棿鎴栬�呮ゼ灞傜殑Id
-    private String name;//鎴块棿鎴栬�呮ゼ灞傚悕瀛�
-    private String roomType;//绫诲瀷 FLOOR = 妤煎眰 ROOM = 鎴块棿
-    private String roomImage;//鎴块棿鍥剧墖
-    private String parentId;//鐖惰妭鐐笽d锛屾埧闂村垎閰嶇殑妤煎眰鐨処D
-
-    public LinkRoomBean(String name) {
-        this.name = name;
-    }
-
-    public LinkRoomBean() {
-
-    }
-
-    @NonNull
-    public String getUid() {
-        return uid == null ? "" : uid;
-    }
-
-    public void setUid(@NonNull String uid) {
-        this.uid = uid;
-    }
-
-    @NonNull
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    @NonNull
-    public String getRoomType() {
-        return roomType == null ? "" : roomType;
-    }
-
-    public void setRoomType(@NonNull String roomType) {
-        this.roomType = roomType;
-    }
-
-    @NonNull
-    public String getRoomImage() {
-        return roomImage == null ? "" : roomImage;
-    }
-
-    public void setRoomImage(@NonNull String roomImage) {
-        this.roomImage = roomImage;
-    }
-
-    @NonNull
-    public String getParentId() {
-        return parentId == null ? "" : parentId;
-    }
-
-    public void setParentId(@NonNull String parentId) {
-        this.parentId = parentId;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkRoomBindBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkRoomBindBean.java
deleted file mode 100644
index 1d0dd28..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkRoomBindBean.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import androidx.annotation.NonNull;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by jlchen on 1/10/22.
- */
-public class LinkRoomBindBean implements Serializable{
-
-    private String uid;//鎴块棿uid
-    private List<LinkSidStrBean> functions = new ArrayList<>();//鍔熻兘鍒楄〃
-    private List<LinkSidStrBean> scenes = new ArrayList<>();//鍦烘櫙鍒楄〃鍒楄〃
-
-    @NonNull
-    public String getUid() {
-        return uid == null ? "" : uid;
-    }
-
-    public void setUid(@NonNull String uid) {
-        this.uid = uid;
-    }
-
-    @NonNull
-    public List<LinkSidStrBean> getFunctions() {
-        if (functions == null) {
-            return new ArrayList<>();
-        }
-        return functions;
-    }
-
-    public void setFunctions(@NonNull List<LinkSidStrBean> functions) {
-        this.functions = functions;
-    }
-
-    @NonNull
-    public List<LinkSidStrBean> getScenes() {
-        if (scenes == null) {
-            return new ArrayList<>();
-        }
-        return scenes;
-    }
-
-    public void setScenes(@NonNull List<LinkSidStrBean> scenes) {
-        this.scenes = scenes;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSceneBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSceneBean.java
deleted file mode 100644
index 7cc6785..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSceneBean.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by jlchen on 1/10/22.
- */
-public class LinkSceneBean implements Serializable {
-
-    private String sid;//鍦烘櫙sid
-    private String name;//鍦烘櫙鍚嶅瓧
-    private String status;//鐘舵��
-    private String group;//
-    private String delay;//寤惰繜
-    private String modify_time;//淇敼鏃堕棿
-    private String gatewayId;
-    private String from; //鏉ユ簮锛屾柟渚跨綉鍏宠瘑鍒�
-
-    private String local;
-    private LinkCreateSceneBean detailInfo = new LinkCreateSceneBean();//璇︽儏
-    /**
-     * 涓撻棬缁欏満鏅壒閲忔搷浣滃仛澶勭悊
-     */
-    private boolean isChoose = false;
-
-    public String getLocal() {
-        return local == null ? "" : local;
-    }
-
-    public void setLocal(@NonNull String local) {
-        this.local = local;
-    }
-
-    public String getFrom() {
-        return from == null ? "" : from;
-    }
-
-    public void setFrom(@NonNull String from) {
-        this.from = from;
-    }
-
-    public boolean isChoose() {
-        return isChoose;
-    }
-
-    public void setChoose(@NonNull boolean choose) {
-        isChoose = choose;
-    }
-
-    public String getGateWayId() {
-        return gatewayId == null ? "" : gatewayId;
-    }
-
-    public void setGateWayId(@NonNull String gateWayId) {
-        this.gatewayId = gateWayId;
-    }
-
-    @NonNull
-    public LinkCreateSceneBean getDetailInfo() {
-        return detailInfo == null ? new LinkCreateSceneBean() : detailInfo;
-    }
-
-    public void setDetailInfo(@NonNull LinkCreateSceneBean detailInfo) {
-        this.detailInfo = detailInfo;
-    }
-
-    @NonNull
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    @NonNull
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-
-    @NonNull
-    public String getStatus() {
-        return status == null ? "" : status;
-    }
-
-    public void setStatus(@NonNull String status) {
-        this.status = status;
-    }
-
-    @NonNull
-    public String getGroup() {
-        return group == null ? "" : group;
-    }
-
-    public void setGroup(@NonNull String group) {
-        this.group = group;
-    }
-
-    @NonNull
-    public String getDelay() {
-        return delay == null ? "" : delay;
-    }
-
-    public void setDelay(@NonNull String delay) {
-        this.delay = delay;
-    }
-
-    @NonNull
-    public String getModify_time() {
-        return modify_time == null ? "" : modify_time;
-    }
-
-    public void setModify_time(@NonNull String modify_time) {
-        this.modify_time = modify_time;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidNameBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidNameBean.java
deleted file mode 100644
index 666f534..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidNameBean.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/13
- * description:
- */
-public class LinkSidNameBean implements Serializable {
-    private String sid;
-    private String name;
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getName() {
-        return name == null ? "" : name;
-    }
-
-    public void setName(@NonNull String name) {
-        this.name = name;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidSpkBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidSpkBean.java
deleted file mode 100644
index 06648a4..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidSpkBean.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/6/30
- * description:
- */
-public class LinkSidSpkBean implements Serializable {
-    private String sid;
-    private String spk;
-    /**
-     * 鍔熻兘sid閰嶇疆鐨勭姸鎬侊紝0琛ㄧず鎴愬姛锛屽叾浠栬〃绀哄け璐�
-     */
-    private int config_state;
-    private String msg;
-
-    public LinkSidSpkBean() {
-    }
-
-    public String getMsg() {
-        return msg == null ? "" : msg;
-    }
-
-    public void setMsg(@NonNull String msg) {
-        this.msg = msg;
-    }
-
-    public int getConfig_state() {
-        return config_state;
-    }
-
-    public void setConfig_state(@NonNull int config_state) {
-        this.config_state = config_state;
-    }
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    public LinkSidSpkBean(String sid, String spk) {
-        this.sid = sid;
-        this.spk = spk;
-    }
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidStrBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidStrBean.java
deleted file mode 100644
index a6d99a5..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidStrBean.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import androidx.annotation.NonNull;
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 1/10/22.
- *
- * 璁惧鎴栬�呭満鏅痵id
- */
-public class LinkSidStrBean implements Serializable {
-
-    private String sid;//璁惧鎴栬�呭満鏅痵id
-
-    public LinkSidStrBean() {
-    }
-
-    public LinkSidStrBean(String sid) {
-        this.sid = sid;
-    }
-
-    @NonNull
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidUidBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidUidBean.java
deleted file mode 100644
index f52f858..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkSidUidBean.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/1/13
- * description:
- */
-public class LinkSidUidBean implements Serializable {
-    private String uid;
-    private List<LinkSidStrBean> functions = new ArrayList<>();
-
-    public String getUid() {
-        return uid == null ? "" : uid;
-    }
-
-    public void setUid(@NonNull String uid) {
-        this.uid = uid;
-    }
-
-    public List<LinkSidStrBean> getFunctions() {
-        if (functions == null) {
-            return new ArrayList<>();
-        }
-        return functions;
-    }
-
-    public void setFunctions(@NonNull List<LinkSidStrBean> functions) {
-        this.functions = functions;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkStatusBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkStatusBean.java
deleted file mode 100644
index 3528ea8..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkStatusBean.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by jlchen on 1/13/22.
- */
-public class LinkStatusBean implements Serializable {
-
-    private String key;
-    private String value;
-
-    @NonNull
-    public String getKey() {
-        return key == null ? "" : key;
-    }
-
-    public void setKey(@NonNull String key) {
-        this.key = key;
-    }
-
-    @NonNull
-    public String getValue() {
-        return value == null ? "" : value;
-    }
-
-    public void setValue(@NonNull String value) {
-        this.value = value;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkUploadOidBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkUploadOidBean.java
deleted file mode 100644
index 4ab629e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/LinkUploadOidBean.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-public class LinkUploadOidBean implements Serializable{
-
-    private String oid;//oid
-    private String device_name;//妯″潡鍚嶅瓧
-    private String device_mac;//妯″潡Mac鍦板潃銆乑igBee鐨凞eviceAddr
-    private String device_model;//ZigBee鐨凪odelIdentifier
-    private String addresses;//
-    private String driver_code;//
-    private String hw_version;//纭欢鐗堟湰
-    private String fw_version;
-
-    @NonNull
-    public String getOid() {
-        return oid == null ? "" : oid;
-    }
-
-    public void setOid(@NonNull String oid) {
-        this.oid = oid;
-    }
-
-    @NonNull
-    public String getDevice_name() {
-        return device_name == null ? "" : device_name;
-    }
-
-    public void setDevice_name(@NonNull String device_name) {
-        this.device_name = device_name;
-    }
-
-    @NonNull
-    public String getDevice_mac() {
-        return device_mac == null ? "" : device_mac;
-    }
-
-    public void setDevice_mac(@NonNull String device_mac) {
-        this.device_mac = device_mac;
-    }
-
-    @NonNull
-    public String getDevice_model() {
-        return device_model == null ? "" : device_model;
-    }
-
-    public void setDevice_model(@NonNull String device_model) {
-        this.device_model = device_model;
-    }
-
-    @NonNull
-    public String getAddresses() {
-        return addresses == null ? "" : addresses;
-    }
-
-    public void setAddresses(@NonNull String addresses) {
-        this.addresses = addresses;
-    }
-
-    @NonNull
-    public String getDriver_code() {
-        return driver_code == null ? "" : driver_code;
-    }
-
-    public void setDriver_code(@NonNull String driver_code) {
-        this.driver_code = driver_code;
-    }
-
-    @NonNull
-    public String getHw_version() {
-        return hw_version == null ? "" : hw_version;
-    }
-
-    public void setHw_version(@NonNull String hw_version) {
-        this.hw_version = hw_version;
-    }
-
-    @NonNull
-    public String getFw_version() {
-        return fw_version == null ? "" : fw_version;
-    }
-
-    public void setFw_version(@NonNull String fw_version) {
-        this.fw_version = fw_version;
-    }
-
-
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/MMWAreaBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/MMWAreaBean.java
deleted file mode 100644
index 2f5c37f..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/MMWAreaBean.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/11/20
- * description:
- */
-public class MMWAreaBean implements Serializable {
-    private String sid;
-    private List<MMWAreaSpaceBean> spaces = new ArrayList<>();
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public List<MMWAreaSpaceBean> getSpaces() {
-        if (spaces == null) {
-            return spaces = new ArrayList<>();
-        }
-        return spaces;
-    }
-
-    public void setSpaces(@NonNull List<MMWAreaSpaceBean> spaces) {
-        this.spaces = spaces;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/MMWAreaSpaceBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/MMWAreaSpaceBean.java
deleted file mode 100644
index 3dd42e8..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/MMWAreaSpaceBean.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/11/20
- * description:
- */
-public class MMWAreaSpaceBean implements Serializable {
-    private String space_id;
-    private String space_type;
-    private String space_color;
-    private String space_name;
-    private String x_s;
-    private String x_e;
-    private String y_s;
-    private String y_e;
-
-    public String getSpace_id() {
-        return space_id == null ? "" : space_id;
-    }
-
-    public void setSpace_id(@NonNull String space_id) {
-        this.space_id = space_id;
-    }
-
-    public String getSpace_type() {
-        return space_type == null ? "" : space_type;
-    }
-
-    public void setSpace_type(@NonNull String space_type) {
-        this.space_type = space_type;
-    }
-
-    public String getSpace_color() {
-        return space_color == null ? "" : space_color;
-    }
-
-    public void setSpace_color(@NonNull String space_color) {
-        this.space_color = space_color;
-    }
-
-    public String getSpace_name() {
-        return space_name == null ? "" : space_name;
-    }
-
-    public void setSpace_name(@NonNull String space_name) {
-        this.space_name = space_name;
-    }
-
-    public String getX_s() {
-        return x_s == null ? "" : x_s;
-    }
-
-    public void setX_s(@NonNull String x_s) {
-        this.x_s = x_s;
-    }
-
-    public String getX_e() {
-        return x_e == null ? "" : x_e;
-    }
-
-    public void setX_e(@NonNull String x_e) {
-        this.x_e = x_e;
-    }
-
-    public String getY_s() {
-        return y_s == null ? "" : y_s;
-    }
-
-    public void setY_s(@NonNull String y_s) {
-        this.y_s = y_s;
-    }
-
-    public String getY_e() {
-        return y_e == null ? "" : y_e;
-    }
-
-    public void setY_e(@NonNull String y_e) {
-        this.y_e = y_e;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/NoticeConfigInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/NoticeConfigInfo.java
deleted file mode 100644
index 8381b75..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/bean/NoticeConfigInfo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hdl.sdk.link.bean;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/7/29
- * description:
- */
-public class NoticeConfigInfo implements Serializable {
-    private boolean enable;
-    private String noticeContent;
-
-    public boolean isEnable() {
-        return enable;
-    }
-
-    public void setEnable(@NonNull boolean enable) {
-        this.enable = enable;
-    }
-
-    public String getNoticeContent() {
-        return noticeContent == null ? "" : noticeContent;
-    }
-
-    public void setNoticeContent(@NonNull String noticeContent) {
-        this.noticeContent = noticeContent;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/IHDLClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/IHDLClient.java
deleted file mode 100644
index 2ba494a..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/IHDLClient.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.hdl.sdk.link.common;
-
-/**
- * Created by Tong on 2021/9/28.
- * 鍖呭惈鎵�鏈夋搷浣�
- */
-public interface IHDLClient {
-
-
-    /**
-     * 鎼滅储缃戝叧
-     */
-    void searchGateway();
-
-
-    /**
-     * 鑾峰彇缃戝叧璇︾粏淇℃伅
-     */
-    void getGatewayInfo();
-
-    /**
-     * 鑾峰彇璁惧鍒楄〃
-     */
-    void getDeviceList();
-
-    /**
-     * 鑾峰彇鍔熻兘鍒楄〃
-     */
-    void getFunctionList();
-
-    /**
-     * 鑾峰彇鍔熻兘灞炴��
-     */
-    void getFunctionAttribute();
-
-    /**
-     * 璁惧鎺у埗
-     */
-    void deviceControl();
-
-    /**
-     * 鑾峰彇璁惧鐘舵��
-     */
-    void getDeviceStatus();
-
-    /**
-     * 鏀瑰彉璁惧鐘舵��
-     */
-    void changeDeviceStatus();
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/config/TopicConstant.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/config/TopicConstant.java
deleted file mode 100644
index a480450..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/config/TopicConstant.java
+++ /dev/null
@@ -1,339 +0,0 @@
-package com.hdl.sdk.link.common.config;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-public class TopicConstant {
-
-
-    /*
-     *閫氱煡鍒犻櫎骞堕��缃戝瓙璁惧鎷撴墤鍏崇郴
-     *鍒犻櫎浠庣綉鍏�
-     * */
-    public static final String DELETING_GATEWAY_SLAVE="/base/%s/thing/topo/delete/notify";
-
-    /*
-     *缃戝叧鐗╃悊閫�缃戝悗涓婃姤鍒犻櫎(閫�缃�)瀛愯澶�
-     * */
-    public static final String DELETING_GATEWAY_SLAVE_RESULT="/base/%s/thing/topo/delete/up";
-
-
-
-    /*
-    缃戝叧鏁版嵁澶囦唤杩樺師
-     * */
-    public static final String GATEWAY_BACKUP_RESTORE_DOWN = "/base/%s/device/backup/restore/down";
-
-    /*
-   璋冭瘯浜哄憳涓诲姩閫氱煡缃戝叧澶囦唤鏁版嵁
-    * */
-    public static final String GATEWAY_BACKUP_NOTICE_DOWN = "/base/%s/device/backup/notice/down";
-    /*
-   澶囦唤杩樺師杩涘害鑾峰彇
-    * */
-    public static final String GATEWAY_BACKUP_PROGRESS_GET = "/base/%s/device/backup/restore/progress/get";
-
-    /*
-    * 缃戝叧缂栬緫鍛戒护
-    * 鍐欒繙绋嬩俊鎭殑锛屼緥濡傛湇鍔″櫒鍦板潃銆丠omeId銆佸瘑閽ヤ箣绫�
-    * 涓庢湇鍔″櫒鐩稿叧鐨�
-    * */
-    public static final String GATEWAY_EDIT_REMOTE = "/user/%s/custom/gateway/remote/edit";
-
-    /*
-     * 缃戝叧鎭㈠鍑哄満璁剧疆鍛戒护
-     * */
-    public static final String GATEWAY_INITIALIZE_REMOTE = "/user/%s/custom/gateway/initialize";
-    public static final String GATEWAY_FIND_REMOTE = "/base/%s/thing/service/mmv_device_find/down";
-
-    /**
-     * 绾㈠瀹濈殑瀹氫綅
-     */
-    public static final String IR_FIND_REMOTE = "/base/%s/thing/service/irDeviceFind/down";
-    /**
-     * 绾㈠瀹濊瘯鐮�
-     */
-    public static final String IR_CODE_TEST = "/base/%s/thing/service/irCodeTest/down";
-    /**
-     * 绾㈠瀹濋仴鎺у櫒娣诲姞
-     */
-    public static final String IR_DEVICE_ADD = "/base/%s/thing/service/irDeviceAdd/down";
-    /**
-     * 绾㈠瀹濋仴鎺у櫒鍒楄〃鑾峰彇
-     */
-    public static final String IR_DEVICE_LIST = "/base/%s/thing/service/irDeviceListGet/down";
-    /**
-     * 绾㈠瀹濊嚜瀛︾爜
-     * */
-    public static final String IR_CODE_STUDY = "/base/%s/thing/service/irCodeStudy/down";
-    /**
-     * 绾㈠瀹濊嚜瀛︾爜鍒犻櫎
-     * */
-    public static final String IR_CODE_REMOVE = "/base/%s/thing/service/irCodeRemove/down";
-
-
-    /*
-    * 缃戝叧缂栬緫鍛戒护
-    * 涓庢湇鍔″櫒鏃犲叧鐨�
-    * */
-    public static final String GATEWAY_EDIT_LOCAL = "/user/%s/custom/gateway/edit";
-
-    /**
-     * 璁剧疆缃戝叧鍏ョ綉妯″紡
-     * 鍏ョ綉浠庢満璁惧浣跨敤
-     * 浠庣綉鍏炽�佺孩澶栧疂绛夌綉缁滆澶�
-     */
-    public static final String GATEWAY_AUTH  = "/user/%s/custom/device/auth_gateway";
-    //鑾峰彇缃戝叧淇℃伅
-    public static final String GATEWAY_GET = "/user/%s/custom/gateway/remote/get";
-
-    //缃戝叧骞挎挱鍏ョ綉鎸囦护
-    public static final String GATEWAY_AUTH_BROADCAST = "/user/all/custom/device/network_access/broadcast";
-
-    //璁惧鍏ョ綉鍜岃璇�
-    public static final String DEIVCE_AUTH_REQUEST = "/user/all/custom/device/network_access/request";
-
-    //璁惧鍏ョ綉鍜岃璇佸搷搴�
-    public static final String DEIVCE_AUTH_REQUEST_REPLY = "/user/all/custom/device/network_access/request_reply";
-
-    /**
-     * 鎼滅储缃戝叧
-     */
-    public static final String GATEWAY_SEARCH = "/user/all/custom/gateway/search";
-
-    /**
-     * 鎼滅储缃戝叧鍝嶅簲
-     */
-    public static final String GATEWAY_SEARCH_REPLY = "/user/all/custom/gateway/search_reply";
-
-    //缃戝叧璇︾粏淇℃伅鑾峰彇s=gw_id
-    public static final String GATEWAY_INFO = "/user/%s/custom/gateway/get";
-
-    //鑾峰彇鐗╃悊璁惧鍒楄〃
-    public static final String GET_DEVICE_LIST = "/user/%s/custom/device/list/get";
-
-    //鑾峰彇鐗╃悊璁惧鍒楄〃鍝嶅簲
-    public static final String GET_DEVICE_LIST_REPLY = "/user/%s/custom/device/list/get_reply";
-
-    //鑾峰彇鍔熻兘鍒楄〃
-    public static final String GET_FUNCTION_LIST = "/user/%s/custom/function/list/get";
-
-    //妯℃嫙浜戠ota
-    public static final String OTA_UPGRADE_DOWN = "/base/%s/ota/device/upgrade/down";
-
-    /**
-     * 缂栬緫sid
-     */
-    public static final String EDIT_FUNCTION = "/user/%s/custom/function/attribute/edit";
-
-    //鑾峰彇鍔熻兘鍝嶅簲
-    public static final String GET_FUNCTION_LIST_REPLY = "/user/%s/custom/function/list/get_reply";
-
-    //鍔熻兘灞炴�ц鍙�
-    public static final String GET_FUNCTION_ATTRIBUTE = "/user/%s/custom/function/attribute/get";
-    //鍔熻兘灞炴�х紪杈�
-    public static final String EDIT_FUNCTION_ATTRIBUTE = "/user/%s/custom/function/attribute/edit";
-
-    //鍔熻兘灞炴�у搷搴�
-    public static final String GET_FUNCTION_ATTRIBUTE_REPLY = "/user/%s/custom/function/attribute/get_reply";
-
-    //鎺у埗
-    public static final String PROPERTY_DOWN = "/base/%s/thing/property/down";
-
-    //鎺у埗鍝嶅簲
-    public static final String PROPERTY_DOWN_REPLY = "/base/%s/thing/property/down_reply";
-
-    //鐘舵�佷笂鎶�
-    public static final String PROPERTY_UP = "/base/%s/thing/property/up";
-
-    //鐘舵�佷笂鎶ュ搷搴�
-    public static final String PROPERTY_UP_REPLY = "/base/%s/thing/property/up_reply";
-
-    //璇诲彇鐘舵��
-    public static final String PROPERTY_READ = "/base/%s/thing/property/read";
-
-    //鑾峰彇姣背娉㈠尯鍩�
-    public static final String MMW_AREA_GET = "/base/%s/thing/service/sub_space_config_get/down";
-
-    //璇诲彇鐘舵�佸搷搴�
-    public static final String PROPERTY_READ_REPLY = "/base/%s/thing/property/read_reply";
-
-    //鏇存敼缃戝叧澶囨敞鍚�
-    public static final String GATEWAY_RENAME = "/user/%s/custom/gateway/edit";
-
-    //8.1鑾峰彇鍦烘櫙鍒楄〃
-    public static final String SCENE_LIST_GET = "/user/%s/custom/scene/list/get";
-
-    //8.2鑾峰彇鍦烘櫙
-    public static final String SCENE_GET = "/user/%s/custom/scene/get";
-
-    //8.3鎵ц鍦烘櫙
-    public static final String SCENE_CONTROL = "/user/%s/custom/scene/execute";
-
-    //8.4鍦烘櫙澧炲姞
-    public static final String CREATE_SCENE = "/user/%s/custom/scene/add";
-
-    //8.5鍦烘櫙缂栬緫
-    public static final String SCENE_EDIT = "/user/%s/custom/scene/edit";
-
-    //8.6鍦烘櫙鍒犻櫎
-    public static final String SCENE_DELETE = "/user/%s/custom/scene/delete";
-
-    //9.1 鎴块棿淇℃伅鍒楄〃鑾峰彇
-    public static final String ROOM_LIST_GET = "/user/%s/custom/room/list/get";
-
-    //9.2 鎴块棿淇℃伅娣诲姞锛堝閲忥級
-    public static final String ROOM_ADD = "/user/%s/custom/room/add";
-
-    //9.2.1 鎴块棿淇℃伅娣诲姞锛堝叏閲忥級
-    public static final String ROOM_COVER_ADD = "/user/%s/custom/room/cover/add";
-
-    //9.3 鎴块棿淇℃伅缂栬緫
-    public static final String ROOM_EDIT = "/user/%s/custom/room/edit";
-
-    //9.4 鎴块棿淇℃伅鍒犻櫎
-    public static final String ROOM_DELETE = "/user/%s/custom/room/delete";
-
-    //9.5 鎴块棿缁戝畾鍏崇郴鍒楄〃鑾峰彇
-    public static final String ROOM_BIND_LIST_GET = "/user/%s/custom/room/bind/list/get";
-
-    //9.6 鎴块棿缁戝畾鍏崇郴娣诲姞锛堝閲忥級
-    public static final String ROOM_BIND_ADD = "/user/%s/custom/room/bind/add";
-
-    //9.6.1 鎴块棿缁戝畾鍏崇郴娣诲姞(鍏ㄩ噺)
-    public static final String ROOM_BIND_COVER_ADD = "/user/%s/custom/room/bind/cover/add";
-
-    //9.7 鎴块棿缁戝畾鍏崇郴鍒犻櫎
-    public static final String ROOM_BIND_DELETE = "/user/%s/custom/room/bind/delete";
-
-    //10.1 鑷姩鍖栧垪琛ㄨ幏鍙�
-    public static final String LOGIC_LIST_GET = "/user/%s/custom/logic/list/get";
-
-    //10.2 鑷姩鍖栨墜鍔ㄦ墽琛�
-    public static final String LOGIC_execute = "/user/%s/custom/logic/execute";
-
-    //10.3 鑷姩鍖栬幏鍙� 鍒楄〃涓�娆℃�ц鍏�
-    public static final String LOGIC_GET = "/user/%s/custom/logic/get";
-
-    //10.4 鑷姩鍖栨柊澧�/缂栬緫
-    public static final String LOGIC_EDIT = "/user/%s/custom/logic/edit";
-
-    //10.5 鑷姩鍖栧垹闄�
-    public static final String LOGIC_DELETE = "/user/%s/custom/logic/delete";
-
-    //10.6 鑷姩鍖栧惎鐢ㄧ鐢�
-    public static final String LOGIC_ENABLE_EDIT = "/user/%s/custom/logic/enable/edit";
-
-    //10.7 鑷姩鍖栫姸鎬佷笂鎶� 鎵ц缁撴灉銆佹湰鍦板惎鐢ㄧ鐢ㄧ姸鎬佷笂鎶�
-    public static final String LOGIC_STATUS_UP = "/user/%s/custom/logic/status/up";
-
-    //11.1 瀹夐槻鍒楄〃鑾峰彇
-    public static final String SECURITY_LIST_GET = "/user/%s/custom/security/list/get";
-
-    //11.2 瀹夐槻鑾峰彇
-    public static final String SECURITY_GET = "/user/%s/custom/security/get";
-
-    //11.3 瀹夐槻鏂板/缂栬緫
-    public static final String SECURITY_EDIT= "/user/%s/custom/security/edit";
-
-    //11.4 瀹夐槻鍒犻櫎
-    public static final String SECURITY_DELETE = "/user/%s/custom/security/delete";
-
-    //11.5 甯冮槻璁剧疆
-    public static final String SECURITY_STATUS_SET = "/user/%s/custom/security/status/set";
-
-    //11.6 瀹夐槻闃插尯鐘舵�佽鍙�
-    public static final String SECURITY_STATUS_GET = "/user/%s/custom/security/status/get";
-
-    //11.7 瀹夐槻闃插尯鎶ヨ鐘舵�佷笂鎶�
-    public static final String SECURITY_STATUS_UP = "/user/%s/custom/security/status/up";
-
-    //11.8 瀹夐槻Bypass璇诲彇
-    public static final String SECURITY_BYPASS_GET = "/user/%s/custom/security/bypass/get";
-
-    //11.9 瀹夐槻Bypass璁剧疆
-    public static final String SECURITY_BYPASS_SET = "/user/%s/custom/security/bypass/set";
-
-    /**
-     * 璁惧杩炴帴TCP涔嬪墠骞挎挱
-     */
-    public static final String BROADCAST="/user/all/custom/gateway/broadcast";
-
-    /**
-     * 涓荤綉鍏冲洖澶�
-     */
-    public static final String BROADCAST_REPLY="/user/all/custom/gateway/broadcast_reply";
-
-    /**
-     * sid缁戝畾鎴块棿
-     */
-    public static final String SID_BIND_ROOM = "/user/%s/custom/room/bind/add";
-
-    /**
-     * sid瑙g粦鎴块棿
-     */
-    public static final String SID_DELETE_ROOM = "/user/%s/custom/room/bind/delete";
-
-    /**
-     * 蹇冭烦妫�娴�
-     */
-    public static final String HEARTBEAT="/user/%s/custom/gateway/heartbeat";
-//    public static final String HEARTBEAT="/user/%s/custom/gateway1/qqheartbeat";
-    /**
-     * 蹇冭烦妫�娴嬪洖澶�
-     */
-    public static final String HEARTBEAT_REPLY="/user/%s/custom/gateway/heartbeat_reply";
-
-    public static final String NATIVE_ZIGBEE_DOWN ="/user/%s/custom/native/zigbee/down";
-
-    public static final String NATIVE_ZIGBEE_DOWN_REPLY ="/user/%s/custom/native/zigbee/down_reply";
-
-    public static final String NATIVE_ZIGBEE_UP ="/user/%s/custom/native/zigbee/up";
-
-    public static final String NATIVE_ZIGBEE_DOWN_SLAVE ="/user/%s/custom/native/zigbee/down/slaveoid/%s";
-
-    public static final String NATIVE_ZIGBEE_DOWN_SLAVE_REPLY ="/user/%s/custom/native/zigbee/down_reply/slaveoid/%s";
-
-    public static final String NATIVE_ZIGBEE_UP_SLAVE ="/user/%s/custom/native/zigbee/up/slaveoid/%s";
-
-    public static final String NATIVE_LINK_DOWN ="/user/%s/custom/native/a/down";
-
-    public static final String NATIVE_LINK_DOWN_REPLY ="/user/%s/custom/native/a/down_reply";
-
-    public static final String NATIVE_LINK_UP ="/user/%s/custom/native/a/up";
-
-    public static final String NATIVE_LINK_DOWN_SLAVE ="/user/%s/custom/native/a/down/slaveoid/%s";
-
-    public static final String NATIVE_LINK_DOWN_SLAVE_REPLY ="/user/%s/custom/native/a/down_reply/slaveoid/%s";
-
-    public static final String NATIVE_LINK_UP_SLAVE ="/user/%s/custom/native/a/up/slaveoid/%s";
-
-    public static final String GATEWAY_LOCATION_EDIT ="/user/%s/custom/gateway/location/edit";
-
-    public static final String GATEWAY_LOCATION_GET ="/user/%s/custom/gateway/location/get";
-
-    public static final String NATIVE_MODBUS_DOWN ="/user/%s/custom/native/inverter/down";
-    public static final String NATIVE_MODBUS_UP ="/user/%s/custom/native/inverter/up";
-    public static final String NATIVE_MODBUS_DOWN_REPLY ="/user/%s/custom/native/inverter/down_reply";
-    /**
-     * 缇ゆ帶澧炴敼
-     */
-    public static final String GROUPCONTROL_EDIT ="/user/%s/custom/device/group/control/edit";
-
-    /**
-     * 缇ゆ帶鍒楄〃
-     */
-    public static final String GROUPCONTROL_LIST_GET ="/user/%s/custom/device/group/control/list";
-    public static final String NATIVE_MODBUS_DOWN_SLAVE ="/user/%s/custom/native/inverter/down/slaveoid/%s";
-    public static final String NATIVE_MODBUS_DOWN_SLAVE_REPLY ="/user/%s/custom/native/inverter/down_reply/slaveoid/%s";
-    /**
-     * 缇ゆ帶鍒犻櫎
-     */
-    public static final String GROUPCONTROL_DELETE ="/user/%s/custom/device/group/control/delete";
-
-    /**
-     * 缇ゆ帶鎺у埗
-     */
-    public static final String GROUPCONTROL_CONTROL ="/user/%s/custom/device/group/control/down";
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/event/EventDispatcher.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/event/EventDispatcher.java
deleted file mode 100644
index 37f8b50..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/event/EventDispatcher.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package com.hdl.sdk.link.common.event;
-
-import androidx.annotation.NonNull;
-import androidx.collection.ArrayMap;
-
-
-import com.hdl.sdk.link.common.utils.LockArrayMap;
-import com.hdl.sdk.link.common.utils.LockList;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-
-
-/**
- * Created by Tong on 2021/9/22.
- * 浜嬩欢鍒嗗彂
- */
-public class EventDispatcher {
-
-    private static final LockList<EventListener> ALL_TOPICS_EVENT = new LockList<EventListener>();//鎵�鏈変富棰樻秷鎭�
-
-//    private static final ArrayMap<String, List<EventListener>> EVENT = new ArrayMap<>();
-    private static final LockArrayMap<String, List<EventListener>> EVENT = new LockArrayMap<String, List<EventListener>>();
-
-    private static final ExecutorService ioThread = ThreadToolUtils.getInstance().newFixedThreadPool(2);
-
-    private EventDispatcher() {
-    }
-
-    private static class SingletonInstance {
-        private static final EventDispatcher INSTANCE = new EventDispatcher();
-    }
-
-    public static EventDispatcher getInstance() {
-        return SingletonInstance.INSTANCE;
-    }
-
-    public synchronized void register(String tag, EventListener listener) {
-        try {
-            if (!EVENT.containsKey(tag)) {
-                EVENT.put(tag, new ArrayList<>());
-            }
-            List<EventListener> events = EVENT.get(tag);
-            if (events != null && !events.contains(listener)) {
-                events.add(listener);
-                LogUtils.i(String.format("澧炲姞璁㈤槄涓婚:%s,褰撳墠鍥炶皟鏁伴噺:%s", tag, events.size()));
-            }
-        } catch (Exception e) {
-            LogUtils.e(e.getMessage());
-        }
-    }
-
-    public synchronized void registerIo(String tag, EventListener listener) {
-        try {
-            if (!EVENT.containsKey(tag)) {
-                EVENT.put(tag, new ArrayList<>());
-            }
-            List<EventListener> events = EVENT.get(tag);
-            if (events != null && !events.contains(listener)) {
-                events.add(listener);
-            }
-        } catch (Exception e) {
-            LogUtils.e(e.getMessage());
-        }
-    }
-
-    public synchronized void remove(Object tag) {
-        ioThread.execute(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    if (EVENT.containsKey(tag)) {
-//                        List<EventListener> list = EVENT.get(tag);
-//                        for (EventListener eventListener : list) {
-//                            TYPE.remove(eventListener);
-//                        }
-                        EVENT.remove(tag);
-                    }
-                } catch (Exception e) {
-                    LogUtils.e(e.getMessage());
-                }
-
-            }
-        });
-    }
-
-    public synchronized void remove(Object tag, EventListener listener) {
-        ioThread.execute(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    if (EVENT.containsKey(tag)) {
-                        List<EventListener> ev = EVENT.get(tag);
-                        if (ev != null && !ev.isEmpty()) {
-//                            TYPE.remove(listener);
-                            ev.remove(listener);
-                            LogUtils.i(String.format("绉婚櫎璁㈤槄涓婚:%s,褰撳墠鍥炶皟鏁伴噺:%s",tag,ev.size()));
-                        }
-                    }
-                } catch (Exception e) {
-                    LogUtils.e(e.getMessage());
-                }
-
-            }
-        });
-    }
-
-    /**
-     * 涓や釜涓婚鏄惁鍖归厤
-     * @param desString 瀛楀吀涓殑涓婚
-     * @param sourceString 鎺ユ敹鍒扮殑涓婚
-     * @return
-     */
-    boolean isMatch(String desString,String sourceString) {
-        String[] des = desString.split("/");
-        String[] source = sourceString.split("/");
-        if (des.length != source.length) {
-            return false;
-        }
-        for (int i = 0; i < des.length; i++) {
-            if (!(des[i].equals(source[i]) || des[i].equals("+"))) {
-                if (i != 2) {
-                    //缃戝叧id涓嶅垽鏂紝鍙兘鏄疧id,涔熷彲鑳芥槸mac
-                    return false;
-                }
-            }
-        }
-        return true;
-    }
-
-    /**
-     * 浜嬩欢鍒嗗彂鍣紝鍒嗗彂鎵�鏈夊湪鎺ュ彛鍒楄〃涓殑浜嬩欢
-     * @param topicTag
-     * @param o
-     */
-    public synchronized void post(String topicTag, @NonNull Object o) {
-        try {
-            for (String key : EVENT.keySet()) {
-                if (!isMatch(key, topicTag)) {
-                    continue;
-                }
-                List<EventListener> list = EVENT.get(key);
-                if (list != null && !list.isEmpty()) {
-                    for (EventListener listener : list) {
-                        ThreadToolUtils.getInstance().runOnUiThread(new Runnable() {
-                            @Override
-                            public void run() {
-                                try {
-                                    if (listener != null) {
-                                        listener.onMessage(o);
-                                    }
-                                } catch (Exception e) {
-                                    LogUtils.e("post鏁版嵁寮傚父", o + " " + e.getMessage());
-                                }
-                            }
-                        });
-                    }
-                }
-            }
-            //鎵�鏈変富棰樼殑Listener閫氱煡
-            if (ALL_TOPICS_EVENT == null || ALL_TOPICS_EVENT.isEmpty()) {
-                return;
-            }
-            //寮�鍙戝垎鍙戜簨浠�
-            for (EventListener listener : ALL_TOPICS_EVENT) {
-                ThreadToolUtils.getInstance().runOnUiThread(new Runnable() {
-                    @Override
-                    public void run() {
-                        if (listener != null) {
-                            listener.onMessage(o);
-                        }
-                    }
-                });
-            }
-        }catch (Exception e){
-            LogUtils.e(e.getMessage());
-        }
-
-    }
-
-    /**
-     * 鏂囦欢鍙戦�侀�氱煡 wxr 2022-03-08 15:38:59
-     */
-    public synchronized void filePost() {
-        //TODO
-    }
-    /**
-     * 娉ㄥ唽鎵�鏈変富棰樻秷鎭殑鐩戝惉
-     * @param listener
-     */
-    public synchronized void registerAllTopicsListener(EventListener listener) {
-        try {
-            if (ALL_TOPICS_EVENT != null && !ALL_TOPICS_EVENT.contains(listener)) {
-                ALL_TOPICS_EVENT.add(listener);
-            }
-//            TYPE.put(listener, MAIN_TYPE);
-        } catch (Exception e) {
-            LogUtils.e(e.getMessage());
-        }
-    }
-
-    /**
-     * 鍙栨秷鎵�鏈変富棰樻秷鎭殑鐩戝惉
-     * @param listener
-     */
-    public synchronized void removeAllTopicsListener(EventListener listener) {
-        ioThread.execute(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    if (ALL_TOPICS_EVENT != null && !ALL_TOPICS_EVENT.isEmpty()) {
-//                        TYPE.remove(listener);
-                        ALL_TOPICS_EVENT.remove(listener);
-                    }
-                } catch (Exception e) {
-                    LogUtils.e(e.getMessage());
-                }
-            }
-        });
-    }
-
-    public synchronized void clear() {
-        ALL_TOPICS_EVENT.clear();
-        EVENT.clear();
-//        TYPE.clear();
-    }
-
-    public synchronized void release() {
-        clear();
-        ioThread.shutdownNow();
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/event/EventListener.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/event/EventListener.java
deleted file mode 100644
index e2b3cdf..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/event/EventListener.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.hdl.sdk.link.common.event;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-public interface EventListener {
-
-    void onMessage(Object msg);
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/exception/HDLLinkCode.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/exception/HDLLinkCode.java
deleted file mode 100644
index 2597fa7..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/exception/HDLLinkCode.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.hdl.sdk.link.common.exception;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-
-import com.hdl.sdk.link.HDLLinkLocalSdk;
-import com.hdl.sdk.link.R;
-
-import java.util.HashMap;
-
-/**
- * Created by jlchen on 11/15/21.
- *
- * @Description : HDLError
- */
-public class HDLLinkCode {
-    public static final HDLLinkCode HDL_UNKOWN_CODE=new HDLLinkCode(-1000,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_UNKOWN_CODE));
-    public static final HDLLinkCode HDL_DATA_ERROR =new HDLLinkCode(-2000, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_DATA_ERROR)) ;
-    public static final HDLLinkCode HDL_DATA_NULL_ERROR=new HDLLinkCode(-2001, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_DATA_NULL_ERROR));
-    public static final HDLLinkCode HDL_AUTH_ERROR=new HDLLinkCode(2002,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_AUTH_ERROR) );
-    public static final HDLLinkCode HDL_SEND_ERROR=new HDLLinkCode(2003, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_SEND_ERROR));
-    public static final HDLLinkCode HDL_TIMEOUT_ERROR=new HDLLinkCode(2004, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_TIMEOUT_ERROR));
-    public static final HDLLinkCode HDL_UNAUTHORIZED_ERROR=new HDLLinkCode(-2005,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_UNAUTHORIZED_ERROR));
-    public static final HDLLinkCode HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED=new HDLLinkCode(-2006, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED));
-    public static final HDLLinkCode HDL_SEARCH_GATEWAY_TIMEOUT_ERROR=new HDLLinkCode(-2007, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_SEARCH_GATEWAY_TIMEOUT_ERROR));
-    public static final HDLLinkCode HDL_AUTH_MAC_KEY_ERROR=new HDLLinkCode(-2008, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_AUTH_MAC_KEY_ERROR));
-    public static final HDLLinkCode HDL_DATA_PARSING_ERROR=new HDLLinkCode(-2009, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_DATA_PARSING_ERROR));
-    public static final HDLLinkCode HDL_GET_DEVICE_LIST_ERROR=new HDLLinkCode(-2100, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_GET_DEVICE_LIST_ERROR));
-    public static final HDLLinkCode HDL_GET_FUNCTION_LIST_ERROR=new HDLLinkCode(-2101, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_GET_FUNCTION_LIST_ERROR));
-    public static final HDLLinkCode HDL_GET_FUNCTION_PROPERTIES_ERROR=new HDLLinkCode(-2102, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_GET_FUNCTION_PROPERTIES_ERROR));
-    public static final HDLLinkCode HDL_CONTROL_FAILURE_ERROR=new HDLLinkCode(-2103, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_CONTROL_FAILURE_ERROR));
-    public static final HDLLinkCode HDL_GET_GATEWAY_FAILURE_ERROR=new HDLLinkCode(-2104, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_GET_GATEWAY_FAILURE_ERROR));
-    public static final HDLLinkCode HDL_GET_Zigbee_FAILURE_ERROR=new HDLLinkCode(-2105, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_GET_Zigbee_FAILURE_ERROR));
-    public static final HDLLinkCode HDL_GATEWAY_NOT_EXIST=new HDLLinkCode(-2106,HDLLinkLocalSdk.getInstance().getContext().getString( R.string.HDL_GATEWAY_NOT_EXIST));
-    public static final HDLLinkCode HDL_GET_Zigbee_DEVICE_LIST_FAILURE_ERROR=new HDLLinkCode(-2107, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_GET_Zigbee_DEVICE_LIST_FAILURE_ERROR));
-    public static final HDLLinkCode HDL_MILLIMETER_NOT_EXIST=new HDLLinkCode(-2108, HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_MILLIMETER_NOT_EXIST));
-    public static final HDLLinkCode HDL_APPLICATION_CODE=new HDLLinkCode(-2109,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_APPLICATION_EXCEPTION));
-    public static final HDLLinkCode HDL_TOPIC_NOT_RIGHT=new HDLLinkCode(-2110,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_TOPIC_NOT_RIGHT));
-    public static final HDLLinkCode HDL_OBJECT_NOT_SUPPORT=new HDLLinkCode(-2111,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_OBJECT_NOT_SUPPORT));
-    public static final HDLLinkCode HDL_GATEWAY_REMOTE_NOT_RESPONSE=new HDLLinkCode(-2112,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.HDL_GATEWAY_REMOTE_NOT_RESPONSE));
-    public static final HDLLinkCode HDL_SUCCESS=new HDLLinkCode(0,HDLLinkLocalSdk.getInstance().getContext().getString(R.string.SUCCESS));
-    private String msg;
-    private int code;
-
-    public HDLLinkCode(int code, String msg) {
-        this.msg = msg;
-        this.code = code;
-    }
-    public String getMsg() {
-        return msg;
-    }
-
-    public void setMsg(String msg) {
-        this.msg = msg;
-    }
-
-    public int getCode() {
-        return code;
-    }
-
-    public void setCode(int code) {
-        this.code = code;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/exception/HDLLinkException.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/exception/HDLLinkException.java
deleted file mode 100644
index 040ff3b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/exception/HDLLinkException.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.hdl.sdk.link.common.exception;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Tong on 2021/11/11.
- */
-public class HDLLinkException extends RuntimeException {
-
-    private int code = 0;
-    private String msg = "";
-    private Throwable rawThrowable;
-
-    public HDLLinkException() {
-    }
-
-    public HDLLinkException(String msg) {
-        this.msg = msg;
-    }
-
-    public HDLLinkException(int code, String msg) {
-        this.code = code;
-        this.msg = msg;
-    }
-
-    public HDLLinkException(int code) {
-        this.code = code;
-    }
-
-    public HDLLinkException(Throwable rawThrowable) {
-        this.rawThrowable = rawThrowable;
-    }
-
-    public int getCode() {
-        return code;
-    }
-
-    public void setCode(int code) {
-        this.code = code;
-    }
-
-    public @NonNull
-    String getMsg() {
-        return msg;
-    }
-
-    public void setMsg(String msg) {
-        this.msg = msg;
-    }
-
-    public Throwable getRawThrowable() {
-        return rawThrowable;
-    }
-
-    public void setRawThrowable(Throwable rawThrowable) {
-        this.rawThrowable = rawThrowable;
-    }
-
-    public static HDLLinkException getErrorWithCode(HDLLinkCode code){
-        return new HDLLinkException(code.getCode(), code.getMsg());
-    }
-
-    public static HDLLinkException getErrorWithCode(int code,String msg){
-        return new HDLLinkException(code,msg);
-    }
-}
-
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ByteUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ByteUtils.java
deleted file mode 100644
index e4f6a9d..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ByteUtils.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.Key;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
-
-/**
- * Created by Tong on 2021/9/23.
- */
-public class ByteUtils {
-
-    public static byte[] toByteArray(List<Byte> list) {
-        Byte[] temps = list.toArray(new Byte[0]);
-        byte[] result = new byte[temps.length];
-        for (int i = 0; i < result.length; i++) {
-            result[i] = temps[i];
-        }
-        return result;
-
-    }
-
-
-    public static List<Byte> toByteList(byte[] bytes) {
-        final List<Byte> list = new ArrayList<>();
-        for (byte aByte : bytes) {
-            list.add(aByte);
-        }
-        return list;
-
-    }
-
-    public static byte[] getRangeBytes(List<Byte> list, int start, int end) {
-        Byte[] temps = Arrays.copyOfRange(list.toArray(new Byte[0]), start, end);
-        byte[] result = new byte[temps.length];
-        for (int i = 0; i < temps.length; i++) {
-            result[i] = temps[i];
-        }
-        return result;
-
-    }
-
-    public static byte[] copyBytes(byte bytes[], int index, int length) {
-        byte[] result = new byte[length];
-        for (int i = 0; i < result.length; i++) {
-            result[i] = bytes[index + i];
-        }
-        return result;
-    }
-
-    /**
-     * 鎷兼帴byte
-     */
-    public static byte[] concatBytes(byte[] bt1, byte[] bt2) {
-        if (bt1 == null) {
-            return bt2;
-        }
-        if (bt2 == null) {
-            return bt1;
-        }
-        byte[] bt3 = new byte[bt1.length + bt2.length];
-        System.arraycopy(bt1, 0, bt3, 0, bt1.length);
-        System.arraycopy(bt2, 0, bt3, bt1.length, bt2.length);
-        return bt3;
-    }
-
-
-    public boolean endWith(Byte[] src, byte[] target) {
-        if (src.length < target.length) {
-            return false;
-        }
-        for (int i = 0; i < target.length; i++) {
-            if (target[target.length - i - 1] != src[src.length - i - 1]) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-
-    public static int byteIndexOf(byte[] searched, byte[] find, int start) {
-        boolean matched;
-        int end = find.length - 1;
-        int skip = 0;
-        for (int index = start; index <= searched.length - find.length; ++index) {
-            matched = true;
-            if (find[0] != searched[index] || find[end] != searched[index + end]) continue;
-            else skip++;
-            if (end > 10)
-                if (find[skip] != searched[index + skip] || find[end - skip] != searched[index + end - skip])
-                    continue;
-                else skip++;
-            for (int subIndex = skip; subIndex < find.length - skip; ++subIndex) {
-                if (find[subIndex] != searched[index + subIndex]) {
-                    matched = false;
-                    break;
-                }
-            }
-            if (matched) {
-                return index;
-            }
-        }
-        return -1;
-
-    }
-
-    public static int getByteIndexOf(byte[] sources, byte[] src) {
-        return getByteIndexOf(sources, src, 0, sources.length);
-    }
-
-    //鍒ゆ柇涓�涓猙yte鏁板�煎湪鍙﹀涓�涓猙yte鏁扮粍涓搴旂殑娓告爣鍊�
-    public static int getByteIndexOf(byte[] sources, byte[] src, int startIndex) {
-        return getByteIndexOf(sources, src, startIndex, sources.length);
-    }
-
-
-    //鍒ゆ柇涓�涓猙yte鏁板�煎湪鍙﹀涓�涓猙yte鏁扮粍涓搴旂殑娓告爣鍊硷紝鎸囧畾寮�濮嬬殑娓告爣鍜岀粨鏉熺殑娓告爣浣嶇疆
-    public static int getByteIndexOf(byte[] sources, byte[] src, int startIndex, int endIndex) {
-
-        if (sources == null || src == null || sources.length == 0 || src.length == 0) {
-            return -1;
-        }
-
-        if (endIndex > sources.length) {
-            endIndex = sources.length;
-        }
-
-        int i, j;
-        for (i = startIndex; i < endIndex; i++) {
-            if (sources[i] == src[0] && i + src.length < endIndex) {
-                for (j = 1; j < src.length; j++) {
-                    if (sources[i + j] != src[j]) {
-                        break;
-                    }
-                }
-
-                if (j == src.length) {
-                    return i;
-                }
-            }
-        }
-        return -1;
-    }
-
-    /**
-     * 瀛楃涓瞭o Bytes
-     *
-     * @param str 瀛楃涓�
-     * @return
-     */
-    public static byte[] stringToBytes(String str) {
-        try {
-            // 浣跨敤鎸囧畾鐨勫瓧绗﹂泦灏嗘瀛楃涓茬紪鐮佷负byte搴忓垪骞跺瓨鍒颁竴涓猙yte鏁扮粍涓�
-            return str.getBytes("utf-8");
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        }
-        return new byte[]{};
-    }
-
-    public static String byte2hex(byte[] bytes) {
-        StringBuilder sb = new StringBuilder();
-        String tmp = null;
-        for (byte b : bytes) {
-            //灏嗘瘡涓瓧鑺備笌0xFF杩涜涓庤繍绠楋紝鐒跺悗杞寲涓�10杩涘埗锛岀劧鍚庡�熷姪浜嶪nteger鍐嶈浆鍖栦负16杩涘埗
-            tmp = Integer.toHexString(0xFF & b);
-            if (tmp.length() == 1) {
-                tmp = "0" + tmp;
-            }
-            sb.append(tmp + " ");
-        }
-        return sb.toString();
-    }
-
-
-    public static int bytes2int(byte[] bytes) {
-        return bytes[3] & 0xFF | //
-                (bytes[2] & 0xFF) << 8 | //
-                (bytes[1] & 0xFF) << 16 | //
-                (bytes[0] & 0xFF) << 24; //
-    }
-
-
-    public static byte[] intToByteArray(int i) {
-        byte[] result = new byte[4];
-        result[0] = (byte) ((i >> 24) & 0xFF);
-        result[1] = (byte) ((i >> 16) & 0xFF);
-        result[2] = (byte) ((i >> 8) & 0xFF);
-        result[3] = (byte) (i & 0xFF);
-        return result;
-    }
-
-    public static int byteArrayToInt(byte[] b) {
-        int i = (b[0] & 0xFF) * 256 * 256 * 256 + (b[1] & 0xFF) * 256 * 256 + (b[2] & 0xFF) * 256 + (b[3] & 0xFF);
-        return i;
-    }
-
-    /**
-     * 瑙e瘑
-     *
-     * @param contentByte 寰呰В瀵嗗緟瀛楃涓瞙exStr
-     * @param contentByte 瀵嗛挜
-     * @return
-     */
-    public static byte[] decrypt(byte[] contentByte) {
-        try {
-            //KEY杞崲
-            Key key = new SecretKeySpec("HDLRDCENTER1985.".getBytes(), "AES");
-            //瑙e瘑
-            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
-            IvParameterSpec ivps = new IvParameterSpec("HDLRDCENTER1985.".getBytes());
-            cipher.init(Cipher.DECRYPT_MODE, key, ivps);
-            byte[] result = cipher.doFinal(contentByte);
-            return result;
-        } catch (NoSuchAlgorithmException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidKeyException e) {
-            LogUtils.e(e.getMessage());
-        } catch (NoSuchPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (BadPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (IllegalBlockSizeException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidAlgorithmParameterException e) {
-            LogUtils.e(e.getMessage());
-        }
-        return null;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ErrorUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ErrorUtils.java
deleted file mode 100644
index 52bc4cd..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ErrorUtils.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-
-import com.hdl.sdk.link.HDLLinkLocalSdk;
-import com.hdl.sdk.link.R;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-
-import java.util.HashMap;
-
-/**
- * Created by hxb on 2023/4/22.
- */
-public class ErrorUtils {
-    //閿�:code 鍊硷細涓嫳鏂囨弿杩�
-    public static final HashMap<String, String> errorsMap = new HashMap<>();
-
-
-
-    /**
-     * 閫氳繃鐘舵�佺爜鑾峰彇寮傚父瀵硅薄
-     * @param code 鐘舵�佺爜
-     * @return 寮傚父瀵硅薄
-     */
-    public static HDLLinkCode getByCode(int code) {
-        String msg = errorsMap.get(code + "");
-        if (msg == null) {
-            msg = "unkown";
-        }
-        return new HDLLinkCode(code, msg);
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/IdUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/IdUtils.java
deleted file mode 100644
index 2b8e659..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/IdUtils.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-
-import java.util.UUID;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class IdUtils {
-    public static String getUUId() {
-        return UUID.randomUUID().toString().replaceAll("-", "");
-    }
-
-    /**
-     * Uid 鍒楄〃鍒涘缓浣跨敤
-     * @return
-     */
-    public static String getUUIdWithBar() {
-        return UUID.randomUUID().toString();
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/IpUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/IpUtils.java
deleted file mode 100644
index aadb63e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/IpUtils.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-
-import android.content.Context;
-import android.net.wifi.WifiInfo;
-import android.net.wifi.WifiManager;
-
-import java.net.InetAddress;
-import java.net.InterfaceAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.util.Enumeration;
-
-/**
- * Created by Tong on 2021/9/27.
- */
-public class IpUtils {
-
-    /**
-     * @return 骞挎挱鍦板潃
-     */
-    public static String getBroadcastAddress() {
-        try {
-            for (Enumeration<NetworkInterface> niEnum = NetworkInterface.getNetworkInterfaces();
-                 niEnum.hasMoreElements(); ) {
-                NetworkInterface ni = niEnum.nextElement();
-                if (!ni.isLoopback()) {
-                    for (InterfaceAddress interfaceAddress : ni.getInterfaceAddresses()) {
-                        if (interfaceAddress.getBroadcast() != null) {
-                            return interfaceAddress.getBroadcast().toString().substring(1);
-                        }
-                    }
-                }
-            }
-        } catch (SocketException e) {
-            e.printStackTrace();
-        }
-        return "255.255.255.255";
-    }
-
-    public static boolean isLocalIpAddress(String ipAddress) {
-        try {
-            for (Enumeration<NetworkInterface> niEnum = NetworkInterface.getNetworkInterfaces();
-                 niEnum.hasMoreElements(); ) {
-                NetworkInterface ni = niEnum.nextElement();
-                for (InterfaceAddress interfaceAddress : ni.getInterfaceAddresses()) {
-                    if (ipAddress.equals(interfaceAddress.getAddress().getHostAddress())) {
-                        return true;
-                    }
-                }
-            }
-        } catch (SocketException e) {
-            e.printStackTrace();
-        }
-        return false;
-    }
-
-    public static String getIP(Context application) {
-        WifiManager wifiManager = (WifiManager) application.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
-        if (!wifiManager.isWifiEnabled()) {
-            try {
-                for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
-                    NetworkInterface intf = en.nextElement();
-                    for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
-                        InetAddress inetAddress = enumIpAddr.nextElement();
-                        if (!inetAddress.isLoopbackAddress()) {
-                            return inetAddress.getHostAddress();
-                        }
-                    }
-                }
-            } catch (SocketException e) {
-                e.printStackTrace();
-            }
-        } else {
-            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
-            int ipAddress = wifiInfo.getIpAddress();
-            return intToIp(ipAddress);
-        }
-        return null;
-    }
-
-
-    private static String intToIp(int i) {
-
-        return (i & 0xFF) + "." +
-                ((i >> 8) & 0xFF) + "." +
-                ((i >> 16) & 0xFF) + "." +
-                (i >> 24 & 0xFF);
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LockArrayMap.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LockArrayMap.java
deleted file mode 100644
index aa75a6e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LockArrayMap.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.collection.ArrayMap;
-
-/**
- * Created by hxb on 2022/10/17.
- */
-public class LockArrayMap<K,V> extends ArrayMap<K, V> {
-    @Nullable
-    @Override
-    public V put(K key, V value) {
-        synchronized (this) {
-            return super.put(key, value);
-        }
-    }
-
-    @Override
-    public boolean remove(Object key, Object value) {
-        synchronized (this) {
-            return super.remove(key, value);
-        }
-    }
-
-    @Override
-    public boolean containsKey(@Nullable Object key) {
-        synchronized (this) {
-            return super.containsKey(key);
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LockList.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LockList.java
deleted file mode 100644
index 715d63d..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LockList.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.collection.ArrayMap;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-/**
- * Created by hxb on 2022/10/17.
- */
-public class LockList<T> extends ArrayList<T> {
-
-    @Override
-    public boolean add(T t) {
-        synchronized (this) {
-            return super.add(t);
-        }
-    }
-
-    @Override
-    public T remove(int index) {
-        synchronized (this) {
-            return super.remove(index);
-        }
-    }
-
-    @Override
-    public boolean contains(@Nullable Object o) {
-        synchronized (this) {
-            return super.contains(o);
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LogUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LogUtils.java
deleted file mode 100644
index 1228aad..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/LogUtils.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-
-import android.util.Log;
-
-/**
- * Created by Tong on 2021/9/23.
- */
-public class LogUtils {
-
-    private static final String TAG = "HDLSDK";
-
-    private static boolean isEnabled = true;
-
-    public static boolean isEnabled() {
-        return isEnabled;
-    }
-
-    public static void setEnabled(boolean enabled) {
-        isEnabled = enabled;
-    }
-
-    public static void d(String tag, String msg) {
-        if (tag != null && msg != null && isEnabled) {
-            Log.d(TAG, tag + "-- " + msg);
-        }
-    }
-
-    public static void e(String tag, String msg) {
-        if (tag != null && msg != null && isEnabled) {
-            Log.e(TAG, tag + "-- " + msg);
-        }
-    }
-
-    public static void w(String tag, String msg) {
-        if (tag != null && msg != null && isEnabled) {
-            Log.w(TAG, tag + "-- " + msg);
-        }
-    }
-
-    public static void v(String tag, String msg) {
-        if (tag != null && msg != null && isEnabled) {
-            Log.v(TAG, tag + "-- " + msg);
-        }
-    }
-
-    public static void i(String tag, String msg) {
-        if (tag != null && msg != null && isEnabled) {
-            Log.i(TAG, tag + "-- " + msg);
-        }
-    }
-
-    public static void i(String msg) {
-        if (msg != null && isEnabled) {
-            Log.i(TAG, msg);
-        }
-    }
-
-    public static void e(String msg) {
-        if (msg != null && isEnabled) {
-            Log.e(TAG,  msg);
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/SPUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/SPUtils.java
deleted file mode 100644
index f5b8810..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/SPUtils.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-
-import androidx.annotation.NonNull;
-
-
-import com.hdl.sdk.link.HDLLinkLocalSdk;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Created by Tong on 2021/9/28.
- */
-public class SPUtils {
-    private static final String APP_PREFERENCES_KEY = "profile";
-    private static SharedPreferences PREFERENCES =
-            HDLLinkLocalSdk.getInstance().getContext().getApplicationContext().getSharedPreferences(APP_PREFERENCES_KEY, Context.MODE_PRIVATE);
-
-    private static SharedPreferences getAppPreference() {
-        if (PREFERENCES == null) {
-            PREFERENCES = HDLLinkLocalSdk.getInstance().getContext().getApplicationContext().getSharedPreferences(APP_PREFERENCES_KEY, Context.MODE_PRIVATE);
-        }
-        return PREFERENCES;
-    }
-
-
-    //======閫氱敤瀛樺偍========
-    public static void put(@NonNull final String key, final String value) {
-        getAppPreference().edit().putString(key, value).apply();
-    }
-
-
-    public static String getString(@NonNull final String key) {
-        return getString(key, "");
-    }
-
-
-    public static String getString(@NonNull final String key, final String defaultValue) {
-        return getAppPreference().getString(key, defaultValue);
-    }
-
-
-    public static void put(@NonNull final String key, final int value) {
-        put(key, value, false);
-    }
-
-
-    public static void put(@NonNull final String key, final int value, final boolean isCommit) {
-        getAppPreference().edit().putInt(key, value).apply();
-    }
-
-
-    public static int getInt(@NonNull final String key) {
-        return getInt(key, -1);
-    }
-
-
-    public static int getInt(@NonNull final String key, final int defaultValue) {
-        return getAppPreference().getInt(key, defaultValue);
-    }
-
-
-    public static void put(@NonNull final String key, final long value) {
-        getAppPreference().edit().putLong(key, value).apply();
-    }
-
-
-    public static long getLong(@NonNull final String key) {
-        return getLong(key, -1L);
-    }
-
-
-    public static long getLong(@NonNull final String key, final long defaultValue) {
-        return getAppPreference().getLong(key, defaultValue);
-    }
-
-
-    public static void put(@NonNull final String key, final float value) {
-        getAppPreference().edit().putFloat(key, value).apply();
-    }
-
-
-    public static float getFloat(@NonNull final String key) {
-        return getFloat(key, -1f);
-    }
-
-
-    public static float getFloat(@NonNull final String key, final float defaultValue) {
-        return getAppPreference().getFloat(key, defaultValue);
-    }
-
-
-    public static void put(@NonNull final String key, final boolean value) {
-        getAppPreference().edit().putBoolean(key, value).apply();
-    }
-
-
-    public static boolean getBoolean(@NonNull final String key) {
-        return getBoolean(key, false);
-    }
-
-
-    public static boolean getBoolean(@NonNull final String key, final boolean defaultValue) {
-        return getAppPreference().getBoolean(key, defaultValue);
-    }
-
-
-    public static void put(@NonNull final String key,
-                           final Set<String> value
-    ) {
-
-        getAppPreference().edit().putStringSet(key, value).apply();
-
-    }
-
-
-    public static Set<String> getStringSet(@NonNull final String key) {
-        return getStringSet(key, Collections.<String>emptySet());
-    }
-
-
-    public static Set<String> getStringSet(@NonNull final String key,
-                                           final Set<String> defaultValue) {
-        return getAppPreference().getStringSet(key, defaultValue);
-    }
-
-
-    public static Map<String, ?> getAll() {
-        return getAppPreference().getAll();
-    }
-
-
-    public static boolean contains(@NonNull final String key) {
-        return getAppPreference().contains(key);
-    }
-
-
-    public static void remove(@NonNull final String key) {
-        getAppPreference().edit().remove(key).apply();
-    }
-
-    public static void clear() {
-        getAppPreference()
-                .edit()
-                .clear()
-                .apply();
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ThreadToolUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ThreadToolUtils.java
deleted file mode 100644
index 5110598..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/ThreadToolUtils.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.hdl.sdk.link.common.utils;
-
-import android.os.Handler;
-import android.os.Looper;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-
-/**
- * Created by Tong on 2021/9/15.
- */
-public class ThreadToolUtils {
-
-    private final Handler uiHandler = new Handler(Looper.getMainLooper());
-
-    //cpu 鏈�澶х嚎绋嬪绾抽噺
-    private final int coreSize = Runtime.getRuntime().availableProcessors() + 1;
-
-    private ThreadToolUtils() {
-    }
-
-    private static class SingletonInstance {
-        private static final ThreadToolUtils INSTANCE = new ThreadToolUtils();
-    }
-
-    public static ThreadToolUtils getInstance() {
-        return SingletonInstance.INSTANCE;
-    }
-
-
-    /**
-     * 绾跨▼鏁伴噺鍥哄畾鐨勭嚎绋嬫睜
-     */
-    public ExecutorService newFixedThreadPool(int size) {
-        if (size == 0 || coreSize < size) {
-            return Executors.newFixedThreadPool(coreSize);
-        }
-        return Executors.newFixedThreadPool(size);
-    }
-
-    /**
-     * 瀹氭椂浠诲姟绾跨▼姹�
-     */
-    public ScheduledExecutorService newScheduledThreadPool(int size) {
-        if (size == 0 || coreSize < size) {
-            return Executors.newScheduledThreadPool(coreSize);
-        }
-        return Executors.newScheduledThreadPool(size);
-    }
-
-    /**
-     * 鍗曚竴绾跨▼
-     */
-    public ExecutorService newSingleThreadPool() {
-        return Executors.newSingleThreadExecutor();
-    }
-
-
-    public ExecutorService newCachedThreadPool() {
-        return Executors.newCachedThreadPool();
-    }
-
-    /**
-     * 鍒囨崲鍥炰富绾跨▼
-     */
-    public void runOnUiThread(Runnable run) {
-        uiHandler.post(run);
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/gson/GsonConvert.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/gson/GsonConvert.java
deleted file mode 100644
index 4ba481b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/gson/GsonConvert.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.hdl.sdk.link.common.utils.gson;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonDeserializationContext;
-import com.google.gson.JsonDeserializer;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonParseException;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-
-import java.lang.reflect.Type;
-
-/**
- * Created by Tong on 2021/9/8.
- */
-public class GsonConvert {
-
-    private static Gson gson = null;
-
-    public static Gson getGson() {
-        if (gson == null) {
-            synchronized (GsonConvert.class) {
-                if (gson == null) {
-                    gson = new GsonBuilder()
-                            .setPrettyPrinting()
-                            .disableHtmlEscaping()
-                            .registerTypeAdapter(String.class, new StringTypeAdapter())
-                            .create();
-                }
-            }
-        }
-        return gson;
-    }
-
-    public static <T> T copyProperties(Object o, Type type) {
-        return getGson().fromJson(getGson().toJson(o), type);
-    }
-
-    private static class StringTypeAdapter implements JsonSerializer<String>, JsonDeserializer<String> {
-        @Override
-        public String deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
-                throws JsonParseException {
-            if (json instanceof JsonPrimitive) {
-                return json.getAsString();
-            } else {
-                return json.toString();
-            }
-        }
-
-        @Override
-        public JsonElement serialize(String src, Type typeOfSrc, JsonSerializationContext context) {
-            return new JsonPrimitive(src);
-        }
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/gson/ParameterizedTypeImpl.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/gson/ParameterizedTypeImpl.java
deleted file mode 100644
index 642c191..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/utils/gson/ParameterizedTypeImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.hdl.sdk.link.common.utils.gson;
-
-
-import androidx.annotation.NonNull;
-
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-/**
- * Created by Tong on 2021/9/17.
- */
-public class ParameterizedTypeImpl implements ParameterizedType {
-
-    private final Type[] actualTypeArguments;
-    private final Type rawType;
-    private final Type ownerType;
-
-    public ParameterizedTypeImpl(Type rawType, Type[] actualTypeArguments, Type ownerType) {
-        this.ownerType = ownerType;
-        this.rawType = rawType;
-        this.actualTypeArguments = actualTypeArguments;
-    }
-
-    public static Type getType(Type rawType, Type[] actualTypeArguments) {
-        return new ParameterizedTypeImpl(rawType, actualTypeArguments, null);
-    }
-
-    @NonNull
-    @Override
-    public Type[] getActualTypeArguments() {
-        return actualTypeArguments;
-    }
-
-
-    @NonNull
-    @Override
-    public Type getRawType() {
-        return rawType;
-    }
-
-
-    @Override
-    public Type getOwnerType() {
-        return ownerType;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/FileRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/FileRequest.java
deleted file mode 100644
index 03e7995..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/FileRequest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.hdl.sdk.link.core.bean;
-
-
-/**
- * Created by Tong on 2021/9/29.
- */
-public class FileRequest extends LinkRequest {
-
-    private String fileId;
-    private Integer command;
-    private byte []fileData;
-
-//    private static int info_number;
-    public FileRequest(String topic, String data, boolean encrypt) {
-        super(topic, data, encrypt);
-    }
-
-
-    public FileRequest(String fileId, Integer command, byte []fileData,boolean encrypt) {
-        this.fileId = fileId;
-        this.command = command;
-        this.fileData = fileData;
-//        super.setEncrypt(encrypt);
-        super.setEncrypt(false);
-//        info_number++;
-//        byte[] headBytes = ("hex" + info_number).getBytes();
-//        byte[] sendDataBytes = ByteUtils.concatBytes(headBytes, fileData);
-        super.setData(fileData);
-    }
-
-    @Override
-    public byte [] getSendBytes() {
-        return getData();
-    }
-
-    public String getTopic() {
-        return fileId + "_" + command;
-    }
-
-    public String getAckTopic() {
-        return fileId + "_" + ++command;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkPacket.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkPacket.java
deleted file mode 100644
index 088f82f..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkPacket.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.hdl.sdk.link.core.bean;
-
-/**
- * Created by hxb on 2022/8/4.
- */
-public class LinkPacket {
-    /**
-     * 涓婚鍐呭
-     */
-    private String topic;
-    /**
-     * 鍘熷鎺ユ敹鐨勬暟鎹紝鍙兘闇�瑕佽В瀵�
-     */
-    private byte []body;
-
-    private boolean cloudPacket;
-
-    public LinkPacket(String topic, byte[] body) {
-        this(topic,body,false);
-    }
-
-    public LinkPacket(String topic, byte[] body,boolean cloudPacket) {
-        this.topic = topic;
-        this.body = body;
-        this.cloudPacket=cloudPacket;
-    }
-
-
-    public String getTopic() {
-        return topic;
-    }
-
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    public byte[] getBody() {
-        return body;
-    }
-
-    public void setBody(byte[] body) {
-        this.body = body;
-    }
-
-    public boolean isCloudPacket() {
-        return cloudPacket;
-    }
-
-    public void setCloudPacket(boolean cloudPacket) {
-        this.cloudPacket = cloudPacket;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkRequest.java
deleted file mode 100644
index 2f8e8d7..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkRequest.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package com.hdl.sdk.link.core.bean;
-
-import android.text.TextUtils;
-
-import com.hdl.sdk.link.common.utils.ByteUtils;
-
-
-/**
- * Created by Tong on 2021/9/29.
- */
-public class LinkRequest {
-    private String topic;
-    private String replyTopic;
-    protected byte []data;
-    private int length=0;
-
-    private boolean encrypt;
-
-    public String getCloudTopic() {
-        if(TextUtils.isEmpty(cloudTopic)){
-            return topic;
-        }
-        return cloudTopic;
-    }
-
-    /**
-     * 骞冲彴topic
-     * @param cloudTopic
-     */
-    public void setCloudTopic(String cloudTopic) {
-        this.cloudTopic = cloudTopic;
-    }
-
-    private String cloudTopic;
-
-
-    public LinkRequest(String topic,String replyTopic, String data, boolean encrypt) {
-        this.topic = topic;
-        this.replyTopic=replyTopic;
-        setData(data);
-        this.encrypt = encrypt;
-    }
-
-    public LinkRequest(String topic, String data, boolean encrypt) {
-        this(topic,null,data,encrypt);
-    }
-    public LinkRequest(String topic, byte []data, boolean encrypt) {
-        this.topic = topic;
-        setData(data);
-        this.encrypt = encrypt;
-    }
-
-    protected LinkRequest(){}
-
-    public String getTopic() {
-        return topic;
-    }
-
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    public byte[] getData() {
-        return data;
-    }
-
-    public void setData(String data) {
-        if (!TextUtils.isEmpty(data)) {
-            this.data = ByteUtils.stringToBytes(data);
-            setLength(this.data.length);
-        }
-    }
-
-    public void setData(byte []data) {
-        this.data = data;
-        if(data!=null){
-            setLength(data.length);
-        }
-    }
-
-    public int getLength() {
-        return length;
-    }
-
-    private void setLength(int length) {
-        this.length = length;
-    }
-
-    /**
-     * 鍔犲瘑鏍囪瘑
-     *
-     * @return
-     */
-    public boolean isEncrypt() {
-        return encrypt;
-    }
-
-    /**
-     * 鍔犲瘑鏍囪瘑
-     *
-     * @param encrypt
-     */
-    public void setEncrypt(boolean encrypt) {
-        this.encrypt = encrypt;
-    }
-
-    public String getReplyTopic() {
-        if(TextUtils.isEmpty(replyTopic)){
-            return topic+"_reply";
-        }
-        return replyTopic;
-    }
-
-    public void setReplyTopic(String replyTopic) {
-        this.replyTopic = replyTopic;
-    }
-
-    public byte [] getSendBytes() {
-        try {
-            String header = "Topic:" +
-                    getTopic() +
-                    "\r\n" +
-                    "Length:" +
-                    getLength() +
-                    "\r\n\r\n";
-            return ByteUtils.concatBytes(header.getBytes("utf-8"), getData());
-        } catch (Exception e) {
-            return new byte[]{};
-        }
-    }
-
-    public byte [] getCloudSendBytes() {
-        try {
-            //link閫忎紶鍛戒护锛屽唴瀹归渶瑕佸寘鍚富棰橈紝闀垮害
-            if(getCloudTopic().contains("/native/a/down/slaveoid/")){
-                return getSendBytes();
-            }else {
-                return getData();
-            }
-        } catch (Exception e) {
-            return new byte[]{};
-        }
-    }
-
-
-    private int getBytesLength(String str) {
-        return ByteUtils.stringToBytes(str).length;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkResponse.java
deleted file mode 100644
index ad2f655..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/LinkResponse.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.hdl.sdk.link.core.bean;
-
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-
-import java.io.Serializable;
-
-/**
- * Created by Tong on 2021/9/27.
- */
-public class LinkResponse implements Serializable {
-
-    private String topic;
-    private String data;
-    private int length;
-    private byte []byteData;
-    private int code;
-    private int msg;
-
-    public String getTopic() {
-        return topic;
-    }
-
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    public String getData() {
-        return data;
-    }
-
-    public void setByteData(byte []data) {
-        this.byteData = data;
-        this.data = new String(data);
-        this.length=data.length;
-    }
-
-    public byte []getByteData() {
-        return byteData;
-    }
-
-    public void setData(String data) {
-        this.data = data;
-        if (!TextUtils.isEmpty(data)) {
-            this.byteData = data.getBytes();
-            setLength(data.length());
-        } else {
-            setLength(0);
-        }
-
-    }
-
-    public int getLength() {
-        return length;
-    }
-
-    private void setLength(int length) {
-        this.length = length;
-    }
-
-    @NonNull
-    @Override
-    public String toString() {
-        return GsonConvert.getGson().toJson(this);
-    }
-
-    /**
-     * 鍝嶅簲鐘舵�佺爜
-     * @return
-     */
-    public int getCode() {
-        return code;
-    }
-
-    public void setCode(int code) {
-        this.code = code;
-    }
-
-    /**
-     * 鍝嶅簲娑堟伅
-     * @return
-     */
-    public int getMsg() {
-        return msg;
-    }
-
-    public void setMsg(int msg) {
-        this.msg = msg;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/ModbusResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/ModbusResponse.java
deleted file mode 100644
index 27c22b0..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/ModbusResponse.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.hdl.sdk.link.core.bean;
-
-import androidx.annotation.NonNull;
-
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-
-import java.io.Serializable;
-
-/**
- * Created by hxb on 2021/12/19.
- */
-public class ModbusResponse implements Serializable {
-
-    /**
-     * 鍘熺敓涓婚
-     */
-    private String topic;
-    /**
-     * 鍘熺敓鏁版嵁
-     */
-    private int []data;
-
-    /**
-     * 缃戝叧Oid
-     */
-    private String oid;
-
-
-    /**
-     * 鑾峰彇鍘熺敓涓婚
-     *
-     * @return
-     */
-    public String getTopic() {
-        return topic;
-    }
-
-    /**
-     * 璁剧疆鍘熺敓涓婚
-     *
-     * @param topic
-     */
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    /**
-     * 鑾峰彇鍘熺敓鏁版嵁
-     *
-     * @return
-     */
-    public int []getData() {
-        return data;
-    }
-
-    /**
-     * 璁剧疆鍘熺敓鏁版嵁
-     *
-     * @param data
-     */
-    public void setData(byte []data) {
-        if (data == null) {
-            return;
-        }
-        this.data = new int[data.length];
-        for (int i = 0; i < data.length; i++) {
-            this.data[i] = 0xFF & data[i];
-
-        }
-    }
-
-    /**
-     * 鑾峰彇缃戝叧涓昏淇℃伅锛屽彲鑳芥槸oid锛屽彲鑳芥槸缃戝叧Id锛屽彲鑳芥槸mac
-     *
-     * @return
-     */
-    public String getOid() {
-        return oid;
-    }
-
-    /**
-     * 璁剧疆Oid
-     *
-     * @param
-     */
-    public void setOid(String oid) {
-        this.oid = oid;
-    }
-
-    @NonNull
-    @Override
-    public String toString() {
-        return GsonConvert.getGson().toJson(this);
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/ZigbeeResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/ZigbeeResponse.java
deleted file mode 100644
index 718facb..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/ZigbeeResponse.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package com.hdl.sdk.link.core.bean;
-
-import androidx.annotation.NonNull;
-
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-
-import java.io.Serializable;
-
-/**
- * Created by hxb on 2021/12/19.
- */
-public class ZigbeeResponse implements Serializable {
-
-    /**
-     * 鍘熺敓涓婚
-     */
-    private String topic;
-    /**
-     * 鍘熺敓鏁版嵁
-     */
-    private String data;
-
-    /**
-     * 缃戝叧Oid
-     */
-    private String oid;
-
-
-    /**
-     * 鑾峰彇鍘熺敓涓婚
-     *
-     * @return
-     */
-    public String getTopic() {
-        return topic;
-    }
-
-    /**
-     * 璁剧疆鍘熺敓涓婚
-     *
-     * @param topic
-     */
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    /**
-     * 鑾峰彇鍘熺敓鏁版嵁
-     *
-     * @return
-     */
-    public String getData() {
-        return data;
-    }
-
-    /**
-     * 璁剧疆鍘熺敓鏁版嵁
-     *
-     * @param data
-     */
-    public void setData(String data) {
-        this.data = data;
-    }
-
-    /**
-     * 鑾峰彇缃戝叧涓昏淇℃伅锛屽彲鑳芥槸oid锛屽彲鑳芥槸缃戝叧Id锛屽彲鑳芥槸mac
-     *
-     * @return
-     */
-    public String getOid() {
-        return oid;
-    }
-
-    /**
-     * 璁剧疆Oid
-     *
-     * @param
-     */
-    public void setOid(String oid) {
-        this.oid = oid;
-    }
-
-    @NonNull
-    @Override
-    public String toString() {
-        return GsonConvert.getGson().toJson(this);
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/BaseEventBus.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/BaseEventBus.java
deleted file mode 100644
index 894e208..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/BaseEventBus.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-public class BaseEventBus {
-    private String topic;
-    private String type;
-    private Object data;
-
-    public String getTopic() {
-        return topic == null ? "" : topic;
-    }
-
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    public String getType() {
-        return type == null ? "" : type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public Object getData() {
-        return data;
-    }
-
-    public void setData(Object data) {
-        this.data = data;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventBindMiniRemoteSuccessInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventBindMiniRemoteSuccessInfo.java
deleted file mode 100644
index 16817ea..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventBindMiniRemoteSuccessInfo.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-/**
- * Created by Zoro
- * Created on 2021/5/24
- * description:
- */
-public class EventBindMiniRemoteSuccessInfo implements Serializable {
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventCloseSearchDeviceActivityInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventCloseSearchDeviceActivityInfo.java
deleted file mode 100644
index 256df37..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventCloseSearchDeviceActivityInfo.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-/**
- * Created by Zoro
- * Created on 2021/5/24
- * description:
- */
-public class EventCloseSearchDeviceActivityInfo implements Serializable {
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventIRCodeStudySuccessInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventIRCodeStudySuccessInfo.java
deleted file mode 100644
index bf18b72..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventIRCodeStudySuccessInfo.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2021/5/24
- * description:
- */
-public class EventIRCodeStudySuccessInfo implements Serializable {
-    private String topic;
-    private String content;
-
-    public EventIRCodeStudySuccessInfo(String topic, String content) {
-        this.topic = topic;
-        this.content = content;
-    }
-
-    public String getTopic() {
-        return topic == null ? "" : topic;
-    }
-
-    public void setTopic(@NonNull String topic) {
-        this.topic = topic;
-    }
-
-    public String getContent() {
-        return content == null ? "" : content;
-    }
-
-    public void setContent(@NonNull String content) {
-        this.content = content;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventMqttAesFailInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventMqttAesFailInfo.java
deleted file mode 100644
index 868de85..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventMqttAesFailInfo.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-/**
- * Created by Zoro
- * Created on 2021/5/24
- * description:
- */
-public class EventMqttAesFailInfo implements Serializable {
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAddAIMillimeterZTSuccessInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAddAIMillimeterZTSuccessInfo.java
deleted file mode 100644
index 5daca20..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAddAIMillimeterZTSuccessInfo.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-/**
- * Created by Zoro
- * Created on 2023/9/18
- * description:
- */
-public class EventNotifyAddAIMillimeterZTSuccessInfo implements Serializable {
-    public EventNotifyAddAIMillimeterZTSuccessInfo() {
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAddSlaveGatewaySuccessInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAddSlaveGatewaySuccessInfo.java
deleted file mode 100644
index c0b93ce..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAddSlaveGatewaySuccessInfo.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/6/29
- * description:
- */
-public class EventNotifyAddSlaveGatewaySuccessInfo implements Serializable {
-
-    private String mac;
-    private String auth_code;
-    private String result;
-    private String message;
-
-    public EventNotifyAddSlaveGatewaySuccessInfo(String mac, String auth_code, String result, String message) {
-        this.mac = mac;
-        this.auth_code = auth_code;
-        this.result = result;
-        this.message = message;
-    }
-
-    public String getMac() {
-        return mac == null ? "" : mac;
-    }
-
-    public void setMac(@NonNull String mac) {
-        this.mac = mac;
-    }
-
-    public String getAuth_code() {
-        return auth_code == null ? "" : auth_code;
-    }
-
-    public void setAuth_code(@NonNull String auth_code) {
-        this.auth_code = auth_code;
-    }
-
-    public String getResult() {
-        return result == null ? "" : result;
-    }
-
-    public void setResult(@NonNull String result) {
-        this.result = result;
-    }
-
-    public String getMessage() {
-        return message == null ? "" : message;
-    }
-
-    public void setMessage(@NonNull String message) {
-        this.message = message;
-    }
-
-    public EventNotifyAddSlaveGatewaySuccessInfo() {
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAiMillimeterZTMacInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAiMillimeterZTMacInfo.java
deleted file mode 100644
index a0004af..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyAiMillimeterZTMacInfo.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/10/19
- * description:
- */
-public class EventNotifyAiMillimeterZTMacInfo implements Serializable {
-    private String mac;
-
-    public EventNotifyAiMillimeterZTMacInfo(String mac) {
-        this.mac = mac;
-    }
-
-    public String getMac() {
-        return mac == null ? "" : mac;
-    }
-
-    public void setMac(@NonNull String mac) {
-        this.mac = mac;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyDebugModeInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyDebugModeInfo.java
deleted file mode 100644
index 29839f4..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyDebugModeInfo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2021/5/24
- * description:
- */
-public class EventNotifyDebugModeInfo implements Serializable {
-
-    private boolean isRemote;
-
-    public boolean isRemote() {
-        return isRemote;
-    }
-
-    public void setRemote(@NonNull boolean remote) {
-        isRemote = remote;
-    }
-
-    public EventNotifyDebugModeInfo(boolean isRemote) {
-        this.isRemote = isRemote;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyGetGateWayInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyGetGateWayInfo.java
deleted file mode 100644
index 5b06130..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyGetGateWayInfo.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-/**
- * Created by Zoro
- * Created on 2022/6/29
- * description:
- */
-public class EventNotifyGetGateWayInfo implements Serializable {
-} 
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyRefreshGatewayAesKeyInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyRefreshGatewayAesKeyInfo.java
deleted file mode 100644
index 3029952..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/eventbus/EventNotifyRefreshGatewayAesKeyInfo.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.hdl.sdk.link.core.bean.eventbus;
-
-import java.io.Serializable;
-
-/**
- * Created by Zoro
- * Created on 2022/6/29
- * description:
- */
-public class EventNotifyRefreshGatewayAesKeyInfo implements Serializable {
-
-    public String getGatewayId() {
-        return gatewayId;
-    }
-
-    public void setGatewayId(String gatewayId) {
-        this.gatewayId = gatewayId;
-    }
-
-    private     String gatewayId;
-
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/DeviceRemoteInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/DeviceRemoteInfo.java
deleted file mode 100644
index 465809b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/DeviceRemoteInfo.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.hdl.sdk.link.core.bean.gateway;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/10/25
- * description:
- */
-public class DeviceRemoteInfo implements Serializable {
-
-    private String gatewayId;
-    private boolean encrypt;//鏄惁鍔犲瘑
-    private int algorithmType;//0.SM4  1.AES  2.涓嶅姞瀵�
-    private String spk;
-    private String mac;//璁惧mac
-    private String secret;//绉侀挜
-
-    public String getGatewayId() {
-        return gatewayId == null ? "" : gatewayId;
-    }
-
-    public void setGatewayId(@NonNull String gatewayId) {
-        this.gatewayId = gatewayId;
-    }
-
-    public boolean isEncrypt() {
-        return encrypt;
-    }
-
-    public void setEncrypt(@NonNull boolean encrypt) {
-        this.encrypt = encrypt;
-    }
-
-    public int getAlgorithmType() {
-        return algorithmType;
-    }
-
-    public void setAlgorithmType(@NonNull int algorithmType) {
-        this.algorithmType = algorithmType;
-    }
-
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-    public void setSpk(@NonNull String spk) {
-        this.spk = spk;
-    }
-
-    public String getMac() {
-        return mac == null ? "" : mac;
-    }
-
-    public void setMac(@NonNull String mac) {
-        this.mac = mac;
-    }
-
-    public String getSecret() {
-        return secret == null ? "" : secret;
-    }
-
-    public void setSecret(@NonNull String secret) {
-        this.secret = secret;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java
deleted file mode 100644
index a16c7fd..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java
+++ /dev/null
@@ -1,478 +0,0 @@
-package com.hdl.sdk.link.core.bean.gateway;
-
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by hxb on 2021/12/15.
- * 缃戝叧瀵硅薄
- */
-public class GatewayBean implements Serializable {
-
-
-    /**
-     * true-鍦ㄧ嚎
-     * false-绂荤嚎
-     */
-    private boolean online = true;
-    /**
-     * 缃戝叧鍨嬪彿
-     */
-    private String device_model;
-    /**
-     * 缃戝叧澶囨敞
-     */
-    private String device_name;
-    /**
-     * 缃戝叧Mac
-     */
-    private String device_mac;
-    /**
-     * 缃戝叧Id
-     */
-    private String gatewayId;
-    /**
-     * 缃戝叧绫诲瀷
-     */
-    private String gatewayType;
-    private String gateway_type;
-    /**
-     * 缃戝叧oid
-     */
-    private String oid;
-    /**
-     * IP鍦板潃
-     */
-    private String ip_address;
-    /**
-     * 杩炴帴鐨勭綉鍏崇被鍨� LAN WIFI
-     */
-    private String access_mode;
-    /**
-     * 鏄惁涓荤綉鍏� true false
-     */
-    private String master;
-    /**
-     * 鏄惁鍔犲瘑
-     */
-    private boolean isLocalEncrypt;
-    /**
-     * 鏄惁鏈湴缃戝叧
-     */
-    private boolean isLocalGateWay;
-    /**
-     * 浣忓畢Id
-     */
-    private String homeId;
-
-    /**
-     * 浣跨敤mqtt鐨勬椂鍊欓渶瑕佽В瀵�
-     */
-    private String aesKey;
-    private String deviceId;
-
-    /**
-     * 姣背娉id
-     */
-    private String sid;
-
-
-
-    private String spk = "energy.hdl_inverter";
-
-
-    private String systemStatusDesc;//浜戠-鐘舵��
-
-
-    private String hwVersion;//浜戠-杞欢鐗堟湰鍙�
-    private String categorySecondName;//浜戠-璁惧绫诲瀷(浜у搧浜岀骇鍒嗙被鍚嶇О)
-
-    /**
-     * 璁惧鏉ユ簮(鑷畾涔�:0=琛ㄧず缃戝叧;1=琛ㄧず骞冲彴)
-     */
-    private String src;
-
-    //瀛愮綉鍙�/璁惧鍙�
-    private String addresses;
-
-    //缃戝叧鐘舵��:1:寰呮満,2:杩炴帴涓�,3:鏁呴殰,4:杩愯,5:绂荤嚎
-    private int deviceStatus;
-
-    private String powerPvNow;//鍙戠數鍔熺巼
-    private String totalElectricityPvToday;//浠婃棩鍙戠數閲�
-
-    /**
-     * 鎴块棿褰掑睘
-     */
-    private List<String> uids = new ArrayList<>();
-
-    public List<String> getUids() {
-        return uids;
-    }
-
-    public void setUids(List<String> uids) {
-        this.uids = uids;
-    }
-
-    public String getSrc() {
-        return src == null ? "" : this.src;
-    }
-
-    public void setSrc(String src) {
-        this.src = src;
-    }
-
-    public String getAesKey() {
-        return aesKey == null ? "" : aesKey;
-    }
-
-    public void setAesKey(@NonNull String aesKey) {
-        this.aesKey = aesKey;
-    }
-
-    public String getDeviceId() {
-        return deviceId == null ? "" : deviceId;
-    }
-
-    public void setDeviceId(@NonNull String deviceId) {
-        this.deviceId = deviceId;
-    }
-
-    public boolean getOnline() {
-        return online;
-    }
-
-    public void setOnline(boolean online) {
-        this.online = online;
-    }
-
-    /**
-     * 缃戝叧鍨嬪彿
-     */
-    public String getDevice_model() {
-        return device_model == null ? "" : device_model;
-    }
-
-    /**
-     * 缃戝叧鍨嬪彿
-     */
-    public void setDevice_model(String device_model) {
-        this.device_model = device_model;
-    }
-
-    /**
-     * 缃戝叧澶囨敞
-     */
-    public String getDevice_name() {
-        if (TextUtils.isEmpty(device_name)) {
-            return getDevice_model();
-        } else {
-
-        }
-        return device_name;
-    }
-
-    /**
-     * 妯℃澘鍖归厤鏍囪 wxr 鑷畾涔� 2022-02-23 16:09:44
-     */
-    private boolean templateSettingFlag = false;
-
-    public boolean isTemplateSettingFlag() {
-        return templateSettingFlag;
-    }
-
-    public void setTemplateSettingFlag(boolean templateSettingFlag) {
-        this.templateSettingFlag = templateSettingFlag;
-    }
-
-    private String templateAddr;
-
-    public String getTemplateAddr() {
-        return templateAddr == null ? "" : templateAddr;
-    }
-
-    public void setTemplateAddr(String templateAddr) {
-        this.templateAddr = templateAddr;
-    }
-
-
-    /**
-     * 缃戝叧澶囨敞
-     */
-    public void setDevice_name(String device_name) {
-        this.device_name = device_name;
-    }
-
-    /**
-     * 缃戝叧Mac
-     *
-     * @return
-     */
-    @NonNull
-    public String getDevice_mac() {
-        return TextUtils.isEmpty(device_mac) ? "" : device_mac;
-    }
-
-    /**
-     * 缃戝叧Mac
-     */
-    public void setDevice_mac(String device_mac) {
-        this.device_mac = device_mac;
-    }
-
-    /**
-     * 缃戝叧Id
-     */
-    @NonNull
-    public String getGatewayId() {
-        return TextUtils.isEmpty(gatewayId) ? getOid() : gatewayId;
-    }
-
-    /**
-     * 缃戝叧Id
-     */
-    public void setGatewayId(String gatewayId) {
-        this.gatewayId = gatewayId;
-    }
-
-    /**
-     * 缃戝叧绫诲瀷
-     */
-    @NonNull
-    public String getGatewayType() {
-        return gatewayType == null ? gateway_type == null ? "" : gateway_type : gatewayType;
-    }
-
-    /**
-     * 缃戝叧绫诲瀷
-     */
-    public void setGatewayType(String gatewayType) {
-        this.gatewayType = gatewayType;
-    }
-
-    @NonNull
-    public String getGateway_type() {
-        return gateway_type == null ? "" : gateway_type;
-    }
-
-    public void setGateway_type(String gateway_type) {
-        this.gateway_type = gateway_type;
-    }
-
-    /**
-     * 缃戝叧Oid
-     */
-    @NonNull
-    public String getOid() {
-        return TextUtils.isEmpty(oid) ? getDevice_mac() : oid;
-    }
-
-    /**
-     * 缃戝叧Oid
-     */
-    public void setOid(String oid) {
-        this.oid = oid;
-    }
-
-    /**
-     * IP鍦板潃
-     */
-    @NonNull
-    public String getIp_address() {
-        return ip_address == null ? "" : ip_address;
-    }
-
-    /**
-     * IP鍦板潃
-     */
-    public void setIp_address(String ip_address) {
-        this.ip_address = ip_address;
-    }
-
-    /**
-     * 杩炴帴鐨勭綉鍏崇被鍨� LAN WIFI
-     */
-    @NonNull
-    public String getAccess_mode() {
-        return access_mode == null ? "" : access_mode;
-    }
-
-    /**
-     * 杩炴帴鐨勭綉鍏崇被鍨� LAN WIFI
-     */
-    public void setAccess_mode(String access_mode) {
-        this.access_mode = access_mode;
-    }
-
-    /**
-     * 鏄惁涓荤綉鍏� true false
-     */
-    public String getMaster() {
-        return master == null ? "" : master;
-    }
-
-    /**
-     * 鏄惁涓荤綉鍏� true false no_config
-     */
-    public void setMaster(String master) {
-        this.master = master;
-    }
-
-    /**
-     * 鏄惁鍔犲瘑
-     */
-    public boolean getIsLocalEncrypt() {
-        return isLocalEncrypt;
-    }
-
-    /**
-     * 鏄惁鍔犲瘑
-     */
-    public void setIsLocalEncrypt(boolean localEncrypt) {
-        isLocalEncrypt = localEncrypt;
-    }
-
-    /**
-     * 鑾峰彇浣忓畢Id
-     */
-    @NonNull
-    public String getHomeId() {
-        return homeId == null ? "" : homeId;
-    }
-
-    /**
-     * 璁剧疆浣忓畢Id
-     */
-    public void setHomeId(String homeId) {
-        this.homeId = homeId;
-    }
-
-    /**
-     * 鑾峰彇姣背娉id
-     *
-     * @return sid
-     */
-    public String getSid() {
-        return sid == null ? "" : this.sid;
-    }
-
-    /**
-     * 璁剧疆姣背娉id
-     */
-    public void setSid(String sid) {
-        this.sid = sid;
-    }
-
-    /**
-     * 鏄惁鏈湴缃戝叧 true false
-     */
-    public void setIsLocalGateWay(boolean isLocalGateWay) {
-        this.isLocalGateWay = isLocalGateWay;
-    }
-
-    /**
-     * 鑾峰彇缃戝叧鏄惁鏈湴缃戝叧
-     */
-    public boolean getIsLocalGateway() {
-        return this.isLocalGateWay;
-    }
-
-
-    /*
-     * 妯℃澘鏍囪 wxr
-     * */
-    private boolean templateFlag = false;
-
-    public boolean isLocalEncrypt() {
-        return isLocalEncrypt;
-    }
-
-    public void setLocalEncrypt(boolean localEncrypt) {
-        isLocalEncrypt = localEncrypt;
-    }
-
-
-
-    public String getSystemStatusDesc() {
-        return systemStatusDesc == null ? "" : systemStatusDesc;
-    }
-
-
-    public void setSystemStatusDesc(String systemStatusDesc) {
-        this.systemStatusDesc = systemStatusDesc;
-    }
-
-
-    public String getHwVersion() {
-        return hwVersion == null ? "" : hwVersion;
-    }
-
-
-    public void setHwVersion(String hwVersion) {
-        this.hwVersion = hwVersion;
-    }
-
-
-    public String getCategorySecondName() {
-        return categorySecondName == null ? "" : categorySecondName;
-    }
-
-    public void setCategorySecondName(String categorySecondName) {
-        this.categorySecondName = categorySecondName;
-    }
-
-
-    public String getAddresses() {
-        return addresses == null ? "" : addresses;
-    }
-
-
-    public void setAddresses(String addresses) {
-        this.addresses = addresses;
-    }
-
-
-    public int getDeviceStatus() {
-        return deviceStatus;
-    }
-
-
-    public void setDeviceStatus(int deviceStatus) {
-        this.deviceStatus = deviceStatus;
-    }
-
-
-    public String getPowerPvNow() {
-        return powerPvNow == null ? "" : powerPvNow;
-    }
-
-
-    public void setPowerPvNow(String powerPvNow) {
-        this.powerPvNow = powerPvNow;
-    }
-
-
-    public String getTotalElectricityPvToday() {
-        return totalElectricityPvToday == null ? "" : totalElectricityPvToday;
-    }
-
-
-    public void setTotalElectricityPvToday(String totalElectricityPvToday) {
-        this.totalElectricityPvToday = totalElectricityPvToday;
-    }
-
-
-    public String getSpk() {
-        return spk == null ? "" : spk;
-    }
-
-
-    public void setSpk(String spk) {
-        this.spk = spk;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/SlaveGatewayJoinAllBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/SlaveGatewayJoinAllBean.java
deleted file mode 100644
index e707f63..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/SlaveGatewayJoinAllBean.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.hdl.sdk.link.core.bean.gateway;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/10/24
- * description:
- */
-public class SlaveGatewayJoinAllBean implements Serializable {
-    private String id;
-    private String time_stamp;
-    private List<SlaveGatewayJoinBean> objects = new ArrayList<>();
-
-    public String getId() {
-        return id == null ? "" : id;
-    }
-
-    public void setId(@NonNull String id) {
-        this.id = id;
-    }
-
-    public String getTime_stamp() {
-        return time_stamp == null ? "" : time_stamp;
-    }
-
-    public void setTime_stamp(@NonNull String time_stamp) {
-        this.time_stamp = time_stamp;
-    }
-
-    public List<SlaveGatewayJoinBean> getObjects() {
-        if (objects == null) {
-            return objects = new ArrayList<>();
-        }
-        return objects;
-    }
-
-    public void setObjects(@NonNull List<SlaveGatewayJoinBean> objects) {
-        this.objects = objects;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/SlaveGatewayJoinBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/SlaveGatewayJoinBean.java
deleted file mode 100644
index 0bccc53..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/SlaveGatewayJoinBean.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.hdl.sdk.link.core.bean.gateway;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2023/10/24
- * description:
- */
-public class SlaveGatewayJoinBean implements Serializable {
-    private String mac;
-    private String auth_code;
-    private String result;
-    private String message;
-
-    public String getMac() {
-        return mac == null ? "" : mac;
-    }
-
-    public void setMac(@NonNull String mac) {
-        this.mac = mac;
-    }
-
-    public String getAuth_code() {
-        return auth_code == null ? "" : auth_code;
-    }
-
-    public void setAuth_code(@NonNull String auth_code) {
-        this.auth_code = auth_code;
-    }
-
-    public String getResult() {
-        return result == null ? "" : result;
-    }
-
-    public void setResult(@NonNull String result) {
-        this.result = result;
-    }
-
-    public String getMessage() {
-        return message == null ? "" : message;
-    }
-
-    public void setMessage(@NonNull String message) {
-        this.message = message;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/AuthenticateRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/AuthenticateRequest.java
deleted file mode 100644
index a77548c..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/AuthenticateRequest.java
+++ /dev/null
@@ -1,310 +0,0 @@
-package com.hdl.sdk.link.core.bean.request;
-
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 11/11/21.
- *
- * @Description : AuthenticateRequest
- * 涓夋柟缃戠粶璁惧鍏ョ綉鍙婅璇� 璇锋眰鍙傛暟
- * 璇锋眰topic:/user/all/custom/deivce/network_access/request
- */
-public class AuthenticateRequest implements Serializable {
-    private String id;
-    private String time_stamp;
-    private AuthenticateDeviceInfoBean objects;//褰撳墠璁惧鍩烘湰淇℃伅
-    private AuthBean auth;//璁よ瘉淇℃伅
-
-    public String getID() { return id; }
-    public void setID(String value) { this.id = value; }
-
-    public String getTimeStamp() { return time_stamp; }
-    public void setTimeStamp(String value) { this.time_stamp = value; }
-
-    public AuthenticateDeviceInfoBean getObjects() { return objects; }
-    public void setObjects(AuthenticateDeviceInfoBean value) { this.objects = value; }
-
-    public AuthBean getAuth() { return auth; }
-    public void setAuth(AuthBean value) { this.auth = value; }
-
-    public AuthenticateRequest(String id, String time_stamp, AuthenticateDeviceInfoBean objects, AuthBean auth) {
-        this.id = id;
-        this.time_stamp = time_stamp;
-        this.objects = objects;
-        this.auth = auth;
-    }
-
-    public static class AuthBean implements Serializable {
-        private String mac_key;//(mac+secret)鐨勪袱娆d5鍊�
-        private String spk;
-        private RequestBean request;//璁惧鐩稿叧淇℃伅
-
-        public String getMACKey() { return mac_key; }
-        public void setMACKey(String value) { this.mac_key = value; }
-
-        public String getSpk() { return spk; }
-        public void setSpk(String value) { this.spk = value; }
-
-        public RequestBean getRequest() { return request; }
-        public void setRequest(RequestBean value) { this.request = value; }
-
-        public AuthBean() {
-
-        }
-        public AuthBean(String mac_key, String spk, RequestBean request) {
-            this.mac_key = mac_key;
-            this.spk = spk;
-            this.request = request;
-        }
-    }
-
-    public static class RequestBean implements Serializable{
-        private String mac;//璁惧mac
-        private String supplier;//鍘傚
-        private String hardware_model;//璁惧鍨嬪彿
-        private String firmware_version;//绋嬪簭鐗堟湰
-        public RequestBean(){};
-        public RequestBean(String mac, String supplier, String hardware_model, String firmware_version) {
-            this.mac = mac;
-            this.supplier = supplier;
-            this.hardware_model = hardware_model;
-            this.firmware_version = firmware_version;
-        }
-
-        public String getMAC() { return mac; }
-        public void setMAC(String value) { this.mac = value; }
-
-        public String getSupplier() { return supplier; }
-        public void setSupplier(String value) { this.supplier = value; }
-
-        public String getHardwareModel() { return hardware_model; }
-        public void setHardwareModel(String value) { this.hardware_model = value; }
-
-        public String getFirmwareVersion() { return firmware_version; }
-        public void setFirmwareVersion(String value) { this.firmware_version = value; }
-    }
-
-    public static class AuthenticateDeviceInfoBean implements Serializable{
-        private String oid;//璁惧鐨凮id
-        private String device_mac;//璁惧鐨凪ac
-        private String device_name;//
-        private String device_model;
-        private String access_mode;
-        private String sid;
-        private String ip_mac;
-        private String ip_address;
-        private String netmask = "255.255.255.0";
-        private String ip_gateway;
-        private String dns1 = "114.114.114.114";
-        private String dns2 = "8.8.8.8";
-        private String gateway_type;
-        private String hw_version;
-        private String fw_version;
-
-        public String getOID() { return oid; }
-
-        /**
-         * 璁惧Oid
-         * @param value
-         */
-        public void setOID(String value) { this.oid = value; }
-
-        public String getDeviceMAC() { return device_mac; }
-
-        /**
-         * 璁惧Mac
-         * @param value
-         */
-        public void setDeviceMAC(String value) { this.device_mac = value; }
-
-        /**
-         * 璁惧鍚�
-         * @return
-         */
-        public String getDeviceName() { return device_name; }
-
-        /**
-         * 璁惧鍚�
-         * @param value
-         */
-        public void setDeviceName(String value) { this.device_name = value; }
-
-        /**
-         * 璁惧鍨嬪彿
-         * @return
-         */
-        public String getDeviceModel() { return device_model; }
-
-        /**
-         * 璁惧鍨嬪彿
-         * @param value
-         */
-        public void setDeviceModel(String value) { this.device_model = value; }
-
-        /**
-         * 杩炴帴绫诲瀷锛屾湁绾胯繕鏄棤绾�
-         * @return
-         */
-        public String getAccessMode() { return access_mode; }
-
-        /**
-         * 杩炴帴绫诲瀷锛屾湁绾胯繕鏄棤绾�
-         * @param value
-         */
-        public void setAccessMode(String value) { this.access_mode = value; }
-
-        /**
-         * 璁惧sid
-         * @return
-         */
-        public String getSid() { return sid; }
-
-        /**
-         * 璁惧sid
-         * @param value
-         */
-        public void setSid(String value) { this.sid = value; }
-
-        /**
-         * 璁惧IPMAC
-         * @return
-         */
-        public String getIPMAC() { return ip_mac; }
-
-        /**
-         * 璁惧IPMAC
-         * @param value
-         */
-        public void setIPMAC(String value) { this.ip_mac = value; }
-
-        /**
-         * 璁惧IP鍦板潃
-         * @return
-         */
-        public String getIPAddress() { return ip_address; }
-
-        /**
-         * 璁惧IP鍦板潃
-         * @param value
-         */
-        public void setIPAddress(String value) { this.ip_address = value; }
-
-        /**
-         * 瀛愮綉鎺╃爜
-         * @return
-         */
-        public String getNetmask() { return netmask; }
-
-        /**
-         * 瀛愮綉鎺╃爜
-         * @param value
-         */
-        public void setNetmask(String value) { this.netmask = value; }
-
-        /**
-         * 缃戝叧IP
-         * @return
-         */
-        public String getIPGateway() { return ip_gateway; }
-
-        /**
-         * 缃戝叧IP
-         * @param value
-         */
-        public void setIPGateway(String value) { this.ip_gateway = value; }
-
-        /**
-         * DNS1
-         * @return
-         */
-        public String getDns1() { return dns1; }
-
-        /**
-         * DNS1
-         * @param value
-         */
-        public void setDns1(String value) { this.dns1 = value; }
-
-        /**
-         * DNS2
-         * @return
-         */
-        public String getDns2() { return dns2; }
-
-        /**
-         * DNS2
-         * @param value
-         */
-        public void setDns2(String value) { this.dns2 = value; }
-
-        public VersionBean[] getVersions() {return null;  }
-        public void setVersions(VersionBean[] value) {  }
-
-        /**
-         * 缃戝叧绫诲瀷
-         * @return
-         */
-        public String getGateway_type() {
-            return gateway_type;
-        }
-
-        /**
-         * 缃戝叧绫诲瀷
-         * @param gateway_type
-         */
-        public void setGateway_type(String gateway_type) {
-            this.gateway_type = gateway_type;
-        }
-
-        /**
-         * 纭欢鐗堟湰
-         * @return
-         */
-        public String getHw_version() {
-            return hw_version;
-        }
-
-        /**
-         *纭欢鐗堟湰
-         * @param
-         */
-        public void setHw_version(String hw_version) {
-            this.hw_version = hw_version;
-        }
-
-
-        /**
-         * 鍥轰欢鐗堟湰
-         * @return
-         */
-        public String getFw_version() {
-            return fw_version;
-        }
-
-        /**
-         * 鍥轰欢鐗堟湰
-         * @param fw_version
-         */
-        public void setFw_version(String fw_version) {
-            this.fw_version = fw_version;
-        }
-    }
-
-    public static class VersionBean implements Serializable{
-        private String module;
-        private String version;
-
-        public VersionBean(String module, String version) {
-            this.module = module;
-            this.version = version;
-        }
-
-        public String getModule() {
-            return module;
-        }
-
-        public void setModule(String value) {
-            this.module = value;
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/BaseLocalRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/BaseLocalRequest.java
deleted file mode 100644
index 44fcccf..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/BaseLocalRequest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.hdl.sdk.link.core.bean.request;
-
-import java.io.Serializable;
-
-/**
- * Created by Tong on 2021/9/29.
- */
-public class BaseLocalRequest<T> implements Serializable {
-
-
-    private String id;
-    private String code;
-    private String time_stamp;
-    private T objects;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getCode() {
-        return code;
-    }
-
-    public void setCode(String code) {
-        this.code = code;
-    }
-
-    public String getTime_stamp() {
-        return time_stamp;
-    }
-
-    public void setTime_stamp(String time_stamp) {
-        this.time_stamp = time_stamp;
-    }
-
-    public T getObjects() {
-        return objects;
-    }
-
-    public void setObjects(T objects) {
-        this.objects = objects;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/BroadcastRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/BroadcastRequest.java
deleted file mode 100644
index d760638..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/BroadcastRequest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hdl.sdk.link.core.bean.request;
-
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 11/11/21.
- *
- * /user/all/custom/gateway/broadcast
- */
-public class BroadcastRequest implements Serializable {
-    private String id;
-    private String time_stamp;
-    private AuthenticateRequest.AuthenticateDeviceInfoBean objects;//褰撳墠璁惧鍩烘湰淇℃伅
-    private String code;//
-
-    public BroadcastRequest(String id, String time_stamp, AuthenticateRequest.AuthenticateDeviceInfoBean objects, String code) {
-        this.id = id;
-        this.time_stamp = time_stamp;
-        this.objects = objects;
-        this.code = code;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getTime_stamp() {
-        return time_stamp;
-    }
-
-    public void setTime_stamp(String time_stamp) {
-        this.time_stamp = time_stamp;
-    }
-
-    public AuthenticateRequest.AuthenticateDeviceInfoBean getObjects() {
-        return objects;
-    }
-
-    public void setObjects(AuthenticateRequest.AuthenticateDeviceInfoBean objects) {
-        this.objects = objects;
-    }
-
-    public String getCode() {
-        return code;
-    }
-
-    public void setCode(String code) {
-        this.code = code;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/DeviceControlRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/DeviceControlRequest.java
deleted file mode 100644
index 5c4c800..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/DeviceControlRequest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.hdl.sdk.link.core.bean.request;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class DeviceControlRequest implements Serializable {
-
-    private String sid;
-    private List<StatusBean> status;
-
-    public String getSid() {
-        return sid;
-    }
-
-    public void setSid(String sid) {
-        this.sid = sid;
-    }
-
-    public List<StatusBean> getStatus() {
-        return status;
-    }
-
-    public void setStatus(List<StatusBean> status) {
-        this.status = status;
-    }
-
-    public static class StatusBean implements Serializable {
-        private String key;
-        private String value;
-
-        public String getKey() {
-            return key;
-        }
-
-        public void setKey(String key) {
-            this.key = key;
-        }
-
-        public String getValue() {
-            return value;
-        }
-
-        public void setValue(String value) {
-            this.value = value;
-        }
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/FunctionAttributeRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/FunctionAttributeRequest.java
deleted file mode 100644
index b274fde..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/FunctionAttributeRequest.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.hdl.sdk.link.core.bean.request;
-
-import java.io.Serializable;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class FunctionAttributeRequest implements Serializable {
-
-    private String sid;
-
-    public FunctionAttributeRequest(String sid) {
-        this.sid = sid;
-    }
-
-    public String getSid() {
-        return sid;
-    }
-
-    public void setSid(String sid) {
-        this.sid = sid;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/PropertyReadRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/PropertyReadRequest.java
deleted file mode 100644
index 4136322..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/PropertyReadRequest.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hdl.sdk.link.core.bean.request;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class PropertyReadRequest {
-
-    private String sid;
-
-    public PropertyReadRequest(String sid) {
-        this.sid = sid;
-    }
-
-    public String getSid() {
-        return sid;
-    }
-
-    public void setSid(String sid) {
-        this.sid = sid;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/PropertyUpRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/PropertyUpRequest.java
deleted file mode 100644
index dfd46b4..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/request/PropertyUpRequest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.hdl.sdk.link.core.bean.request;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * Created by Tong on 2021/10/8.
- */
-public class PropertyUpRequest implements Serializable {
-
-    private String sid;
-    private List<StatusBean> status;
-
-    public String getSid() {
-        return sid;
-    }
-
-    public void setSid(String sid) {
-        this.sid = sid;
-    }
-
-    public List<StatusBean> getStatus() {
-        return status;
-    }
-
-    public void setStatus(List<StatusBean> status) {
-        this.status = status;
-    }
-
-    public static class StatusBean implements Serializable{
-        private String key;
-        private String value;
-
-        public String getKey() {
-            return key;
-        }
-
-        public void setKey(String key) {
-            this.key = key;
-        }
-
-        public String getValue() {
-            return value;
-        }
-
-        public void setValue(String value) {
-            this.value = value;
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/AuthenticateResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/AuthenticateResponse.java
deleted file mode 100644
index ea7d429..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/AuthenticateResponse.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.hdl.sdk.link.core.bean.response;
-
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 11/12/21.
- *
- * @Description : AuthenticateResponseBean
- */
-public class AuthenticateResponse extends BaseResponse {
-    private String code;
-    private GatewayObjects objects;
-    private Auth auth;
-
-    public String getCode() { return code; }
-    public void setCode(String value) { this.code = value; }
-
-    public GatewayObjects getObjects() { return objects; }
-    public void setObjects(GatewayObjects value) { this.objects = value; }
-
-    public Auth getAuth() { return auth; }
-    public void setAuth(Auth value) { this.auth = value; }
-
-    public class Auth implements Serializable {
-        private String localSecret;
-
-        public String getLocalSecret() { return localSecret; }
-        public void setLocalSecret(String value) { this.localSecret = value; }
-    }
-
-    public class GatewayObjects implements Serializable  {
-        private String ip_address;
-        private String gatewayId;
-        private String oid;
-
-        public String getIPAddress() { return ip_address; }
-        public void setIPAddress(String value) { this.ip_address = value; }
-
-        public String getGatewayID() { return gatewayId; }
-        public void setGatewayID(String value) { this.gatewayId = value; }
-
-        public String getOID() { return oid; }
-        public void setOID(String value) { this.oid = value; }
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseLocalResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseLocalResponse.java
deleted file mode 100644
index 2000807..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseLocalResponse.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.hdl.sdk.link.core.bean.response;
-
-import java.io.Serializable;
-
-/**
- * Created by Tong on 2021/9/29.
- */
-public class BaseLocalResponse<T> implements Serializable {
-
-    private String id;
-    private String time_stamp;
-    private T objects;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getTime_stamp() {
-        return time_stamp;
-    }
-
-    public void setTime_stamp(String time_stamp) {
-        this.time_stamp = time_stamp;
-    }
-
-    public T getObjects() {
-        return objects;
-    }
-
-    public void setObjects(T objects) {
-        this.objects = objects;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseLocalWithCodeResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseLocalWithCodeResponse.java
deleted file mode 100644
index cfd555a..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseLocalWithCodeResponse.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.hdl.sdk.link.core.bean.response;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Tong on 2021/9/29.
- */
-public class BaseLocalWithCodeResponse<T> implements Serializable {
-
-    private String id;
-    private String time_stamp;
-    private T code;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getTime_stamp() {
-        return time_stamp;
-    }
-
-    public void setTime_stamp(String time_stamp) {
-        this.time_stamp = time_stamp;
-    }
-
-    public T getCode() {
-        return code;
-    }
-
-    public void setCode(@NonNull T code) {
-        this.code = code;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseResponse.java
deleted file mode 100644
index 3337610..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/BaseResponse.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hdl.sdk.link.core.bean.response;
-
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 11/15/21.
- *
- * @Description : BaseResponse
- */
-public class BaseResponse implements Serializable {
-
-    private String id;
-    private String time_stamp;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getTime_stamp() {
-        return time_stamp;
-    }
-
-    public void setTime_stamp(String time_stamp) {
-        this.time_stamp = time_stamp;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/GatewaySearchBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/GatewaySearchBean.java
deleted file mode 100644
index b574beb..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/GatewaySearchBean.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.hdl.sdk.link.core.bean.response;
-
-import java.io.Serializable;
-
-/**
- * Created by Tong on 2021/9/29.
- * 缃戝叧鎼滅储
- */
-public class GatewaySearchBean implements Serializable {
-    private String device_model;
-    private String device_name;
-    private String device_mac;
-    private String gatewayId;
-    private String gatewayType;
-    private String gateway_type;
-    private String oid;
-    private String ip_address;
-    private String access_mode;
-    private String master;
-    private boolean isLocalEncrypt;//2021-11-11 鏂板
-
-    public String getDevice_model() {
-        return device_model;
-    }
-
-    public void setDevice_model(String device_model) {
-        this.device_model = device_model;
-    }
-
-    public String getDevice_name() {
-        return device_name;
-    }
-
-    public void setDevice_name(String device_name) {
-        this.device_name = device_name;
-    }
-
-    public String getDevice_mac() {
-        return device_mac;
-    }
-
-    public void setDevice_mac(String device_mac) {
-        this.device_mac = device_mac;
-    }
-
-    public String getGatewayId() {
-        return gatewayId;
-    }
-
-    public void setGatewayId(String gatewayId) {
-        this.gatewayId = gatewayId;
-    }
-
-    public String getGatewayType() {
-        return gatewayType;
-    }
-
-    public void setGatewayType(String gatewayType) {
-        this.gatewayType = gatewayType;
-    }
-
-    public String getGateway_type() {
-        return gateway_type;
-    }
-
-    public void setGateway_type(String gateway_type) {
-        this.gateway_type = gateway_type;
-    }
-
-    public String getOid() {
-        return oid;
-    }
-
-    public void setOid(String oid) {
-        this.oid = oid;
-    }
-
-    public String getIp_address() {
-        return ip_address;
-    }
-
-    public void setIp_address(String ip_address) {
-        this.ip_address = ip_address;
-    }
-
-    public String getAccess_mode() {
-        return access_mode;
-    }
-
-    public void setAccess_mode(String access_mode) {
-        this.access_mode = access_mode;
-    }
-
-    public String getMaster() {
-        return master;
-    }
-
-    public void setMaster(String master) {
-        this.master = master;
-    }
-
-    public boolean isLocalEncrypt() {
-        return isLocalEncrypt;
-    }
-
-    public void setLocalEncrypt(boolean localEncrypt) {
-        isLocalEncrypt = localEncrypt;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/NetworkAccessBroadcastResponse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/NetworkAccessBroadcastResponse.java
deleted file mode 100644
index 23a16c4..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/response/NetworkAccessBroadcastResponse.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hdl.sdk.link.core.bean.response;
-
-/**
- * Created by jlchen on 11/15/21.
- *
- * @Description : NetworkAccessBroadcastResponse
- */
-public class NetworkAccessBroadcastResponse extends BaseResponse {
-    private String ip_address;
-    private String oid;
-    private String homeId;
-
-    public String getIPAddress() { return ip_address; }
-    public void setIPAddress(String value) { this.ip_address = value; }
-
-    public String getOID() { return oid; }
-    public void setOID(String value) { this.oid = value; }
-
-    public String getHomeID() { return homeId; }
-    public void setHomeID(String value) { this.homeId = value; }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/scenebatch/SceneCanDeleteInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/scenebatch/SceneCanDeleteInfo.java
deleted file mode 100644
index ff13772..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/scenebatch/SceneCanDeleteInfo.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.hdl.sdk.link.core.bean.scenebatch;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/12/9
- * description:
- */
-public class SceneCanDeleteInfo implements Serializable {
-    private String sid;
-    private String can_delete;
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getCan_delete() {
-        return can_delete == null ? "" : can_delete;
-    }
-
-    public void setCan_delete(@NonNull String can_delete) {
-        this.can_delete = can_delete;
-    }
-
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/scenebatch/SceneGroupInfo.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/scenebatch/SceneGroupInfo.java
deleted file mode 100644
index cb7a93d..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/scenebatch/SceneGroupInfo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hdl.sdk.link.core.bean.scenebatch;
-
-import java.io.Serializable;
-
-import androidx.annotation.NonNull;
-
-/**
- * Created by Zoro
- * Created on 2022/12/9
- * description:
- */
-public class SceneGroupInfo implements Serializable {
-    private String sid;
-    private String group;
-
-    public String getSid() {
-        return sid == null ? "" : sid;
-    }
-
-    public void setSid(@NonNull String sid) {
-        this.sid = sid;
-    }
-
-    public String getGroup() {
-        return group == null ? "" : group;
-    }
-
-    public void setGroup(@NonNull String group) {
-        this.group = group;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/BaseCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/BaseCallBack.java
deleted file mode 100644
index 88d979b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/BaseCallBack.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.core.callback;
-
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-
-/**
- * Created by Tong on 2021/11/11.
- */
-public interface BaseCallBack {
-
-    void onError(HDLLinkException e);
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/GatewayCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/GatewayCallBack.java
deleted file mode 100644
index 5299977..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/GatewayCallBack.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.core.callback;
-
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-
-import java.util.List;
-
-/**
- * Created by hxb on 2021/12/15.
- */
-public interface GatewayCallBack extends BaseCallBack {
-    void onSuccess(List<GatewayBean> gatewayBeanList);
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkCallBack.java
deleted file mode 100644
index 4bdf82f..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkCallBack.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.hdl.sdk.link.core.callback;
-
-/**
- * Created by jlchen on 11/16/21.
- *
- * @Description : HDLLinkCallBack
- */
-public interface HDLLinkCallBack extends BaseCallBack{
-    void onSuccess(String msg);
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkResponseCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkResponseCallBack.java
deleted file mode 100644
index 418152a..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkResponseCallBack.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.hdl.sdk.link.core.callback;
-
-
-import com.hdl.sdk.link.core.bean.LinkResponse;
-
-/**
- * Created by jlchen on 11/16/21.
- *
- * @Description : HDLLinkResponseCallBack
- */
-public interface HDLLinkResponseCallBack extends BaseCallBack{
-    void onSuccess(LinkResponse msg);
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkTCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkTCallBack.java
deleted file mode 100644
index dfa9885..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkTCallBack.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.hdl.sdk.link.core.callback;
-
-/**
- * Created by jlchen on 1/6/22.
- * 鏈湴閫氫俊閫氱敤CallBack
- */
-public interface HDLLinkTCallBack<T> extends BaseCallBack{
-
-    void onSuccess(T data);
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/ModbusCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/ModbusCallBack.java
deleted file mode 100644
index 2681d13..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/ModbusCallBack.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.core.callback;
-
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-
-import java.util.List;
-
-/**
- * Created by hxb on 2021/12/15.
- */
-public interface ModbusCallBack extends BaseCallBack {
-    void onSuccess(int []data);
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/ZigbeeCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/ZigbeeCallBack.java
deleted file mode 100644
index 5d29b40..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/ZigbeeCallBack.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.hdl.sdk.link.core.callback;
-
-import org.json.JSONException;
-
-/**
- * Created by hxb on 2021/12/15.
- */
-public interface ZigbeeCallBack extends BaseCallBack {
-    void onSuccess(String body);
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/config/HDLLinkConfig.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/config/HDLLinkConfig.java
deleted file mode 100644
index 195ea25..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/config/HDLLinkConfig.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package com.hdl.sdk.link.core.config;
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.SPUtils;
-import com.hdl.sdk.link.core.bean.request.AuthenticateRequest;
-import com.hdl.sdk.link.core.bean.response.GatewaySearchBean;
-
-import androidx.annotation.NonNull;
-
-
-/**
- * Created by jlchen on 11/11/21.
- *
- * @Description : HDLLinkConfig
- */
-public class HDLLinkConfig {
-    private static final String AUTHENTICATE_LS_KEY = "auth_ls_key";
-    private static final String AUTHENTICATE_GATEWAYID_KEY = "auth_gatewayid_key";
-    private static final String AUTHENTICATE_IPADDRESS_KEY = "auth_ipaddress_key";
-    private static final String AUTHENTICATE_IS_LS_KEY = "auth_isls_key";
-    private static final String AUTHENTICATE_IS_CLOUD_ENCRYPT_KEY = "cloud_isencrypt_key";
-    private static final String AUTHENTICATE_CLOUD_ENCRYPT_KEY = "cloud_encrypt_key";
-    private static final String HOME_ID="home_id";
-
-    private String localSecret;//鏈湴鍔犲瘑瀵嗛挜
-    private String gatewayId;
-    private String ipAddress;
-    private boolean isLocalEncrypt;//缃戝叧鏄惁闇�瑕佸姞瀵嗛�氳
-    private String  homeId;
-    private GatewaySearchBean currentGateway;//褰撳墠缃戝叧
-    private String  aesKey;
-    //浜戠缃戝叧鏄惁鍔犲瘑
-    private boolean isCloudEncrypt = true;
-
-    private AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean;//褰撳墠璁惧鍩烘湰淇℃伅
-
-    /**
-     * instance
-     */
-    private volatile static HDLLinkConfig instance;
-
-    /**
-     * getInstance
-     *
-     * @return AuthenticateConfig
-     */
-    public static synchronized HDLLinkConfig getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkConfig.class) {
-                if (instance == null) {
-                    instance = new HDLLinkConfig();
-                    instance.loadConfig();
-                }
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * 娓呯┖缂撳瓨
-     */
-    public void clearConfig() {
-        this.gatewayId = "";
-        this.ipAddress = "";
-        this.localSecret = "";
-        this.isLocalEncrypt = false;
-        this.homeId="";
-        SPUtils.remove(AUTHENTICATE_LS_KEY);
-        SPUtils.remove(AUTHENTICATE_GATEWAYID_KEY);
-        SPUtils.remove(AUTHENTICATE_IPADDRESS_KEY);
-        SPUtils.remove(AUTHENTICATE_IS_LS_KEY);
-        SPUtils.remove(HOME_ID);
-    }
-
-    /**
-     * 鍔犺浇缂撳瓨
-     */
-    void loadConfig() {
-        localSecret = SPUtils.getString(AUTHENTICATE_LS_KEY, "");
-//        gatewayId = SPUtils.getString(AUTHENTICATE_GATEWAYID_KEY, "");
-//        ipAddress = SPUtils.getString(AUTHENTICATE_IPADDRESS_KEY, "");
-        isLocalEncrypt = SPUtils.getBoolean(AUTHENTICATE_IS_LS_KEY, false);
-        isCloudEncrypt = SPUtils.getBoolean(AUTHENTICATE_IS_CLOUD_ENCRYPT_KEY, false);
-        aesKey = SPUtils.getString(AUTHENTICATE_CLOUD_ENCRYPT_KEY, "");
-        homeId=SPUtils.getString(HOME_ID, "");
-    }
-
-
-
-    /**
-     * 淇濆瓨閰嶇疆
-     *
-     * @param localSecret
-     * @param gatewayId
-     * @param ipAddress
-     */
-    public void saveConfig(String localSecret, String gatewayId, String ipAddress) {
-        this.localSecret = localSecret;
-        this.gatewayId = gatewayId;
-        this.ipAddress = ipAddress;
-        SPUtils.put(AUTHENTICATE_LS_KEY, localSecret);
-        SPUtils.put(AUTHENTICATE_GATEWAYID_KEY, gatewayId);
-        SPUtils.put(AUTHENTICATE_IPADDRESS_KEY, ipAddress);
-    }
-
-    /**
-     * 閲嶆柊淇濆瓨
-     */
-    public void reSaveConfig() {
-        this.saveConfig(this.localSecret, this.gatewayId, this.ipAddress);
-    }
-
-    public String getAesKey() {
-        return aesKey == null ? "" : aesKey;
-    }
-
-    public void setAesKey(@NonNull String aesKey) {
-        this.aesKey = aesKey;
-        SPUtils.put(AUTHENTICATE_CLOUD_ENCRYPT_KEY, aesKey);
-    }
-
-
-    public boolean isCloudEncrypt() {
-        return isCloudEncrypt;
-    }
-
-    public void setCloudEncrypt(@NonNull boolean cloudEncrypt) {
-        isCloudEncrypt = cloudEncrypt;
-        SPUtils.put(AUTHENTICATE_IS_CLOUD_ENCRYPT_KEY, cloudEncrypt);
-    }
-
-    /**
-     * 妫�娴嬫槸鍚﹀凡缁忚璇佽繃
-     *
-     * @return
-     */
-    public boolean checkIfCertified() {
-        //localSecret涓嶄负绌哄苟涓旈暱搴︾瓑浜�16 缃戝叧id涓嶈兘涓虹┖
-        return true;//!TextUtils.isEmpty(localSecret)
-                //&& localSecret.length() == 16
-                //&& !TextUtils.isEmpty(gatewayId);
-    }
-
-    public void setLocalSecret(String localSecret) {
-        this.localSecret = localSecret;
-        SPUtils.put(AUTHENTICATE_LS_KEY, localSecret);
-    }
-
-    public String getLocalSecret() {
-        return localSecret;
-    }
-
-    /**
-     * 褰撳墠浣忓畢缃戝叧Id,oid,mac
-     * @return
-     */
-    public String getGatewayId() {
-        return gatewayId;
-    }
-
-    /**
-     * 褰撳墠浣忓畢缃戝叧Id
-     * @param gatewayId
-     */
-    public void setGatewayId(String gatewayId) {
-        this.gatewayId= gatewayId;
-    }
-
-    public String getHomeId() {
-        return homeId;
-    }
-
-    public void setHomeId(String homeId) {
-        this.homeId = homeId;
-    }
-
-    public String getIpAddress() {
-        return ipAddress;
-    }
-    public void setIpAddress(String ipAddress){
-        this.ipAddress = ipAddress;
-    }
-
-    public boolean isLocalEncrypt() {
-        return isLocalEncrypt;
-    }
-
-    public void setLocalEncrypt(boolean localEncrypt) {
-        isLocalEncrypt = localEncrypt;
-        SPUtils.put(AUTHENTICATE_IS_LS_KEY, isLocalEncrypt);
-    }
-
-
-    /**
-     * 鎷兼帴缃戝叧ID鑾峰彇瀹屾暣鐨勪富棰�
-     *
-     * @param topicStr
-     * @return
-     */
-    public String getFullTopic(String topicStr) {
-        return String.format(topicStr, gatewayId);
-    }
-
-    public AuthenticateRequest.AuthenticateDeviceInfoBean getDeviceInfoBean() {
-        return deviceInfoBean;
-    }
-
-    public void setDeviceInfoBean(AuthenticateRequest.AuthenticateDeviceInfoBean deviceInfoBean) {
-        this.deviceInfoBean = deviceInfoBean;
-    }
-}
\ No newline at end of file
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
deleted file mode 100644
index 5793c31..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
+++ /dev/null
@@ -1,510 +0,0 @@
-package com.hdl.sdk.link.core.connect;
-
-import android.text.TextUtils;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.event.EventListener;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-import com.hdl.sdk.link.common.utils.ErrorUtils;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.ModbusResponse;
-import com.hdl.sdk.link.core.bean.ZigbeeResponse;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.core.utils.EncryptUtil;
-import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * Created by Tong on 2021/11/11.
- */
-public class HDLConnectHelper {
-
-    private static final Long DEF_SEND_TIMEOUT = 8000L;
-    private static final int DEF_MAX_RETRY = 1;//鏈�澶ч噸鍙戞暟
-    private static final int DEF_SEND_ONE = 1;
-    private static final int TCP_PORT = 8586;
-    private static final int UDP_PORT = 8585;
-
-    private final Long sendAwaitTime;
-    private final int maxRetry;
-
-    /**
-     * 鏄惁tcp鍙戦�佺被鍨�
-     */
-    private boolean isTcp;
-    /**
-     * 璁惧mac
-     */
-    private String mac;
-    /**
-     * 鍙戦�佺殑鐩爣IP
-     */
-    private String ipAddress;
-    /**
-     * 鍙戦�佺殑鐩爣鍦板潃
-     */
-    private int port;
-    private final LinkRequest linkRequest;
-    private final EventListener eventListener;
-
-    private final AtomicInteger sendNumber = new AtomicInteger(0);
-
-    private final AtomicBoolean isSend = new AtomicBoolean(false);
-
-    private HdlSocketListener listener;
-
-    private ScheduledExecutorService sendThread;
-
-    private String replyTopic;
-
-    public interface HdlSocketListener {
-        void onSucceed(Object msg);
-
-        void onFailure(HDLLinkCode hdlLinkCode);
-    }
-
-    /**
-     * 鍙戦�乁DP鎴栬�匱CP鏁版嵁
-     *
-     * @param sendAwaitTime 姣忔鍙戦�佺瓑寰呮椂闂�
-     * @param maxRetry      閲嶈瘯娆℃暟
-     * @param ipAddress     鍙戦�佺洰鏍嘔P
-     * @param port          鍙戦�佺洰鏍囩鍙�
-     * @param linkRequest   鍙戦�佸璞�
-     * @param listener      鍥炶皟
-     * @param isTcp         鏄惁TCP
-     */
-    public HDLConnectHelper(Long sendAwaitTime, int maxRetry, String ipAddress, int port,
-                            LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp) {
-        this.sendAwaitTime = sendAwaitTime;
-        this.maxRetry = maxRetry;
-        this.ipAddress = ipAddress;
-        this.port = port;
-        this.linkRequest = linkRequest;
-        this.replyTopic = linkRequest.getReplyTopic();
-        this.listener = listener;
-        this.isTcp = isTcp;
-
-
-        eventListener = new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                isSend.set(true);
-                try {
-                    if (msg instanceof LinkResponse) {
-                        LinkResponse linkResponse = (LinkResponse) msg;
-                        JSONObject jsonObject = JSON.parseObject(linkResponse.getData());
-                        String id = jsonObject.getString("id");
-                        Integer code = jsonObject.getInteger("code");
-                        /**
-                         * 鍙兘杩斿洖code灞炴�у彲鑳芥病鏈�   娌℃湁鐨勮瘽鐩存帴鎴愬姛  鏈夌殑璇濆彧鏈�200鎵嶄細鎴愬姛
-                         */
-                        if (code == null || code.intValue() == 200 || code.intValue() == 0) {
-                            notifySucceed(msg);
-                        } else {
-                            notifyFailure(ErrorUtils.getByCode(code));
-                        }
-                    } else if (msg instanceof ZigbeeResponse) {
-                        ZigbeeResponse linkResponse = (ZigbeeResponse) msg;
-                        //TODO 濡傛灉閰嶇疆浠庣綉鍏崇殑淇℃伅锛岄�氳繃涓荤綉鍏宠浆杈撅紝杩欓噷oid瑕佸垽鏂笅
-                        if (replyTopic.equals(linkResponse.getTopic())) {
-                            notifySucceed(linkResponse.getData());
-                        } else {
-                            notifyFailure(HDLLinkCode.HDL_TOPIC_NOT_RIGHT);
-                        }
-                    } else if (msg instanceof ModbusResponse) {
-                        ModbusResponse response = (ModbusResponse) msg;
-                        if (replyTopic.equals(response.getTopic())) {
-                            notifySucceed(response.getData());
-                        } else {
-                            notifyFailure(HDLLinkCode.HDL_TOPIC_NOT_RIGHT);
-                        }
-                    } else {
-                        notifyFailure(new HDLLinkCode(HDLLinkCode.HDL_OBJECT_NOT_SUPPORT.getCode(), "Object Name:" + msg));
-                    }
-                } catch (Exception e) {
-                    notifyFailure(new HDLLinkCode(HDLLinkCode.HDL_APPLICATION_CODE.getCode(), e.getMessage()));
-                }
-            }
-        };
-        //娉ㄥ唽鐩戝惉
-        registerListener();
-    }
-
-    /**
-     * 鍙戦�乁DP鎴栬�匱CP鏁版嵁(鍙傛暟鏈塵ac)
-     *
-     * @param sendAwaitTime 姣忔鍙戦�佺瓑寰呮椂闂�
-     * @param maxRetry      閲嶈瘯娆℃暟
-     * @param ipAddress     鍙戦�佺洰鏍嘔P
-     * @param port          鍙戦�佺洰鏍囩鍙�
-     * @param linkRequest   鍙戦�佸璞�
-     * @param listener      鍥炶皟
-     * @param isTcp         鏄惁TCP
-     * @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);
-        this.mac = mac;
-    }
-
-    /**
-     * 鎸夌収鎸囧畾娆℃暟鍙戯紝鍥炶皟
-     *
-     * @param maxRetry    閲嶈瘯娆℃暟
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param port        鍙戦�佺洰鏍囩鍙�
-     * @param linkRequest 鍙戦�佸璞�
-     * @param listener    鍥炶皟
-     * @param isTcp       鏄惁TCP
-     */
-    public HDLConnectHelper(int maxRetry, String ipAddress, int port,
-                            LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp) {
-        this(DEF_SEND_TIMEOUT, maxRetry, ipAddress, port, linkRequest, listener, isTcp);
-    }
-
-    /**
-     * 鎸夌収鎸囧畾娆℃暟鍙戯紝鍥炶皟
-     *
-     * @param maxRetry    閲嶈瘯娆℃暟
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param linkRequest 鍙戦�佸璞�
-     * @param listener    鍥炶皟
-     * @param isTcp       鏄惁TCP
-     */
-    public HDLConnectHelper(int maxRetry, String ipAddress,
-                            LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp) {
-        this(maxRetry, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, listener, isTcp);
-    }
-
-    /**
-     * 鎸夌収鎸囧畾娆℃暟鍙戯紝涓嶅洖璋�
-     *
-     * @param maxRetry    閲嶈瘯娆℃暟
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param linkRequest 鍙戦�佸璞�
-     * @param isTcp       鏄惁TCP
-     */
-    public HDLConnectHelper(int maxRetry, String ipAddress,
-                            LinkRequest linkRequest, boolean isTcp) {
-        this(maxRetry, ipAddress, linkRequest, null, isTcp);
-    }
-
-    /**
-     * 鎸夌収榛樿閲嶅彂鏈哄埗鍙戦��
-     *
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param port        鍙戦�佺洰鏍囩鍙�
-     * @param linkRequest 鍙戦�佸璞�
-     * @param listener    鍥炶皟
-     * @param isTcp       鏄惁TCP
-     */
-    public HDLConnectHelper(String ipAddress, int port,
-                            LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp) {
-        this(DEF_MAX_RETRY, ipAddress, port, linkRequest, listener, isTcp);
-    }
-
-    /**
-     * 榛樿绔彛鍙戦��
-     *
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param linkRequest 鍙戦�佸璞�
-     * @param listener    鍥炶皟
-     * @param isTcp       鏄惁TCP
-     */
-    public HDLConnectHelper(String ipAddress,
-                            LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp) {
-        this(DEF_SEND_TIMEOUT, DEF_MAX_RETRY, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, listener, isTcp);
-    }
-
-    /**
-     * 榛樿绔彛鍙戦��(鍙傛暟鏈塵ac)
-     *
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param linkRequest 鍙戦�佸璞�
-     * @param listener    鍥炶皟
-     * @param isTcp       鏄惁TCP
-     * @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);
-    }
-
-
-    /**
-     * 鍙戦�佷竴娆�
-     *
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param linkRequest 鍙戦�佸璞�
-     * @param isTcp       鏄惁TCP
-     */
-    public HDLConnectHelper(String ipAddress, LinkRequest linkRequest, boolean isTcp) {
-        this(DEF_SEND_TIMEOUT, DEF_SEND_ONE, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, null, isTcp);
-    }
-
-    /**
-     * 鍙戦�佷竴娆�
-     *
-     * @param ipAddress   鍙戦�佺洰鏍嘔P
-     * @param linkRequest 鍙戦�佸璞�
-     * @param isTcp       鏄惁TCP
-     */
-    public HDLConnectHelper(Long timeout, String ipAddress, LinkRequest linkRequest, boolean isTcp) {
-        this(timeout, DEF_SEND_ONE, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, null, isTcp);
-    }
-
-
-    /**
-     * 娉ㄥ唽鐩戝惉
-     */
-    private void registerListener() {
-        if (!TextUtils.isEmpty(replyTopic) && null != listener) {
-            EventDispatcher.getInstance().register(replyTopic, eventListener);
-        }
-    }
-
-    /**
-     * 绉婚櫎鐩戝惉
-     */
-    private void removeListener() {
-        if (!TextUtils.isEmpty(replyTopic)) {
-            EventDispatcher.getInstance().remove(replyTopic, eventListener);
-        }
-    }
-
-    public static boolean isLocal() {
-        String ip = HDLLinkConfig.getInstance().getIpAddress();
-        if (ip == null) {
-            //濡傛槸鏈湴鏄彲浠ユ悳绱㈠埌ip鐨�
-            return false;
-        }
-
-        //鏈湴鏄彲浠ヨ繙绋嬫垚鍔熺殑
-        return HDLTcpConnect.getTcpSocketBoot(ip).isConnected();
-    }
-
-    public void send() {
-
-        getSendThread().scheduleWithFixedDelay(new Runnable() {
-            @Override
-            public void run() {
-                //鍙戦�佹鏁板皬浜庨噸鍙戞鏁�
-                if ((sendNumber.get() < maxRetry)) {
-                    try {
-
-                        //杩樻病鏈夋敹鍒板洖澶嶏紝鍐嶅彂閫�
-                        if (!isSend.get()) {
-                            sendNumber.set(sendNumber.get() + 1);
-
-                            //濡傛槸tcp鎴栬�卪qtt
-                            if (isTcp) {
-                                //mqtt
-                                if (TextUtils.isEmpty(ipAddress) || !HDLTcpConnect.getTcpSocketBoot(ipAddress).isConnected()) {
-                                    if (!linkRequest.getTopic().endsWith("heartbeat")) {//蹇冭烦涓婚鏁版嵁杩囧锛岃繃婊や笅
-                                        //LogUtils.i("蹇冭烦鍖呭彂閫佹暟鎹細\r\n" + new String(linkRequest.getCloudSendBytes()));
-                                    } else {
-                                        return;//浜戠鎯呭喌涓嬶紝蹇冭烦鍙互涓嶇敤
-                                    }
-                                    String requestTopic = linkRequest.getCloudTopic();
-                                    byte[] encryBytes = null;
-                                    GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac);
-                                    if (gatewayBean != null && getNotGatewayTypeList().contains(gatewayBean.getGatewayType())) {
-                                        /**
-                                         * 姣背娉㈣繖杈硅幏鍙栨暟鎹殑鏃跺��  宸茬粡璁剧疆浜嗕富浠庡瘑閽ヨ繘鍘讳簡 杩欒竟涓嶄綔澶勭悊
-                                         */
-                                        encryBytes = EncryptUtil.encryBytes(linkRequest.getCloudSendBytes(), gatewayBean.getAesKey());
-                                    } else {
-                                        encryBytes = EncryptUtil.encryBytes(linkRequest.getCloudSendBytes(), HDLLinkConfig.getInstance().getAesKey());
-                                    }
-                                    if (MqttRecvClient.getInstance() != null) {
-                                        MqttRecvClient.getInstance().send(requestTopic, encryBytes);
-                                        if (HDLConnectHelper.isInverterTopic(linkRequest.getCloudTopic())) {
-                                            LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + Arrays.toString(byteArrayConvertIntArray(linkRequest.getCloudSendBytes())));
-                                        } else {
-                                            LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + new String(linkRequest.getCloudSendBytes()));
-                                        }
-                                    }
-                                }
-                                //鏈湴TCP
-                                else {
-                                    linkRequest.setEncrypt(false);// 2024骞�01鏈�31鏃�16:34:22 榛樿鏄庢枃閫氳,鍥犱负鍒涘缓鐢电珯,缁戝畾閫嗗彉鍣ㄦ椂锛岄渶瑕佽缃弬鏁扮粰閫嗗彉鍣�,杩欐椂鍊欒繕娌℃湁绉橀挜;
-                                    if (!linkRequest.getTopic().endsWith("heartbeat")) {//蹇冭烦涓婚鏁版嵁杩囧锛岃繃婊や笅
-                                        if (HDLConnectHelper.isInverterTopic(linkRequest.getTopic())) {
-                                            LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + Arrays.toString(byteArrayConvertIntArray(linkRequest.getSendBytes())));
-                                        } else {
-                                            LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + new String(linkRequest.getSendBytes()));
-                                        }
-                                    }
-                                    HDLTcpConnect.getTcpSocketBoot(ipAddress).sendMsg(EncryptUtil.getEncryBytes(linkRequest));
-                                }
-                            } else {
-                                //濡傛灉鏄痷dp
-                                LogUtils.i("鏈湴鍙戦�佹暟鎹甎DP锛�" + new String(linkRequest.getSendBytes()));
-                                HDLUdpConnect.getInstance().getUdpBoot().sendMsg(ipAddress, port, EncryptUtil.getEncryBytes(linkRequest));
-                            }
-                        }
-                    } catch (Exception e) {
-                        LogUtils.e("鏁版嵁鍙戦�佸紓甯革細", e.getMessage());
-                    }
-                } else {
-                    //瓒呭嚭閲嶅彂娆℃暟骞舵病鏈夋敹鍒板洖澶�
-                    if (!isSend.get()) {
-                        if (linkRequest.getTopic().endsWith("heartbeat")) {//蹇冭烦涓婚鍏堜笉閫氱煡
-                            notifyFailure(null);
-                        } else {
-                            if (!TextUtils.isEmpty(replyTopic) && null != listener) {//闇�瑕佹墦鍗板嚭澶辫触鐨勬棩蹇�
-                                LogUtils.e("鍙戦�佸け璐ユ暟鎹富棰�:" + linkRequest.getTopic());
-                            }
-                            if (isTcp) {
-                                //mqtt
-                                if (TextUtils.isEmpty(ipAddress) || !HDLTcpConnect.getTcpSocketBoot(ipAddress).isConnected()) {
-                                    notifyFailure(HDLLinkCode.HDL_GATEWAY_REMOTE_NOT_RESPONSE);
-                                }
-                                //鏈湴TCP锛屽苟鏄繛鎺ョ姸鎬�
-                                else {
-                                    notifyFailure(HDLLinkCode.HDL_TIMEOUT_ERROR);
-                                }
-                            } else {
-                                notifyFailure(HDLLinkCode.HDL_TIMEOUT_ERROR);
-                            }
-                        }
-                    }
-                }
-            }
-        }, 0, sendAwaitTime, TimeUnit.MILLISECONDS);
-        //initialdelay - 棣栨鎵ц鐨勫欢杩熸椂闂� 0
-        //delay - 涓�娆℃墽琛岀粓姝㈠拰涓嬩竴娆℃墽琛屽紑濮嬩箣闂寸殑寤惰繜
-    }
-
-    /**
-     * 鑾峰彇鍙戦�佺嚎绋�
-     *
-     * @return 杩斿洖鑾峰彇鍒扮殑绾跨▼
-     */
-    private ScheduledExecutorService getSendThread() {
-        if (sendThread == null) {
-            sendThread = ThreadToolUtils.getInstance().newScheduledThreadPool(1);
-        }
-        return sendThread;
-    }
-
-    /**
-     * 鍙戦�佸け璐�
-     */
-    private void notifyFailure(HDLLinkCode hdlLinkCode) {
-        //绉婚櫎鐩戝惉
-        removeListener();
-        if (sendThread != null) {
-            sendThread.shutdownNow();
-            sendThread = null;
-        }
-        if (listener != null && hdlLinkCode != null) {
-            listener.onFailure(hdlLinkCode);
-            listener = null;
-        }
-    }
-
-
-
-//    /**
-//     * 鏀寔姣背绫诲瀷
-//     *
-//     * @return 绫诲瀷鍒楄〃
-//     */
-//    public static List<String> getGatewayTypeList() {
-//        List<String> typeList = new ArrayList<>();
-////        typeList.add("sensor.mmv_sleep");//鐫$湢姣背娉pk
-////        typeList.add("sensor.mmv_pose");//濮挎�佹绫虫尝spk
-//        typeList.add("energy.hdl_inverter");//閫嗗彉鍣╯pk
-//        typeList.add("sensor.mmv_sleep");//鐫$湢姣背娉pk
-//        typeList.add("sensor.mmv_pose");//濮挎�佹绫虫尝spk
-//        typeList.add("sensor.hdl_mmw_pose");//Wi-Fi姣背娉T鐗堟湰
-//        return typeList;
-//    }
-//
-//    public static List<String> getMillimeterTypeList() {
-//        List<String> typeList = new ArrayList<>();
-////        typeList.add("AGATEWAY");//缃戝叧
-//        typeList.add("sensor.mmv_sleep");//鐫$湢姣背娉pk
-//        typeList.add("sensor.mmv_pose");//濮挎�佹绫虫尝spk
-//        typeList.add("sensor.hdl_mmw_pose");//Wi-Fi姣背娉T鐗堟湰
-//        return typeList;
-//    }
-
-    /**
-     * 鑾峰彇闄や簡缃戝叧鐨勫叾瀹冪綉缁滆澶囷紝涓婇潰鍐欑殑閭d袱涓柟娉曚笉涓�鑷磄etGatewayTypeList锛実etMillimeterTypeList锛岀粺涓�浜嗕笅锛屼互鍏嶅悗鏈熷嚭闂
-     * @return
-     */
-    public static List<String> getNotGatewayTypeList(){
-        List<String> typeList = new ArrayList<>();
-        typeList.add("energy.hdl_inverter");//閫嗗彉鍣╯pk
-        typeList.add("sensor.mmv_sleep");//鐫$湢姣背娉pk
-        typeList.add("sensor.mmv_pose");//濮挎�佹绫虫尝spk
-        typeList.add("sensor.hdl_mmw_pose");//Wi-Fi姣背娉T鐗堟湰
-        return  typeList;
-    }
-
-    public static List<String> getNewMillimeterTypeList() {
-        List<String> typeList = new ArrayList<>();
-        typeList.add("sensor.hdl_mmw_pose");//Wi-Fi姣背娉T鐗堟湰
-        return typeList;
-    }
-
-    private void notifySucceed(Object msg) {
-        //绉婚櫎鐩戝惉
-        removeListener();
-        if (sendThread != null) {
-            sendThread.shutdownNow();
-            sendThread = null;
-        }
-        if (listener != null) {
-            listener.onSucceed(msg);
-            listener = null;
-        }
-    }
-
-
-
-    public static boolean isInverterTopic(String topic) {
-        if (TextUtils.isEmpty(topic)) {
-            return false;
-        }
-        return topic.endsWith("custom/native/inverter/down_reply")
-                || topic.endsWith("custom/native/inverter/down")
-                || topic.endsWith("custom/native/inverter/up");
-    }
-
-    /**
-     * byte鏁扮粍杞崲鎴恑nt鏁扮粍(涓轰簡鎵撳嵃鍑烘棤绗﹀彿鐨刡tye鏁扮粍鏁版嵁)
-     *
-     * @param bytes 鏁扮粍
-     * @return
-     */
-    public static Integer[] byteArrayConvertIntArray(byte[] bytes) {
-        if (bytes == null || bytes.length == 0) {
-            return new Integer[]{};
-        }
-        Integer[] arr = new Integer[bytes.length];
-        for (int i = 0; i < bytes.length; i++) {
-            arr[i] = bytes[i] & 0xff;
-        }
-        return arr;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java
deleted file mode 100644
index 324b7fe..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java
+++ /dev/null
@@ -1,325 +0,0 @@
-package com.hdl.sdk.link.core.connect;
-
-
-import android.text.TextUtils;
-
-import com.hdl.sdk.link.common.config.TopicConstant;
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.event.EventListener;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.ModbusResponse;
-import com.hdl.sdk.link.core.bean.ZigbeeResponse;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.callback.ModbusCallBack;
-import com.hdl.sdk.link.core.callback.ZigbeeCallBack;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-
-/**
- * Created by hxb on 2021/12/8.
- * 鍘熺敓閫氳鐩稿叧鎺ュ彛
- */
-public class HDLModBusConnect {
-
-    private static final String TAG = "HDLModbusConnect";
-    private static HDLModBusConnect instance;
-    /**
-     * 鍐呴儴鐢紝涓昏鏄鐞嗗鐞嗘帀閫忎紶涓婚鍙妉ink涓婚鍚庯紝杩樺師modbus鍘熺敓鏁版嵁鍙婁富棰樼敤
-     */
-    private final String allTopic = "/Modbus";
-
-    /**
-     * 杩斿洖褰撳墠瀹炰緥锛屼笉瀛樺湪灏卞垱寤哄苟鍚屾椂娉ㄥ唽鐩戝惉浜嬩欢
-     *
-     * @return
-     */
-    public static HDLModBusConnect getInstance() {
-        if (null == instance) {
-            instance = new HDLModBusConnect();
-            instance.initEventListener();
-        }
-        return instance;
-    }
-
-    /**
-     * 娉ㄥ唽鐩戝惉Zigbee鎵�鏈夊師鐢熶富棰樺強鏁版嵁
-     *
-     * @param eventListener
-     */
-    public void registerListener(EventListener eventListener) {
-        if (null == eventListener) {
-            return;
-        }
-        EventDispatcher.getInstance().register(allTopic, eventListener);
-    }
-
-    /**
-     * 绉婚櫎鐩戝惉Zigbee鍘熺敓涓婚鍙婃暟鎹�
-     *
-     * @param eventListener
-     */
-    public void removeListener(EventListener eventListener) {
-        if (null == eventListener) {
-            return;
-        }
-        EventDispatcher.getInstance().remove(allTopic, eventListener);
-    }
-
-    /**
-     * 鍒濆鍖栫洃鍚簨浠�
-     */
-    private void initEventListener() {
-        final EventListener eventListener = new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                try {
-                    if (msg instanceof LinkResponse) {
-                        LinkResponse linkResponse = (LinkResponse) msg;
-                        if (linkResponse.getTopic() == null || !linkResponse.getTopic().contains("custom/native/inverter/up")) {
-                            return;
-                        }
-                        byte[] data = linkResponse.getByteData();
-                        ModbusResponse modbusResponse = new ModbusResponse();
-                        String topic = "Modbus" + data[0] + data[1];
-                        modbusResponse.setTopic(topic);
-                        modbusResponse.setData(data);
-                        String oid = null;
-                        //鏄惁鏄�氳繃涓荤綉鍏抽�忎紶涓婚
-                        if (linkResponse.getTopic().contains("/slaveoid/")) {
-                            oid = linkResponse.getTopic().split("/")[8];
-                        } else {
-                            oid = linkResponse.getTopic().split("/")[2];
-                        }
-                        modbusResponse.setOid(oid);
-                        for (GatewayBean gatewayBean : HDLLinkLocalGateway.getInstance().getGatewayList()) {
-                            if (oid.equals(gatewayBean.getGatewayId()) || oid.equals(gatewayBean.getDevice_mac()) || oid.equals(gatewayBean.getOid())) {
-                                //涓婇潰鐨刼id鍙兘鏄綉鍏砳d鎴栬�卪ac鎴栬�呮槸oid锛屼笉绠℃槸鍝釜缁熶竴浣跨敤oid琛ㄧず鏂瑰紡
-                                modbusResponse.setOid(gatewayBean.getOid());
-                                break;
-                            }
-                        }
-
-                        EventDispatcher.getInstance().post(topic, modbusResponse);
-                        //鍙戝竷Zigbee鍘熺敓涓婚鍙婃暟鎹�
-//                        EventDispatcher.getInstance().post(allTopic, modbusResponse);
-                    }
-                } catch (Exception e) {
-                    LogUtils.e(TAG, "LinkResponse杞琈odbusResponse寮傚父:" + e.getMessage());
-                }
-            }
-        };
-        //娉ㄥ唽鐩存帴閫氳鐨勪富棰橈紝鍖呮嫭鐩存帴鍜屼富缃戝叧閫氳鎴栬�呯洿鎺ュ拰浠庣綉鍏抽�氳
-        registerListener(String.format(TopicConstant.NATIVE_MODBUS_UP, "+"), eventListener);
-        //registerListener(String.format(TopicConstant.NATIVE_MODBUS_DOWN_REPLY, "+"), eventListener);
-        //registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener);
-    }
-
-
-    /**
-     * 鍙戦�佸師鐢熸暟鎹�
-     *
-     * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d
-     * @param payload               鍙戦�佹暟鎹�
-     * @param baseCallBack          缁撴灉鍥炶皟
-     */
-    public void Send(String gatewayOidOrGatewayId, byte[] payload, final ModbusCallBack baseCallBack) {
-        Send(gatewayOidOrGatewayId, payload, 5, baseCallBack);
-    }
-
-    /**
-     * 鍙戦�佸師鐢熸暟鎹�
-     *
-     * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d
-     * @param payload               鍙戦�佹暟鎹�
-     * @param timeout               瓒呮椂鏃堕棿(s)
-     * @param baseCallBack          缁撴灉鍥炶皟
-     */
-    public void Send(String gatewayOidOrGatewayId, byte[] payload, int timeout, final ModbusCallBack baseCallBack) {
-        if (payload == null || payload.length == 0) {
-            if (baseCallBack != null) {
-                baseCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
-                System.out.println("鍙戦�佹暟鎹椂璐熻浇鏁版嵁鏄┖鐨�--->");
-            }
-            return;
-        }
-        //濡傛灉鏈湴鏈夐摼鎺ヨ繖涓綉鍏�,鍒欑敤鏈湴杩炴帴
-        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(gatewayOidOrGatewayId);
-        if (null == gatewayBean) {
-            LogUtils.i("鎵句笉鍒扮綉鍏筹紝Oid鏄�" + gatewayOidOrGatewayId);
-            if (null != baseCallBack) {
-                baseCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-            return;
-        }
-
-        String tempTopic = String.format(TopicConstant.NATIVE_MODBUS_DOWN, gatewayOidOrGatewayId);
-        LinkRequest request = new LinkRequest(tempTopic, payload, gatewayBean.getIsLocalEncrypt());//瑕佷笉瑕佸姞瀵�
-
-//        if ("true".equals(gatewayBean.getMaster())) {
-        request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN, HDLLinkConfig.getInstance().getGatewayId()));
-//        } else {
-//            request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN_SLAVE, HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId));
-//        }
-        request.setReplyTopic("Modbus" + payload[0] + payload[1]);
-        long awaitTime = timeout * 1000L;
-
-        new HDLConnectHelper(awaitTime, 1, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof int[]) {
-                    if (null != baseCallBack) {
-                        baseCallBack.onSuccess((int[]) msg);
-                    }
-                } else {
-                    LogUtils.e("鍙戦�丮odbus鍥炶皟瀵硅薄绫诲瀷闈炴暟缁勭被鍨嬶紝绫诲瀷鏄�" + msg.getClass());
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (null != baseCallBack) {
-                    baseCallBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true).send();
-    }
-
-
-    /**
-     * 鍙戦�佸師鐢熼�忎紶鍛戒护鏁版嵁
-     *
-     * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d
-     * @param responeTopic          鍥炲涓婚
-     * @param payload               鍙戦�佹暟鎹�
-     * @param zigbeeCallBack        缁撴灉鍥炶皟
-     */
-    public void SendThrough(String gatewayOidOrGatewayId, String responeTopic, String payload, final ZigbeeCallBack zigbeeCallBack) {
-//        //濡傛灉鏈湴鏈夐摼鎺ヨ繖涓綉鍏�,鍒欑敤鏈湴杩炴帴
-//        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(gatewayOidOrGatewayId);
-//        if (null == gatewayBean) {
-//            LogUtils.i("鎵句笉鍒扮綉鍏筹紝Oid鏄�" + gatewayOidOrGatewayId);
-//            if (null != zigbeeCallBack) {
-//                zigbeeCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-//            }
-//            return;
-//        }
-//        boolean isLocal = gatewayBean.getIsLocalGateway();
-//        //濡傛灉鏄湰鍦伴�氳
-//        if (isLocal == true) {
-//
-//            String tempTopic = String.format("/user/%s/custom/native/zigbee/down", gatewayOidOrGatewayId);
-//            String tempTopicReply = String.format("/user/%s/custom/native/zigbee/up", gatewayOidOrGatewayId);
-//
-//            final boolean[] isCallBack = {false};
-//            //閫忎紶鍛戒护涓婚澶勭悊
-//            final EventListener eventListener = new EventListener() {
-//                @Override
-//                public void onMessage(Object msg) {
-//                    if (msg instanceof LinkResponse) {
-//                        LinkResponse linkResponse = (LinkResponse) msg;
-//                        //TODO 濡傛灉閰嶇疆浠庣綉鍏崇殑淇℃伅锛岄�氳繃涓荤綉鍏宠浆杈撅紝杩欓噷oid瑕佸垽鏂笅
-//                        String body = getZigbeeData(responeTopic, linkResponse);
-//                        if (null != body) {
-//                            isCallBack[0] = true;
-//                            removeListener(tempTopicReply, this);
-//                            if (null != zigbeeCallBack) {
-//                                zigbeeCallBack.onSuccess(body);
-//                            }
-//                        }
-//                    }
-//                }
-//            };
-//            //娉ㄥ唽鐩戝惉
-//            registerListener(tempTopicReply, eventListener);
-//
-//            //涓�瀹氭椂闂村悗杩樻病鏈夋帴鏀跺埌鏁版嵁锛屽氨鍥炶皟澶辫触
-//            ScheduledExecutorService scheduledExecutorService = ThreadToolUtils.getInstance().newScheduledThreadPool(1);
-//            scheduledExecutorService.schedule(new Runnable() {
-//                @Override
-//                public void run() {
-//                    removeListener(tempTopicReply, eventListener);
-//                    scheduledExecutorService.shutdownNow();
-//                    if (!isCallBack[0]) {
-//                        if (null != zigbeeCallBack) {
-//                            zigbeeCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_Zigbee_FAILURE_ERROR));
-//                        }
-//                    }
-//                }
-//            }, 5, TimeUnit.SECONDS);
-//
-//            //鏈湴鍙戦��
-//            LinkRequest request = new LinkRequest(tempTopic, payload, gatewayBean.getIsLocalEncrypt());
-//            new HDLConnectHelper(gatewayBean.getIp_address(), request,true).send();
-//        } else {
-//            //璇锋眰涓婚
-//            String tempTopic = null;
-//            //鍥炲涓婚
-//            String tempTopicReply = null;
-//
-//            //杩滅▼鍙戦��
-//            if ("true".equals(gatewayBean.getMaster())) {
-//                tempTopic = String.format("/user/%s/custom/native/zigbee/down", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId());
-//                tempTopicReply = String.format("/user/%s/custom/native/zigbee/up", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId());
-//            } else {
-//                tempTopic = String.format("/user/%s/custom/native/zigbee/slaveoid/%s/down", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId);
-//                tempTopicReply = String.format("/user/%s/custom/native/zigbee/slaveoid/%s/up", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId(), "+");
-//            }
-//            //TODO 鍚庣画瀹屽杽浜戠鐨勫彂閫佹帴鏀舵柟娉�
-//        }
-    }
-
-
-    /**
-     * 澶勭悊zigbee鍥炲鐨勬暟鎹�
-     *
-     * @param responeTopic 鍥炲涓婚
-     * @param linkResponse 鍥炲鐨勯�忎紶鏁版嵁
-     */
-    private static String getZigbeeData(String responeTopic, LinkResponse linkResponse) {
-        //涓婚涓虹┖涓嶅鐞�
-        if (TextUtils.isEmpty(responeTopic)) {
-            return null;
-        }
-
-        String body = linkResponse.getData();
-        int index = body.indexOf("{");
-        //zigbee鍥炲鐨勬暟鎹墠鏈変富棰橈紝鍚庨潰鎵嶆槸鏁版嵁
-        if (index <= 0)
-            return null;
-
-        String zigbeeTopic = body.substring(0, index).trim();
-        //zigbee鐨勮礋杞芥暟鎹�
-        String bodyData = body.substring(index);
-
-        //涓嶆槸褰撳墠璇锋眰鐨勬暟鎹紝涓嶅鐞�
-        if (!zigbeeTopic.startsWith(responeTopic)) {
-            return null;
-        }
-
-        return bodyData;
-        //Zigbee浠ュ墠鐨勬帴鏀堕�昏緫
-//        HdlZbGatewayReceiveLogic.Current.ZigbeeOldReceiveLogic(reportTopic, bodyData, gatewayMac);
-    }
-
-    /**
-     * 娉ㄥ唽鐩戝惉
-     */
-    static void registerListener(String responseTopic, EventListener eventListener) {
-        if (!TextUtils.isEmpty(responseTopic)) {
-            EventDispatcher.getInstance().register(responseTopic, eventListener);
-        }
-    }
-
-    /**
-     * 绉婚櫎鐩戝惉
-     */
-    static void removeListener(String responseTopic, EventListener eventListener) {
-        if (!TextUtils.isEmpty(responseTopic)) {
-            EventDispatcher.getInstance().remove(responseTopic, eventListener);
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLTcpConnect.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLTcpConnect.java
deleted file mode 100644
index 9ddf6ad..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLTcpConnect.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package com.hdl.sdk.link.core.connect;
-
-import com.google.gson.JsonObject;
-import com.hdl.sdk.link.common.config.TopicConstant;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.common.utils.IdUtils;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.bean.request.BroadcastRequest;
-import com.hdl.sdk.link.core.callback.HDLLinkResponseCallBack;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.core.protocol.LinkMessageDecoder;
-import com.hdl.sdk.link.core.protocol.LinkMessageEncoder;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-import com.hdl.sdk.link.socket.TcpSocketBoot;
-import com.hdl.sdk.link.socket.SocketOptions;
-import com.hdl.sdk.link.socket.client.IHeartbeat;
-import com.hdl.sdk.link.socket.client.TcpClient;
-import com.hdl.sdk.link.socket.codec.MessagePipeLine;
-import com.hdl.sdk.link.socket.listener.ConnectStatusListener;
-
-/**
- * Created by Tong on 2021/9/26.
- * 1銆侀�氳繃Udp 缁勬挱鎴栬�呭箍鎾悳绱㈢綉鍏�
- * 2銆侀�氳繃Udp 鑾峰彇Tcp ip 绔彛缁熶竴8586
- */
-public class HDLTcpConnect {
-
-    /**
-     * tcp榛樿绔彛
-     */
-    private static final int TCP_PORT = 8586;
-
-
-    private ConnectStatusListener statusListener;
-
-    private HDLTcpConnect() {
-        statusListener = new ConnectStatusListener() {
-            @Override
-            public void onConnecting() {
-                broadcastRequest();
-            }
-
-            @Override
-            public void onConnected() {
-
-            }
-
-            @Override
-            public void onConnectFailed() {
-
-            }
-        };
-    }
-
-    /**
-     * 骞挎挱鑷韩淇℃伅缁欎富缃戝叧
-     */
-    private void broadcastRequest() {
-        String time = String.valueOf(System.currentTimeMillis());
-        if (null == HDLLinkConfig.getInstance().getDeviceInfoBean()) {
-            LogUtils.i("DeviceInfoBean涓虹┖锛岃璁剧疆褰撳墠瀵硅薄");
-            return;
-        }
-        BroadcastRequest request = new BroadcastRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), "200");
-        HDLUdpConnect.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true);
-        HDLUdpConnect.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true, new HDLLinkResponseCallBack() {
-            @Override
-            public void onSuccess(LinkResponse msg) {
-                LogUtils.i("骞挎挱淇℃伅缁欎富缃戝叧鎴愬姛锛�");
-            }
-
-            @Override
-            public void onError(HDLLinkException e) {
-
-            }
-        });
-        HDLUdpConnect.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true);
-    }
-
-    private static class SingletonInstance {
-        private static final HDLTcpConnect INSTANCE = new HDLTcpConnect();
-    }
-
-    public static HDLTcpConnect getInstance() {
-        return SingletonInstance.INSTANCE;
-    }
-
-    /**
-     * 閫氳繃IP鍙婄鍙f壘鍑鸿繛鎺ュ鎴风锛屽鏋滃綋鍓嶆病鏈夎繛鎺ャ�備富瑕佹槸閽堝璋冭瘯杞欢浣跨敤锛屾敮鎸佽繛鎺ヤ富缃戝叧銆佷粠缃戝叧
-     *
-     * @param ip 杩炴帴鐨勭綉鍏矷P
-     * @return
-     */
-    public static synchronized TcpSocketBoot getTcpSocketBoot(String ip) {
-        return initTcp(ip);
-    }
-
-    static  int dddd;
-    /**
-     * 鍒濆鍖杢cp杩炴帴
-     *
-     * @param ip 杩炴帴鐨勭綉鍏矷P
-     * @return
-     */
-    public static synchronized TcpSocketBoot initTcp(String ip) {
-        int port = TCP_PORT;
-        TcpSocketBoot tcpSocketBoot = TcpSocketBoot.getByEndPoint(ip, port);
-
-        if (null == tcpSocketBoot) {
-            final SocketOptions options = new SocketOptions();
-            final MessagePipeLine pipeLine = new MessagePipeLine();
-            pipeLine.add(new LinkMessageDecoder());
-            pipeLine.add(new LinkMessageEncoder());
-            options.setHandleMessage(pipeLine);
-            tcpSocketBoot = TcpClient.init(ip, port, options);
-            tcpSocketBoot.SetHeartbeat(new IHeartbeat() {
-                @Override
-                public void heartbeat() {
-
-                    String time = String.valueOf(System.currentTimeMillis());
-
-                    JsonObject jsonObject = new JsonObject();
-                    jsonObject.addProperty("id", IdUtils.getUUId());
-                    jsonObject.addProperty("time_stamp", time);
-
-                    GatewayBean gatewayBean= HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(ip);
-                    if(gatewayBean==null){
-                        return;
-                    }
-                    String topic = String.format(TopicConstant.HEARTBEAT, gatewayBean.getOid());
-
-                    LinkRequest request = new LinkRequest(topic, jsonObject.toString(), false);
-                    new HDLConnectHelper(ip, request, null, true).send();
-                }
-            });
-        }
-        return tcpSocketBoot;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLUdpConnect.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLUdpConnect.java
deleted file mode 100644
index 30a79a4..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLUdpConnect.java
+++ /dev/null
@@ -1,630 +0,0 @@
-package com.hdl.sdk.link.core.connect;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.wifi.WifiManager;
-import android.text.TextUtils;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonObject;
-import com.google.gson.reflect.TypeToken;
-import com.hdl.sdk.link.HDLLinkLocalSdk;
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.event.EventListener;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.common.utils.IpUtils;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.bean.request.AuthenticateRequest;
-import com.hdl.sdk.link.core.bean.response.AuthenticateResponse;
-import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
-import com.hdl.sdk.link.core.bean.response.GatewaySearchBean;
-import com.hdl.sdk.link.core.bean.response.NetworkAccessBroadcastResponse;
-import com.hdl.sdk.link.core.callback.BaseCallBack;
-import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
-import com.hdl.sdk.link.core.callback.HDLLinkResponseCallBack;
-import com.hdl.sdk.link.common.config.TopicConstant;
-import com.hdl.sdk.link.common.utils.IdUtils;
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.core.protocol.LinkMessageDecoder;
-import com.hdl.sdk.link.core.protocol.LinkMessageDecoderUdp;
-import com.hdl.sdk.link.core.protocol.LinkMessageEncoder;
-import com.hdl.sdk.link.socket.client.UdpClient;
-import com.hdl.sdk.link.socket.codec.MessagePipeLine;
-import com.hdl.sdk.link.socket.udp.UdpSocketBoot;
-import com.hdl.sdk.link.socket.udp.UdpSocketOptions;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import static com.hdl.sdk.link.common.config.TopicConstant.DEIVCE_AUTH_REQUEST;
-
-/**
- * Created by jlchen on 11/11/21.
- *
- * @Description : HDLAuthSocket 鐢变簬鍓嶆湡宸茬粡鍛藉悕濂斤紝涓嶅仛鏇存敼锛屽彲鐢ㄤ綔Udp鏈嶅姟绔娇鐢�
- */
-public class HDLUdpConnect {
-    private static final String TAG = "HDLAuth";
-    /**
-     * udp榛樿绔彛
-     */
-    public static final int UDP_PORT = 8585;
-    /**
-     * 鍥犱负鑰冭檻鍒颁娇鐢ㄤ竴涓鍙o紝瑕佹敮鎸佹帴鏀跺缃戝叧鐨勬暟鎹紝鎵�浠ュ彧鍏佽浣跨敤涓�涓�
-     */
-    private static UdpSocketBoot udpSocketBoot;
-    //    private EventListener authEvent;
-    //鎼滅储缃戝叧
-    private EventListener searchGatewayEvent;
-    /**
-     * udp榛樿缁勬挱ip
-     */
-    private static final String UDP_GROUP_IP = "239.0.168.188";
-
-    private static boolean bindSuccess;
-
-    public static boolean isBindSuccess() {
-        return bindSuccess;
-    }
-
-    /**
-     * instance
-     */
-    private volatile static HDLUdpConnect instance;
-
-    private HDLUdpConnect() {
-        initListenerGatewayEvent();
-        initSearchGatewayEvent();
-    }
-
-    /**
-     * getInstance
-     *
-     * @return HDLAuthSocket
-     */
-    public static synchronized HDLUdpConnect getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkConfig.class) {
-                if (instance == null) {
-                    instance = new HDLUdpConnect();
-                }
-            }
-        }
-        return instance;
-    }
-
-    private UdpSocketOptions getUdpOptions() {
-        final UdpSocketOptions options = new UdpSocketOptions();
-        WifiManager manager = (WifiManager) HDLLinkLocalSdk.getInstance().getContext().getApplicationContext()
-                .getSystemService(Context.WIFI_SERVICE);
-        options.setWifiManager(manager);
-        final MessagePipeLine pipeLine = new MessagePipeLine();
-        pipeLine.add(new LinkMessageDecoderUdp());
-//        pipeLine.add(new LinkMessageEncoder());
-        options.setHandleMessage(pipeLine);
-        return options;
-    }
-
-
-    /**
-     * 鑾峰彇褰撳墠udp瀵硅薄锛屽鏋滀笉瀛樺湪灏卞垱寤�
-     *
-     * @return 杩斿洖褰撳墠瀵硅薄
-     */
-    public synchronized UdpSocketBoot getUdpBoot() {
-        if (null == initUdp()) {
-            return null;
-        }
-        return udpSocketBoot;
-    }
-
-
-    /**
-     * 鍒濆鍖杣dp 鐩戝惉鍔熻兘
-     *
-     * @return 杩斿洖褰撳墠瀵硅薄
-     */
-    public synchronized UdpSocketBoot initUdp() {
-        try {
-            if (udpSocketBoot == null) {
-                udpSocketBoot = UdpClient.init("0.0.0.0",UDP_PORT, getUdpOptions());
-                udpSocketBoot.bind();
-                bindSuccess=true;
-            }
-        } catch (Exception e) {
-            LogUtils.e("鍒濆鍖栫綉鍏冲け璐�:"+e.getMessage());
-            return null;
-        }
-
-        return udpSocketBoot;
-    }
-
-
-    /**
-     * 寮�濮嬬洃鍚拰鍙戣捣鍏ョ綉鍙婅璇佽姹�
-     *
-     * @param request  璁よ瘉璇锋眰淇℃伅
-     * @param callBack 缁撴灉鍥炶皟
-     */
-    public void startAuthenticateRequest(AuthenticateRequest request, HDLLinkCallBack callBack) {
-        HDLLinkConfig.getInstance().clearConfig();
-        //1.鍚姩Socket 寮�鍚洃鍚�
-        getUdpBoot();
-        //2.鏋勫缓鐩戝惉Listener
-//        authEvent =
-        //3.鐩戝惉缃戝叧骞挎挱鐨勫叆缃戞寚浠�
-        EventDispatcher.getInstance().register(TopicConstant.GATEWAY_AUTH_BROADCAST, new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                NetworkAccessBroadcastResponse bean = getNetworkAccessBroadcastResponse(msg);
-                if (bean != null) {
-                    LogUtils.i(TAG, "缃戝叧鍏ョ綉骞挎挱IP: " + bean.getIPAddress());
-                    String ipStr = bean.getIPAddress();
-                    if (!TextUtils.isEmpty(ipStr)) {
-                        sendAuthenticateRequest(ipStr, request, callBack);
-                    }
-                }
-                //绉婚櫎鐩戝惉
-                EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST);
-                LogUtils.i(TAG, "绉婚櫎鐩戝惉 authEvent");
-            }
-        });
-    }
-
-    /**
-     * 缁撴潫鐩戝惉鍏ョ綉鍙婅璇佸箍鎾�
-     */
-    public void endAuthenticateRequest() {
-        //绉婚櫎鐩戝惉
-        EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST);
-    }
-
-    /**
-     * 鍙戦�佸叆缃戝強璁よ瘉璇锋眰
-     *
-     * @param ip       缃戝叧IP
-     * @param request  璁よ瘉璇锋眰淇℃伅
-     * @param callBack 缁撴灉鍥炶皟
-     */
-    public void sendAuthenticateRequest(String ip, AuthenticateRequest request, HDLLinkCallBack callBack) {
-        if (request == null) {
-            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
-        }
-        String topic = DEIVCE_AUTH_REQUEST;
-        Gson gs = new Gson();
-        String requestStr = gs.toJson(request);
-        LinkRequest linkRequest = new LinkRequest(topic, requestStr, false);
-//        linkRequest.setReplyTopic(requestStr + "_reply");
-        new HDLConnectHelper(ip, linkRequest, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                try {
-                    AuthenticateResponse bean = getAuthenticateResponseBean(msg);
-                    if (bean != null) {
-                        if (bean.getCode().equals("200")) {
-                            String localSecret = "";
-                            String gatewayId = "";
-                            String ipAddress = "";
-                            if (bean.getAuth() != null) {
-                                localSecret = bean.getAuth().getLocalSecret();
-                            }
-                            if (bean.getObjects() != null) {
-                                gatewayId = bean.getObjects().getGatewayID();
-                                ipAddress = bean.getObjects().getIPAddress();
-                            }
-                            //鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔�
-                            if (TextUtils.isEmpty(localSecret) || TextUtils.isEmpty(gatewayId)) {
-                                //璁よ瘉澶辫触锛岀綉鍏虫湭娉ㄥ唽鍒颁簯绔�
-                                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED));
-                            } else {
-                                HDLLinkConfig.getInstance().saveConfig(localSecret, gatewayId, ipAddress);
-                                callBack.onSuccess("璁よ瘉鎴愬姛");
-                            }
-                        } else if (bean.getCode().equals("14013")) {
-                            //璁よ瘉澶辫触锛岃MAC瀵瑰簲鐨勮澶囧瘑閽ヤ笉瀛樺湪
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_MAC_KEY_ERROR));
-                        } else {
-                            //璁よ瘉澶辫触锛岄敊璇爜锛�
-                            LogUtils.e("璁よ瘉澶辫触锛岄敊璇爜锛�" + bean.getCode());
-                            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR));
-                        }
-                    } else {
-                        callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
-                    }
-                } catch (Exception e) {
-                    callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                LogUtils.i(TAG, "onFailure: ");
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, false).send();
-    }
-
-//    /**
-//     * 鍙戦�佸叆缃戝強璁よ瘉璇锋眰
-//     *
-//     * @param callBack 缁撴灉鍥炶皟
-//     */
-//    public void sendAuthenticateRequest(CallBack callBack) {
-//        String macStr = "AA000000000000BB";
-//        String secret = "87ae414b7a853f65";
-//        String mac_key = stringToMD5(stringToMD5(macStr + secret));
-//
-//        String versionString = "HDL_V1.0.1";
-//        String time = String.valueOf(System.currentTimeMillis());
-//
-//        //1.璁剧疆璁よ瘉淇℃伅
-//        AuthenticateRequest.RequestBean requestBean = new AuthenticateRequest.RequestBean();
-//        requestBean.setMAC(macStr);
-//        requestBean.setSupplier("HDL");
-//        requestBean.setFirmwareVersion(versionString);
-//        requestBean.setHardwareModel("1956F");
-//        AuthenticateRequest.AuthBean authbean = new AuthenticateRequest.AuthBean();
-//        authbean.setSpk("ir.module");
-//        authbean.setMACKey(mac_key);
-//        authbean.setRequest(requestBean);
-//
-//
-//        //2.璁剧疆璁惧淇℃伅
-//        AuthenticateDeviceInfoBean infoBean = new AuthenticateDeviceInfoBean();
-//        infoBean.setDeviceMAC(macStr);
-//        infoBean.setIPMAC(macStr);
-//        infoBean.setDeviceName("HDL闈㈡澘");
-//        infoBean.setAccessMode("HDL");
-//        infoBean.setOID(getOid());
-//        infoBean.setSid(getSid());
-////        infoBean.set
-//        AuthenticateRequest.VersionBean[] versionBeans = new AuthenticateRequest.VersionBean[]{new AuthenticateRequest.VersionBean("FW", versionString), new AuthenticateRequest.VersionBean("HW", "1956F")};
-//        infoBean.setVersions(versionBeans);
-//        AuthenticateRequest request = new AuthenticateRequest(IdUtils.getUUId(), time, infoBean, authbean);
-//
-//        String ip = IpUtils.getBroadcastAddress();
-//        ip = "192.168.10.102";
-//        sendAuthenticateRequest(ip, request, callBack);
-//    }
-
-    public interface SearchGatewayCallBack extends BaseCallBack {
-        /**
-         * 鎼滅储缃戝叧鎴愬姛
-         *
-         * @param gatewaySearchBean
-         */
-        void onSuccess(GatewaySearchBean gatewaySearchBean);
-    }
-
-
-    /**
-     * 鏆傚仠鎼滅储缃戝叧
-     */
-    public void endSearchAllGateway() {
-
-    }
-
-    /**
-     * 缁勬挱鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎锛屾悳绱㈠埌鍒欒繑鍥炴寚瀹氱殑缃戝叧瀵硅薄
-     *
-     * @param callBack 鍥炶皟
-     */
-    public void searchGatewayMulticast(SearchGatewayCallBack callBack) {
-        searchGateway(HDLLinkConfig.getInstance().getGatewayId(), UDP_GROUP_IP, UDP_PORT, callBack);
-    }
-
-    /**
-     * 缁勬挱鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎锛屾悳绱㈠埌鍒欒繑鍥炴寚瀹氱殑缃戝叧瀵硅薄
-     *
-     * @param callBack 鍥炶皟
-     */
-    public void searchGatewayBroadcast(SearchGatewayCallBack callBack) {
-        if (!HDLLinkConfig.getInstance().checkIfCertified()) {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR));
-            }
-            return;
-        }
-        String ip = IpUtils.getBroadcastAddress();
-        searchGateway(HDLLinkConfig.getInstance().getGatewayId(), ip, UDP_PORT, callBack);
-    }
-
-    /**
-     * 閫氱敤鍙戦�佹寚浠�
-     * 1绉掓病鍝嶅簲灏辫浠栭噸鏂板彂閫�,閲嶈瘯3娆�
-     *
-     * @param topic     鍙戦�佹暟鎹�
-     * @param bodyStr   鍥炲鐨勪富棰�
-     * @param broadcast 鏄惁瑕佸箍鎾�
-     * @param callBack  鍥炶皟
-     */
-    public void udpSendMsg(String topic, String bodyStr, boolean broadcast, HDLLinkResponseCallBack callBack) {
-        if (TextUtils.isEmpty(topic) || TextUtils.isEmpty(bodyStr)) {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
-            }
-            return;
-        }
-
-        if (!HDLLinkConfig.getInstance().checkIfCertified()) {
-            if (callBack != null) {
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR));
-            }
-            return;
-        }
-
-        LinkRequest message = new LinkRequest(topic, bodyStr, false);
-        String ip = HDLLinkConfig.getInstance().getIpAddress();
-        if (broadcast) {
-            ip = IpUtils.getBroadcastAddress();
-        }
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                callBack.onSuccess((LinkResponse) msg);
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }
-                , false).send();
-    }
-
-    /**
-     * 閫氱敤鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
-     *
-     * @param topic     鍙戦�佹暟鎹�
-     * @param bodyStr   鍥炲鐨勪富棰�
-     * @param broadcast 鏄惁骞挎挱
-     */
-    public void udpSendMsg(String topic, String bodyStr, boolean broadcast) {
-        if (TextUtils.isEmpty(topic) || TextUtils.isEmpty(bodyStr)) {
-            LogUtils.e("udpSendMsg", "鍙傛暟涓嶈兘涓虹┖");
-            return;
-        }
-        if (!HDLLinkConfig.getInstance().checkIfCertified()) {
-            LogUtils.e("udpSendMsg", "鏈璇侊紝璇峰厛璁よ瘉");
-            return;
-        }
-        LinkRequest message = new LinkRequest(topic, bodyStr, HDLLinkConfig.getInstance().isLocalEncrypt());
-        String ip = HDLLinkConfig.getInstance().getIpAddress();
-        if (broadcast) {
-            ip = IpUtils.getBroadcastAddress();
-        }
-        new HDLConnectHelper(ip, message, false).send();
-    }
-
-    private GatewaySearchBean getGatewaySearchBean(Object msg) {
-        GatewaySearchBean searchBean = null;
-        if (msg instanceof LinkResponse) {
-            LinkResponse linkResponse = (LinkResponse) msg;
-            String data = linkResponse.getData();
-            if (!TextUtils.isEmpty(data)) {
-                final BaseLocalResponse<GatewaySearchBean> response = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewaySearchBean>>() {
-                }.getType());
-                searchBean = response.getObjects();
-            }
-        }
-        return searchBean;
-    }
-
-    private AuthenticateResponse getAuthenticateResponseBean(Object msg) {
-        AuthenticateResponse mBean = null;
-        if (msg instanceof LinkResponse) {
-            LinkResponse linkResponse = (LinkResponse) msg;
-            String data = linkResponse.getData();
-            if (!TextUtils.isEmpty(data)) {
-                AuthenticateResponse response = GsonConvert.getGson().fromJson(data, new TypeToken<AuthenticateResponse>() {
-                }.getType());
-                mBean = response;
-            }
-
-        }
-        return mBean;
-    }
-
-    private NetworkAccessBroadcastResponse getNetworkAccessBroadcastResponse(Object msg) {
-        NetworkAccessBroadcastResponse mBean = null;
-        if (msg instanceof LinkResponse) {
-            LinkResponse linkResponse = (LinkResponse) msg;
-            String data = linkResponse.getData();
-            if (!TextUtils.isEmpty(data)) {
-                NetworkAccessBroadcastResponse response = GsonConvert.getGson().fromJson(data, new TypeToken<NetworkAccessBroadcastResponse>() {
-                }.getType());
-                mBean = response;
-            }
-
-        }
-        return mBean;
-    }
-
-    /**
-     * 缃戝叧鎼滅储鐩稿叧
-     */
-    private static final int MAX_SEARCH_COUNT = 10;//鎬诲叡鎼滅储娴嬭瘯
-    private final AtomicInteger searchGatewayCount = new AtomicInteger(0);
-    ;
-    private final AtomicBoolean isSearchGatewaySuccess = new AtomicBoolean(true);
-    private String searchGatewayId = "";
-    private SearchGatewayCallBack mSearchGatewayCallBack;
-
-    private void initSearchGatewayEvent() {
-        LogUtils.i("鎼滅储缃戝叧", "initSearchGatewayEvent");
-        searchGatewayEvent = new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                try {
-                    if (msg instanceof LinkResponse) {
-                        LinkResponse linkResponse = (LinkResponse) msg;
-                        String data = linkResponse.getData();
-                        if (!TextUtils.isEmpty(data)) {
-                            final BaseLocalResponse<GatewaySearchBean> response = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewaySearchBean>>() {
-                            }.getType());
-                            GatewaySearchBean searchBean = response.getObjects();
-                            if (searchBean != null && !TextUtils.isEmpty(searchBean.getGatewayId())) {
-                                if (searchBean.getGatewayId().contains(searchGatewayId)) {
-                                    removeSearchGatewayEvent();//绉婚櫎鎼滅储缃戝叧鐩戝惉
-                                    isSearchGatewaySuccess.set(true);//鎼滅储鎴愬姛鏍囪
-                                    searchGatewayCount.set(11);//娆℃暟鏍囪
-                                    HDLLinkConfig.getInstance().setLocalEncrypt(searchBean.isLocalEncrypt());//璁剧疆鏄惁鍔犲瘑
-                                    if (mSearchGatewayCallBack != null) {
-                                        mSearchGatewayCallBack.onSuccess(searchBean);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                } catch (Exception e) {
-
-                }
-            }
-        };
-    }
-
-    private void initListenerGatewayEvent() {
-        LogUtils.i("鍒濆鍖栨案涔呯洃鍚綉鍏冲箍鎾簨浠讹紝涓嶇敤绉婚櫎姝や簨浠�");
-        EventListener gatewayEvent = new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                try {
-                    if (msg instanceof LinkResponse) {
-                        LinkResponse linkResponse = (LinkResponse) msg;
-                        String data = linkResponse.getData();
-//                        LogUtils.i("鎺ユ敹鍒扮綉鍏充俊鎭細" + data);
-                        if (!TextUtils.isEmpty(data)) {
-                            final BaseLocalResponse<GatewayBean> response = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewayBean>>() {
-                            }.getType());
-                            GatewayBean gateway = response.getObjects();
-                            if (gateway != null) {
-//                                if (!TextUtils.isEmpty(HDLLinkConfig.getInstance().getGatewayId())
-//                                        && !TextUtils.isEmpty(HDLLinkConfig.getInstance().getHomeId())) {
-//                                    //涓荤綉鍏冲苟涓旀槸褰撳墠缁戝畾鐨勭綉鍏�
-//                                    if ("true".equals(gateway.getMaster().toLowerCase())) {
-//                                        if (gateway.getGatewayId().equals(HDLLinkConfig.getInstance().getGatewayId())
-//                                                || gateway.getDevice_mac().equals(HDLLinkConfig.getInstance().getGatewayId())
-//                                                || gateway.getOid().equals(HDLLinkConfig.getInstance().getGatewayId())
-//                                                || gateway.getHomeId().equals(HDLLinkConfig.getInstance().getHomeId())) {
-//                                            HDLLinkConfig.getInstance().setLocalEncrypt(gateway.getIsLocalEncrypt());//璁剧疆鏄惁鍔犲瘑
-//                                            HDLLinkConfig.getInstance().setIpAddress(gateway.getIp_address());
-//                                            //鏇存柊褰撳墠缃戝叧鐨勪俊鎭�
-//                                            HDLLinkConfig.getInstance().reSaveConfig();
-//                                        }
-//                                    }
-                                if (!TextUtils.isEmpty(gateway.getHomeId())) {
-                                    //涓荤綉鍏冲苟涓旀槸褰撳墠缁戝畾鐨勭綉鍏�
-                                    if ("true".equals(gateway.getMaster().toLowerCase())) {
-                                        if (gateway.getHomeId().equals(HDLLinkConfig.getInstance().getHomeId())) {
-                                            HDLLinkConfig.getInstance().setLocalEncrypt(gateway.getIsLocalEncrypt());//璁剧疆鏄惁鍔犲瘑
-                                            HDLLinkConfig.getInstance().setIpAddress(gateway.getIp_address());
-                                            //鏇存柊褰撳墠缃戝叧鐨勪俊鎭�
-                                            HDLLinkConfig.getInstance().reSaveConfig();
-                                        }
-                                    }
-                                }
-
-                                if(TextUtils.isEmpty(gateway.getHomeId())||gateway.getHomeId().equals(HDLLinkConfig.getInstance().getHomeId())) {
-                                    HDLTcpConnect.initTcp(gateway.getIp_address());//鍒濆鍖朤CP杩炴帴
-                                }
-                            }
-                        }
-                    }
-                } catch (Exception e) {
-
-                }
-            }
-        };
-        EventDispatcher.getInstance().registerIo(TopicConstant.GATEWAY_SEARCH_REPLY, gatewayEvent);
-    }
-
-    /**
-     * 鎼滅储鎸囧畾缃戝叧鏄惁鍦ㄧ嚎锛屾悳绱㈠埌鍒欒繑鍥炴寚瀹氱殑缃戝叧瀵硅薄
-     *
-     * @param gatewayId 缃戝叧id
-     * @param ipAddress 鐩爣鐨処P鍦板潃
-     * @param port      鐩爣鐨勭鍙�
-     * @param callBack  鍥炶皟
-     */
-    public void searchGateway(String gatewayId, String ipAddress, int port, SearchGatewayCallBack callBack) {
-        this.searchGatewayId = gatewayId;
-        this.mSearchGatewayCallBack = callBack;
-        //閲嶇疆鍙傛暟
-        searchGatewayCount.set(0);
-        isSearchGatewaySuccess.set(false);
-        String time = String.valueOf(System.currentTimeMillis());
-        JsonObject jsonObject = new JsonObject();
-        jsonObject.addProperty("id", IdUtils.getUUId());
-        jsonObject.addProperty("time_stamp", time);
-        LinkRequest message = new LinkRequest(TopicConstant.GATEWAY_SEARCH,
-                jsonObject.toString(), false);
-        //娉ㄥ唽鎼滅储缃戝叧鐩戝惉
-        registerSearchGatewayEvent();
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                while (searchGatewayCount.get() < 10 && (!isSearchGatewaySuccess.get())) {
-                    try {
-                        //鎼滅储缃戝叧
-                        searchGatewayCount.set(searchGatewayCount.get() + 1);
-                        LogUtils.i("鎼滅储缃戝叧绗�" + searchGatewayCount.get() + "娆�");
-                        new HDLConnectHelper(ipAddress, message, false).send();
-                        Thread.sleep(1000L);
-                    } catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-
-                if (!isSearchGatewaySuccess.get()) {
-                    //鎼滅储10娆★紝鎸囧畾缃戝叧閮芥病鍥炲锛屽洖璋冭秴鏃�
-                    callBackSearchGatewayTimeout();
-                    LogUtils.e("鎼滅储10娆★紝鎸囧畾缃戝叧閮芥病鍥炲锛屽洖璋冭秴鏃�");
-                }
-            }
-        }).start();
-    }
-
-
-    /**
-     * 娉ㄥ唽鎼滅储缃戝叧鐩戝惉
-     */
-    private void registerSearchGatewayEvent() {
-        LogUtils.i("娉ㄥ唽鎼滅储缃戝叧鐩戝惉");
-        EventDispatcher.getInstance().registerIo(TopicConstant.GATEWAY_SEARCH_REPLY, searchGatewayEvent);
-    }
-
-    /**
-     * 绉婚櫎鎼滅储缃戝叧鐩戝惉
-     */
-    private void removeSearchGatewayEvent() {
-        LogUtils.i("鎼滅储缃戝叧", "绉婚櫎鎼滅储缃戝叧鐩戝惉");
-        EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_SEARCH_REPLY, searchGatewayEvent);
-    }
-
-    /**
-     * 鍥炶皟鎼滅储缃戝叧瓒呮椂
-     */
-    private void callBackSearchGatewayTimeout() {
-        removeSearchGatewayEvent();
-        ThreadToolUtils.getInstance().runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                if (mSearchGatewayCallBack != null) {
-                    mSearchGatewayCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEARCH_GATEWAY_TIMEOUT_ERROR));
-                }
-            }
-        });
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLZigbeeConnect.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLZigbeeConnect.java
deleted file mode 100644
index cf10133..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLZigbeeConnect.java
+++ /dev/null
@@ -1,358 +0,0 @@
-package com.hdl.sdk.link.core.connect;
-
-
-import android.text.TextUtils;
-
-import com.hdl.sdk.link.common.config.TopicConstant;
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.event.EventListener;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.ZigbeeResponse;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.callback.ZigbeeCallBack;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Created by hxb on 2021/12/8.
- * 鍘熺敓閫氳鐩稿叧鎺ュ彛
- */
-public class HDLZigbeeConnect {
-
-    private static final String TAG="HDLZigbeeConnect";
-    private static HDLZigbeeConnect instance;
-    /**
-     * 鍐呴儴鐢紝涓昏鏄鐞嗗鐞嗘帀閫忎紶涓婚鍙妉ink涓婚鍚庯紝杩樺師Zigbee鍘熺敓鏁版嵁鍙婁富棰樼敤
-     */
-    private final String zigbeeAllTopic = "/Zigbee";
-
-    /**
-     * 杩斿洖褰撳墠瀹炰緥锛屼笉瀛樺湪灏卞垱寤哄苟鍚屾椂娉ㄥ唽鐩戝惉浜嬩欢
-     *
-     * @return
-     */
-    public static HDLZigbeeConnect getInstance() {
-        if (null == instance) {
-            instance = new HDLZigbeeConnect();
-            instance.initEventListener();
-        }
-        return instance;
-    }
-
-    /**
-     * 娉ㄥ唽鐩戝惉Zigbee鎵�鏈夊師鐢熶富棰樺強鏁版嵁
-     *
-     * @param eventListener
-     */
-    public void registerListener(EventListener eventListener) {
-        if(null==eventListener){
-            return;
-        }
-        EventDispatcher.getInstance().register(zigbeeAllTopic, eventListener);
-    }
-
-    /**
-     * 绉婚櫎鐩戝惉Zigbee鍘熺敓涓婚鍙婃暟鎹�
-     *
-     * @param eventListener
-     */
-    public void removeListener(EventListener eventListener) {
-        if(null==eventListener){
-            return;
-        }
-        EventDispatcher.getInstance().remove(zigbeeAllTopic, eventListener);
-    }
-
-    /**
-     * 鍒濆鍖栫洃鍚簨浠�
-     */
-    private void initEventListener() {
-        final EventListener eventListener = new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                try {
-                    if (msg instanceof LinkResponse) {
-                        LinkResponse linkResponse = (LinkResponse) msg;
-                        String body = linkResponse.getData();
-                        int index = body.indexOf("{");
-                        //zigbee鍥炲鐨勬暟鎹墠鏈変富棰橈紝鍚庨潰鎵嶆槸鏁版嵁
-                        if (index <= 0)
-                            return;
-
-                        String zigbeeTopic = body.substring(0, index).trim();
-                        //zigbee鐨勮礋杞芥暟鎹�
-                        String bodyData = body.substring(index);
-
-                        ZigbeeResponse zigbeeResponse = new ZigbeeResponse();
-                        zigbeeResponse.setTopic(zigbeeTopic);
-                        zigbeeResponse.setData(bodyData);
-                        String oid = null;
-                        //鏄惁鏄�氳繃涓荤綉鍏抽�忎紶涓婚
-                        if (linkResponse.getTopic().contains("/slaveoid/")) {
-                            oid = linkResponse.getTopic().split("/")[8];
-                        } else {
-                            oid = linkResponse.getTopic().split("/")[2];
-                        }
-                        zigbeeResponse.setOid(oid);
-                        for (GatewayBean gatewayBean : HDLLinkLocalGateway.getInstance().getGatewayList()) {
-                            if (oid.equals(gatewayBean.getGatewayId()) || oid.equals(gatewayBean.getDevice_mac()) || oid.equals(gatewayBean.getOid())) {
-                                //涓婇潰鐨刼id鍙兘鏄綉鍏砳d鎴栬�卪ac鎴栬�呮槸oid锛屼笉绠℃槸鍝釜缁熶竴浣跨敤oid琛ㄧず鏂瑰紡
-                                zigbeeResponse.setOid(gatewayBean.getOid());
-                                break;
-                            }
-                        }
-                        EventDispatcher.getInstance().post(zigbeeTopic, zigbeeResponse);
-                        //鍙戝竷Zigbee鍘熺敓涓婚鍙婃暟鎹�
-                        EventDispatcher.getInstance().post(zigbeeAllTopic, zigbeeResponse);
-                    }
-                } catch (Exception e) {
-                    LogUtils.e(TAG,"LinkResponse杞琙igbeeResponse寮傚父:"+ e.getMessage());
-                }
-            }
-        };
-        //
-        //娉ㄥ唽鐩存帴閫氳鐨勪富棰橈紝鍖呮嫭鐩存帴鍜屼富缃戝叧閫氳鎴栬�呯洿鎺ュ拰浠庣綉鍏抽�氳
-//        registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_DOWN_REPLY, "+"), eventListener);
-
-        //娉ㄥ唽鐩存帴閫氳鐨勪富棰橈紝鍖呮嫭鐩存帴鍜屼富缃戝叧閫氳鎴栬�呯洿鎺ュ拰浠庣綉鍏抽�氳
-        registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP, "+"), eventListener);
-
-        //娉ㄥ唽閫氳繃涓荤綉鍏抽�忎紶浠庣綉鍏崇殑涓婚
-//        registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_DOWN_SLAVE_REPLY, "+", "+"), eventListener);
-
-        registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener);
-    }
-
-    /**
-     * 鍙戦�佸師鐢熸暟鎹�
-     *
-     * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d
-     * @param responeTopic          鍥炲涓婚
-     * @param payload               鍙戦�佹暟鎹�
-     * @param zigbeeCallBack        缁撴灉鍥炶皟
-     */
-    public void Send(String gatewayOidOrGatewayId,String responeTopic, String payload, final ZigbeeCallBack zigbeeCallBack) {
-        //濡傛灉鏈湴鏈夐摼鎺ヨ繖涓綉鍏�,鍒欑敤鏈湴杩炴帴
-        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(gatewayOidOrGatewayId);
-        if (null == gatewayBean) {
-            LogUtils.i("鎵句笉鍒扮綉鍏筹紝Oid鏄�" + gatewayOidOrGatewayId);
-            if (null != zigbeeCallBack) {
-                zigbeeCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            }
-            return;
-        }
-
-        String tempTopic = String.format(TopicConstant.NATIVE_ZIGBEE_DOWN, gatewayOidOrGatewayId);
-        LinkRequest request = new LinkRequest(tempTopic, payload, gatewayBean.getIsLocalEncrypt());
-
-        if ("true".equals(gatewayBean.getMaster())) {
-            request.setCloudTopic(String.format(TopicConstant.NATIVE_ZIGBEE_DOWN, HDLLinkConfig.getInstance().getGatewayId()));
-        } else {
-            request.setCloudTopic(String.format(TopicConstant.NATIVE_ZIGBEE_DOWN_SLAVE, HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId));
-        }
-        request.setReplyTopic(responeTopic);
-//        final boolean[] isCallBack = {false};
-//        //閫忎紶鍛戒护涓婚澶勭悊
-//        final EventListener eventListener = new EventListener() {
-//            @Override
-//            public void onMessage(Object msg) {
-//                if (msg instanceof ZigbeeResponse) {
-//                    ZigbeeResponse linkResponse = (ZigbeeResponse) msg;
-//                    //TODO 濡傛灉閰嶇疆浠庣綉鍏崇殑淇℃伅锛岄�氳繃涓荤綉鍏宠浆杈撅紝杩欓噷oid瑕佸垽鏂笅
-//                    if (responeTopic.equals(linkResponse.getTopic())) {
-//                        isCallBack[0] = true;
-//                        removeListener(zigbeeAllTopic, this);
-//                        if (null != zigbeeCallBack) {
-//                            zigbeeCallBack.onSuccess(linkResponse.getData());
-//                        }
-//                    }
-//                }
-//            }
-//        };
-//        //娉ㄥ唽鐩戝惉
-//        registerListener(zigbeeAllTopic, eventListener);
-
-        long timeout = 8 * 1000;
-        /**
-         * 闇�瑕佺壒娈婂鐞嗕竴浜涗富棰�  闇�瑕佸欢闀胯秴鏃舵椂闂�
-         */
-        if (responeTopic.equals("Bind/SetBind_Respon") || responeTopic.equals("Bind/ClearBindInfo_Respon")) {
-            timeout = 20 * 1000;
-        }
-//        //涓�瀹氭椂闂村悗杩樻病鏈夋帴鏀跺埌鏁版嵁锛屽氨鍥炶皟澶辫触
-//        ScheduledExecutorService scheduledExecutorService = ThreadToolUtils.getInstance().newScheduledThreadPool(1);
-//        scheduledExecutorService.schedule(new Runnable() {
-//            @Override
-//            public void run() {
-//                removeListener(zigbeeAllTopic, eventListener);
-//                scheduledExecutorService.shutdownNow();
-//                if (!isCallBack[0]) {
-//                    if (null != zigbeeCallBack) {
-//                        zigbeeCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_Zigbee_FAILURE_ERROR));
-//                    }
-//                }
-//            }
-//        }, timeout, TimeUnit.SECONDS);
-        new HDLConnectHelper(timeout, 1, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (msg instanceof String) {
-                    if (null != zigbeeCallBack) {
-                        zigbeeCallBack.onSuccess(msg+"");
-                    }
-                }
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (null != zigbeeCallBack) {
-                    zigbeeCallBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-                }
-            }
-        }, true).send();
-    }
-
-
-
-    /**
-     * 鍙戦�佸師鐢熼�忎紶鍛戒护鏁版嵁
-     *
-     * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d
-     * @param responeTopic          鍥炲涓婚
-     * @param payload               鍙戦�佹暟鎹�
-     * @param zigbeeCallBack        缁撴灉鍥炶皟
-     */
-    public void SendThrough(String gatewayOidOrGatewayId, String responeTopic, String payload, final ZigbeeCallBack zigbeeCallBack) {
-//        //濡傛灉鏈湴鏈夐摼鎺ヨ繖涓綉鍏�,鍒欑敤鏈湴杩炴帴
-//        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(gatewayOidOrGatewayId);
-//        if (null == gatewayBean) {
-//            LogUtils.i("鎵句笉鍒扮綉鍏筹紝Oid鏄�" + gatewayOidOrGatewayId);
-//            if (null != zigbeeCallBack) {
-//                zigbeeCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-//            }
-//            return;
-//        }
-//        boolean isLocal = gatewayBean.getIsLocalGateway();
-//        //濡傛灉鏄湰鍦伴�氳
-//        if (isLocal == true) {
-//
-//            String tempTopic = String.format("/user/%s/custom/native/zigbee/down", gatewayOidOrGatewayId);
-//            String tempTopicReply = String.format("/user/%s/custom/native/zigbee/up", gatewayOidOrGatewayId);
-//
-//            final boolean[] isCallBack = {false};
-//            //閫忎紶鍛戒护涓婚澶勭悊
-//            final EventListener eventListener = new EventListener() {
-//                @Override
-//                public void onMessage(Object msg) {
-//                    if (msg instanceof LinkResponse) {
-//                        LinkResponse linkResponse = (LinkResponse) msg;
-//                        //TODO 濡傛灉閰嶇疆浠庣綉鍏崇殑淇℃伅锛岄�氳繃涓荤綉鍏宠浆杈撅紝杩欓噷oid瑕佸垽鏂笅
-//                        String body = getZigbeeData(responeTopic, linkResponse);
-//                        if (null != body) {
-//                            isCallBack[0] = true;
-//                            removeListener(tempTopicReply, this);
-//                            if (null != zigbeeCallBack) {
-//                                zigbeeCallBack.onSuccess(body);
-//                            }
-//                        }
-//                    }
-//                }
-//            };
-//            //娉ㄥ唽鐩戝惉
-//            registerListener(tempTopicReply, eventListener);
-//
-//            //涓�瀹氭椂闂村悗杩樻病鏈夋帴鏀跺埌鏁版嵁锛屽氨鍥炶皟澶辫触
-//            ScheduledExecutorService scheduledExecutorService = ThreadToolUtils.getInstance().newScheduledThreadPool(1);
-//            scheduledExecutorService.schedule(new Runnable() {
-//                @Override
-//                public void run() {
-//                    removeListener(tempTopicReply, eventListener);
-//                    scheduledExecutorService.shutdownNow();
-//                    if (!isCallBack[0]) {
-//                        if (null != zigbeeCallBack) {
-//                            zigbeeCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_Zigbee_FAILURE_ERROR));
-//                        }
-//                    }
-//                }
-//            }, 5, TimeUnit.SECONDS);
-//
-//            //鏈湴鍙戦��
-//            LinkRequest request = new LinkRequest(tempTopic, payload, gatewayBean.getIsLocalEncrypt());
-//            new HDLConnectHelper(gatewayBean.getIp_address(), request,true).send();
-//        } else {
-//            //璇锋眰涓婚
-//            String tempTopic = null;
-//            //鍥炲涓婚
-//            String tempTopicReply = null;
-//
-//            //杩滅▼鍙戦��
-//            if ("true".equals(gatewayBean.getMaster())) {
-//                tempTopic = String.format("/user/%s/custom/native/zigbee/down", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId());
-//                tempTopicReply = String.format("/user/%s/custom/native/zigbee/up", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId());
-//            } else {
-//                tempTopic = String.format("/user/%s/custom/native/zigbee/slaveoid/%s/down", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId);
-//                tempTopicReply = String.format("/user/%s/custom/native/zigbee/slaveoid/%s/up", com.hdl.sdk.link.core.config.HDLLinkConfig.getInstance().getGatewayId(), "+");
-//            }
-//            //TODO 鍚庣画瀹屽杽浜戠鐨勫彂閫佹帴鏀舵柟娉�
-//        }
-    }
-
-
-    /**
-     * 澶勭悊zigbee鍥炲鐨勬暟鎹�
-     *
-     * @param responeTopic   鍥炲涓婚
-     * @param linkResponse   鍥炲鐨勯�忎紶鏁版嵁
-     */
-    private static String getZigbeeData(String responeTopic, LinkResponse linkResponse) {
-        //涓婚涓虹┖涓嶅鐞�
-        if(TextUtils.isEmpty(responeTopic)){
-            return null;
-        }
-
-        String body = linkResponse.getData();
-        int index = body.indexOf("{");
-        //zigbee鍥炲鐨勬暟鎹墠鏈変富棰橈紝鍚庨潰鎵嶆槸鏁版嵁
-        if (index <= 0)
-            return null;
-
-        String zigbeeTopic = body.substring(0, index).trim();
-        //zigbee鐨勮礋杞芥暟鎹�
-        String bodyData = body.substring(index);
-
-        //涓嶆槸褰撳墠璇锋眰鐨勬暟鎹紝涓嶅鐞�
-        if (!zigbeeTopic.startsWith(responeTopic)) {
-            return null;
-        }
-
-        return bodyData;
-        //Zigbee浠ュ墠鐨勬帴鏀堕�昏緫
-//        HdlZbGatewayReceiveLogic.Current.ZigbeeOldReceiveLogic(reportTopic, bodyData, gatewayMac);
-    }
-
-    /**
-     * 娉ㄥ唽鐩戝惉
-     */
-    static void registerListener(String responseTopic, EventListener eventListener) {
-        if (!TextUtils.isEmpty(responseTopic)) {
-            EventDispatcher.getInstance().register(responseTopic, eventListener);
-        }
-    }
-
-    /**
-     * 绉婚櫎鐩戝惉
-     */
-    static void removeListener(String responseTopic, EventListener eventListener) {
-        if (!TextUtils.isEmpty(responseTopic)) {
-            EventDispatcher.getInstance().remove(responseTopic, eventListener);
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageDecoder.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageDecoder.java
deleted file mode 100644
index aa07c9d..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageDecoder.java
+++ /dev/null
@@ -1,323 +0,0 @@
-package com.hdl.sdk.link.core.protocol;
-
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.utils.ByteUtils;
-import com.hdl.sdk.link.core.bean.LinkPacket;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.utils.ByteBufferUtils;
-import com.hdl.sdk.link.core.utils.QueueUtils;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-import com.hdl.sdk.link.socket.bean.Packet;
-import com.hdl.sdk.link.socket.codec.ByteToMessageDecoder;
-
-import java.nio.ByteBuffer;
-
-/**
- * Created by Tong on 2021/9/22.
- * link鍗忚绮樺寘鎷嗗寘
- */
-public class LinkMessageDecoder extends ByteToMessageDecoder<LinkResponse> {
-
-    private static final String TAG=LinkMessageDecoder.class.getName();
-    //instance
-    private volatile static LinkMessageDecoder instance;
-
-    //getInstance
-    public static synchronized LinkMessageDecoder getInstance() {
-        if (instance == null) {
-            synchronized (LinkMessageDecoder.class) {
-                if (instance == null) {
-                    instance = new LinkMessageDecoder();
-                }
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * 鎺ユ敹鏁版嵁缂撳啿鍖�
-     */
-    private final ByteBuffer byteBuffer;
-
-    private final byte[] head = "Topic:".getBytes();
-
-    public LinkMessageDecoder() {
-        byteBuffer = ByteBuffer.allocate(1024 * 200);//100K
-    }
-
-    /// <summary>
-    /// 鑾峰彇鍐呭闀垮害
-    /// </summary>
-    /// <param name="topMsgs"></param>
-    /// <returns></returns>
-    int getLenght(String[] topMsgs) {
-        try {
-            for (int i = 0; i < topMsgs.length; i++) {
-                String topMsg = topMsgs[i].trim();
-                if (topMsg.startsWith("Length:")) {
-                    return Integer.parseInt(topMsg.replace("Length:", "").trim());
-                }
-            }
-        } catch (Exception e) {
-            LogUtils.e("寮傚父鏁版嵁锛�" + topMsgs[0] + "\r\n" + topMsgs[1]);
-            return -1;
-        }
-        //鎵句笉鍒伴暱搴�
-        return -1;
-    }
-
-    /// <summary>
-    /// 鑾峰彇涓婚
-    /// </summary>
-    /// <param name="topMsgs"></param>
-    /// <returns></returns>
-    private String getTopic(String[] topMsgs) {
-        for (int i = 0; i < topMsgs.length; i++) {
-            String topMsg = topMsgs[i].trim();
-            if (topMsg.startsWith("Topic:")) {
-                return topMsg.replace("Topic:", "");
-            }
-        }
-        //鎵句笉鍒颁富棰�
-        return null;
-    }
-
-    /**
-     * 鑾峰彇鏁版嵁鐨勫紑濮嬩綅缃�
-     *
-     * @return 鏁版嵁浣嶇殑寮�濮嬬储寮�
-     */
-    int getBodyIndex() {
-        byte r = (byte) '\r';
-        byte n = (byte) '\n';
-        for (int i = 0; i < byteBuffer.position(); i++) {
-            //鎵惧嚭鏁版嵁鍐呭鍓嶉潰鐨勪袱涓崲琛�
-            if (3 <= i && byteBuffer.get(i - 3) == r && byteBuffer.get(i - 2) == n && byteBuffer.get(i - 1) == r && byteBuffer.get(i) == n) {
-                //鍓╀綑鐨勬暟鎹�
-                return i + 1;
-            }
-        }
-        return -1;
-    }
-
-    /**
-     * 鑾峰彇澶撮儴鏁版嵁
-     *
-     * @return
-     */
-    String getHeader() {
-        int bodyIndex = getBodyIndex();
-        if (bodyIndex < 0) {
-            //娌℃湁鎵惧埌澶撮儴鏁版嵁
-            return null;
-        } else {
-            byte bodyBytes[] = ByteBufferUtils.copyBytes(byteBuffer, bodyIndex);
-            return new String(bodyBytes);
-        }
-    }
-
-    /**
-     * 鑾峰彇鏁版嵁鍐呭
-     *
-     * @param lenght
-     * @return
-     */
-    byte[] getBody(int index, int lenght) {
-        //鏄惁宸茬粡鑾峰彇瀹屾暣鎵�鏈夌殑鏁版嵁
-        byte[] bodyBytes = new byte[lenght];
-        if (index < 0 || byteBuffer.position() < index + lenght) {
-            //褰撳墠鏁版嵁杩樻病鏈夋帴鏀跺畬鎴�
-            return null;
-        }
-
-        for (int i = 0; i < bodyBytes.length; i++) {
-            bodyBytes[i] = byteBuffer.get(index + i);
-        }
-        return bodyBytes;
-    }
-
-
-    /**
-     * 杩欒竟澶勭悊浜嗙紦瀛樻暟鎹矘鍖呯殑鎯呭喌锛屾瘡娆¤姹傞兘闇�瑕佸惂褰撳墠瀹屾暣鐨勬枃浠堕櫎鍘�   浠ヤ究浜庝笅娆$殑杩斿洖
-     * tempList鐢ㄤ簬瀛樺偍澶氫綑鐨勬暟鎹�
-     * contentList鐢ㄤ簬鏈鏁版嵁鐨勫瓨鍌紙鍙戦�佺粰璁㈤槄鐨勬暟鎹級
-     */
-    byte[] geBody() {
-        int len = 3 + 4 + 4 + ((byteBuffer.get(7) & 0xFF) * 256 * 256 * 256) + ((byteBuffer.get(8) & 0xFF) * 256 * 256) + ((byteBuffer.get(9) * 256) & 0xFF) + (byteBuffer.get(10) & 0xFf);
-        byte[] bodyBytes = new byte[len];
-        for (int i = 0; i < len; i++) {
-            bodyBytes[i] = byteBuffer.get(i);
-        }
-
-        int endIndex = byteBuffer.position();
-        byteBuffer.clear();
-        for (int i = len; i < endIndex; i++) {
-            byteBuffer.put(byteBuffer.get(i));
-        }
-        return bodyBytes;
-    }
-
-    /**
-     * 绉婚櫎鍙兘瀛樺湪鐨勬棤鏁堟暟鎹�
-     */
-    void removeInVoidBytes() {
-        int index = 0;
-        boolean isMatch = false;
-        for (; index < byteBuffer.position() - head.length; index++) {
-            isMatch = true;
-            for (int j = 0, k = 0; j < head.length; j++, k++) {
-                if (head[j] != byteBuffer.get(index + k)) {
-                    isMatch = false;
-                    break;
-                }
-            }
-            if (isMatch) {
-                break;
-            }
-        }
-
-        if (0 < index && isMatch) {
-            int endIndex = byteBuffer.position();
-            byteBuffer.clear();
-            for (int i = index; i < endIndex; i++) {
-                byteBuffer.put(byteBuffer.get(i));
-            }
-        }
-    }
-
-    /**
-     * 绉婚櫎鍒版寚瀹氫綅缃墠闈㈢殑鏁版嵁
-     *
-     * @param position 鎸囧畾浣嶇疆
-     */
-    void remove(int position) {
-        int endIndex = byteBuffer.position();
-        byteBuffer.clear();
-        for (int i = position; i < endIndex; i++) {
-            byteBuffer.put(byteBuffer.get(i));
-        }
-    }
-
-    void fileManger(int commandAck, byte[] recevieBytes) {
-        String topic = "65531_" + commandAck;
-        LinkResponse response = new LinkResponse();
-        response.setTopic(topic);
-        response.setByteData(recevieBytes);
-        EventDispatcher.getInstance().post(response.getTopic(), response);
-    }
-
-    int bytes2int(byte[] bytes) {
-        int result = 0;
-        if (bytes.length == 2) {
-            int c = (bytes[0] & 0xff) << 8;
-            int d = (bytes[1] & 0xff);
-            result = c | d;
-        } else if (bytes.length == 4) {
-            return bytes[3] & 0xFF | //
-                    (bytes[2] & 0xFF) << 8 | //
-                    (bytes[1] & 0xFF) << 16 | //
-                    (bytes[0] & 0xFF) << 24; //
-        }
-        return result;
-    }
-
-    public String byte2hex(byte[] bytes) {
-        StringBuilder sb = new StringBuilder();
-        String tmp = null;
-        for (byte b : bytes) {
-            //灏嗘瘡涓瓧鑺備笌0xFF杩涜涓庤繍绠楋紝鐒跺悗杞寲涓�10杩涘埗锛岀劧鍚庡�熷姪浜嶪nteger鍐嶈浆鍖栦负16杩涘埗
-            tmp = Integer.toHexString(0xFF & b);
-            if (tmp.length() == 1) {
-                tmp = "0" + tmp;
-            }
-            sb.append(tmp + " ");
-        }
-        return sb.toString();
-    }
-
-    @Override
-    protected synchronized LinkResponse decoder(Packet packet) {
-        try {
-            if (null == packet) {
-                return null;
-            }
-            byteBuffer.put(packet.getBytes());
-        } catch (Exception e) {
-            LogUtils.e("鎺ユ敹鍒版暟鎹紓甯�:\r\n" + e.getMessage());
-            byteBuffer.flip();
-            byteBuffer.clear();
-        }
-        try {
-            //濡傛灉澶氭潯鍛戒护鎵撳寘鍦ㄤ竴鏉℃暟鎹腑锛岄兘闇�瑕佸鐞嗗畬
-            while (true) {
-                if (byteBuffer.position() > 2) {//鍒ゆ柇鏄惁鏄枃浠跺鐞嗛�氱煡 wxr
-                    byte[] topBytes = new byte[3];
-                    topBytes[0] = byteBuffer.get(0);
-                    topBytes[1] = byteBuffer.get(1);
-                    topBytes[2] = byteBuffer.get(2);
-                    if (new String(topBytes).equals("hex")) {
-                        //TODO 杩欏潡浠g爜缁熶竴绉诲嚭鍏跺畠鍦版柟澶勭悊
-                        byte[] commandBytes = ByteBufferUtils.copyBytes(byteBuffer, 5, 2);
-                        int command = bytes2int(commandBytes);
-                        byte[] submitBytes = geBody();
-                        if (command == 258 || command == 260 || command == 261) {
-                            //璇诲彇椹卞姩鍒楄〃鍝嶅簲 ||椹卞姩瀹夎鐢宠鍝嶅簲
-                            if (submitBytes.length > 11) {
-                                byte[] rangeBytes = ByteUtils.copyBytes(submitBytes, 11, submitBytes.length - 11);
-                                fileManger(command, rangeBytes);
-                            } else {
-                                //鏂逛究闂鎺掓煡
-                                fileManger(command, submitBytes);
-                            }
-                        } else {
-                            //缁欑妗′娇鐢�  鍚庨潰鐨勪笟鍔℃渶濂介兘鍦ㄨ繖杈瑰鐞� 涓嶇劧浼氶�犳垚涓氬姟鍒嗘暎
-                            fileManger(command, submitBytes);
-                        }
-                        continue;
-                    }
-                }
-                removeInVoidBytes();//绉婚櫎鍙兘瀛樺湪鐨勬棤鏁堟暟鎹�
-
-                //澶撮儴鏁版嵁
-                String header = getHeader();
-
-                if (header == null) {
-                    break;
-                }
-                String[] topMsgs = header.split("\r\n");
-
-                String topic = getTopic(topMsgs);
-                int lenght = getLenght(topMsgs);
-                if (topic == null || lenght <= 0) {
-                    //鑾峰彇涓嶅埌涓婚鎴栬�呭ご閮ㄦ暟鎹繕娌℃湁鎺ユ敹瀹屾垚
-                    break;
-                }
-
-                int bodyIndex = getBodyIndex();
-                //鏄惁宸茬粡鑾峰彇瀹屾暣鎵�鏈夌殑鏁版嵁
-                byte[] body = getBody(bodyIndex, lenght);
-
-                if (body == null) {
-                    //褰撳墠鏁版嵁杩樻病鏈夋帴鏀跺畬鎴�
-                    break;
-                }
-
-                remove(bodyIndex + lenght);
-
-                if (topic.contains("heartbeat_reply")) {
-                    if (packet.getSocket() != null) {
-                        packet.getSocket().setSoTimeout(10 * 1000);
-                    }
-                    continue;
-                }
-
-                QueueUtils.getInstance().add(new LinkPacket(topic, body));
-            }
-        } catch (Exception ee) {
-            LogUtils.e("澶勭悊鎺ユ敹鐨勬暟鎹紓甯�:\r\n" + ee.getMessage());
-        }
-        return null;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageDecoderUdp.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageDecoderUdp.java
deleted file mode 100644
index cc8b7f7..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageDecoderUdp.java
+++ /dev/null
@@ -1,322 +0,0 @@
-package com.hdl.sdk.link.core.protocol;
-
-
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.utils.ByteUtils;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.core.bean.LinkPacket;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.utils.ByteBufferUtils;
-import com.hdl.sdk.link.core.utils.QueueUtils;
-import com.hdl.sdk.link.socket.bean.Packet;
-import com.hdl.sdk.link.socket.codec.ByteToMessageDecoder;
-
-import java.nio.ByteBuffer;
-
-/**
- * Created by Tong on 2021/9/22.
- * link鍗忚绮樺寘鎷嗗寘
- */
-public class LinkMessageDecoderUdp extends ByteToMessageDecoder<LinkResponse> {
-
-    private static final String TAG= LinkMessageDecoderUdp.class.getName();
-    //instance
-    private volatile static LinkMessageDecoderUdp instance;
-
-    //getInstance
-    public static synchronized LinkMessageDecoderUdp getInstance() {
-        if (instance == null) {
-            synchronized (LinkMessageDecoderUdp.class) {
-                if (instance == null) {
-                    instance = new LinkMessageDecoderUdp();
-                }
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * 鎺ユ敹鏁版嵁缂撳啿鍖�
-     */
-    private final ByteBuffer byteBuffer;
-
-    private final byte[] head = "Topic:".getBytes();
-
-    public LinkMessageDecoderUdp() {
-        byteBuffer = ByteBuffer.allocate(1024 * 200);//100K
-    }
-
-    /// <summary>
-    /// 鑾峰彇鍐呭闀垮害
-    /// </summary>
-    /// <param name="topMsgs"></param>
-    /// <returns></returns>
-    int getLenght(String[] topMsgs) {
-        try {
-            for (int i = 0; i < topMsgs.length; i++) {
-                String topMsg = topMsgs[i].trim();
-                if (topMsg.startsWith("Length:")) {
-                    return Integer.parseInt(topMsg.replace("Length:", "").trim());
-                }
-            }
-        } catch (Exception e) {
-            LogUtils.e("寮傚父鏁版嵁锛�" + topMsgs[0] + "\r\n" + topMsgs[1]);
-            return -1;
-        }
-        //鎵句笉鍒伴暱搴�
-        return -1;
-    }
-
-    /// <summary>
-    /// 鑾峰彇涓婚
-    /// </summary>
-    /// <param name="topMsgs"></param>
-    /// <returns></returns>
-    private String getTopic(String[] topMsgs) {
-        for (int i = 0; i < topMsgs.length; i++) {
-            String topMsg = topMsgs[i].trim();
-            if (topMsg.startsWith("Topic:")) {
-                return topMsg.replace("Topic:", "");
-            }
-        }
-        //鎵句笉鍒颁富棰�
-        return null;
-    }
-
-    /**
-     * 鑾峰彇鏁版嵁鐨勫紑濮嬩綅缃�
-     *
-     * @return 鏁版嵁浣嶇殑寮�濮嬬储寮�
-     */
-    int getBodyIndex() {
-        byte r = (byte) '\r';
-        byte n = (byte) '\n';
-        for (int i = 0; i < byteBuffer.position(); i++) {
-            //鎵惧嚭鏁版嵁鍐呭鍓嶉潰鐨勪袱涓崲琛�
-            if (3 <= i && byteBuffer.get(i - 3) == r && byteBuffer.get(i - 2) == n && byteBuffer.get(i - 1) == r && byteBuffer.get(i) == n) {
-                //鍓╀綑鐨勬暟鎹�
-                return i + 1;
-            }
-        }
-        return -1;
-    }
-
-    /**
-     * 鑾峰彇澶撮儴鏁版嵁
-     *
-     * @return
-     */
-    String getHeader() {
-        int bodyIndex = getBodyIndex();
-        if (bodyIndex < 0) {
-            //娌℃湁鎵惧埌澶撮儴鏁版嵁
-            return null;
-        } else {
-            byte bodyBytes[] = ByteBufferUtils.copyBytes(byteBuffer, bodyIndex);
-            return new String(bodyBytes);
-        }
-    }
-
-    /**
-     * 鑾峰彇鏁版嵁鍐呭
-     *
-     * @param lenght
-     * @return
-     */
-    byte[] getBody(int index, int lenght) {
-        //鏄惁宸茬粡鑾峰彇瀹屾暣鎵�鏈夌殑鏁版嵁
-        byte[] bodyBytes = new byte[lenght];
-        if (index < 0 || byteBuffer.position() < index + lenght) {
-            //褰撳墠鏁版嵁杩樻病鏈夋帴鏀跺畬鎴�
-            return null;
-        }
-
-        for (int i = 0; i < bodyBytes.length; i++) {
-            bodyBytes[i] = byteBuffer.get(index + i);
-        }
-        return bodyBytes;
-    }
-
-
-    /**
-     * 杩欒竟澶勭悊浜嗙紦瀛樻暟鎹矘鍖呯殑鎯呭喌锛屾瘡娆¤姹傞兘闇�瑕佸惂褰撳墠瀹屾暣鐨勬枃浠堕櫎鍘�   浠ヤ究浜庝笅娆$殑杩斿洖
-     * tempList鐢ㄤ簬瀛樺偍澶氫綑鐨勬暟鎹�
-     * contentList鐢ㄤ簬鏈鏁版嵁鐨勫瓨鍌紙鍙戦�佺粰璁㈤槄鐨勬暟鎹級
-     */
-    byte[] geBody() {
-        int len = 3 + 4 + 4 + ((byteBuffer.get(7) & 0xFF) * 256 * 256 * 256) + ((byteBuffer.get(8) & 0xFF) * 256 * 256) + ((byteBuffer.get(9) * 256) & 0xFF) + (byteBuffer.get(10) & 0xFf);
-        byte[] bodyBytes = new byte[len];
-        for (int i = 0; i < len; i++) {
-            bodyBytes[i] = byteBuffer.get(i);
-        }
-
-        int endIndex = byteBuffer.position();
-        byteBuffer.clear();
-        for (int i = len; i < endIndex; i++) {
-            byteBuffer.put(byteBuffer.get(i));
-        }
-        return bodyBytes;
-    }
-
-    /**
-     * 绉婚櫎鍙兘瀛樺湪鐨勬棤鏁堟暟鎹�
-     */
-    void removeInVoidBytes() {
-        int index = 0;
-        boolean isMatch = false;
-        for (; index < byteBuffer.position() - head.length; index++) {
-            isMatch = true;
-            for (int j = 0, k = 0; j < head.length; j++, k++) {
-                if (head[j] != byteBuffer.get(index + k)) {
-                    isMatch = false;
-                    break;
-                }
-            }
-            if (isMatch) {
-                break;
-            }
-        }
-
-        if (0 < index && isMatch) {
-            int endIndex = byteBuffer.position();
-            byteBuffer.clear();
-            for (int i = index; i < endIndex; i++) {
-                byteBuffer.put(byteBuffer.get(i));
-            }
-        }
-    }
-
-    /**
-     * 绉婚櫎鍒版寚瀹氫綅缃墠闈㈢殑鏁版嵁
-     *
-     * @param position 鎸囧畾浣嶇疆
-     */
-    void remove(int position) {
-        int endIndex = byteBuffer.position();
-        byteBuffer.clear();
-        for (int i = position; i < endIndex; i++) {
-            byteBuffer.put(byteBuffer.get(i));
-        }
-    }
-
-    void fileManger(int commandAck, byte[] recevieBytes) {
-        String topic = "65531_" + commandAck;
-        LinkResponse response = new LinkResponse();
-        response.setTopic(topic);
-        response.setByteData(recevieBytes);
-        EventDispatcher.getInstance().post(response.getTopic(), response);
-    }
-
-    int bytes2int(byte[] bytes) {
-        int result = 0;
-        if (bytes.length == 2) {
-            int c = (bytes[0] & 0xff) << 8;
-            int d = (bytes[1] & 0xff);
-            result = c | d;
-        } else if (bytes.length == 4) {
-            return bytes[3] & 0xFF | //
-                    (bytes[2] & 0xFF) << 8 | //
-                    (bytes[1] & 0xFF) << 16 | //
-                    (bytes[0] & 0xFF) << 24; //
-        }
-        return result;
-    }
-
-    public String byte2hex(byte[] bytes) {
-        StringBuilder sb = new StringBuilder();
-        String tmp = null;
-        for (byte b : bytes) {
-            //灏嗘瘡涓瓧鑺備笌0xFF杩涜涓庤繍绠楋紝鐒跺悗杞寲涓�10杩涘埗锛岀劧鍚庡�熷姪浜嶪nteger鍐嶈浆鍖栦负16杩涘埗
-            tmp = Integer.toHexString(0xFF & b);
-            if (tmp.length() == 1) {
-                tmp = "0" + tmp;
-            }
-            sb.append(tmp + " ");
-        }
-        return sb.toString();
-    }
-
-    @Override
-    protected final LinkResponse decoder(Packet packet) {
-        try {
-            if (null == packet) {
-                return null;
-            }
-            byteBuffer.put(packet.getBytes());
-        } catch (Exception e) {
-            LogUtils.e("鎺ユ敹鍒版暟鎹紓甯�:\r\n" + e.getMessage());
-            byteBuffer.flip();
-            byteBuffer.clear();
-        }
-        try {
-            //濡傛灉澶氭潯鍛戒护鎵撳寘鍦ㄤ竴鏉℃暟鎹腑锛岄兘闇�瑕佸鐞嗗畬
-            while (true) {
-                if (byteBuffer.position() > 2) {//鍒ゆ柇鏄惁鏄枃浠跺鐞嗛�氱煡 wxr
-                    byte[] topBytes = new byte[3];
-                    topBytes[0] = byteBuffer.get(0);
-                    topBytes[1] = byteBuffer.get(1);
-                    topBytes[2] = byteBuffer.get(2);
-                    if (new String(topBytes).equals("hex")) {
-                        //TODO 杩欏潡浠g爜缁熶竴绉诲嚭鍏跺畠鍦版柟澶勭悊
-                        byte[] commandBytes = ByteBufferUtils.copyBytes(byteBuffer, 5, 2);
-                        int command = bytes2int(commandBytes);
-                        byte[] submitBytes = geBody();
-                        if (command == 258 || command == 260 || command == 261) {
-                            //璇诲彇椹卞姩鍒楄〃鍝嶅簲 ||椹卞姩瀹夎鐢宠鍝嶅簲
-                            if (submitBytes.length > 11) {
-                                byte[] rangeBytes = ByteUtils.copyBytes(submitBytes, 11, submitBytes.length - 11);
-                                fileManger(command, rangeBytes);
-                            } else {
-                                //鏂逛究闂鎺掓煡
-                                fileManger(command, submitBytes);
-                            }
-                        } else {
-                            //缁欑妗′娇鐢�  鍚庨潰鐨勪笟鍔℃渶濂介兘鍦ㄨ繖杈瑰鐞� 涓嶇劧浼氶�犳垚涓氬姟鍒嗘暎
-                            fileManger(command, submitBytes);
-                        }
-                        continue;
-                    }
-                }
-                removeInVoidBytes();//绉婚櫎鍙兘瀛樺湪鐨勬棤鏁堟暟鎹�
-
-                //澶撮儴鏁版嵁
-                String header = getHeader();
-
-                if (header == null) {
-                    break;
-                }
-                String[] topMsgs = header.split("\r\n");
-
-                String topic = getTopic(topMsgs);
-                int lenght = getLenght(topMsgs);
-                if (topic == null || lenght <= 0) {
-                    //鑾峰彇涓嶅埌涓婚鎴栬�呭ご閮ㄦ暟鎹繕娌℃湁鎺ユ敹瀹屾垚
-                    break;
-                }
-
-                int bodyIndex = getBodyIndex();
-                //鏄惁宸茬粡鑾峰彇瀹屾暣鎵�鏈夌殑鏁版嵁
-                byte[] body = getBody(bodyIndex, lenght);
-
-                if (body == null) {
-                    //褰撳墠鏁版嵁杩樻病鏈夋帴鏀跺畬鎴�
-                    break;
-                }
-
-                remove(bodyIndex + lenght);
-
-                if (topic.contains("heartbeat_reply")) {
-                    if (packet.getSocket() != null) {
-                        packet.getSocket().setSoTimeout(10 * 1000);
-                    }
-                    continue;
-                }
-
-                QueueUtils.getInstance().add(new LinkPacket(topic, body));
-            }
-        } catch (Exception ee) {
-            LogUtils.e("澶勭悊鎺ユ敹鐨勬暟鎹紓甯�:\r\n" + ee.getMessage());
-        }
-        return null;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageEncoder.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageEncoder.java
deleted file mode 100644
index d09e37a..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/protocol/LinkMessageEncoder.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.hdl.sdk.link.core.protocol;
-
-
-import com.hdl.sdk.link.socket.bean.Packet;
-import com.hdl.sdk.link.socket.codec.MessageToByteEncoder;
-
-/**
- * Created by Tong on 2021/9/22.
- * link鍗忚鍚堝寘
- */
-public class LinkMessageEncoder extends MessageToByteEncoder {
-
-    @Override
-    protected Packet encode(Packet packet) throws Exception {
-        return packet;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/AesUtil.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/AesUtil.java
deleted file mode 100644
index 942e76e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/AesUtil.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-
-import android.text.TextUtils;
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.Key;
-import java.security.NoSuchAlgorithmException;
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
-
-/**
- * Aes 鍔犺В瀵嗗伐鍏风被
- *
- * @author yangtao
- * 2020骞�10鏈�29鏃�
- */
-public class AesUtil {
-
-    private static final String CIPHER_INSTANCE = "AES/CBC/PKCS7Padding";
-    private static final String AES_ALGORITHM = "AES";
-
-//    static {
-//        //AES/CBC/PKCS7Padding 渚濊禆
-//        Security.addProvider(new BouncyCastleProvider());
-//    }
-
-    /**
-     * AES鍔犲瘑
-     *
-     * @param key
-     * @return
-     * @throws Exception
-     */
-    public static byte[] aesEncrypt(byte[] content, String key) {
-        return encrypt(content, key.getBytes(), CIPHER_INSTANCE, true, null);
-    }
-
-    /**
-     * AES瑙e瘑
-     *
-     * @param key
-     * @return
-     * @throws Exception
-     */
-    public static byte[] aesDecrypt(byte[] content, String key) {
-        if (content == null || TextUtils.isEmpty(key)) {
-            LogUtils.i("鏁版嵁瑙e瘑锛�","content锛�"+content+" key:"+key);
-            return null;
-        }
-        return decrypt(content, key.getBytes(), CIPHER_INSTANCE, true, null);
-    }
-
-
-    /**
-     * 鍔犲瘑
-     *
-     * @param content        寰呭姞瀵嗗瓧绗︿覆
-     * @param keyByte        aesKye鐨刪exStr
-     * @param cipherInstance AES绠楁硶濉厖鏂瑰紡
-     * @param isIv           鏄惁浣跨敤鍋忕Щ閲� ECB妯″紡涓嶅彲鐢�
-     * @param iv             鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-     * @return
-     */
-    public static byte[] encrypt(byte[] content, byte[] keyByte, String cipherInstance, Boolean isIv, byte[] iv) {
-        try {
-            //KEY杞崲
-            Key key = new SecretKeySpec(keyByte, AES_ALGORITHM);
-            //鍔犲瘑
-            Cipher cipher = Cipher.getInstance(cipherInstance);
-            if (isIv != null && isIv) {
-                //鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-                if (iv == null) {
-                    iv = keyByte;
-                }
-                IvParameterSpec ivps = new IvParameterSpec(iv);
-                cipher.init(Cipher.ENCRYPT_MODE, key, ivps);
-            } else {
-                cipher.init(Cipher.ENCRYPT_MODE, key);
-            }
-            byte[] result = cipher.doFinal(content);
-            return result;
-        } catch (NoSuchAlgorithmException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidKeyException e) {
-            LogUtils.e(e.getMessage());
-        } catch (NoSuchPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (BadPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (IllegalBlockSizeException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidAlgorithmParameterException e) {
-            LogUtils.e(e.getMessage());
-        }
-        return null;
-    }
-
-    /**
-     * 瑙e瘑
-     *
-     * @param contentByte    寰呰В瀵嗗緟瀛楃涓瞙exStr
-     * @param contentByte    瀵嗛挜
-     * @param cipherInstance AES绠楁硶濉厖鏂瑰紡
-     * @param isIv           鏄惁浣跨敤鍋忕Щ閲� ECB妯″紡涓嶅彲鐢�
-     * @param iv             鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-     * @return
-     */
-    public static byte[] decrypt(byte[] contentByte, byte[] keyByte, String cipherInstance, Boolean isIv, byte[] iv) {
-        try {
-            //KEY杞崲
-            Key key = new SecretKeySpec(keyByte, AES_ALGORITHM);
-            //瑙e瘑
-            Cipher cipher = Cipher.getInstance(cipherInstance);
-            if (isIv != null && isIv) {
-                //鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-                if (iv == null) {
-                    iv = keyByte;
-                }
-                IvParameterSpec ivps = new IvParameterSpec(iv);
-                cipher.init(Cipher.DECRYPT_MODE, key, ivps);
-            } else {
-                cipher.init(Cipher.DECRYPT_MODE, key);
-            }
-            byte[] result = cipher.doFinal(contentByte);
-            return result;
-        } catch (NoSuchAlgorithmException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidKeyException e) {
-            LogUtils.e(e.getMessage());
-        } catch (NoSuchPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (BadPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (IllegalBlockSizeException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidAlgorithmParameterException e) {
-            LogUtils.e(e.getMessage());
-        }
-        return null;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ByteBufferUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ByteBufferUtils.java
deleted file mode 100644
index 99e1e5d..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ByteBufferUtils.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-import java.nio.ByteBuffer;
-
-/**
- * Created by hxb on 2022/8/3.
- *
- */
-public class ByteBufferUtils {
-
-    /**
-     * 鑾峰彇ByteBuffer鎸囧畾浣嶇疆鏁版嵁
-     *
-     * @param byteBuffer 婧愬璞�
-     * @param length 鎸囧畾闀垮害
-     * @return 鏍规嵁闀垮害鐢熸垚鐨勬暟缁�
-     */
-    public static byte[] copyBytes(ByteBuffer byteBuffer, int length) {
-        return copyBytes(byteBuffer,0,length);
-    }
-
-    /**
-     * 澶嶅埗鎸囧畾浣嶇疆鐨勬暟鎹�
-     * @param byteBuffer
-     * @param index
-     * @param length
-     * @return
-     */
-    public static byte[] copyBytes(ByteBuffer byteBuffer, int index,int length) {
-        byte[] bytes = new byte[length];
-        for (int i = 0; i < bytes.length; i++) {
-            bytes[i] = byteBuffer.get(index + i);
-        }
-        return bytes;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ByteUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ByteUtils.java
deleted file mode 100644
index a2e095e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ByteUtils.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-/**
- * Created by hxb on 2022/8/5.
- */
-public class ByteUtils {
-
-    public static String encodeHexString(byte[] data) {
-
-        StringBuilder sb = new StringBuilder();
-
-        for (byte b : data) {
-
-            sb.append(String.format("%02x ", b));
-
-        }
-        return sb.toString();
-
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/EncryptUtil.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/EncryptUtil.java
deleted file mode 100644
index b12a06e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/EncryptUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-import android.text.TextUtils;
-
-import com.hdl.sdk.link.common.config.TopicConstant;
-import com.hdl.sdk.link.common.utils.ByteUtils;
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-
-import java.io.UnsupportedEncodingException;
-
-/**
- * Created by hxb on 2021/12/23.
- */
-public class EncryptUtil {
-    /**
-     * 鑾峰彇鍔犲瘑鏁版嵁
-     *
-     * @param linkRequest 璇锋眰鏁版嵁
-     * @return
-     */
-    public static byte[] getEncryBytes(LinkRequest linkRequest) throws UnsupportedEncodingException {
-        //鍒ゆ柇鏄惁闇�瑕佸姞瀵�
-        if (ifNeedEncrypt(linkRequest.getTopic(), linkRequest.isEncrypt())) {
-            //闇�瑕佸姞瀵�
-            byte[] dataBytes = AesUtil.aesEncrypt(linkRequest.getData(), HDLLinkConfig.getInstance().getLocalSecret());
-            String headString = "Topic:" + linkRequest.getTopic() + "\r\n" + "Length:" + dataBytes.length + "\r\n" + "\r\n";
-            byte[] headBytes = headString.getBytes("utf-8");
-            byte[] sendBytes = ByteUtils.concatBytes(headBytes, dataBytes);
-            return sendBytes;
-        } else {
-            return linkRequest.getSendBytes();
-        }
-    }
-
-    /**
-     * 鍔犲瘑鏁版嵁
-     *
-     * param bytes 闇�瑕佸姞瀵嗘暟鎹�
-     * @param secret 鍔犲瘑瀵嗛挜
-     * @return
-     */
-    public static byte[] encryBytes(byte []bytes,String secret) {
-        if(bytes==null|| TextUtils.isEmpty(secret)){
-            LogUtils.i("浼犲叆鏁版嵁鍐呭涓虹┖鎴栬�呭瘑閽ヤ负绌�");
-            return null;
-        }
-        return AesUtil.aesEncrypt(bytes, secret);
-    }
-
-    /**
-     * 鍒ゆ柇褰撳墠涓婚鏁版嵁鏄惁闇�瑕佸姞瀵�
-     *
-     * @param topicStr 褰撳墠涓婚
-     * @return
-     */
-    public static boolean ifNeedEncrypt(String topicStr, boolean isLocalEncrypt) {
-        //杩囨护鐩稿叧闇�瑕佸姞瀵嗙殑涓婚
-        return (!topicStr.contains(TopicConstant.GATEWAY_AUTH_BROADCAST) //缃戝叧骞挎挱鍏ョ綉鎸囦护
-                && !topicStr.contains(TopicConstant.DEIVCE_AUTH_REQUEST) //鍏ョ綉璁よ瘉
-                && !topicStr.contains(TopicConstant.GATEWAY_SEARCH) //鎼滅储缃戝叧涓婚
-                && !topicStr.contains(TopicConstant.GATEWAY_SEARCH_REPLY) //鎼滅储缃戝叧涓婚鍥炲
-                && !topicStr.equals(TopicConstant.BROADCAST)
-                && isLocalEncrypt//鍚敤鍔犲瘑鏍囧織
-        );
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/HexUtil.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/HexUtil.java
deleted file mode 100644
index 41373e0..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/HexUtil.java
+++ /dev/null
@@ -1,449 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-import android.util.Log;
-
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Date;
-
-/**
- * Created by Zoro
- * Created on 2021/9/17
- * description:
- */
-public class HexUtil {
-    private static final char[] DIGITS_LOWER = {'0', '1', '2', '3', '4', '5',
-            '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
-
-    private static final char[] DIGITS_UPPER = {'0', '1', '2', '3', '4', '5',
-            '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
-
-    public static char[] encodeHex(byte[] data) {
-        return encodeHex(data, true);
-    }
-
-    public static char[] encodeHex(byte[] data, boolean toLowerCase) {
-        return encodeHex(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER);
-    }
-
-    protected static char[] encodeHex(byte[] data, char[] toDigits) {
-        if (data == null)
-            return null;
-        int l = data.length;
-        char[] out = new char[l << 1];
-        for (int i = 0, j = 0; i < l; i++) {
-            out[j++] = toDigits[(0xF0 & data[i]) >>> 4];
-            out[j++] = toDigits[0x0F & data[i]];
-        }
-        return out;
-    }
-
-
-    public static String encodeHexStr(byte[] data) {
-        return encodeHexStr(data, true);
-    }
-
-    public static String encodeHexStr(byte[] data, boolean toLowerCase) {
-        return encodeHexStr(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER);
-    }
-
-
-    protected static String encodeHexStr(byte[] data, char[] toDigits) {
-        return new String(encodeHex(data, toDigits));
-    }
-
-    public static String formatHexString(byte[] data) {
-        return formatHexString(data, false);
-    }
-
-    public static String formatHexString(byte[] data, boolean addSpace) {
-        if (data == null || data.length < 1)
-            return null;
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0; i < data.length; i++) {
-            String hex = Integer.toHexString(data[i] & 0xFF);
-            if (hex.length() == 1) {
-                hex = '0' + hex;
-            }
-            sb.append(hex);
-            if (addSpace)
-                sb.append(" ");
-        }
-        return sb.toString().trim();
-    }
-
-    public static byte[] decodeHex(char[] data) {
-
-        int len = data.length;
-
-        if ((len & 0x01) != 0) {
-            throw new RuntimeException("Odd number of characters.");
-        }
-
-        byte[] out = new byte[len >> 1];
-
-        // two characters form the hex value.
-        for (int i = 0, j = 0; j < len; i++) {
-            int f = toDigit(data[j], j) << 4;
-            j++;
-            f = f | toDigit(data[j], j);
-            j++;
-            out[i] = (byte) (f & 0xFF);
-        }
-
-        return out;
-    }
-
-    /**
-     * 灏嗗崄鍏繘鍒跺瓧绗︿覆瑙g爜涓篵yte[]
-     *
-     * @param hexStr 鍗佸叚杩涘埗String
-     * @return byte[]
-     */
-    public static byte[] decodeHex(String hexStr) {
-        if ("".equals(hexStr)) {
-            return null;
-        }
-        hexStr = hexStr.replace(" ","");
-        return decodeHex(hexStr.toCharArray());
-    }
-
-    public static byte[] addAll(byte[]... arrays) {
-        if (arrays.length == 1) {
-            return arrays[0];
-        }
-
-        // 璁$畻鎬婚暱搴�
-        int length = 0;
-        for (byte[] array : arrays) {
-            if (null != array) {
-                length += array.length;
-            }
-        }
-
-        final byte[] result = new byte[length];
-        length = 0;
-        for (byte[] array : arrays) {
-            if (null != array) {
-                System.arraycopy(array, 0, result, length, array.length);
-                length += array.length;
-            }
-        }
-        return result;
-    }
-
-
-
-    protected static int toDigit(char ch, int index) {
-        int digit = Character.digit(ch, 16);
-        if (digit == -1) {
-            throw new RuntimeException("Illegal hexadecimal character " + ch
-                    + " at index " + index);
-        }
-        return digit;
-    }
-
-
-    public static byte[] hexStringToBytes(String hexString) {
-        if (hexString == null || hexString.equals("")) {
-            return null;
-        }
-        hexString = hexString.toUpperCase();
-        int length = hexString.length() / 2;
-        char[] hexChars = hexString.toCharArray();
-        byte[] d = new byte[length];
-        for (int i = 0; i < length; i++) {
-            int pos = i * 2;
-            d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
-        }
-        return d;
-    }
-
-    public static byte charToByte(char c) {
-        return (byte) "0123456789ABCDEF".indexOf(c);
-    }
-
-    public static String extractData(byte[] data, int position) {
-        return HexUtil.formatHexString(new byte[]{data[position]});
-    }
-
-    public static String bytesToHexString(byte[] data) {
-        String result = "";
-        for (int i = 0; i < data.length; i++) {
-            String hexString = Integer.toHexString(data[i] & 0xFF);
-            if (hexString.length() == 1) {
-                hexString = '0' + hexString;
-            }
-            result += hexString.toUpperCase();
-        }
-        return result;
-    }
-
-    /**
-     * byte杞�16杩涘埗
-     *
-     * @param b
-     * @return
-     */
-    public static String binaryToHex(byte b) {
-        String str = byteToBit(b);
-        String hexStr = Integer.toHexString(Integer.parseInt(str, 2));
-        StringBuffer stringBuffer = new StringBuffer();
-        if (hexStr.length() == 1) {
-            stringBuffer.append("0");
-        }
-        stringBuffer.append(hexStr);
-        return stringBuffer.toString().toUpperCase();
-    }
-
-    /**
-     * byte杞崄杩涘埗
-     *
-     * @param b
-     * @return
-     */
-    public static int binaryToDecimal(byte b) {
-        String str = byteToBit(b);
-        return Integer.parseInt(str, 2);
-    }
-
-    /**
-     * Byte杞珺it
-     */
-    public static String byteToBit(byte b) {
-        return "" + (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1)
-                + (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1)
-                + (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1)
-                + (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1);
-    }
-
-    /**
-     * int杞琤yte
-     *
-     * @param res
-     * @return
-     */
-    public static byte[] int2byte(int res) {
-        byte[] targets = new byte[2];
-
-        targets[1] = (byte) (res & 0xff);// 鏈�浣庝綅
-        targets[0] = (byte) ((res >> 8) & 0xff);// 娆′綆浣�
-        /*targets[2] = (byte) ((res >> 16) & 0xff);// 娆¢珮浣�
-        targets[3] = (byte) (res >>> 24);// 鏈�楂樹綅,鏃犵鍙峰彸绉�*/
-        return targets;
-    }
-
-    /**
-     * Bit杞珺yte
-     */
-    public static byte bitToByte(String byteStr) {
-        int re, len;
-        if (null == byteStr) {
-            return 0;
-        }
-        len = byteStr.length();
-        if (len != 4 && len != 8) {
-            return 0;
-        }
-        if (len == 8) {// 8 bit澶勭悊
-            if (byteStr.charAt(0) == '0') {// 姝f暟
-                re = Integer.parseInt(byteStr, 2);
-            } else {// 璐熸暟
-                re = Integer.parseInt(byteStr, 2) - 256;
-            }
-        } else {// 4 bit澶勭悊
-            re = Integer.parseInt(byteStr, 2);
-        }
-        return (byte) re;
-    }
-
-    /**
-     * 瑙f瀽浣撹剛鏁版嵁
-     *
-     * @param first
-     * @param second
-     * @param b
-     * @return
-     */
-    public static double getData(int first, int second, byte[] b) {
-        double data = ((b[first] & 0xFF) << 8) + (b[second] & 0xFF);
-        Log.e("", "data = " + data);
-        return data / 10;
-    }
-
-    /**
-     * 瑙f瀽浣撹剛鏁版嵁
-     *
-     * @param first
-     * @param second
-     * @param b
-     * @return
-     */
-    public static int getDataInt(int first, int second, byte[] b) {
-        int data = ((b[first] & 0xFF) << 8) + (b[second] & 0xFF);
-        Log.e("", "getDataInt = " + data);
-        return data;
-    }
-
-
-    // 鑾峰彇绯荤粺鏃堕棿
-    public static String getTime() {
-        SimpleDateFormat formatter = new SimpleDateFormat("HHmmss");
-        Date curDate = new Date(System.currentTimeMillis());
-        String str = formatter.format(curDate);
-        return str;
-    }
-
-    // 鑾峰彇绯荤粺鏃ユ湡
-    public static String getDate() {
-        SimpleDateFormat formatter = new SimpleDateFormat("yyMMdd");
-        Date curDate = new Date(System.currentTimeMillis());
-        String str = formatter.format(curDate);
-        return str;
-    }
-
-    /**
-     * 鑾峰彇褰撳墠绯荤粺鏃堕棿
-     *
-     * @return
-     */
-    public static String getCurrentTime() {
-        SimpleDateFormat formatter = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
-        Date curDate = new Date(System.currentTimeMillis());
-        String str = formatter.format(curDate);
-        return str;
-    }
-
-    /**
-     * 鍚堝苟鏁扮粍
-     *
-     * @return
-     */
-    public static byte[] concat(byte[] b, byte[] mByte) {
-        byte[] result = Arrays.copyOf(b, b.length + mByte.length);
-        System.arraycopy(mByte, 0, result, b.length, mByte.length);
-        return result;
-    }
-
-    /**
-     * 瀛楃涓查暱搴︾瓑浜�1鐨勮瘽锛岃ˉ0
-     *
-     * @param str
-     * @return
-     */
-    public static String addZero(String str) {
-        //L.i(ParseData.class, "addZero");
-        StringBuffer sBuffer = new StringBuffer();
-        if (str.length() == 1) {
-            sBuffer.append("0");
-            sBuffer.append(str);
-            return sBuffer.toString();
-        } else {
-            return str;
-        }
-    }
-
-    public static double getPercent(double d) {
-        if (d > 100) {
-            return 0.0;
-        }
-        return d;
-    }
-
-    /**
-     * byte鏁扮粍杞瑂tr
-     *
-     * @param b
-     * @return
-     */
-    public static String byteArr2Str(byte[] b) {
-        if (b.length != 0) {
-            StringBuffer stringBuffer = new StringBuffer();
-            stringBuffer.append("[");
-            for (int i = 0; i < b.length; i++) {
-                stringBuffer.append(addZero(binaryToHex(b[i])));
-                if (i < b.length - 1) {
-                    stringBuffer.append(",");
-                }
-            }
-            stringBuffer.append("]");
-            return stringBuffer.toString();
-        }
-        return null;
-    }
-
-    /**
-     * 淇濈暀灏忔暟鐐瑰悗count浣�
-     *
-     * @param d
-     * @param count
-     * @return
-     */
-    public static double keepDecimal(double d, int count) {
-        BigDecimal decimal = new BigDecimal(d);
-        return decimal.setScale(count, BigDecimal.ROUND_HALF_UP).doubleValue();
-    }
-
-    /**
-     * kg杞琹b
-     *
-     * @param weight
-     * @return
-     */
-    public static double kg2lb(double weight) {
-        return keepDecimal(weight * 2.2046226, 1);
-    }
-
-    /**
-     * kg杞琷in
-     *
-     * @param weight
-     * @return
-     */
-    public static double kg2jin(double weight) {
-        return keepDecimal(weight * 2, 1);
-    }
-
-    /**
-     * kg杞瑂t
-     *
-     * @param weight
-     * @return
-     */
-    public static String kg2st(double weight) {
-        double lbData = kg2lb(weight);
-        StringBuffer stringBuffer = new StringBuffer();
-        int lb = (int) (lbData / 14);
-        int st = (int) lbData % 14;
-        stringBuffer.append(lb);
-        stringBuffer.append(":");
-        stringBuffer.append(addZero(String.valueOf(st)));
-        return stringBuffer.toString();
-    }
-
-    public static String int2HexStr(int i) {
-        return binaryToHex(Integer.valueOf(i).byteValue());
-    }
-
-    public static byte[] hexStringToByte(String hex) {
-        int len = (hex.length() / 2);
-        byte[] result = new byte[len];
-        char[] chars = hex.toCharArray();
-        for (int i = 0; i < len; i++) {
-            int pos = i * 2;
-            result[i] = (byte) (toByte(chars[pos]) << 4 | toByte(chars[pos + 1]));
-        }
-        return result;
-    }
-
-    private static byte toByte(char c) {
-        byte b = (byte) "0123456789ABCDEF".indexOf(c);
-        return b;
-    }
-
-    public static String formatTo1(double f) {
-        BigDecimal bg = new BigDecimal(f);
-        return bg.setScale(1, BigDecimal.ROUND_HALF_UP).toString();
-    }
-} 
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/LanguageUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/LanguageUtils.java
deleted file mode 100644
index 70ba132..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/LanguageUtils.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-/**
- * Created by hxb on 2023/2/9.
- */
-public class LanguageUtils {
-//    public static String
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/LinkResponseUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/LinkResponseUtils.java
deleted file mode 100644
index 57ca709..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/LinkResponseUtils.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-import android.text.TextUtils;
-
-import com.google.gson.reflect.TypeToken;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
-import com.hdl.sdk.link.core.bean.response.BaseLocalWithCodeResponse;
-
-import java.lang.reflect.Type;
-
-/**
- * Created by jlchen on 1/6/22.
- */
-public class LinkResponseUtils<T> {
-
-    public Type getType(){
-       return new TypeToken<BaseLocalResponse<T>>() {}.getType();
-    }
-
-    /**
-     * 杞崲鎻愬彇LinkResponse閲岄潰鐨刼bjects
-     *
-     * @param msg
-     * @return
-     */
-    public static <T> T convertLinkResponse(Object msg, Type type) {
-        T bean = null;
-        if (msg != null && msg instanceof LinkResponse) {
-            LinkResponse linkResponse = (LinkResponse) msg;
-            String data = linkResponse.getData();
-            if (!TextUtils.isEmpty(data)) {
-                try {
-                    final BaseLocalResponse<T> response = GsonConvert.getGson().fromJson(data, type);
-                    if (response != null) {
-                        bean = response.getObjects();
-                    }
-                } catch (Exception e) {
-                    LogUtils.e("convertLinkResponse catch:" + e.getMessage());
-                }
-            }
-        }
-        return bean;
-    }
-
-    /**
-     * 杞崲鎻愬彇LinkResponse閲岄潰鐨刼bjects  鍙湁杩斿洖code   鍒ゆ柇200鏄垚鍔�
-     *
-     * @param msg
-     * @return
-     */
-    public static <T> T convertLinkWithCodeResponse(Object msg, Type type) {
-        T bean = null;
-        if (msg != null && msg instanceof LinkResponse) {
-            LinkResponse linkResponse = (LinkResponse) msg;
-            String data = linkResponse.getData();
-            if (!TextUtils.isEmpty(data)) {
-                try {
-                    final BaseLocalWithCodeResponse<T> response = GsonConvert.getGson().fromJson(data, type);
-                    if (response != null) {
-                        bean = response.getCode();
-                    }
-                } catch (Exception e) {
-                    LogUtils.e("convertLinkResponse catch:" + e.getMessage());
-                }
-            }
-        }
-        return bean;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ProtocolParse.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ProtocolParse.java
deleted file mode 100644
index 92a611b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/ProtocolParse.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-import android.text.TextUtils;
-
-/**
- * Created by Tong on 2021/9/22.
- * 瑙f瀽Link鍗忚
- */
-public class ProtocolParse {
-
-    private String topic;
-    private int length;
-    private int dataIndex;
-
-    public ProtocolParse(byte[] bytes) {
-        parse(bytes);
-    }
-
-    private void parse(byte[] bytes) {
-        try {
-            String[] split = new String(bytes, "utf-8").split("\r\n");
-            setTopic(parseTopic(split));
-            setLength(parseLength(split));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    private static String parseTopic(String[] bytes) {
-        try {
-            for (String s : bytes) {
-                if (s.startsWith("Topic:")) {
-                    return s.replace("Topic:", "");
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    private static int parseLength(String[] bytes) {
-        try {
-            for (String s : bytes) {
-                if (!TextUtils.isEmpty(s) && s.startsWith("Length:")) {
-                    return Integer.parseInt(s.replace("Length:", ""));
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return -1;
-    }
-
-
-
-    public String getTopic() {
-        return topic;
-    }
-
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    public int getLength() {
-        return length;
-    }
-
-    public void setLength(int length) {
-        this.length = length;
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/QueueUtils.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/QueueUtils.java
deleted file mode 100644
index 1d162fb..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/QueueUtils.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package com.hdl.sdk.link.core.utils;
-
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.core.bean.LinkPacket;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.core.connect.HDLConnectHelper;
-
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.concurrent.ExecutorService;
-
-/**
- * Created by hxb on 2022/8/4.
- */
-public class QueueUtils {
-
-    //杩樻病瑙e瘑鐨勬暟鎹寘
-    private final Queue<LinkPacket> linkPackets;
-    private final ExecutorService executorService;
-    //鏄惁宸茬粡鍚姩
-    private boolean started;
-    /**
-     * instance
-     */
-    private volatile static QueueUtils instance;
-
-    private QueueUtils() {
-        linkPackets = new LinkedList<>();
-        executorService = ThreadToolUtils.getInstance().newFixedThreadPool(1);
-    }
-
-    /**
-     * getInstance
-     *
-     * @return AuthenticateConfig
-     */
-    public static synchronized QueueUtils getInstance() {
-        if (instance == null) {
-            synchronized (QueueUtils.class) {
-                if (instance == null) {
-                    instance = new QueueUtils();
-                }
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * 澧炲姞鎺ユ敹鍒扮殑姣忔潯鏁版嵁
-     *
-     * @param linkPacket
-     */
-    public void add(LinkPacket linkPacket) {
-        synchronized (linkPackets) {
-            linkPackets.add(linkPacket);
-        }
-    }
-
-    public LinkPacket poll() {
-        synchronized (linkPackets) {
-            return linkPackets.poll();
-        }
-    }
-
-    /**
-     * 鍚姩澶勭悊鎺ユ敹鍒扮殑鏁版嵁
-     */
-    public synchronized void start() {
-        if (started) {
-            return;
-        }
-        started = true;
-        executorService.execute(new Runnable() {
-            @Override
-            public void run() {
-                while (true) {
-                    try {
-                        LinkPacket linkPacket = poll();
-                        if (linkPacket == null) {
-                            Thread.sleep(10);
-                            continue;
-                        }
-                        manager(linkPacket);
-                    } catch (Exception e) {
-                        LogUtils.e("澶勭悊鎺ユ敹鍒扮殑鏁版嵁寮傚父:\r\n" + e.getMessage());
-                    }
-                }
-            }
-        });
-    }
-
-    private void manager(LinkPacket linkPacket) throws UnsupportedEncodingException {
-
-        LinkResponse response = new LinkResponse();
-        response.setTopic(linkPacket.getTopic());
-//        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByIpAddress(linkPacket.isIpAddress());
-//        boolean isEncrypt = false;
-//        if (gatewayBean != null) {
-//            isEncrypt = gatewayBean.getIsLocalEncrypt();
-//        }
-//        if (EncryptUtil.ifNeedEncrypt(response.getTopic(), isEncrypt)) {
-//        if (gatewayBean != null && gatewayBean.getIsLocalEncrypt() && encrypt(linkPacket.getBody())) {
-        if (!linkPacket.isCloudPacket() && encrypt(linkPacket.getBody())) {
-            //闇�瑕佽В瀵�
-            byte[] bodyBytes = AesUtil.aesDecrypt(linkPacket.getBody(), HDLLinkConfig.getInstance().getLocalSecret());
-            if (bodyBytes != null) {
-                response.setData(new String(bodyBytes, StandardCharsets.UTF_8));
-                response.setByteData(bodyBytes);
-            } else {
-                LogUtils.e("瑙e瘑澶辫触\r\n" + linkPacket.getTopic() + "\r\n" + ByteUtils.encodeHexString(linkPacket.getBody()));
-                response.setByteData(linkPacket.getBody());
-                response.setData(new String(linkPacket.getBody(), "utf-8"));
-            }
-        } else {
-            response.setByteData(linkPacket.getBody());
-            response.setData(new String(linkPacket.getBody(), "utf-8"));
-        }
-
-
-        if (!linkPacket.isCloudPacket()) {
-            if (HDLConnectHelper.isInverterTopic(response.getTopic())) {
-                LogUtils.i("鏈湴鎺ユ敹鍒版暟鎹�:\r\n" + response.getTopic() + "\r\n" + Arrays.toString(HDLConnectHelper.byteArrayConvertIntArray(response.getByteData())));
-            } else {
-                LogUtils.i("鏈湴鎺ユ敹鍒版暟鎹�:\r\n" + response.getTopic() + "\r\n" + response.getData());
-            }
-//            if (!"/user/all/custom/gateway/broadcast".equals(response.getTopic())) {
-//                LogUtils.i("鏈湴鎺ユ敹鍒版暟鎹�:\r\n" + response.getTopic() + "\r\n" + response.getData());
-//            }
-//            if(response.getTopic().contains("/custom/scene/list/get_reply")){
-//                response.setData(response.getData()+"\":1}");
-//            }
-//            LogUtils.i("鏈湴鎺ユ敹鍒版暟鎹�:\r\n" + response.getTopic() + "\r\n" + response.getData()+ "\r\n" + response.getData().length());
-        }
-        if (response.getTopic().contains("/user/all/custom/gateway/")) {
-//            LogUtils.i("鏈湴鎺ユ敹鍒版暟鎹�:\r\n" + response.getTopic() + "\r\n" + response.getData() + "\r\n" + response.getData().length());
-        } else if (response.getTopic().contains("thing/property/up")) {
-//            LogUtils.i("鏈湴鎺ユ敹鍒版暟鎹�:\r\n" + response.getTopic() + "\r\n" + response.getData() + "\r\n" + response.getData().length());
-        } else {
-            LogUtils.i("鏈湴鎺ユ敹鍒版暟鎹�:\r\n" + response.getTopic() + "\r\n" + response.getData() + "\r\n" + response.getData().length());
-        }
-        //瑙f瀽瀹屾垚,topic鍙戦�佷竴娆�
-        EventDispatcher.getInstance().post(response.getTopic(), response);
-    }
-
-    //鏄惁鍔犲瘑
-    private boolean encrypt(byte[] bytes) {
-        if (bytes[0] == '{' && bytes[bytes.length - 1] == '}' || (bytes[0] == '[' && bytes[bytes.length - 1] == ']')) {
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/AesUtil.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/AesUtil.java
deleted file mode 100644
index 01fbe3f..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/AesUtil.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package com.hdl.sdk.link.core.utils.mqtt;
-
-
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.core.utils.HexUtil;
-
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-
-import java.security.InvalidAlgorithmParameterException;
-import java.security.InvalidKeyException;
-import java.security.Key;
-import java.security.NoSuchAlgorithmException;
-import java.security.Security;
-
-import javax.crypto.BadPaddingException;
-import javax.crypto.Cipher;
-import javax.crypto.IllegalBlockSizeException;
-import javax.crypto.NoSuchPaddingException;
-import javax.crypto.spec.IvParameterSpec;
-import javax.crypto.spec.SecretKeySpec;
-
-
-/**
- * Aes 鍔犺В瀵嗗伐鍏风被
- *
- * @author yangtao
- * 2020骞�10鏈�29鏃�
- */
-public class AesUtil {
-
-    private static final String CIPHER_INSTANCE = "AES/ECB/PKCS5Padding";
-    private static final String AES_ALGORITHM = "AES";
-
-    static {
-        //AES/CBC/PKCS7Padding 渚濊禆
-        Security.addProvider(new BouncyCastleProvider());
-    }
-
-    /**
-     * AES鍔犲瘑
-     *
-     * @param key
-     * @return
-     * @throws Exception
-     */
-    public static byte[] aesEncrypt(byte[] content, String key) {
-        return encrypt(content, key.getBytes(), "AES/CBC/PKCS7Padding", true, null);
-    }
-
-    /**
-     * AES瑙e瘑
-     *
-     * @param key
-     * @return
-     * @throws Exception
-     */
-    public static byte[] aesDecrypt(byte[] content, String key) {
-        return decrypt(content, key.getBytes(), "AES/CBC/PKCS7Padding", true, null);
-    }
-
-    /**
-     * 鍔犲瘑
-     *
-     * @param content 寰呭姞瀵嗗瓧绗︿覆
-     * @param keyHex  aesKye鐨刪exStr
-     * @return
-     */
-    public static String encrypt(String content, String keyHex) {
-        return HexUtil.encodeHexStr(encrypt(content.getBytes(), HexUtil.decodeHex(keyHex), CIPHER_INSTANCE, false, null));
-    }
-
-    /**
-     * 鍔犲瘑
-     *
-     * @param content 寰呭姞瀵嗗瓧绗︿覆
-     * @param key     瀵嗛挜
-     * @return
-     */
-    public static String encrypt(String content, byte[] key) {
-        return HexUtil.encodeHexStr(encrypt(content.getBytes(), key, CIPHER_INSTANCE, false, null));
-    }
-
-    /**
-     * 鍔犲瘑
-     *
-     * @param content 寰呭姞瀵嗗瓧绗︿覆
-     * @param keyHex  aesKye鐨刪exStr
-     * @return
-     */
-    public static byte[] encryptReturnByte(String content, String keyHex) {
-        return encrypt(content.getBytes(), HexUtil.decodeHex(keyHex), CIPHER_INSTANCE, false, null);
-    }
-
-    /**
-     * 鍔犲瘑
-     *
-     * @param content 寰呭姞瀵嗗瓧绗︿覆
-     * @param key     瀵嗛挜
-     * @return
-     */
-    public static byte[] encryptReturnByte(String content, byte[] key) {
-        return encrypt(content.getBytes(), key, CIPHER_INSTANCE, false, null);
-    }
-
-    /**
-     * 鍔犲瘑
-     *
-     * @param content        寰呭姞瀵嗗瓧绗︿覆
-     * @param keyByte        aesKye鐨刪exStr
-     * @param cipherInstance AES绠楁硶濉厖鏂瑰紡
-     * @param isIv           鏄惁浣跨敤鍋忕Щ閲� ECB妯″紡涓嶅彲鐢�
-     * @param iv             鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-     * @return
-     */
-    public static byte[] encrypt(byte[] content, byte[] keyByte, String cipherInstance, Boolean isIv, byte[] iv) {
-        try {
-            //KEY杞崲
-            Key key = new SecretKeySpec(keyByte, AES_ALGORITHM);
-            //鍔犲瘑
-            Cipher cipher = Cipher.getInstance(cipherInstance);
-            if (isIv != null && isIv) {
-                //鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-                if (iv == null) {
-                    iv = keyByte;
-                }
-                IvParameterSpec ivps = new IvParameterSpec(iv);
-                cipher.init(Cipher.ENCRYPT_MODE, key, ivps);
-            } else {
-                cipher.init(Cipher.ENCRYPT_MODE, key);
-            }
-            byte[] result = cipher.doFinal(content);
-            return result;
-        } catch (NoSuchAlgorithmException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidKeyException e) {
-            LogUtils.e(e.getMessage());
-        } catch (NoSuchPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (BadPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (IllegalBlockSizeException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidAlgorithmParameterException e) {
-            LogUtils.e(e.getMessage());
-        }
-        return null;
-    }
-
-    /**
-     * 瑙e瘑
-     *
-     * @param contentHex 寰呰В瀵嗗緟瀛楃涓瞙exStr
-     * @param keyHex     desKye鐨刪exStr
-     * @return
-     */
-    public static String decrypt(String contentHex, String keyHex) {
-        return new String(decrypt(HexUtil.decodeHex(contentHex), HexUtil.decodeHex(keyHex), CIPHER_INSTANCE, false, null));
-    }
-
-    /**
-     * 瑙e瘑
-     *
-     * @param contentHex 寰呰В瀵嗗緟瀛楃涓瞙exStr
-     * @param key        瀵嗛挜
-     * @return
-     */
-    public static String decrypt(String contentHex, byte[] key) {
-        return new String(decrypt(HexUtil.decodeHex(contentHex), key, CIPHER_INSTANCE, false, null));
-    }
-
-    /**
-     * 瑙e瘑
-     *
-     * @param content 寰呰В瀵嗗緟鍐呭
-     * @param keyHex  瀵嗛挜
-     * @return
-     */
-    public static String decrypt(byte[] content, String keyHex) {
-        return new String(decrypt(content, HexUtil.decodeHex(keyHex), CIPHER_INSTANCE, false, null));
-    }
-
-    /**
-     * 瑙e瘑
-     *
-     * @param content 寰呰В瀵嗗緟鍐呭
-     * @param key     瀵嗛挜
-     * @return
-     */
-    public static String decrypt(byte[] content, byte[] key) {
-        return new String(decrypt(content, key, CIPHER_INSTANCE, false, null));
-    }
-
-
-    /**
-     * 瑙e瘑
-     *
-     * @param contentByte    寰呰В瀵嗗緟瀛楃涓瞙exStr
-     * @param contentByte    瀵嗛挜
-     * @param cipherInstance AES绠楁硶濉厖鏂瑰紡
-     * @param isIv           鏄惁浣跨敤鍋忕Щ閲� ECB妯″紡涓嶅彲鐢�
-     * @param iv             鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-     * @return
-     */
-    public static byte[] decrypt(byte[] contentByte, byte[] keyByte, String cipherInstance, Boolean isIv, byte[] iv) {
-        try {
-            //KEY杞崲
-            Key key = new SecretKeySpec(keyByte, AES_ALGORITHM);
-            //瑙e瘑
-            Cipher cipher = Cipher.getInstance(cipherInstance);
-            if (isIv != null && isIv) {
-                //鍋忕Щ閲� 涓嶄紶榛樿瀵嗛挜
-                if (iv == null) {
-                    iv = keyByte;
-                }
-                IvParameterSpec ivps = new IvParameterSpec(iv);
-                cipher.init(Cipher.DECRYPT_MODE, key, ivps);
-            } else {
-                cipher.init(Cipher.DECRYPT_MODE, key);
-            }
-            byte[] result = cipher.doFinal(contentByte);
-            return result;
-        } catch (NoSuchAlgorithmException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidKeyException e) {
-            LogUtils.e(e.getMessage());
-        } catch (NoSuchPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (BadPaddingException e) {
-            LogUtils.e(e.getMessage());
-        } catch (IllegalBlockSizeException e) {
-            LogUtils.e(e.getMessage());
-        } catch (InvalidAlgorithmParameterException e) {
-            LogUtils.e(e.getMessage());
-        }
-        return null;
-    }
-
-
-    public static void main(String[] args) {
-//        jiemi();
-        //jiami();
-    }
-
-    public static void jiami() {
-        String key = "1f6714fc-fb9b-4a";
-        String content = "{\"id\":\"123\",\"objects\":[{\"sid\":\"0001011565879801020200010101\",\"type\":\"PWD\",\"local_id\":\"2\"}],\"time_stamp\":\"1603281282000\"}";
-        byte[] res = aesEncrypt(content.getBytes(), key);
-        System.out.println(HexUtil.encodeHexStr(res));
-    }
-
-    /**
-     *
-     * @param str
-     * @param houseId
-     * @return
-     */
-    public static String jiemi(byte[] str, String houseId) {
-        byte[] rs = aesDecrypt(str, HouseIdSecretUtil.getSecret(houseId));
-        String content = new String(rs);
-        return content;
-    }
-
-//    public static void main(String[] args) {
-//        try {
-//            //绗竴姝ワ細 鐢熸垚KEY
-//            //KeyGenerator keyGenerator = KeyGenerator.getInstance(AES_ALGORITHM);
-//            //keyGenerator.init(256);
-//            //绗簩姝ワ細 浜х敓瀵嗛挜
-//            //SecretKey secretKey = keyGenerator.generateKey();
-//            //绗笁姝ワ細 鑾峰彇瀵嗛挜
-//            //byte[] keyBytes = secretKey.getEncoded();
-//            //System.out.println(byteArrayToHexStr(keyBytes));
-//            String src = "aaaaaaaaaVVVVaaaAAAA鏃�";
-//            String pwd = "41151AF257BFDB7859EEC62FB341EE95EE42E648FE24E1F8CE8DADE287CC1E5C";
-//            String mw = encrypt(src,pwd);
-//            System.out.println("mw:"+mw);
-//            String jm = decrypt(mw,pwd);
-//            System.out.println("jm:"+jm);
-//
-//        }catch (Exception e){
-//
-//        }
-//
-//    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/HouseIdSecretUtil.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/HouseIdSecretUtil.java
deleted file mode 100644
index bc2a93b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/HouseIdSecretUtil.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.hdl.sdk.link.core.utils.mqtt;
-
-/**
- * 浣忓畢瀵嗛挜鑾峰彇宸ュ叿绫�
- *
- * @author yangtao
- * @date 2021.2.26
- */
-public class HouseIdSecretUtil {
-
-    public static String getSecret(String homeId) {
-        String temp = new StringBuffer().append(homeId).reverse().toString();
-        if (temp.length() > 16) {
-            return temp.substring(0, 16);
-        }
-        //闀垮害涓嶅16浣嶇敤0琛ラ綈
-        for (int i = temp.length(); i < 16; i++) {
-            temp += "0";
-        }
-        return temp;
-    }
-
-    public static String getSecret(Long homeId) {
-       return getSecret(homeId.toString());
-    }
-
-    public static void main(String[] args) {
-        System.out.println(getSecret("1363358800782790658"));
-    }
-}
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
deleted file mode 100644
index d2a9673..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/utils/mqtt/MqttRecvClient.java
+++ /dev/null
@@ -1,431 +0,0 @@
-package com.hdl.sdk.link.core.utils.mqtt;
-
-import android.content.Context;
-import android.text.TextUtils;
-
-import com.alibaba.fastjson.JSON;
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.core.bean.LinkPacket;
-import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
-import com.hdl.sdk.link.core.bean.eventbus.EventBindMiniRemoteSuccessInfo;
-import com.hdl.sdk.link.core.bean.eventbus.EventNotifyRefreshGatewayAesKeyInfo;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.core.connect.HDLConnectHelper;
-import com.hdl.sdk.link.core.protocol.LinkMessageDecoder;
-import com.hdl.sdk.link.core.utils.AesUtil;
-import com.hdl.sdk.link.core.utils.QueueUtils;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-import com.hdl.sdk.link.socket.bean.Packet;
-
-import org.eclipse.paho.client.mqttv3.IMqttActionListener;
-import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
-import org.eclipse.paho.client.mqttv3.IMqttToken;
-import org.eclipse.paho.client.mqttv3.MqttAsyncClient;
-import org.eclipse.paho.client.mqttv3.MqttCallbackExtended;
-import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
-import org.eclipse.paho.client.mqttv3.MqttException;
-import org.eclipse.paho.client.mqttv3.MqttMessage;
-import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
-import org.greenrobot.eventbus.EventBus;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Created by Zoro on 2018/8/1.
- * desc:2019/7/24  杩炴帴鎴愬姛浠ュ悗鍐嶈闃�   涓嶉渶瑕佸彂閫佸績璺�  涓嶉渶瑕佽嚜宸卞鐞嗛噸杩�
- */
-
-public class MqttRecvClient {
-    private static String mBroker;
-    private MemoryPersistence persistence = new MemoryPersistence();
-    private MqttAsyncClient sampleClient;
-    private MqttConnectOptions connOpts = new MqttConnectOptions();
-    private MqttThread mqttThread;
-    private static volatile MqttRecvClient mqttRecvClient;
-    private final String TAG = "MqttRecvClient";
-    private static final String[] ignoreTopics = new String[]{"/thing/topo/found", "/ota/device/progress/up"};
-    /**
-     * 涓婃鐨勪富棰橀渶瑕佽褰�  鏇存敼涓婚鐨勬椂鍊欓渶瑕佸彇娑堣闃�
-     */
-    private static List<String> lastTopicFilters = new ArrayList<>();
-    private static String mClientId;
-    private static String mUserName;
-    private static String mPassWord;
-    private final int[] qos = {0};
-
-    private MqttRecvClient() {
-        if (mqttThread == null) {
-            mqttThread = new MqttThread();
-        }
-        if (TextUtils.isEmpty(mUserName) || TextUtils.isEmpty(mPassWord)) {
-            return;
-        }
-        mqttThread.start();
-    }
-
-    public static void init(Context context, String broker1, String deviceId, String userName, String pwd) {
-        mClientId = deviceId;
-        mBroker = broker1;
-        mUserName = userName;
-        mPassWord = pwd;
-        MqttRecvClient.create();
-    }
-
-    public void send(String topic, byte[] bytes) {
-        try {
-            if (TextUtils.isEmpty(topic)) {
-                LogUtils.e("璇锋眰涓婚涓簄ull");
-                return;
-            }
-            checkAndsubscribeAllTopics(topic);
-            publish(topic, bytes);
-        } catch (MqttException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 鍙戝竷
-     *
-     * @param topic 涓婚
-     * @param bytes 鍐呭
-     * @throws MqttException
-     */
-    public void publish(String topic, byte[] bytes) throws MqttException {
-        //鍥炲鏃讹紝mqtt涓婚涓殑鏂瑰悜瑕佸彉鍖栵紝瑕佸仛鏂瑰悜鏇挎崲
-        mqttRecvClient.sampleClient.publish(topic, bytes, 1, false, null, new IMqttActionListener() {
-            @Override
-            public void onSuccess(IMqttToken asyncActionToken) {
-                LogUtils.d(TAG, topic);
-            }
-
-            @Override
-            public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
-            }
-        });
-    }
-
-    public static void create() {
-        if (mqttRecvClient == null) {
-            mqttRecvClient = new MqttRecvClient();
-        }
-    }
-
-    /**
-     * 浣跨敤鐨勬椂鍊欓渶瑕佸垽鏂潪绌�
-     */
-    public static MqttRecvClient getInstance() {
-        if (null == mqttRecvClient) {
-            synchronized (MqttRecvClient.class) {
-                if (null == mqttRecvClient) {
-                    mqttRecvClient = new MqttRecvClient();
-                }
-                return mqttRecvClient;
-            }
-        }
-        return mqttRecvClient;
-    }
-
-    class MqttThread extends Thread {
-        @Override
-        public void run() {
-            super.run();
-            connect();
-        }
-    }
-
-    private void connect() {
-        try {
-            if (sampleClient != null) {
-                sampleClient.close();
-            }
-            sampleClient = new MqttAsyncClient(mBroker, mClientId, persistence);
-            connOpts.setUserName(mUserName);
-//            connOpts.setServerURIs(new String[]{mBroker});
-            connOpts.setPassword(mPassWord.toCharArray());
-            connOpts.setCleanSession(true);
-            connOpts.setKeepAliveInterval(10);
-            connOpts.setAutomaticReconnect(true);
-            connOpts.setConnectionTimeout(60);
-            connOpts.setMqttVersion(MqttConnectOptions.MQTT_VERSION_3_1_1);
-            sampleClient.setCallback(new MqttCallbackExtended() {
-                public void connectComplete(boolean reconnect, String serverURI) {
-                    LogUtils.d(TAG, "connect success");
-                    checkAndsubscribeAllTopics("");
-                }
-
-                public void connectionLost(Throwable throwable) {
-                    LogUtils.d(TAG, "杩炴帴鏂紑");
-                    lastTopicFilters.clear();
-                }
-
-                public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
-                    managerMqttMsg(topic, mqttMessage);
-                }
-
-                public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
-                }
-            });
-            sampleClient.connect(connOpts);
-
-        } catch (Exception me) {
-            me.printStackTrace();
-        }
-    }
-
-    /**
-     * 澶勭悊鎺ユ敹鐨刴qtt鏁版嵁
-     *
-     * @param topic       鎺ユ敹涓婚
-     * @param mqttMessage 鎺ユ敹鏁版嵁
-     * @throws Exception
-     */
-    public void managerMqttMsg(String topic, MqttMessage mqttMessage) throws Exception {
-        LogUtils.d(TAG, "\r\n" + "mqtt->杩滅▼鍥炲涓婚" + topic);
-        if (HDLConnectHelper.isLocal()) {
-            boolean needReturn = true;
-            //濡傛灉鏄湰鍦版ā寮忥紝浜戠涓嬫潵鐨勭綉鍏虫暟鎹儴鍒嗘暟鎹笉鎺ユ敹(濡傦細ota鍗囩骇鍙嶉杩涘害)
-            for (String ignoreTopic : ignoreTopics) {
-                if (topic.endsWith(ignoreTopic)) {
-                    needReturn = false;
-                    break;
-                }
-            }
-            if (needReturn) {
-                return;
-            }
-        }
-        if (topic.contains("/custom/mqtt/secret/change")) {
-            /**
-             * 缃戝叧閲嶈繛mqtt 闇�瑕佹洿鎹esKey 涓嶇劧缃戝叧鏃犳硶瑙e瘑 閫氱煡鍒锋柊缃戝叧鍒楄〃骞朵笖鏇存柊涓荤綉鍏崇殑aesKey
-             */
-            String[] topics = topic.split("/");
-            //闈炲綋鍓嶄綇瀹呯綉鍏崇殑鏁版嵁杩斿洖
-            if (topics.length < 3) {
-                return;
-            }
-            LogUtils.d(TAG, "缃戝叧閲嶈繛mqtt绉橀挜鏇存柊閫氱煡->" + topic);
-
-            BaseEventBus baseEventBus=new BaseEventBus();
-            baseEventBus.setTopic(topic);
-            EventBus.getDefault().post(baseEventBus);
-
-            EventNotifyRefreshGatewayAesKeyInfo eventNotifyRefreshGatewayAesKeyInfo = new EventNotifyRefreshGatewayAesKeyInfo();
-            eventNotifyRefreshGatewayAesKeyInfo.setGatewayId(topics[2]);
-            EventBus.getDefault().post(eventNotifyRefreshGatewayAesKeyInfo);
-            return;
-        }
-
-        String[] topics = topic.split("/");
-        //闈炲綋鍓嶄綇瀹呯綉鍏崇殑鏁版嵁杩斿洖
-        if (topics.length < 3) {
-            return;
-        }
-        String aes = null;
-        String cloudsGatewayId = topics[2];//浜戠涓奊atewayId
-        GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(cloudsGatewayId);
-        if (cloudsGatewayId.equals(HDLLinkConfig.getInstance().getHomeId())) {
-            aes = getHomeAES();
-        }
-        else if (gatewayBean != null && HDLConnectHelper.getNotGatewayTypeList().contains(gatewayBean.getGatewayType())) {
-            //姣背娉qtt涓撶敤绉橀挜銆侀�嗗彉鍣╩qtt涓撶敤绉橀挜
-            aes = gatewayBean.getAesKey();
-        } else {
-            aes = HDLLinkConfig.getInstance().getAesKey();
-        }
-        if (TextUtils.isEmpty(aes)) {
-            return;
-        }
-
-        byte[] bytes = AesUtil.aesDecrypt(mqttMessage.getPayload(), aes);
-        if (null == bytes) {
-            LogUtils.d(TAG, "\r\n" + "mqtt->杩滅▼鍥炲鏁版嵁 瀵嗛挜瑙e瘑澶辫触");
-            return;
-        }
-        String bodyStr = new String(bytes);
-        if (HDLConnectHelper.isInverterTopic(topic)) {
-            LogUtils.d(TAG, "\r\n" + "mqtt->杩滅▼鍥炲鏁版嵁" + Arrays.toString(HDLConnectHelper.byteArrayConvertIntArray(bytes)));
-        } else {
-            LogUtils.d(TAG, "\r\n" + "mqtt->杩滅▼鍥炲鏁版嵁" + bodyStr);
-        }
-        /**
-         * 绾㈠瀹濊澶囬�氳繃/thing/topo/found涓婚  涓婃姤绾㈠瀹濊澶囧凡缁忓叆缃戜簡  鐒跺悗鐩存帴return  涓嶉渶瑕佸啀涓嬭浜�
-         */
-        if (topic.endsWith("/thing/topo/found")) {
-            /**
-             * {"id":"0000016E","time_stamp":"366574","objects":[{"sid":"010105D370451908110100000000",
-             * "name":"Mini鏅鸿兘閬ユ帶鍣�","spk":"ir.module","oid":"010105D370451908","omodel":"MIR01R-LK.10",
-             * "online":"true","attributes":[],"status":[],"from":"010105D370451908","src":"010105D370451908"}]}
-             */
-            if (bodyStr.contains("ir.module")) {
-                EventBus.getDefault().post(new EventBindMiniRemoteSuccessInfo());
-                return;
-            }
-        }
-        //Link浠庣綉鍏抽�忎紶鐗规畩澶勭悊
-        if (topic.contains("/native/a/") && topic.contains("/slaveoid/")) {
-            LinkMessageDecoder.getInstance().read(new Packet(bytes));
-        } else {
-            byte[] topBytes = new byte[3];
-            if (bytes.length > 2) {
-                topBytes[0] = bytes[0];
-                topBytes[1] = bytes[1];
-                topBytes[2] = bytes[2];
-            }
-            if (new String(topBytes).equals("hex")) {//link鍘熺敓鏁版嵁锛屽垽鏂槸鍚︽槸鏂囦欢澶勭悊閫氱煡
-                LinkMessageDecoder.getInstance().read(new Packet(bytes));
-            } else {
-                QueueUtils.getInstance().add(new LinkPacket(topic, bytes, true));
-            }
-        }
-    }
-
-    /**
-     * 妫�鏌ヤ富棰樻槸鍚﹀凡璁㈤槄锛屾病鏈夎闃呭氨璁㈤槄
-     *
-     * @param sendTopic 璇锋眰涓婚
-     */
-    public synchronized void checkAndsubscribeAllTopics(String sendTopic) {
-        if (null == sampleClient) {
-            return;
-        }
-        if (null != sampleClient && sampleClient.isConnected() == false) {
-            return;
-        }
-        try {
-            for (String topic : nativeAndLinkTopic(sendTopic)) {
-                if (lastTopicFilters.contains(topic)) {
-                    continue;
-                }
-                LogUtils.d(TAG, "璁㈤槄涓婚" + topic);
-
-                sampleClient.subscribe(topic, 0, null, new IMqttActionListener() {
-                    @Override
-                    public void onSuccess(IMqttToken asyncActionToken) {
-                        if (!lastTopicFilters.contains(topic)) {
-                            lastTopicFilters.add(topic);
-                        }
-                    }
-
-                    @Override
-                    public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
-
-                    }
-                });
-            }
-
-        } catch (MqttException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁㈤槄骞冲彴涓嬫潵鐨勪富棰�
-     *
-     * @return string鏁扮粍
-     */
-    private String[] nativeAndLinkTopic(String sendTopic) {
-        String[] topicArray = sendTopic.split("/");
-        //闈炲綋鍓嶄綇瀹呯綉鍏崇殑鏁版嵁杩斿洖
-        if (topicArray.length < 3) {
-            return new String[]{
-                    String.format("/user/%s/#", HDLLinkConfig.getInstance().getGatewayId()),
-                    String.format("/base/%s/#", HDLLinkConfig.getInstance().getGatewayId())};
-        }
-
-        String gatewayId = topicArray[2];//浜戠涓奊atewayId
-        String[] topics = {
-                String.format("/user/%s/#", HDLLinkConfig.getInstance().getGatewayId()),
-                String.format("/base/%s/#", HDLLinkConfig.getInstance().getGatewayId()),
-                String.format("/user/%s/#", gatewayId),
-                String.format("/base/%s/#", gatewayId),
-        };
-        return topics;
-    }
-
-
-    /**
-     * APP璁㈤槄浜戠涓婚瑙e瘑瀵嗘枃鐨勭閽�(杩欎釜瀵嗛挜鍙兘鐢ㄤ簬璁㈤槄浜戠涓婚锛岃闃呯綉鍏充富棰樺彟澶栦竴涓瘑閽�)
-     *
-     * @return -杩斿洖瑙e瘑瀵嗘枃鐨勭閽�
-     */
-    private String getHomeAES() {
-        String homeId = HDLLinkConfig.getInstance().getHomeId();
-        if (TextUtils.isEmpty(homeId)) {
-            return null;
-        }
-        //瑙e瘑瀵嗛挜瑙勫垯锛氬凡鐜版湁鐨勪綇瀹匢D涓哄熀鍑�,浠庡彸杈逛竴涓�鑾峰彇鍊�,鏈�鍚庡鏋滀笉澶�16浣�,鍒欏線鍙宠ˉ闆�
-        StringBuilder aesKey = new StringBuilder();
-        for (int i = homeId.length() - 1; i >= 0; i--) {
-            aesKey.append(homeId.charAt(i));
-            if (aesKey.length() == 16) {
-                break;
-            }
-        }
-        return this.PadRight(aesKey.toString(), 16, "0");
-    }
-
-    /**
-     * 浠庡彸杈规坊鍔犵┖鏍兼垨鍏跺畠瀛楃
-     *
-     * @param currentValueStr 褰撳墠鍊�
-     * @param count           鎬婚暱鏁�
-     * @param others          鍏跺畠瀛楃(鑷畾涔�)
-     * @return 鎬婚暱搴�
-     */
-    private String PadRight(String currentValueStr, int count, String others) {
-        if (count > currentValueStr.length()) {
-            StringBuilder stringBuilder = new StringBuilder();
-            int subLen = count - currentValueStr.length();
-            for (int i = 0; i < subLen; i++) {
-                stringBuilder.append(others);
-            }
-            currentValueStr = currentValueStr + stringBuilder;
-        }
-        return currentValueStr;
-
-    }
-
-    /**
-     * 鍒囨崲浣忓畢鐨勬椂鍊欒闃呰鍏ㄩ儴鍙栨秷
-     */
-    public void removeAllTopic() {
-        if (null == sampleClient) {
-            return;
-        }
-        if (null != sampleClient && sampleClient.isConnected() == false) {
-            return;
-        }
-        try {
-            if (lastTopicFilters.size() == 0) {
-                return;
-            }
-            LogUtils.d(TAG, "绉婚櫎涓婚:\r\n" + JSON.toJSONString(lastTopicFilters));
-            sampleClient.unsubscribe(lastTopicFilters.toArray(new String[lastTopicFilters.size()]));
-            lastTopicFilters.clear();
-        } catch (MqttException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void stop() {
-        if (mqttRecvClient != null) {
-            try {
-                if (mqttRecvClient.sampleClient != null) {
-                    mqttRecvClient.sampleClient.disconnect();
-                    mqttRecvClient.sampleClient.close();
-                    mqttRecvClient = null;
-                    lastTopicFilters.clear();
-                }
-            } catch (MqttException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java
deleted file mode 100644
index ffc31ce..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java
+++ /dev/null
@@ -1,1156 +0,0 @@
-package com.hdl.sdk.link.gateway;
-
-import android.text.TextUtils;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.google.gson.reflect.TypeToken;
-import com.hdl.sdk.link.HDLLinkLocalSdk;
-import com.hdl.sdk.link.R;
-import com.hdl.sdk.link.common.config.TopicConstant;
-import com.hdl.sdk.link.common.event.EventDispatcher;
-import com.hdl.sdk.link.common.event.EventListener;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.common.utils.IdUtils;
-import com.hdl.sdk.link.common.utils.IpUtils;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.SPUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-
-import com.hdl.sdk.link.core.bean.LinkRequest;
-import com.hdl.sdk.link.core.bean.LinkResponse;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
-import com.hdl.sdk.link.core.callback.GatewayCallBack;
-import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
-import com.hdl.sdk.link.core.callback.HDLLinkTCallBack;
-import com.hdl.sdk.link.core.config.HDLLinkConfig;
-import com.hdl.sdk.link.core.connect.HDLConnectHelper;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by hxb on 2021/12/23.
- */
-public class HDLLinkLocalGateway {
-    //instance
-    private volatile static HDLLinkLocalGateway instance;
-
-    //getInstance
-    public static synchronized HDLLinkLocalGateway getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkLocalGateway.class) {
-                if (instance == null) {
-                    instance = new HDLLinkLocalGateway();
-                }
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * 缃戝叧鍒楄〃锛岃褰曟墍鏈夋悳绱㈠埌鐨勭綉鍏筹紝鍙兘鍖呭惈鏂嚎鐨勭綉鍏�
-     */
-    private final List<GatewayBean> gatewayBeanList = new ArrayList();
-
-    /**
-     * 鑾峰彇缂撳瓨鐨勭綉鍏冲垪琛紝鍙兘鍖呭惈鏂嚎鐨勭綉鍏�
-     *
-     * @return 缃戝叧鍒楄〃
-     */
-    public List<GatewayBean> getGatewayList() {
-        return gatewayBeanList;
-    }
-
-    /**
-     * 閫氳繃oid鎴栬�呯綉鍏矷D鎴栬�匒MC鑾峰彇鍐呭瓨涓殑缃戝叧锛屾敞鎰忥紝濡傛灉鏄繙绋嬮�氳锛実atewayBeanList瑕佸钩鍙颁笂缁戝畾鐨勪富缃戝叧鍙婁粠缃戝叧杩涘幓锛岃涓嶈幏鍙栦笉鍒扮綉鍏充俊鎭�
-     *
-     * @param oidOrGatewayId
-     * @return
-     */
-    public GatewayBean getGatewayByOidOrGatewayId(String oidOrGatewayId) {
-        if (TextUtils.isEmpty(oidOrGatewayId)) {
-            return null;
-        }
-        for (GatewayBean gatewayBean : gatewayBeanList) {
-            if (oidOrGatewayId.equals(gatewayBean.getOid())
-                    || oidOrGatewayId.equals(gatewayBean.getGatewayId())
-                    || oidOrGatewayId.equals(gatewayBean.getDevice_mac())
-                    || oidOrGatewayId.equals(gatewayBean.getIp_address())
-            )
-                return gatewayBean;
-        }
-        return null;
-    }
-
-    /**
-     * 閫氳繃IP鑾峰彇缃戝叧淇℃伅
-     *
-     * @param ipAddress
-     * @return
-     */
-    public GatewayBean getGatewayByIpAddress(String ipAddress) {
-        if (TextUtils.isEmpty(ipAddress)) {
-            return null;
-        }
-        for (GatewayBean gatewayBean : gatewayBeanList) {
-            if (ipAddress.equals(gatewayBean.getIp_address()))
-                return gatewayBean;
-        }
-        return null;
-    }
-
-    /**
-     * 閫氳繃spk鑾峰彇缃戝叧锛岃繖涓篃鏀寔鑾峰彇姣背娉�
-     *
-     * @param spkList 闆嗗悎
-     * @return 杩斿洖缃戝叧鍒楄〃
-     */
-    public List<GatewayBean> getGatewayBySpk(List<String> spkList) {
-        if (spkList.size() == 0) {
-            return this.getGatewayList();
-        }
-        List<GatewayBean> gatewayBeanList = new ArrayList<>();
-        for (GatewayBean gatewayBean : this.getGatewayList()) {
-            if (spkList.contains(gatewayBean.getGatewayType()))
-                gatewayBeanList.add(gatewayBean);
-        }
-        return gatewayBeanList;
-    }
-
-    /**
-     * 鑾峰彇缃戝叧鍒楄〃  鍘绘帀绾㈠瀹濊繖绉嶈澶�
-     *
-     * @param spkList 闆嗗悎
-     * @return 杩斿洖缃戝叧鍒楄〃
-     */
-    public List<GatewayBean> getGatewayByGatewayType(List<String> spkList) {
-        if (spkList.size() == 0) {
-            return this.getGatewayList();
-        }
-        List<GatewayBean> gatewayBeanList = new ArrayList<>();
-        for (GatewayBean gatewayBean : this.getGatewayList()) {
-            if ((spkList.contains(gatewayBean.getGatewayType()))
-                    && !"MIR01R-LK.10".equals(gatewayBean.getDevice_model())
-                    && !"MSMWP-LK.30".equals(gatewayBean.getDevice_model()))
-                gatewayBeanList.add(gatewayBean);
-        }
-        return gatewayBeanList;
-    }
-
-    /**
-     * 鑾峰彇鏈湴缃戝叧瀵硅薄(鍖呮嫭姣背娉�)
-     *
-     * @param macAndSid 璁惧mac
-     * @return 鎵惧埌杩斿洖GatewayBean, 鏈壘鍒拌繑鍥瀗ull.
-     */
-    public GatewayBean getLocalGateway(String macAndSid) {
-        if (TextUtils.isEmpty(macAndSid)) {
-            return null;
-        }
-        for (GatewayBean gatewayBean : this.getGatewayList()) {
-            if (macAndSid.equals(gatewayBean.getDevice_mac())
-                    || macAndSid.equals(gatewayBean.getSid())) {
-                return gatewayBean;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 鑾峰彇褰撳墠浣忓畢鐨勪富缃戝叧;
-     *
-     * @param homeId 浣忓畢id
-     * @return 鎵惧埌杩斿洖GatewayBean, 鏈壘鍒拌繑鍥瀗ull.
-     */
-    public GatewayBean findMainGateway(String homeId) {
-        for (GatewayBean gatewayBean : this.getGatewayList()) {
-            if (gatewayBean.getMaster().equals("true")
-                    && gatewayBean.getHomeId().equals(homeId)
-                    && gatewayBean.getGatewayType().equals("AGATEWAY")) {
-                return gatewayBean;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * 鍒ゆ柇浣忓畢鏄惁鏈変富缃戝叧
-     *
-     * @param homeId
-     * @return
-     */
-    public boolean hasMainGateway(String homeId) {
-        boolean hasMain = false;
-        for (GatewayBean gatewayBean : this.getGatewayList()) {
-            if (gatewayBean.getMaster().equals("true")
-                    && gatewayBean.getHomeId().equals(homeId)
-                    && gatewayBean.getGatewayType().equals("AGATEWAY")) {
-                hasMain = true;
-            }
-        }
-        return hasMain;
-    }
-
-    /**
-     * 鎼滅储缃戝叧锛屽彧鍙戜竴娆★紝娌℃湁鍥炶皟
-     */
-    public void serchGatewayOneTime() {
-        String time = String.valueOf(System.currentTimeMillis());
-        JsonObject jsonObject = new JsonObject();
-        jsonObject.addProperty("id", IdUtils.getUUId());
-        jsonObject.addProperty("time_stamp", time);
-        LinkRequest message = new LinkRequest(TopicConstant.GATEWAY_SEARCH,
-                jsonObject.toString(), false);
-
-        String ipAddress = IpUtils.getBroadcastAddress();
-        new HDLConnectHelper(1, ipAddress, message, false).send();
-    }
-
-
-    /**
-     * 鍒涙柊鎵�鏈夊湪绾跨殑缃戝叧锛屽寘鎷綋鍓嶄綇瀹呯殑鍙婃病鏈夌粦瀹氳繃鐨勭綉鍏�
-     *
-     * @param callBack 鍥炶皟
-     */
-    public void refreshGatewayByHome(String homeId, GatewayCallBack callBack) {
-        refreshGatewayByHome(homeId, true, callBack);
-    }
-
-    /**
-     * 鏍规嵁浣忓畢id鑾峰彇缃戝叧
-     *
-     * @param homeId                 杩囨护鐨勪綇瀹卛d
-     * @param needEmptyHomeIdGateway 缃戝叧鐨勪綇瀹卛d涓虹┖鏃讹紝鏄惁鍙互鍔犲叆缃戝叧鍒楄〃
-     * @param callBack               鍥炶皟鏂规硶
-     */
-    public void refreshGatewayByHome(String homeId, boolean needEmptyHomeIdGateway, GatewayCallBack callBack) {
-        refreshGatewayByHomeIdAndSpk(homeId, this.getGatewayTypeList(), needEmptyHomeIdGateway, callBack);
-    }
-
-    /**
-     * 鏍规嵁浣忓畢id鑾峰彇缃戝叧
-     *
-     * @param homeId                 杩囨护鐨勪綇瀹卛d
-     * @param needEmptyHomeIdGateway 缃戝叧鐨勪綇瀹卛d涓虹┖鏃讹紝鏄惁鍙互鍔犲叆缃戝叧鍒楄〃
-     * @param callBack               鍥炶皟鏂规硶
-     */
-    public void refreshWifiMillimeterZT(boolean needEmptyHomeIdGateway, GatewayCallBack callBack) {
-        refreshGatewayBySpk(this.getWifiMillimeterZTTypeList(), needEmptyHomeIdGateway, callBack);
-    }
-
-    /**
-     * 鑾峰彇缃戠粶璁惧锛屽寘鎷綉鍏冲強姣背娉㈢瓑缃戠粶璁惧
-     *
-     * @param spk                    缃戠粶璁惧spk
-     * @param needEmptyHomeIdGateway 鏄惁闇�瑕佺┖浣忓畢Id璁惧
-     * @param callBack               鍥炶皟
-     */
-    public void refreshGatewayBySpk(List<String> spk, boolean needEmptyHomeIdGateway, GatewayCallBack callBack) {
-        String topicReply = TopicConstant.GATEWAY_SEARCH_REPLY;
-        final List<GatewayBean> tempGatewayBeanList = new ArrayList<>();
-        EventListener eventListener = getSearchGatewayEvent(spk, needEmptyHomeIdGateway, tempGatewayBeanList);
-        EventDispatcher.getInstance().register(topicReply, eventListener);
-
-        ThreadToolUtils.getInstance().newFixedThreadPool(1).execute(new Runnable() {
-            @Override
-            public void run() {
-                int count = 5;
-                while (0 < count--) {
-                    try {
-                        //鎼滅储缃戝叧
-                        serchGatewayOneTime();
-                        Thread.sleep(300L);
-                    } catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-                //瓒呭嚭娆℃暟鍚庣Щ闄ょ洃鍚簨浠�
-                EventDispatcher.getInstance().remove(topicReply, eventListener);
-                if (callBack != null) {
-                    if (tempGatewayBeanList.size() == 0) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_GATEWAY_FAILURE_ERROR));
-                    } else {
-                        callBack.onSuccess(tempGatewayBeanList);
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * 鑾峰彇缃戠粶璁惧锛屽寘鎷綉鍏冲強姣背娉㈢瓑缃戠粶璁惧
-     *
-     * @param homeId                 浣忓畢Id
-     * @param spk                    缃戠粶璁惧spk
-     * @param needEmptyHomeIdGateway 鏄惁闇�瑕佺┖浣忓畢Id璁惧
-     * @param callBack               鍥炶皟
-     */
-    public void refreshGatewayByHomeIdAndSpk(String homeId, List<String> spk, boolean needEmptyHomeIdGateway, GatewayCallBack callBack) {
-        String topicReply = TopicConstant.GATEWAY_SEARCH_REPLY;
-        final List<GatewayBean> tempGatewayBeanList = new ArrayList<>();
-        EventListener eventListener = getSearchGatewayEvent(homeId, spk, needEmptyHomeIdGateway, tempGatewayBeanList);
-        EventDispatcher.getInstance().register(topicReply, eventListener);
-
-        ThreadToolUtils.getInstance().newFixedThreadPool(1).execute(new Runnable() {
-            @Override
-            public void run() {
-                int count = 5;
-                while (0 < count--) {
-                    try {
-                        //鎼滅储缃戝叧
-                        serchGatewayOneTime();
-                        Thread.sleep(300L);
-                    } catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-                //瓒呭嚭娆℃暟鍚庣Щ闄ょ洃鍚簨浠�
-                EventDispatcher.getInstance().remove(topicReply, eventListener);
-                if (callBack != null) {
-                    if (tempGatewayBeanList.size() == 0) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_GATEWAY_FAILURE_ERROR));
-                    } else {
-                        callBack.onSuccess(tempGatewayBeanList);
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * 鍒涙柊鎵�鏈夊湪绾跨殑缃戝叧锛屽寘鎷綋鍓嶄綇瀹呯殑鍙婃病鏈夌粦瀹氳繃鐨勭綉鍏�
-     *
-     * @param callBack 鍥炶皟
-     */
-    public void refreshGateway(GatewayCallBack callBack) {
-        refreshGateway(callBack,this.getGatewayTypeList());
-    }
-
-
-    public void refreshGateway(GatewayCallBack callBack, List<String> spks) {
-        String topicReply = TopicConstant.GATEWAY_SEARCH_REPLY;
-        final List<GatewayBean> tempGatewayBeanList = new ArrayList<>();
-        EventListener eventListener = getSearchGatewayEvent(spks, tempGatewayBeanList);
-        EventDispatcher.getInstance().register(topicReply, eventListener);
-        ThreadToolUtils.getInstance().newFixedThreadPool(1).execute(new Runnable() {
-            @Override
-            public void run() {
-                int count = 5;
-                while (0 < count--) {
-                    try {
-                        //鎼滅储缃戝叧
-                        serchGatewayOneTime();
-                        Thread.sleep(300L);
-                    } catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-
-
-                //瓒呭嚭娆℃暟鍚庣Щ闄ょ洃鍚簨浠�
-                EventDispatcher.getInstance().remove(topicReply, eventListener);
-                if (callBack != null) {
-                    if (tempGatewayBeanList.size() == 0) {
-                        callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_GATEWAY_FAILURE_ERROR));
-                    } else {
-
-                        callBack.onSuccess(tempGatewayBeanList);
-                    }
-                }
-            }
-        });
-    }
-
-//    /**
-//     * 鑾峰彇鎼滅储缃戝叧浜嬩欢
-//     *
-//     * @param homeId
-//     * @return
-//     */
-//    private EventListener getSearchGatewayEvent(String homeId, final List<GatewayBean> tempGatewayBeanList) {
-//       return getSearchGatewayEvent(homeId,true,tempGatewayBeanList);
-//    }
-
-
-//    /**
-//     * 鑾峰彇鎼滅储缃戝叧浜嬩欢
-//     *
-//     * @param homeId
-//     * @return
-//     */
-//    private EventListener getSearchGatewayEvent(String homeId, boolean needEmptyHomeIdGateway, final List<GatewayBean> tempGatewayBeanList) {
-//        //娉ㄥ唽鎼滅储缃戝叧鐩戝惉
-//        return new EventListener() {
-//            @Override
-//            public void onMessage(Object msg) {
-//                if (!(msg instanceof LinkResponse)) {
-//                    return;
-//                }
-//                GatewayBean gateway = getGatewayBeanByResponse((LinkResponse) msg);
-//                if (gateway == null) {
-//                    return;
-//                }
-//                gateway.setOnline(true);
-//                gateway.setIsLocalGateWay(true);//鏈湴鎼滅储鍒扮殑缃戝叧鏍囪瘑涓烘湰鍦扮綉鍏�
-//
-//                //鍙姞杞戒綇瀹呬竴鏍风殑鎴栬�呯綉鍏宠繕娌℃湁閰嶇疆杩囩殑锛屾垨鑰呬笉闇�瑕佷綇瀹卛d涓虹┖鐨勭綉鍏�
-//                if (homeId.equals(gateway.getHomeId()) || (needEmptyHomeIdGateway == true && TextUtils.isEmpty(gateway.getHomeId()))) {
-//                    //鏇存柊缂撳瓨缃戝叧锛屼細璁板綍鎵�鏈夋敹鍒扮殑缃戝叧锛屼互涓轰簡淇濆瓨缃戝叧鐨処P淇℃伅
-//                    updateGatewayList(gatewayBeanList, gateway);
-//                    //鏇存柊褰撳墠璇诲彇缃戝叧鐨勫垪琛紝杩欎釜鍒楄〃姣忔閮芥槸娓呯┖鍐嶈鍙�
-//                    updateGatewayList(tempGatewayBeanList, gateway);
-//                }
-//            }
-//        };
-//    }
-
-    /**
-     * 鑾峰彇鎼滅储缃戝叧浜嬩欢
-     *
-     * @return
-     */
-    private EventListener getSearchGatewayEvent(List<String> spk, boolean needEmptyHomeIdGateway, final List<GatewayBean> tempGatewayBeanList) {
-        //娉ㄥ唽鎼滅储缃戝叧鐩戝惉
-        return new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                if (!(msg instanceof LinkResponse)) {
-                    return;
-                }
-                GatewayBean gateway = getGatewayBeanByResponse((LinkResponse) msg);
-                if (gateway == null) {
-                    return;
-                }
-                gateway.setOnline(true);
-                gateway.setIsLocalGateWay(true);//鏈湴鎼滅储鍒扮殑缃戝叧鏍囪瘑涓烘湰鍦扮綉鍏�
-                if ("av.zk.aiks".equals(gateway.getGatewayType())) {
-                    /** 灏嗕富缃戝叧鐨刪omeid璁剧疆鍒板焹鍏嬫柉涓绘満
-                     */
-//                    gateway.setHomeId(homeId);
-                }
-                //鍙姞杞戒綇瀹呬竴鏍风殑鎴栬�呯綉鍏宠繕娌℃湁閰嶇疆杩囩殑锛屾垨鑰呬笉闇�瑕佷綇瀹卛d涓虹┖鐨勭綉鍏�
-                //鏇存柊缂撳瓨缃戝叧锛屼細璁板綍鎵�鏈夋敹鍒扮殑缃戝叧锛屼互涓轰簡淇濆瓨缃戝叧鐨処P淇℃伅
-                updateGatewayList(gatewayBeanList, gateway);
-                //闈炴悳绱㈢殑缃戝叧绫讳技杩斿洖
-                if (spk.contains(gateway.getGatewayType())) {
-                    //鏇存柊褰撳墠璇诲彇缃戝叧鐨勫垪琛紝杩欎釜鍒楄〃姣忔閮芥槸娓呯┖鍐嶈鍙�
-                    updateGatewayList(tempGatewayBeanList, gateway);
-                }
-            }
-        };
-    }
-
-    /**
-     * 鑾峰彇鎼滅储缃戝叧浜嬩欢
-     *
-     * @param homeId
-     * @return
-     */
-    private EventListener getSearchGatewayEvent(String homeId, List<String> spk, boolean needEmptyHomeIdGateway, final List<GatewayBean> tempGatewayBeanList) {
-        //娉ㄥ唽鎼滅储缃戝叧鐩戝惉
-        return new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                if (!(msg instanceof LinkResponse)) {
-                    return;
-                }
-                GatewayBean gateway = getGatewayBeanByResponse((LinkResponse) msg);
-                if (gateway == null) {
-                    return;
-                }
-                gateway.setOnline(true);
-                gateway.setIsLocalGateWay(true);//鏈湴鎼滅储鍒扮殑缃戝叧鏍囪瘑涓烘湰鍦扮綉鍏�
-                if ("av.zk.aiks".equals(gateway.getGatewayType())) {
-                    /** 灏嗕富缃戝叧鐨刪omeid璁剧疆鍒板焹鍏嬫柉涓绘満
-                     */
-//                    gateway.setHomeId(homeId);
-                }
-                //鍙姞杞戒綇瀹呬竴鏍风殑鎴栬�呯綉鍏宠繕娌℃湁閰嶇疆杩囩殑锛屾垨鑰呬笉闇�瑕佷綇瀹卛d涓虹┖鐨勭綉鍏�
-                if (homeId.equals(gateway.getHomeId()) || (needEmptyHomeIdGateway == true && TextUtils.isEmpty(gateway.getHomeId()))) {
-                    //鏇存柊缂撳瓨缃戝叧锛屼細璁板綍鎵�鏈夋敹鍒扮殑缃戝叧锛屼互涓轰簡淇濆瓨缃戝叧鐨処P淇℃伅
-                    updateGatewayList(gatewayBeanList, gateway);
-                    //闈炴悳绱㈢殑缃戝叧绫讳技杩斿洖
-                    if (spk.contains(gateway.getGatewayType())) {
-                        //鏇存柊褰撳墠璇诲彇缃戝叧鐨勫垪琛紝杩欎釜鍒楄〃姣忔閮芥槸娓呯┖鍐嶈鍙�
-                        updateGatewayList(tempGatewayBeanList, gateway);
-                    }
-                }
-            }
-        };
-    }
-
-    /**
-     * 鑾峰彇鎼滅储缃戝叧浜嬩欢 杩欒竟涓嶈繃婊omeId
-     *
-     * @return
-     */
-    private EventListener getSearchGatewayEvent(List<String> spk, final List<GatewayBean> tempGatewayBeanList) {
-        //娉ㄥ唽鎼滅储缃戝叧鐩戝惉
-        return new EventListener() {
-            @Override
-            public void onMessage(Object msg) {
-                if (!(msg instanceof LinkResponse)) {
-                    return;
-                }
-                GatewayBean gateway = getGatewayBeanByResponse((LinkResponse) msg);
-                if (gateway == null) {
-                    return;
-                }
-                gateway.setIsLocalGateWay(true);//鏈湴鎼滅储鍒扮殑缃戝叧鏍囪瘑涓烘湰鍦扮綉鍏�
-                //鍗囩骇缃戝叧椹卞姩  闇�瑕佹樉绀烘墍鏈夌綉鍏�
-                //鈿狅笍杩欒竟涓嶉渶瑕佹坊鍔犲埌gatewayBeanList   鍥犱负杩欎釜鏄綉鍏崇绾垮崌绾х殑鏃跺�欑殑鍔熻兘
-//                updateGatewayList(gatewayBeanList, gateway);
-                //鏇存柊褰撳墠璇诲彇缃戝叧鐨勫垪琛紝杩欎釜鍒楄〃姣忔閮芥槸娓呯┖鍐嶈鍙�
-                if (spk.contains(gateway.getGatewayType())) {
-                    //鏇存柊褰撳墠璇诲彇缃戝叧鐨勫垪琛紝杩欎釜鍒楄〃姣忔閮芥槸娓呯┖鍐嶈鍙�
-                    updateGatewayList(tempGatewayBeanList, gateway);
-                }
-            }
-        };
-    }
-
-    /**
-     * 鏇存柊鏀跺埌鐨勭綉鍏冲埌鍒楄〃
-     *
-     * @param gatewayBeans
-     * @param gateway      褰撳墠鏀跺埌鐨勭綉鍏�
-     */
-    synchronized void updateGatewayList(final List<GatewayBean> gatewayBeans, GatewayBean gateway) {
-
-        if (TextUtils.isEmpty(gateway.getOid()) || TextUtils.isEmpty(gateway.getDevice_mac())) {
-            LogUtils.e("缃戝叧Mac鎴栬�匫id涓虹┖锛屾棤鏁堢綉鍏�");
-            return;
-        }
-
-        boolean isFound = false;//鏄惁鍦ㄥ唴瀛樹腑鎵惧埌缃戝叧瀵硅薄
-        //鎵惧嚭mac涓�鏍风殑缃戝叧鏇存柊鏈�鏂版暟鎹�
-        for (int i = 0; i < gatewayBeans.size(); i++) {
-            GatewayBean tempGatewayBean = gatewayBeans.get(i);
-            if (tempGatewayBean.getDevice_mac().equals(gateway.getDevice_mac())) {
-                /**
-                 * 濡傛灉宸茬粡鏈塽id  闇�瑕佽缃�
-                 */
-                if(null!=tempGatewayBean.getUids()&&tempGatewayBean.getUids().size()>0){
-                    gateway.setUids(tempGatewayBean.getUids());
-                }
-                isFound = true;
-                gatewayBeans.set(i, gateway);
-                gateway.setAesKey(tempGatewayBean.getAesKey());//淇濈暀浜戠鑾峰彇鐨刟eskey
-
-//                break;
-            }
-        }
-
-        //娓呴櫎oid涓�鏍凤紝mac涓嶄竴鏍风殑缃戝叧缂撳瓨銆備竴鑸槸鍦ㄧ綉鍏虫浛鎹㈢殑鎯呭喌绌洪棿鍑虹幇
-        for (int i = 0; i < gatewayBeans.size(); i++) {
-            if (gatewayBeans.get(i).getDevice_mac().equals(gateway.getDevice_mac()) && !gatewayBeans.get(i).getOid().equals(gateway.getOid())) {
-                gatewayBeans.remove(i--);
-            }
-        }
-
-        //娌℃湁鎵惧埌灏辨坊鍔�
-        if (!isFound) {
-            gatewayBeans.add(gateway);
-        }
-    }
-
-
-    /**
-     * 鑾峰彇缃戝叧瀵硅薄
-     *
-     * @param linkResponse
-     * @return
-     */
-    private GatewayBean getGatewayBeanByResponse(LinkResponse linkResponse) {
-        String data = linkResponse.getData();
-        if (!TextUtils.isEmpty(data)) {
-            final BaseLocalResponse<GatewayBean> response = GsonConvert.getGson().fromJson(data, new TypeToken<BaseLocalResponse<GatewayBean>>() {
-            }.getType());
-            return response.getObjects();
-        }
-        return null;
-    }
-
-
-    /*
-     * 缁戝畾缃戝叧
-     * */
-    public void SetGatewayRemoteInfo(String master, String mac, String regionUrl, String ip, boolean isEncrypt, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE, mac);
-
-        JsonObject jObject = new JsonObject();
-        if (master.equals("true")) {
-            jObject.addProperty("server_addr", regionUrl);
-            jObject.addProperty("remote", "true");
-        } else {
-            jObject.addProperty("server_addr", "");
-            jObject.addProperty("remote", "false");
-        }
-
-        JsonObject sendJsonObj = new JsonObject();
-        sendJsonObj.add("objects", jObject);
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        String sendStr = sendJsonObj.toString();
-
-        LinkRequest message = new LinkRequest(topic, sendStr, isEncrypt);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                callBack.onSuccess("1");
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /*
-     * 缁戝畾缃戝叧
-     * */
-    public void SetGatewayRemoteInfo(String homeId, String master, String mac, String regionUrl, String ip, boolean isEncrypt, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE, mac);
-
-        JsonObject jObject = new JsonObject();
-        if (master.equals("true")) {
-            jObject.addProperty("server_addr", regionUrl);
-            jObject.addProperty("remote", "true");
-        } else {
-            jObject.addProperty("server_addr", "");
-            jObject.addProperty("remote", "false");
-        }
-        jObject.addProperty("homeId", homeId);
-        JsonObject sendJsonObj = new JsonObject();
-        sendJsonObj.add("objects", jObject);
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        String sendStr = sendJsonObj.toString();
-
-        LinkRequest message = new LinkRequest(topic, sendStr, isEncrypt);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                callBack.onSuccess("1");
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /*
-     * 缁戝畾缃戝叧
-     * 缂栬緫homeId缁欑綉鍏�
-     * */
-    public void bindGateway(String master, String mac, String homeId, String regionUrl, String ip, boolean isEncrypt, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE, mac);
-
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("homeId", homeId);
-//        if(master.equals("true")) {
-//            jObject.addProperty("server_addr", regionUrl);
-//            jObject.addProperty("remote", "true");
-//        }else {
-//            jObject.addProperty("server_addr", "");
-//            jObject.addProperty("remote", "false");
-//        }
-
-        JsonObject sendJsonObj = new JsonObject();
-        sendJsonObj.add("objects", jObject);
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        String sendStr = sendJsonObj.toString();
-
-        LinkRequest message = new LinkRequest(topic, sendStr, isEncrypt);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                callBack.onSuccess("1");
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /*
-     * 缁戝畾姣背娉�
-     * 缂栬緫homeId缁欐绫虫尝
-     * */
-    public void bindMillimeterGateway(String homeId, String regionUrl, String ip, String mac, String master, boolean isEncrypt, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_EDIT_LOCAL, mac);
-
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("master", master);
-
-        JsonObject sendJsonObj = new JsonObject();
-        sendJsonObj.add("objects", jObject);
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        String sendStr = sendJsonObj.toString();
-
-        LinkRequest message = new LinkRequest(topic, sendStr, isEncrypt);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if ("true".equals(master)) {
-                    String longStr1 = SPUtils.getString("longitude");
-                    String latStr1 = SPUtils.getString("latitude");
-                    if (!TextUtils.isEmpty(longStr1) && !TextUtils.isEmpty(latStr1)) {
-                        HDLLinkLocalSdk.getInstance().gatewayLocation(mac, longStr1, latStr1, isEncrypt, new HDLLinkTCallBack<String>() {
-                            @Override
-                            public void onSuccess(String data) {
-                            }
-
-                            @Override
-                            public void onError(HDLLinkException e) {
-                            }
-                        });
-                    }
-                }
-                if (callBack == null) return;
-                callBack.onSuccess("1");
-                SetGatewayRemoteInfo(homeId, master, mac, regionUrl, ip, isEncrypt, new HDLLinkCallBack() {
-                    @Override
-                    public void onSuccess(String msg) {
-
-                    }
-
-                    @Override
-                    public void onError(HDLLinkException e) {
-
-                    }
-                });
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /*
-     * 鍒濆鍖栫綉鍏�
-     * */
-    public void initializeGateway(String mac, String oid, String ip, boolean isEncrypt, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_INITIALIZE_REMOTE, oid);
-
-        JsonObject sendJsonObj = new JsonObject();
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("device_mac", mac);
-        sendJsonObj.add("objects", jObject);
-        String sendStr = sendJsonObj.toString();
-
-        LinkRequest message = new LinkRequest(topic, sendStr, isEncrypt);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                callBack.onSuccess("1");
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /*
-     * 璁剧疆涓讳粠缃戝叧鏍囪
-     * */
-    public void setMasterGateway(String regionUrl, String ip, String mac, String master, boolean isEncrypt, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_EDIT_LOCAL, mac);
-
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("master", master);
-
-        JsonObject sendJsonObj = new JsonObject();
-        sendJsonObj.add("objects", jObject);
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        String sendStr = sendJsonObj.toString();
-
-        LinkRequest message = new LinkRequest(topic, sendStr, isEncrypt);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if ("true".equals(master)) {
-                    String longStr1 = SPUtils.getString("longitude");
-                    String latStr1 = SPUtils.getString("latitude");
-                    if (!TextUtils.isEmpty(longStr1) && !TextUtils.isEmpty(latStr1)) {
-                        HDLLinkLocalSdk.getInstance().gatewayLocation(mac, longStr1, latStr1, isEncrypt, new HDLLinkTCallBack<String>() {
-                            @Override
-                            public void onSuccess(String data) {
-                            }
-
-                            @Override
-                            public void onError(HDLLinkException e) {
-                            }
-                        });
-                    }
-                }
-                if (callBack == null) return;
-                callBack.onSuccess("1");
-                SetGatewayRemoteInfo(master, mac, regionUrl, ip, isEncrypt, new HDLLinkCallBack() {
-                    @Override
-                    public void onSuccess(String msg) {
-
-                    }
-
-                    @Override
-                    public void onError(HDLLinkException e) {
-
-                    }
-                });
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /**
-     * 璁剧疆缃戝叧鍏ョ綉浠庢満妯″紡
-     */
-    public void AuthGateway(String ip, String mac, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_AUTH, mac);
-
-        JsonObject sendJsonObj = new JsonObject();
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("spk", "LINKDEVICE");
-        jObject.addProperty("time", "120");
-        sendJsonObj.add("objects", jObject);
-
-
-        String sendStr = sendJsonObj.toString();
-        LinkRequest message = new LinkRequest(topic, sendStr, false);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                callBack.onSuccess("");
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /**
-     * 璁剧疆缃戝叧鍏ョ綉浠庢満妯″紡
-     */
-    public void AuthGateway(String ip, String mac) {
-        String topic = String.format(TopicConstant.GATEWAY_AUTH, mac);
-
-        JsonObject sendJsonObj = new JsonObject();
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("spk", "LINKDEVICE");
-        jObject.addProperty("time", "120");
-        sendJsonObj.add("objects", jObject);
-
-
-        String sendStr = sendJsonObj.toString();
-        LinkRequest message = new LinkRequest(topic, sendStr, false);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-            }
-        }, true).send();
-    }
-
-    /**
-     * 璁剧疆缃戝叧鍏ョ綉浠庢満妯″紡  缃戝叧338鍙互浣跨敤
-     */
-    public void AuthGatewayNewVersion(String ip, String mac, String slaveMac, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_AUTH, mac);
-
-        JsonObject sendJsonObj = new JsonObject();
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("spk", "LINKDEVICE");
-        jObject.addProperty("mac", slaveMac);
-        jObject.addProperty("time", "120");
-        sendJsonObj.add("objects", jObject);
-
-
-        String sendStr = sendJsonObj.toString();
-        LinkRequest message = new LinkRequest(topic, sendStr, false);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                callBack.onSuccess("");
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-    /*
-     * 鑾峰彇缃戝叧淇℃伅
-     * */
-    public void getGatewayInfo(String ip, String mac, boolean isEncrypt, HDLLinkCallBack callBack) {
-        String topic = String.format(TopicConstant.GATEWAY_GET, mac);
-
-        JsonObject sendJsonObj = new JsonObject();
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        String sendStr = sendJsonObj.toString();
-
-        LinkRequest message = new LinkRequest(topic, sendStr, isEncrypt);
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                callBack.onSuccess("1");
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-            }
-        }, true).send();
-    }
-
-
-    /**
-     * 鍙戦�佹暟鎹埌Link缃戝叧
-     *
-     * @param ip        缃戝叧IP
-     * @param mac       缃戝叧mac
-     * @param isEncrypt 鏄惁鍔犲瘑
-     * @param topic     璇锋眰涓婚
-     * @param jObject   璐熻浇鏁版嵁<娌℃湁濉玭ull></>
-     * @param sendPath  鍙戦�佽矾寰�<绫诲悕+鏂规硶鍚�>class->methodName</>
-     */
-    public void sendDataToLinkGateway(String ip, String mac, boolean isEncrypt,
-                                      String topic, Object jObject, String sendPath, HDLLinkCallBack callBack) {
-        String topicSend = topic.replace("%s", mac);
-        //缁勮闇�瑕佸彂閫佺殑鏁版嵁
-        String sendStr = createSendData(jObject);
-//        LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鍙戦�乗r\n" + topicSend + "\r\n" + sendStr);
-        LinkRequest message = new LinkRequest(topicSend, sendStr, isEncrypt);
-        GatewayBean gatewayBean = this.getLocalGateway(mac);
-        if (gatewayBean != null) {
-            message.setCloudTopic(topic.replace("%s", gatewayBean.getGatewayId()));
-        }
-        new HDLConnectHelper(ip, message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                try {
-                    JSONObject jsonObject = new JSONObject(new Gson().toJson(msg));
-                    if (jsonObject.has("data")) {
-                        callBack.onSuccess(jsonObject.getString("data"));
-                    }
-                } catch (Exception e) {
-                    callBack.onSuccess(e.getMessage());
-                }
-//                LogUtils.i("sendDataToLinkGateway->"+sendPath+"->鏈湴鎺ユ敹鏁版嵁\r\n"+msg.toString());
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-//                LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鎺ユ敹鏁版嵁->澶辫触(-200)");
-            }
-        }, true, mac).send();
-    }
-
-    /**
-     * 鍙戦�佹暟鎹埌Link缃戝叧
-     *
-     * @param mac       缃戝叧mac
-     * @param isEncrypt 鏄惁鍔犲瘑
-     * @param topic     璇锋眰涓婚
-     * @param jObject   璐熻浇鏁版嵁<娌℃湁濉玭ull></>
-     * @param sendPath  鍙戦�佽矾寰�<绫诲悕+鏂规硶鍚�>class->methodName</>
-     */
-    public void sendDataToLinkGateway(String mac, boolean isEncrypt,
-                                      String topic, Object jObject, String sendPath, HDLLinkCallBack callBack) {
-        GatewayBean gatewayBean = this.getLocalGateway(mac);
-        if (gatewayBean == null) {
-            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            return;
-        }
-        String topicSend = topic.replace("%s", mac);
-        //缁勮闇�瑕佸彂閫佺殑鏁版嵁
-        String sendStr = createSendData(jObject);
-//        LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鍙戦�乗r\n" + topicSend + "\r\n" + sendStr);
-        LinkRequest message = new LinkRequest(topicSend, sendStr, isEncrypt);
-        message.setCloudTopic(topic.replace("%s", gatewayBean.getGatewayId()));
-        new HDLConnectHelper(gatewayBean.getIp_address(), message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                try {
-                    JSONObject jsonObject = new JSONObject(new Gson().toJson(msg));
-                    if (jsonObject.has("data")) {
-                        callBack.onSuccess(jsonObject.getString("data"));
-                    }
-                } catch (Exception e) {
-                    callBack.onSuccess(e.getMessage());
-                }
-//                LogUtils.i("sendDataToLinkGateway->"+sendPath+"->鏈湴鎺ユ敹鏁版嵁\r\n"+msg.toString());
-            }
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-//                LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鎺ユ敹鏁版嵁->澶辫触(-200)");
-            }
-        }, true, mac).send();
-    }
-
-
-    /**
-     * 鍙戦�佹暟鎹埌Link缃戝叧
-     *
-     * @param mac      缃戝叧mac
-     * @param topic    璇锋眰涓婚
-     * @param jObject  璐熻浇鏁版嵁<娌℃湁濉玭ull></>
-     * @param sendPath 鍙戦�佽矾寰�<绫诲悕+鏂规硶鍚�>class->methodName</>
-     */
-    public void sendDataToLinkGateway(String mac,
-                                      String topic, Object jObject, String sendPath, HDLLinkCallBack callBack) {
-        GatewayBean gatewayBean = this.getLocalGateway(mac);
-        if (gatewayBean == null) {
-            callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_NOT_EXIST));
-            return;
-        }
-        String topicSend = topic.replace("%s", gatewayBean.getOid());
-        //缁勮闇�瑕佸彂閫佺殑鏁版嵁
-        String sendStr = createSendData(jObject);
-//        LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鍙戦�乗r\n" + topicSend + "\r\n" + sendStr);
-        LinkRequest message = new LinkRequest(topicSend, sendStr, gatewayBean.getIsLocalEncrypt());
-        message.setCloudTopic(topic.replace("%s", gatewayBean.getGatewayId()));
-        new HDLConnectHelper(gatewayBean.getIp_address(), message, new HDLConnectHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                try {
-                    JSONObject jsonObject = new JSONObject(new Gson().toJson(msg));
-                    if (jsonObject.has("data")) {
-                        callBack.onSuccess(jsonObject.getString("data"));
-                    }
-                } catch (Exception e) {
-                    callBack.onSuccess(e.getMessage());
-                }
-//                LogUtils.i("sendDataToLinkGateway->"+sendPath+"->鏈湴鎺ユ敹鏁版嵁\r\n"+msg.toString());
-            }
-
-
-            @Override
-            public void onFailure(HDLLinkCode hdlLinkCode) {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode));
-//                LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鎺ユ敹鏁版嵁->澶辫触(-200)");
-            }
-        }, true, mac).send();
-    }
-
-
-    /**
-     * 缁勮闇�瑕佸彂閫佺殑鏁版嵁
-     *
-     * @param jObject 璐熻浇鏁版嵁<娌℃湁濉玭ull>
-     * @return 杩斿洖json瀛楃涓�
-     */
-    private String createSendData(Object jObject) {
-        //topic = String.format(TopicConstant.GATEWAY_EDIT_LOCAL, mac);
-        JsonObject sendJsonObj = new JsonObject();
-        if (jObject != null) {
-            if (jObject instanceof JsonObject) {
-                sendJsonObj.add("objects", (JsonObject) jObject);
-            } else if (jObject instanceof JsonArray) {
-                sendJsonObj.add("objects", (JsonArray) jObject);
-            } else if (jObject instanceof JSONArray) {
-                JsonArray array = GsonConvert.getGson().fromJson(jObject.toString(), new TypeToken<JsonArray>() {
-                }.getType());
-                sendJsonObj.add("objects", array);
-            }
-        }
-        String time = String.valueOf(System.currentTimeMillis());
-        sendJsonObj.addProperty("time_stamp", time);
-        sendJsonObj.addProperty("id", IdUtils.getUUId());
-        return sendJsonObj.toString();
-    }
-
-    /**
-     * 鏀寔缃戝叧绫诲瀷
-     *
-     * @return 绫诲瀷鍒楄〃
-     */
-    private List<String> getGatewayTypeList() {
-        List<String> typeList = new ArrayList<>();
-        typeList.add("AGATEWAY");//缃戝叧
-        typeList.add("av.zk.aiks");//鍩冨厠鏂奖闊充富鏈�
-        typeList.add("sensor.mmv_sleep");//姣背娉pk
-        typeList.add("sensor.mmv_pose");//姣背娉pk
-        typeList.add("sensor.hdl_mmw_pose");//Wi-Fi姣背娉T鐗堟湰spk
-        return typeList;
-    }
-
-    private List<String> getWifiMillimeterZTTypeList() {
-        List<String> typeList = new ArrayList<>();
-        typeList.add("sensor.hdl_mmw_pose");//Wi-Fi姣背娉T鐗堟湰spk
-        return typeList;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/bean/GatewaySearchBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/bean/GatewaySearchBean.java
deleted file mode 100644
index f0a02e3..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/bean/GatewaySearchBean.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.hdl.sdk.link.gateway.bean;
-
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 12/16/21.
- */
-public class GatewaySearchBean implements Serializable {
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/type/GatewayMasterType.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/type/GatewayMasterType.java
deleted file mode 100644
index 1ad5fa2..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/type/GatewayMasterType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hdl.sdk.link.gateway.type;
-
-import androidx.annotation.StringDef;
-
-import java.lang.annotation.Retention;
-
-import static java.lang.annotation.RetentionPolicy.SOURCE;
-
-/**
- * Created by jlchen on 12/30/21.
- */
-@Retention(SOURCE)
-@StringDef({GatewayMasterType.MasterTrue,GatewayMasterType.MasterFalse,GatewayMasterType.NO_CONFIG})
-public @interface GatewayMasterType {
-    //涓荤綉鍏�
-    String MasterTrue = "true";
-    //浠庣綉鍏�
-    String MasterFalse = "false";
-    //鏈厤缃�
-    String NO_CONFIG = "no_config";
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketOptions.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketOptions.java
deleted file mode 100644
index d92529a..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketOptions.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.hdl.sdk.link.socket;
-
-
-import com.hdl.sdk.link.socket.codec.IHandleMessage;
-import com.hdl.sdk.link.socket.listener.ConnectStatusListener;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by Tong on 2021/9/22.
- * socket閰嶇疆
- */
-public class SocketOptions {
-
-    //鍙戦�佺洰鏍囧湴鍧�IP
-    private String ip="";
-    private int port;
-
-    //澶勭悊鏁版嵁
-    private IHandleMessage handleMessage;
-
-    //鐩戝惉鐘舵��
-    private List<ConnectStatusListener> mConnectStatusListener;
-
-
-    public String getIp() {
-        return ip;
-    }
-
-    public int getPort() {
-        return port;
-    }
-
-    public void setPort(int port) {
-        this.port = port;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public IHandleMessage getHandleMessage() {
-        return handleMessage;
-    }
-
-    public void setHandleMessage(IHandleMessage handleMessage) {
-        this.handleMessage = handleMessage;
-    }
-
-    public void clearConnectStatusListener() {
-        if (mConnectStatusListener != null && !mConnectStatusListener.isEmpty()) {
-            mConnectStatusListener.clear();
-        }
-    }
-
-    public void addConnectStatusListener(ConnectStatusListener connectStatusListener) {
-        if (mConnectStatusListener == null) {
-            mConnectStatusListener = new ArrayList<>();
-        }
-        mConnectStatusListener.add(connectStatusListener);
-    }
-
-    public void removeConnectStatusListener(ConnectStatusListener connectStatusListener) {
-        if (mConnectStatusListener != null) {
-            mConnectStatusListener.remove(connectStatusListener);
-        }
-    }
-
-    public List<ConnectStatusListener> getConnectStatusListener() {
-        return mConnectStatusListener;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketPool.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketPool.java
deleted file mode 100644
index 79e11f6..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketPool.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.hdl.sdk.link.socket;
-
-import com.hdl.sdk.link.socket.client.IClient;
-
-import java.net.DatagramSocket;
-import java.net.InetSocketAddress;
-import java.net.SocketException;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Created by Tong on 2021/10/19.
- * 璁″垝鍙傝�僩eneric-pool銆丆ommons Pool杩涜瀹屽杽
- */
-public class SocketPool {
-
-    private final ConcurrentHashMap<String, IClient> mPool;
-    private final ConcurrentHashMap<String, DatagramSocket> mUdpClientPool;
-
-    private SocketPool() {
-        mPool = new ConcurrentHashMap<>();
-        mUdpClientPool = new ConcurrentHashMap<>();
-    }
-
-
-    private static class SingletonInstance {
-        private static final SocketPool INSTANCE = new SocketPool();
-    }
-
-    public static SocketPool getInstance() {
-        return SingletonInstance.INSTANCE;
-    }
-
-    public void clear() {
-        mPool.clear();
-        mUdpClientPool.clear();
-    }
-
-    public synchronized DatagramSocket getUdpSocket(InetSocketAddress address) throws SocketException {
-        DatagramSocket socket = null;
-        final String key = address.getPort() + "";
-        if (mUdpClientPool.containsKey(key)) {
-            socket = mUdpClientPool.get(key);
-            if (socket != null && socket.isClosed()) {
-                mUdpClientPool.remove(key);
-                socket = null;
-            }
-        }
-        if (socket == null) {
-            socket = new DatagramSocket(address);
-            mUdpClientPool.put(key, socket);
-        }
-        return socket;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketRequest.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketRequest.java
deleted file mode 100644
index d710ad6..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketRequest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.hdl.sdk.link.socket;
-
-import java.util.UUID;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-public class SocketRequest {
-
-    private String action;
-
-    private byte[] data;
-
-    public SocketRequest(byte[] data) {
-        this.data = data;
-        action = UUID.randomUUID().toString();
-    }
-
-    public String getAction() {
-        return action;
-    }
-
-    public void setAction(String action) {
-        this.action = action;
-    }
-
-    public byte[] getData() {
-        return data;
-    }
-
-    public void setData(byte[] data) {
-        this.data = data;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java
deleted file mode 100644
index d721eea..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/TcpSocketBoot.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package com.hdl.sdk.link.socket;
-
-import android.text.TextUtils;
-
-import androidx.collection.ArrayMap;
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.socket.client.IClient;
-import com.hdl.sdk.link.socket.client.IHeartbeat;
-import com.hdl.sdk.link.socket.listener.SendListener;
-import com.hdl.sdk.link.socket.annotation.ConnectStatus;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingDeque;
-
-/**
- * Created by Tong on 2021/9/26.
- * Tcp/Udp 鍚姩鍣�
- */
-public class TcpSocketBoot {
-
-    private ExecutorService connectThread;
-    private ExecutorService sendThread;
-    private ExecutorService receiveThread;
-    private ExecutorService heartbeatThread;
-
-    private final IClient client;
-    private IHeartbeat iHeartbeat;
-    public void SetHeartbeat(IHeartbeat iHeartbeat){
-        this.iHeartbeat=iHeartbeat;
-    }
-    /**
-     * 褰撳墠鎺ユ敹鍒版暟鎹殑鏃堕棿
-     */
-    private  long time=System.currentTimeMillis();
-    /**
-     * tcp鏄惁宸茬粡杩炴帴
-     */
-    private boolean connected=false;
-
-    public IClient getClient() {
-        return client;
-    }
-
-    public boolean isConnected() {
-        return connected;
-    }
-
-    private final BlockingQueue<SocketRequest> mMessageQueue = new LinkedBlockingDeque<>();
-
-    private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>();
-
-    public  TcpSocketBoot(IClient client) {
-        TCP_SOCKET_BOOT_LIST.add(this);
-        this.client = client;
-        initConnectThread();
-        initReceiveThread();
-        initSendThread();
-        initHeartbeat();
-    }
-
-    /**
-     * 璁板綍鎵�鏈塖ocketBoot
-     */
-    final static List<TcpSocketBoot> TCP_SOCKET_BOOT_LIST = new ArrayList();
-
-    /**
-     * 鏍规嵁IP鍦板潃鍙婄鍙h幏鍙栧綋鍓峴ocketBoot
-     * @param ipAddress
-     * @param port
-     * @return
-     */
-    public static TcpSocketBoot getByEndPoint(String ipAddress, int port){
-        if(ipAddress==null){
-            return  null;
-        }
-        for(TcpSocketBoot tcpSocketBoot : TCP_SOCKET_BOOT_LIST){
-            if(ipAddress.equals(tcpSocketBoot.getClient().getOptions().getIp())&& tcpSocketBoot.getClient().getOptions().getPort()==port)
-            {
-                return tcpSocketBoot;
-            }
-        }
-        return  null;
-    }
-
-    /**
-     * 杩炴帴tcp锛屽唴閮ㄧ淮鎶ゆ帀锛屽彲浠ヤ笉鐢ㄥ紑鏀惧閮紝鏍规嵁杩欎釜涓氬姟鎴戠壒鎬у鐞嗗ソ
-     */
-    private synchronized void connect() {
-        try {
-            LogUtils.i("TCP杩炴帴锛�"+this.getClient().getOptions().getIp());
-            client.onConnectStatus(ConnectStatus.CONNECTING);
-//            Thread.sleep(700);
-            client.connect();
-            LogUtils.i("TCP杩炴帴鎴愬姛锛�"+this.getClient().getOptions().getIp());
-            connected=true;
-            client.onConnectStatus(ConnectStatus.CONNECTED);
-        }catch(Exception e) {
-            LogUtils.e(e.getMessage());
-        }
-    }
-
-
-    /**
-     * 鍒濆鍖栧彂閫佺嚎绋嬶紝鍙渶瑕佸垵濮嬪寲涓�娆�
-     */
-    private void initSendThread() {
-        if (sendThread == null) {
-            sendThread = ThreadToolUtils.getInstance().newFixedThreadPool(1);
-            sendThread.execute(new Runnable() {
-                @Override
-                public void run() {
-                    while (true) {
-                        try {
-                            if(connected==false){
-                                Thread.sleep(100);
-                                continue;
-                            }
-                            SocketRequest socketRequest = mMessageQueue.take();
-                            final String action = socketRequest.getAction();
-                            try {
-                                client.sendMsg(socketRequest.getData());
-                                if (!TextUtils.isEmpty(action)) {
-                                    SendListener sendListener = sendMap.get(action);
-                                    if (sendListener != null) {
-                                        sendListener.onSucceed();
-                                    }
-                                }
-                            } catch (Exception e) {
-                                connected = false;
-                                LogUtils.e("鍙戦�佸け璐�:" + e.getMessage());
-                                if (!TextUtils.isEmpty(action)) {
-                                    SendListener sendListener = sendMap.get(action);
-                                    if (sendListener != null) {
-                                        sendListener.onError();
-                                    }
-                                }
-                            }
-                        } catch (Exception e) {
-                            LogUtils.e("鍙戦�佸け璐�1:" + e.getMessage());
-                        }
-                    }
-                }
-            });
-        }
-    }
-
-    /**
-     * 鍒濆鍖栨帴鏀剁嚎绋嬶紝鍙渶瑕佸垵濮嬪寲涓�娆�
-     */
-    public void initReceiveThread() {
-        if (receiveThread == null) {
-            receiveThread = ThreadToolUtils.getInstance().newFixedThreadPool(1);
-            receiveThread.execute(new Runnable() {
-                @Override
-                public void run() {
-                    while (true) {
-                        try {
-                            if (connected) {
-                                //璇诲彇鏁版嵁
-                                client.onHandleResponse();
-                                time= System.currentTimeMillis();
-                            } else {
-                                try {
-                                    Thread.sleep(1000);
-                                } catch (Exception ee) {
-
-                                }
-                            }
-                        } catch (Exception e) {
-                            connected = false;
-                            LogUtils.e("鎺ユ敹鏁版嵁绾跨▼寮傚父" + e.getMessage());
-                        }
-                    }
-                }
-            });
-        }
-    }
-
-    /**
-     * 鍒濆鍖栭噸鏂拌繛鎺ョ嚎绋�
-     */
-    private void initConnectThread() {
-        if (connectThread == null) {
-            connectThread = ThreadToolUtils.getInstance().newFixedThreadPool(1);
-            //涓�瀹氭椂闂存娴嬩竴娆¤繛鎺ユ儏鍐碉紝娌℃湁杩炴帴灏辨墽琛岃繛鎺ワ紝杩炴帴缁熶竴鐢辫繖閲岀淮鎶�
-            connectThread.execute(new Runnable() {
-                @Override
-                public void run() {
-                    while (true) {
-                        try {
-                            if (!connected) {
-                                reconect();
-                            }
-                            Thread.sleep(5*1000);
-                        } catch (Exception e) {
-
-                            LogUtils.e("瀹氭椂杩炴帴绾跨▼寮傚父:" + e.getMessage());
-                        }
-                    }
-                }
-            });
-        }
-    }
-
-    /**
-     * 鍒濆鍖栭噸鏂板績璺崇嚎绋�
-     */
-    private void initHeartbeat() {
-        if (heartbeatThread == null) {
-            heartbeatThread = ThreadToolUtils.getInstance().newFixedThreadPool(1);
-            heartbeatThread.execute(new Runnable() {
-                @Override
-                public void run() {
-                    while (true) {
-                        try {
-                            //5绉�
-                            if (connected && 5 * 1000 < (System.currentTimeMillis() - time)) {
-                                time = System.currentTimeMillis();
-                                //蹇冭烦妫�娴�
-                                if (iHeartbeat != null)
-                                    iHeartbeat.heartbeat();
-                            }
-                            Thread.sleep(10);
-                        } catch (Exception e) {
-                            LogUtils.e("瀹氭椂蹇冭烦妫�娴嬬綉鍏冲紓甯革細" + e.getMessage());
-                        }
-                    }
-                }
-            });
-        }
-    }
-    /**
-     * 閲嶆柊杩炴帴
-     */
-    private void reconect() {
-        disconnect();
-        connect();
-    }
-
-    /**
-     * 鍙戦�佹棤闇�鍥炶皟
-     * @param msg 鍙戦�佺殑鏁版嵁
-     */
-    public void sendMsg(byte[] msg) {
-        sendMsg(msg, null);
-    }
-
-
-    /**
-     * @param listener 涓�鑸儏鍐垫棤闇�鐩戝惉
-     */
-    public void sendMsg(byte[] msg, SendListener listener) {
-        try {
-            SocketRequest request = new SocketRequest(msg);
-            if (listener != null && !TextUtils.isEmpty(request.getAction())) {
-                sendMap.put(request.getAction(), listener);
-            }
-            mMessageQueue.put(request);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 鍏抽棴杩炴帴
-     */
-    private synchronized void disconnect() {
-        try {
-            client.disconnect();
-            //鏂紑杩炴帴
-            client.onConnectStatus(ConnectStatus.DISCONNECT);
-        } catch (Exception e) {
-
-        }
-    }
-
-
-//    /**
-//     * 鏂紑鍏ㄩ儴鐨凩ink缃戝叧杩炴帴
-//     */
-//    public static void stopAllConnectLinkGateway() {
-//        for (TcpSocketBoot data : TCP_SOCKET_BOOT_LIST) {
-//            //鏂紑鎸囧畾鐨刲ink缃戝叧杩炴帴
-//            stopConnectLinkGateway(data);
-//        }
-//
-//    }
-//
-//    /**
-//     * 鏂紑鎸囧畾鐨刲ink缃戝叧杩炴帴
-//     *
-//     * @param tcpSocketBoot tcp瀵硅薄
-//     */
-//    public static void stopConnectLinkGateway(TcpSocketBoot tcpSocketBoot) {
-//        synchronized (TCP_SOCKET_BOOT_LIST) {
-//            try {
-//                TCP_SOCKET_BOOT_LIST.remove(tcpSocketBoot);
-//                tcpSocketBoot.client.disconnect();
-//            } catch (Exception ignored) {
-//            }
-//        }
-//    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/annotation/ConnectStatus.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/annotation/ConnectStatus.java
deleted file mode 100644
index 9ecb29c..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/annotation/ConnectStatus.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.hdl.sdk.link.socket.annotation;
-
-import androidx.annotation.IntDef;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-@Target({ElementType.TYPE_PARAMETER, ElementType.PARAMETER})
-@IntDef({ConnectStatus.CONNECTING,
-        ConnectStatus.CONNECTED,
-        ConnectStatus.DISCONNECT})
-public @interface ConnectStatus {
-
-    /**
-     * 杩炴帴涓�
-     */
-    int CONNECTING = 0;
-
-    /**
-     * 杩炴帴鎴愬姛
-     */
-    int CONNECTED = 1;
-
-    /**
-     * 杩炴帴鍏抽棴
-     */
-    int DISCONNECT = 2;
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/bean/Packet.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/bean/Packet.java
deleted file mode 100644
index e2558a8..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/bean/Packet.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.hdl.sdk.link.socket.bean;
-
-import java.net.Socket;
-import java.net.SocketOption;
-
-/**
- * Created by hxb on 2021/12/23.
- */
-public class Packet {
-    private byte []bytes;
-    private Socket socket;
-
-    public  Packet( byte []bytes, Socket socket){
-        this.bytes=bytes;
-        this.socket=socket;
-    }
-    public Packet(byte []bytes){
-       this(bytes,null);
-    }
-
-
-    /**
-     * 鎺ユ敹鎴栬�呭彂閫佺殑鏁版嵁
-     * @return
-     */
-    public byte[] getBytes() {
-        return bytes;
-    }
-
-    /**
-     * 鎺ユ敹鎴栬�呭彂閫佺殑鏁版嵁
-     * @param bytes
-     */
-    public void setBytes(byte[] bytes) {
-        this.bytes = bytes;
-    }
-
-    public Socket getSocket() {
-        return socket;
-    }
-
-    public void setSocket(Socket socket) {
-        this.socket = socket;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IClient.java
deleted file mode 100644
index 71293d7..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IClient.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.hdl.sdk.link.socket.client;
-
-
-import com.hdl.sdk.link.socket.SocketOptions;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-public interface IClient {
-
-    void connect() throws Exception;
-
-    void disconnect();
-
-
-    SocketOptions getOptions();
-
-    /**
-     * 鐩戝惉鏁版嵁
-     */
-    void onHandleResponse() throws Exception;
-
-    /**
-     * 鍙戦�佹秷鎭�
-     */
-    void sendMsg(byte[] msg) throws Exception;
-
-    /**
-     * 杩炴帴鐘舵��
-     */
-    void onConnectStatus(int status);
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IHeartbeat.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IHeartbeat.java
deleted file mode 100644
index 9a4e7a4..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IHeartbeat.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.hdl.sdk.link.socket.client;
-
-/**
- * Created by hxb on 2022/2/16.
- */
-public interface IHeartbeat {
-    void heartbeat();
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IUdpClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IUdpClient.java
deleted file mode 100644
index 7db851e..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/IUdpClient.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.hdl.sdk.link.socket.client;
-
-import com.hdl.sdk.link.socket.udp.UdpSocketOptions;
-
-/**
- * Created by hxb on 2021/12/12.
- */
-public interface IUdpClient {
-
-    /**
-     * 缁戝畾绔彛
-     */
-    void bind() throws Exception;
-
-    /**
-     * 鍏抽棴褰撳墠杩炴帴
-     * @return
-     */
-    boolean close();
-
-
-    UdpSocketOptions getOptions();
-
-    /**
-     * 鐩戝惉鏁版嵁
-     */
-    void onHandleResponse() throws Exception;
-
-    /**
-     * 鍙戦�佹暟鎹�
-     * @param ipAddress 鐩爣IP
-     * @param port 绔彛
-     * @param msg 鍙戦�佹暟鎹�
-     * @throws Exception
-     */
-    void sendMsg(String ipAddress,int port, byte[] msg) throws Exception;
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/TcpClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/TcpClient.java
deleted file mode 100644
index d5e6f38..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/TcpClient.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package com.hdl.sdk.link.socket.client;
-
-
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.core.protocol.LinkMessageDecoder;
-import com.hdl.sdk.link.socket.TcpSocketBoot;
-import com.hdl.sdk.link.socket.SocketOptions;
-import com.hdl.sdk.link.socket.annotation.ConnectStatus;
-import com.hdl.sdk.link.socket.bean.Packet;
-import com.hdl.sdk.link.socket.codec.IHandleMessage;
-import com.hdl.sdk.link.socket.listener.ConnectStatusListener;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.util.List;
-
-
-/**
- * Created by Tong on 2021/9/15.
- */
-public final class TcpClient implements IClient {
-
-
-    private SocketOptions socketOptions;
-
-    private final String ip;
-    private final int port;
-
-    private Socket mSocket;
-
-    private byte[] readBuffer = new byte[4*1024];
-
-    private TcpClient(String ip, int port, SocketOptions socketOptions) {
-        this.socketOptions = socketOptions;
-        this.ip = ip;
-        this.port = port;
-        socketOptions.setIp(ip);
-        socketOptions.setPort(port);
-    }
-
-    public static TcpSocketBoot init(String ip, int port, SocketOptions options) {
-         return new TcpSocketBoot(new TcpClient(ip, port, options));
-    }
-
-
-
-
-    @Override
-    public void connect() throws Exception {
-        mSocket = getSocket();
-        mSocket.connect(new InetSocketAddress(ip, port), 3 * 1000);
-        mSocket.setTcpNoDelay(true);
-        mSocket.setReuseAddress(true);
-//        mSocket.setKeepAlive(true);
-//        mSocket.setSoTimeout(12 * 1000);
-    }
-
-
-
-
-    @Override
-    public void disconnect() {
-        if (mSocket != null) {
-            try {
-                mSocket.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    @Override
-    public synchronized SocketOptions getOptions() {
-        if (socketOptions == null) {
-            socketOptions = new SocketOptions();
-        }
-        return socketOptions;
-    }
-
-    @Override
-    public void onHandleResponse() throws Exception {
-        final InputStream stream = getInputStream();
-        if (stream != null && getOptions() != null) {
-            int len = 0;
-
-            if ((len = stream.read(readBuffer)) == -1) {
-                throw new Exception("缃戝叧鏂紑");
-            }
-
-            byte[] bytes = new byte[len];
-            System.arraycopy(readBuffer, 0, bytes, 0, len);
-            socketOptions.getHandleMessage().read(new Packet(bytes, mSocket));
-        }
-    }
-
-    @Override
-    public synchronized void  sendMsg(byte[] msg) throws Exception {
-        final OutputStream outputStream = getOutStream();
-        if (outputStream != null && getOptions() != null) {
-            try {
-//                IHandleMessage handleMessage = getOptions().getHandleMessage();
-//                handleMessage.write(handleMessage.write(msg));
-                getOutStream().write(msg);
-
-            }finally {
-                outputStream.flush();
-            }
-        }
-    }
-
-
-    /**
-     * 澶勭悊杩炴帴鐘舵��
-     */
-    public void onConnectStatus(int status) {
-        ThreadToolUtils.getInstance().runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                final List<ConnectStatusListener> list = getOptions().getConnectStatusListener();
-                if (list != null && !list.isEmpty()) {
-                    for (ConnectStatusListener listener : list) {
-                        switch (status) {
-                            case ConnectStatus
-                                    .CONNECTING:
-                                listener.onConnecting();
-                                break;
-                            case ConnectStatus
-                                    .CONNECTED:
-                                listener.onConnected();
-                                break;
-                            case ConnectStatus
-                                    .DISCONNECT:
-                                listener.onConnectFailed();
-                                break;
-                        }
-                    }
-                }
-            }
-        });
-    }
-
-
-    private synchronized Socket getSocket() {
-        return new Socket();
-    }
-
-    private InputStream getInputStream() {
-        if (mSocket != null && mSocket.isConnected() && !mSocket.isClosed()) {
-            try {
-                return mSocket.getInputStream();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-        return null;
-    }
-
-
-    private OutputStream getOutStream() {
-        if (mSocket != null && mSocket.isConnected() && !mSocket.isClosed()) {
-            try {
-                return mSocket.getOutputStream();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-        return null;
-    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/UdpClient.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/UdpClient.java
deleted file mode 100644
index 2e94009..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/client/UdpClient.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.hdl.sdk.link.socket.client;
-
-
-import android.net.wifi.WifiManager;
-import android.text.TextUtils;
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.core.protocol.LinkMessageDecoder;
-import com.hdl.sdk.link.socket.SocketPool;
-import com.hdl.sdk.link.socket.bean.Packet;
-import com.hdl.sdk.link.socket.udp.UdpSocketBoot;
-import com.hdl.sdk.link.socket.udp.UdpSocketOptions;
-import com.hdl.sdk.link.socket.codec.IHandleMessage;
-
-import java.io.IOException;
-import java.net.DatagramPacket;
-import java.net.DatagramSocket;
-import java.net.Inet4Address;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-
-
-/**
- * Created by hxb on 2021/12/12.
- */
-public class UdpClient implements IUdpClient {
-
-    /**
-     * 褰撳墠socket
-     */
-    private  DatagramSocket mSocket;
-
-    /**
-     * 鎺ユ敹鏁版嵁鍖�
-     */
-    private DatagramPacket receivePacket;
-
-    /**
-     * 缂撳啿鍖哄ぇ灏�
-     */
-    private final int BUFFER = 2 * 1024;
-
-    /**
-     * 鏈湴鐩戝惉IP鍦板潃
-     */
-    private String ipAddress;
-    /**
-     * 鏈湴鐩戝惉绔彛
-     */
-    private int port;
-
-    /**
-     * socket閰嶇疆淇℃伅
-     */
-    private UdpSocketOptions socketOptions;
-
-    WifiManager.MulticastLock lock;
-
-    /**
-     * 鍒濆鍖栧弬鏁�
-     * @param ipAddress 鏈湴鐩戝惉绔彛
-     * @param port 鏈湴鐩戝惉绔彛
-     * @param socketOptions
-     */
-    public UdpClient(String ipAddress, int port, UdpSocketOptions socketOptions) {
-        this.ipAddress = ipAddress;
-        this.port = port;
-        this.socketOptions = socketOptions;
-        byte[] receiveByte = new byte[BUFFER];
-        receivePacket = new DatagramPacket(receiveByte, receiveByte.length);
-        this.lock= socketOptions.getWifiManager().createMulticastLock("UDPwifi");
-    }
-
-    /**
-     * 鍒濆鍖栧弬鏁�
-     * @param ipAddress 鏈湴鐩戝惉IP鍦板潃
-     * @param port 鏈湴鐩戝惉绔彛
-     * @param options
-     * @return
-     */
-    public static UdpSocketBoot init(String ipAddress, int port, UdpSocketOptions options) {
-        return new UdpSocketBoot(new UdpClient(ipAddress, port, options));
-    }
-
-    /**
-     * 鍒濆鍖栧弬鏁�
-     * @param port 鏈湴鐩戝惉绔彛
-     * @param options
-     * @return
-     */
-    public static UdpSocketBoot init(int port, UdpSocketOptions options) {
-        return init("0.0.0.0", port, options);
-    }
-
-    @Override
-    public synchronized void bind() throws Exception {
-        try {
-            //宸茬粡缁戝畾杩囧氨涓嶇敤鍐嶇粦瀹�
-            if (null != mSocket) {
-                return;
-            }
-
-            lock.acquire();
-            if (TextUtils.isEmpty(ipAddress)) {
-                mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(Inet4Address.getByName("0.0.0.0"), port));
-            }
-            else{
-                mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(Inet4Address.getByName(ipAddress), port));
-            }
-            mSocket.setBroadcast(true);
-//            mSocket.setReuseAddress(true);
-
-        } catch (Exception e) {
-            throw e;
-        }
-    }
-
-    @Override
-    public boolean close() {
-        try {
-            mSocket.close();
-        } catch (Exception e) {
-
-        }
-        mSocket = null;
-        return true;
-    }
-
-    @Override
-    public UdpSocketOptions getOptions() {
-        return this.socketOptions;
-    }
-
-    @Override
-    public void onHandleResponse() throws Exception {
-        if (mSocket == null) {
-            return;
-        }
-        try {
-            mSocket.receive(receivePacket);
-        } catch (Exception e) {
-            LogUtils.e("鎺ユ敹鍒癠dp鏁版嵁鍖呭紓甯革紝寮傚父淇℃伅锛�" + e.getMessage());
-            return;
-        }
-        if (receivePacket.getLength() == 0) {
-            LogUtils.i("鎺ユ敹鍒癠dp鏁版嵁鍖咃紝鏁版嵁鍖呴暱搴︿负0锛�" + receivePacket.getAddress().getHostAddress() + ":" + receivePacket.getPort());
-            return;
-        }
-        //鎺掗櫎鑷繁鍙戝嚭鍘荤殑
-//        try {
-//            if (IpUtils.isLocalIpAddress(receivePacket.getAddress().getHostAddress()))
-//                return;
-//        } catch (Exception ignored) {
-//
-//        }
-
-        try {
-            LogUtils.i("鎺ユ敹鍒癠dp鏁版嵁鍖咃紝缃戠粶鍦板潃锛�" + receivePacket.getAddress().getHostAddress() + ":" + receivePacket.getPort());
-
-//            IHandleMessage handleMessage = getOptions().getHandleMessage();
-//            if (handleMessage != null) {
-//                byte[] data = new byte[receivePacket.getLength()];
-//                System.arraycopy(receivePacket.getData(), 0, data, 0, data.length);
-//                handleMessage.read(new Packet(receivePacket.getAddress().getHostAddress(), data,null));
-//            }
-
-            byte[] data = new byte[receivePacket.getLength()];
-            System.arraycopy(receivePacket.getData(), 0, data, 0, data.length);
-            socketOptions.getHandleMessage().read(new Packet(data));
-
-        } catch (Exception e) {
-            LogUtils.i("鎺ユ敹鍒癠dp鏁版嵁鍖咃紝澶勭悊寮傚父锛�" + e.getMessage());
-        }
-    }
-
-
-    @Override
-    public void sendMsg(String ipAddress,int port, byte[] msg) throws Exception {
-        if (msg == null) {
-            return;
-        }
-        final DatagramPacket sendPacket = new DatagramPacket(msg, msg.length, InetAddress.getByName(ipAddress), port);
-        if (mSocket != null) {
-            mSocket.send(sendPacket);
-        } else {
-            DatagramSocket datagramSocket = new DatagramSocket();
-            datagramSocket.send(sendPacket);
-            datagramSocket.close();
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/ByteToMessageDecoder.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/ByteToMessageDecoder.java
deleted file mode 100644
index 617f543..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/ByteToMessageDecoder.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.hdl.sdk.link.socket.codec;
-
-import com.hdl.sdk.link.socket.bean.Packet;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-public abstract class ByteToMessageDecoder<T> implements IHandleFlow<T> {
-
-    protected abstract  T decoder(Packet packet)
-            throws Exception;
-
-    @Override
-    public  synchronized T read(Packet packet) throws Exception {
-        return decoder(packet);
-    }
-//
-//    @Override
-//    public final byte[] write(Packet data) {
-//        return data;
-//    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IHandleFlow.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IHandleFlow.java
deleted file mode 100644
index 3ce442f..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IHandleFlow.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.hdl.sdk.link.socket.codec;
-
-import com.hdl.sdk.link.socket.bean.Packet;
-
-/**
- * Created by Tong on 2021/9/23.
- */
-public interface IHandleFlow<T> {
-
-    T read(Packet packet) throws Exception;
-
-//    byte[] write(Packet packet) throws Exception;
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IHandleMessage.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IHandleMessage.java
deleted file mode 100644
index 1c7a223..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IHandleMessage.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.socket.codec;
-
-import com.hdl.sdk.link.socket.bean.Packet;
-
-/**
- * Created by Tong on 2021/9/27.
- */
-public interface IHandleMessage {
-    void read(Packet packet) throws Exception;
-
-//    byte[] write(Packet packet) throws Exception;
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IMessagePipeLine.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IMessagePipeLine.java
deleted file mode 100644
index 41128df..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/IMessagePipeLine.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.hdl.sdk.link.socket.codec;
-
-/**
- * Created by Tong on 2021/9/23.
- */
-public interface IMessagePipeLine {
-
-    void add(IHandleFlow flow);
-
-    void clear();
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/MessagePipeLine.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/MessagePipeLine.java
deleted file mode 100644
index ea5fd27..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/MessagePipeLine.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.hdl.sdk.link.socket.codec;
-
-import com.hdl.sdk.link.socket.bean.Packet;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by Tong on 2021/9/23.
- */
-public class MessagePipeLine implements IMessagePipeLine, IHandleMessage {
-
-    public final List<IHandleFlow> queue = new ArrayList<>();
-
-    @Override
-    public void add(IHandleFlow flow) {
-        queue.add(flow);
-    }
-
-    @Override
-    public synchronized void clear() {
-        queue.clear();
-    }
-
-    @Override
-    public synchronized void read(Packet packet) throws Exception {
-        for (int i = 0; i < queue.size(); i++) {
-            IHandleFlow flow = queue.get(i);
-            Object read = flow.read(packet);
-//            try {
-//                out = Objects.requireNonNull(read);
-//            } catch (Exception ignored) {
-//            }
-        }
-    }
-
-//    @Override
-//    public byte[] write(Packet packet) throws Exception {
-//        for (int i = 0; i < queue.size(); i++) {
-//            IHandleFlow flow = queue.get(i);
-//            byte[] write = flow.write(packet);
-//        }
-//        return new byte[0];
-//    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/MessageToByteEncoder.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/MessageToByteEncoder.java
deleted file mode 100644
index e093590..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/codec/MessageToByteEncoder.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hdl.sdk.link.socket.codec;
-
-
-import com.hdl.sdk.link.socket.bean.Packet;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-public abstract class MessageToByteEncoder implements IHandleFlow {
-
-
-    protected abstract Packet encode(Packet packet)
-            throws Exception;
-
-    @Override
-    public final Object read(Packet packet) {
-        return packet;
-    }
-
-//    @Override
-//    public byte[] write(Packet packet) throws Exception {
-//        return encode(packet);
-//    }
-
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/listener/ConnectStatusListener.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/listener/ConnectStatusListener.java
deleted file mode 100644
index 9efb726..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/listener/ConnectStatusListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.hdl.sdk.link.socket.listener;
-
-/**
- * Created by Tong on 2021/9/22.
- * 杩炴帴鐘舵��
- */
-public interface ConnectStatusListener {
-
-    /**
-     * 杩炴帴涓�
-     */
-    default void onConnecting() {
-    }
-
-    /**
-     * 杩炴帴鎴愬姛
-     */
-    default void onConnected() {
-    }
-
-    /**
-     * 杩炴帴澶辫触
-     */
-    default void onConnectFailed() {
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/listener/SendListener.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/listener/SendListener.java
deleted file mode 100644
index e9a84f1..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/listener/SendListener.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.hdl.sdk.link.socket.listener;
-
-/**
- * Created by Tong on 2021/9/22.
- */
-public interface SendListener {
-
-    void onSucceed();
-
-    void onError();
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/udp/UdpSocketBoot.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/udp/UdpSocketBoot.java
deleted file mode 100644
index 4e039f7..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/udp/UdpSocketBoot.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package com.hdl.sdk.link.socket.udp;
-
-import android.text.TextUtils;
-
-import androidx.collection.ArrayMap;
-
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.socket.listener.SendListener;
-import com.hdl.sdk.link.socket.SocketRequest;
-import com.hdl.sdk.link.socket.client.IUdpClient;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * Created by hxb on 2021/12/12.
- */
-public class UdpSocketBoot {
-
-    private final IUdpClient client;
-
-    private final AtomicBoolean isOpenRetry = new AtomicBoolean(false);
-
-    private final AtomicInteger resendCount = new AtomicInteger(0);
-
-    private ExecutorService receiveThread;
-
-    private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>();
-
-
-    public IUdpClient getClient() {
-        return client;
-    }
-
-    public UdpSocketBoot(IUdpClient client) {
-        this.client = client;
-    }
-
-    /**
-     * 缁戝畾 socket
-     * @throws Exception 鍙兘绔彛鍐茬獊
-     */
-    public void bind() throws Exception {
-        client.bind();
-        initReceiveThread();
-    }
-
-    /**
-     * 鍒濆鍖栨帴鏀剁嚎绋�
-     */
-    private void initReceiveThread() {
-        if(null!=receiveThread){
-            return;
-        }
-        receiveThread = ThreadToolUtils.getInstance().newFixedThreadPool(1);
-        receiveThread.execute(new Runnable() {
-            @Override
-            public void run() {
-                while (true) {
-                    try {
-                        client.onHandleResponse();
-                    } catch (Exception e) {
-                       LogUtils.i("鎺ユ敹绾跨▼寮傚父锛�"+e.getMessage());
-                    }
-                }
-            }
-        });
-    }
-
-
-    /**
-     * 鍙戦�佹暟鎹�
-     * @param ipAddress 鐩殑鐨処P鍦板潃
-     * @param port 绔彛
-     * @param msg 鍙戦�佹暟鎹�
-     * @param listener 鍙戦�佸洖璋�
-     */
-    public void sendMsg(String ipAddress,int port,byte[] msg, SendListener listener) {
-        sendMsg(ipAddress,port, msg, true, listener);
-    }
-
-    /**
-     * 鍙戦�佹暟鎹�
-     * @param ipAddress 鐩殑鐨処P鍦板潃
-     * @param port 绔彛
-     * @param msg 鍙戦�佹暟鎹�
-     */
-    public void sendMsg(String ipAddress,int port,byte[] msg) {
-        sendMsg(ipAddress,port, msg, true, null);
-    }
-
-    /**
-     * 鍙戦�佹暟鎹�
-     * @param ipAddress 鐩殑IP鍦板潃
-     * @param port 绔彛
-     * @param msg 鍙戦�佺殑鏁版嵁
-     * @param isRefreshRetry 鏄惁瑕侀噸鍙�
-     * @param listener 鍙戦�佸洖璋�
-     */
-    public void sendMsg(String ipAddress,int port, byte[] msg, boolean isRefreshRetry, SendListener listener) {
-        if (isRefreshRetry) {
-            //閲嶇疆杩炴帴娆℃暟
-            resendCount.set(0);
-        }
-        try {
-            SocketRequest request = new SocketRequest(msg);
-            if (listener != null && !TextUtils.isEmpty(request.getAction())) {
-                sendMap.put(request.getAction(), listener);
-            }
-            client.sendMsg(ipAddress,port, msg);
-        } catch (Exception e) {
-            LogUtils.e("鍙戦�佸け璐�:" + e.getMessage());
-        }
-    }
-
-    /**
-     * 鍏抽棴褰撳墠socket
-     */
-    public synchronized void close() {
-        isOpenRetry.set(false);
-        sendMap.clear();
-        receiveThread.shutdown();
-        receiveThread=null;
-        client.close();
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/udp/UdpSocketOptions.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/udp/UdpSocketOptions.java
deleted file mode 100644
index 38ad296..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/udp/UdpSocketOptions.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.hdl.sdk.link.socket.udp;
-
-
-import android.net.wifi.WifiManager;
-
-import com.hdl.sdk.link.socket.codec.IHandleMessage;
-
-/**
- * Created by hxb on 2021/12/12.
- */
-public class UdpSocketOptions {
-
-    //澶勭悊鏁版嵁
-    private IHandleMessage handleMessage;
-    private WifiManager wifiManager;
-
-    public IHandleMessage getHandleMessage() {
-        return handleMessage;
-    }
-
-    public void setHandleMessage(IHandleMessage handleMessage) {
-        this.handleMessage = handleMessage;
-    }
-
-    public WifiManager getWifiManager() {
-        return wifiManager;
-    }
-
-    public void setWifiManager(WifiManager wifiManager) {
-        this.wifiManager = wifiManager;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/HDLLinkLocalZigBee.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/HDLLinkLocalZigBee.java
deleted file mode 100644
index 957bac3..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/HDLLinkLocalZigBee.java
+++ /dev/null
@@ -1,392 +0,0 @@
-package com.hdl.sdk.link.zigbee;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonObject;
-import com.google.gson.reflect.TypeToken;
-import com.hdl.sdk.link.common.event.EventListener;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.common.utils.LogUtils;
-import com.hdl.sdk.link.common.utils.ThreadToolUtils;
-import com.hdl.sdk.link.common.utils.gson.GsonConvert;
-import com.hdl.sdk.link.core.bean.ZigbeeResponse;
-import com.hdl.sdk.link.core.callback.ZigbeeCallBack;
-import com.hdl.sdk.link.core.connect.HDLZigbeeConnect;
-import com.hdl.sdk.link.zigbee.bean.PanelVibrationBean;
-import com.hdl.sdk.link.zigbee.bean.TimeDataBean;
-import com.hdl.sdk.link.zigbee.bean.ZBBaseSendBean;
-import com.hdl.sdk.link.zigbee.bean.ZBDeviceBean;
-import com.hdl.sdk.link.zigbee.callback.ZBDeviceListCallBack;
-import com.hdl.sdk.link.zigbee.config.ZigBee;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * Created by jlchen on 12/16/21.
- * ZigBee鍘熺敓鍗忚鐩稿叧
- */
-public class HDLLinkLocalZigBee {
-    private static final String TAG = "HDLLinkLocalZigBee";
-    private static final String Cluster_ID = "Cluster_ID";
-    private static final String Command = "Command";
-    //instance
-    private volatile static HDLLinkLocalZigBee instance;
-
-    //getInstance
-    public static synchronized HDLLinkLocalZigBee getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkLocalZigBee.class) {
-                if (instance == null) {
-                    instance = new HDLLinkLocalZigBee();
-                }
-            }
-        }
-        return instance;
-    }
-
-
-    /**
-     * 鍙戦�佹秷鎭粰缃戝叧
-     *
-     * @param gatewayOid
-     * @param replyTopic 鍥炲涓婚
-     * @param payload
-     * @param callback
-     */
-    public void sendData(String gatewayOid, String replyTopic, String payload, ZigbeeCallBack callback) {
-        //娉ㄦ剰 gatewayId鏄~瑕佽繛鎺ョ殑缃戝叧锛屽彲浠ユ槸涓荤綉鍏崇殑Id锛屼篃鍙互鏄粠缃戝叧鐨処d
-        HDLZigbeeConnect.getInstance().Send(gatewayOid, replyTopic, payload, callback);
-    }
-
-    /********************************缃戝叧鐩稿叧********************************/
-    /**
-     * 鍙戦�佹寚浠ゅ埌缃戝叧杩涜瀹氫綅(缃戝叧LED闂儊璇嗗埆)
-     *
-     * @param gatewayOid 缃戝叧id
-     * @param callback
-     */
-    public void locationGateway(String gatewayOid, ZigbeeCallBack callback) {
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty(Cluster_ID, 0);
-        jObject.addProperty(Command, ZigBee.CommandType.GwLinuxLocate);
-        sendData(gatewayOid, ZigBee.ReplyTopicType.GwLinuxLocate, jObject.toString(), callback);
-    }
-
-    /********************************璁惧鐩稿叧********************************/
-    /**
-     * 璁剧疆璁惧鍏ョ綉鏂瑰紡
-     * 璁剧疆1娆′箣鍚庝繚鎸佽缃殑鏂瑰紡
-     * 閲嶅惎鎭㈠榛樿鏂瑰紡
-     *
-     * @param gatewayOid        缃戝叧oid
-     * @param deviceJoiningMode 0锛氶粯璁わ紱1锛氭柊鏂瑰紡锛堝揩閫熷叆缃戯級
-     */
-    public void setDeviceJoiningMode(String gatewayOid, int deviceJoiningMode, ZigbeeCallBack callback) {
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("Cluster_ID", 0);
-        jObject.addProperty("Command", 180);
-        JsonObject data = new JsonObject();
-        data.addProperty("mode", deviceJoiningMode);
-        jObject.add("Data", data);
-        sendData(gatewayOid, ZigBee.ReplyTopicType.SetJoiningModeRespon, jObject.toString(), callback);
-    }
-
-    /**
-     * 璁剧疆鎼滅储鏂拌澶囧紑鍚垨鑰呭叧闂�
-     *
-     * @param gatewayOid 缃戝叧oid
-     * @param time       寮�鍚悳绱㈣澶囩殑鏃堕棿(鍗曚綅锛氱) 0:鍏抽棴鎼滅储 255锛氫竴鐩村紑鍚�
-     * @param callback
-     */
-    public void sendSearchDevice(String gatewayOid, int time, ZigbeeCallBack callback) {
-        ZBBaseSendBean<TimeDataBean> baseSendBean = new ZBBaseSendBean(0, ZigBee.CommandType.SearchNewDevice, new TimeDataBean(time));
-        sendData(gatewayOid, ZigBee.ReplyTopicType.SearchNewDevice, GsonConvert.getGson().toJson(baseSendBean), callback);
-    }
-
-    /**
-     * 鎼滅储璁惧
-     *
-     * @param gatewayOid
-     * @param callback
-     */
-    public void startSearchDevice(String gatewayOid, ZigbeeCallBack callback) {
-        sendSearchDevice(gatewayOid, 255, callback);
-    }
-
-    /**
-     * 鏆傚仠鎼滅储璁惧
-     *
-     * @param gatewayOid
-     * @param callback
-     */
-    public void stopSearchDevice(String gatewayOid, ZigbeeCallBack callback) {
-        sendSearchDevice(gatewayOid, 0, callback);
-    }
-
-    /**
-     * 瀹氫綅璁惧 闂儊5绉�
-     * 璇ユ潯鎸囦护璁惧涓嶅洖澶嶏紝鎵�鏈夋病callBack
-     * 鍙戦�佽鍛戒护锛岃澶囨寚绀虹伅灏嗛棯鐑併�俢luster 鍒楄〃涓敮鎸� Identify 鍔熻兘锛屽嵆鍖呭惈 cluster=3 鐨勮 澶囧彲浠ヤ娇鐢ㄨ鎺ュ彛銆�
-     *
-     * @param gatewayOid
-     * @param deviceAddr 鍗曟挱鏃朵负璁惧鑺傜偣鐨� mac 鍦� 鍧� 绫诲瀷鏄瓧绗︼紙16 涓瓧绗︼級 缁勬挱鏃朵负缁� id 绫诲瀷鏄暟鍊� 骞挎挱鏃朵负 null
-     * @param epoint     璁惧绔彛鍙� 鍜� mac 鍦板潃鍏卞悓鏍囪瘑鍞竴鐨� zigbee 璁惧 鏁板�艰寖鍥� 0-255
-     */
-    public void locationDevice(String gatewayOid, String deviceAddr, int epoint) {
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("DeviceAddr", deviceAddr);
-        jObject.addProperty("Epoint", epoint);
-        jObject.addProperty(Cluster_ID, 3);
-        jObject.addProperty(Command, 0);
-        jObject.addProperty("SendMode", 2);//鍙戦�佹ā寮� 缁勬挱: 1 鍗曟挱: 2 骞挎挱: 15
-        JsonObject data = new JsonObject();
-        data.addProperty("Time", 5);//闂儊鏃堕棿锛堢锛�
-        jObject.add("Data", data);
-        sendData(gatewayOid, ZigBee.ReplyTopicType.Identify, jObject.toString(), null);
-    }
-
-
-    /**
-     * 璁惧鍒楄〃-璁惧鍒犻櫎锛堜娇璁惧绂荤綉锛�
-     * 閫氳繃璇ユ寚浠ゅ彲浠ヤ娇璁惧鑴辩褰撳墠 zigbee 缃戠粶锛岃璁惧淇℃伅涔熷皢浼氬湪缃戝叧涓婂垹闄ゃ��
-     * 娉ㄦ剰锛氬皢浼氬垹闄ゅ悓涓� MAC 鍦板潃涓嬫墍鏈変笉鍚岀鍙g殑璁惧锛屽涓�涓� 2 璺寜閿澶囷紝瀹冨叿鏈変袱涓� 鎸夐敭锛屽湪璁惧鍒楄〃涓婅繖涓や釜鎸夐敭鍏锋湁鐩稿悓鐨� mac锛屼絾绔彛鍙锋槸涓嶅悓鐨勩�備娇鐢ㄨ鎸囦护璁╀换鎰� 涓�涓寜閿缃戯紝鍙︿竴涓篃浼氱缃戙��
-     *
-     * @param gatewayOid
-     * @param compelClear 0锛氫笉寮哄埗娓呴櫎銆傞渶瑕佽妭鐐硅澶� 鍙嶉绂荤綉纭淇℃伅鍚庢墠鑳藉垹闄よ 澶囦俊鎭��
-     *                    1锛氬己鍒舵竻闄ゃ�備笉闇�瑕佽妭鐐硅澶� 鍙嶉绂荤綉纭淇℃伅锛岀洿鎺ュ垹闄よ 澶囦俊鎭��
-     */
-    public void removeDevice(String gatewayOid, int compelClear, List<String> deviceAddrList, ZigbeeCallBack callback) {
-        if (deviceAddrList == null || deviceAddrList.size() == 0) {
-            LogUtils.e("娌℃湁瑕佸垹闄ゅ埌鏁版嵁");
-            return;
-        }
-        JsonArray addrList = new JsonArray();
-        for (String addr : deviceAddrList) {
-            JsonObject aObject = new JsonObject();
-            aObject.addProperty("DeviceAddr", addr);
-            addrList.add(aObject);
-        }
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty(Cluster_ID, 0);
-        jObject.addProperty(Command, ZigBee.CommandType.RemoveDevice);
-        JsonObject data = new JsonObject();
-        data.addProperty("CompelClear", compelClear);
-        data.add("DeviceAddrList", addrList);
-        jObject.add("Data", data);
-        sendData(gatewayOid, ZigBee.ReplyTopicType.RemoveDevice, jObject.toString(), callback);
-    }
-
-    /**
-     * 璁惧鍒楄〃-鑾峰彇鏈湴缃戝叧璁惧 EPDeviceId 鍒楄〃
-     * 锛堢綉鍏充竴涓竴涓繑鍥炵鐐硅澶囪缁嗕俊鎭級
-     *
-     * @param gatewayOid
-     * @param callback
-     */
-    public void getZigBeeDeviceList(String gatewayOid, ZBDeviceListCallBack callback) {
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty(Cluster_ID, 0);
-        jObject.addProperty(Command, ZigBee.CommandType.GetDeviceInfo);
-        //鏄惁鑾峰彇鍒楄〃鎴愬姛鏍囪
-        AtomicBoolean isSuccess = new AtomicBoolean(false);
-        //鎼滅储5s绛夊緟鏍囪
-        AtomicInteger timeOut = new AtomicInteger(0);
-        //璁惧鍒楄〃
-        List<ZBDeviceBean> list = new ArrayList<>();
-        //娉ㄥ唽鐩戝惉浜嬩欢
-        EventListener zigBeeEventListener = new EventListener() {
-            @Override
-            public synchronized void onMessage(Object msg) {
-                if (msg instanceof ZigbeeResponse) {
-                    ZigbeeResponse zigbeeResponse = (ZigbeeResponse) msg;
-                    try {
-                        if (zigbeeResponse.getTopic().equals(ZigBee.ReplyTopicType.GetDeviceInfo)) {
-                            final ZBDeviceBean bean = GsonConvert.getGson().fromJson(zigbeeResponse.getData(), new TypeToken<ZBDeviceBean>() {
-                            }.getType());
-
-
-                            if (bean == null) {
-                                LogUtils.i("鑾峰彇鍒扮殑Zigbee璁惧鍒楄〃鍙嶇郴鍒楀寲澶辫触:\r\n" + zigbeeResponse.getData());
-                            } else {
-                                bean.setGatewayMac(zigbeeResponse.getOid());
-                                LogUtils.i("zigbeeResponse ZBDeviceBean:" + bean.getDeviceAddr() + "锛�" + bean.getEpoint());
-                                if (bean.getData().getTotalNum() == 0) {
-                                    //鍥炲绌虹殑璁惧鍒楄〃
-                                    list.clear();
-                                    if (callback != null) {
-                                        callback.onSuccess(list);
-                                    }
-                                    HDLZigbeeConnect.getInstance().removeListener(this);
-                                    isSuccess.set(true);
-                                } else {
-                                    list.add(bean);
-//                                LogUtils.i("getZigBeeDeviceList 閲嶇疆鏃堕棿涓�0");
-                                    timeOut.set(0);//鏀跺埌涓�涓澶囧垯閲嶇疆鏃堕棿
-                                    //濡傛灉褰撳墠搴忓彿绛変簬鎬绘暟锛屼唬琛ㄦ槸鏈�鍚庝竴涓澶囦簡锛屽洖璋冩垚鍔�
-                                    if (bean.getData().getDeviceNum() == bean.getData().getTotalNum()) {
-                                        if (callback != null) {
-                                            callback.onSuccess(list);
-                                        }
-                                        HDLZigbeeConnect.getInstance().removeListener(this);
-                                        isSuccess.set(true);
-                                        LogUtils.i("getZigBeeDeviceList璇诲彇瀹屾垚");
-                                        timeOut.set(6);//璁℃椂缁撴潫鏍囪
-                                    }
-
-                                }
-                            }
-                        }
-                    } catch (Exception e) {
-                        LogUtils.e(TAG, "鎺ユ敹鐨勬暟鎹唴瀹�:" + zigbeeResponse.getData() + "  寮傚父淇℃伅:" + e.getMessage());
-                    }
-                }
-            }
-        };
-        HDLZigbeeConnect.getInstance().registerListener(zigBeeEventListener);
-        //鍙戦�佹暟鎹�
-        sendData(gatewayOid, "", jObject.toString(), null);
-        //5绉掑悗杩樻病鏈夋帴鏀跺埌鏁版嵁锛屽氨鍥炶皟澶辫触
-        ScheduledExecutorService scheduledExecutorService = ThreadToolUtils.getInstance().newScheduledThreadPool(1);
-        scheduledExecutorService.schedule(new Runnable() {
-            @Override
-            public void run() {
-                while (timeOut.get() < 5) {
-                    try {
-                        timeOut.set(timeOut.get() + 1);
-                        LogUtils.i("getZigBeeDeviceList 璁℃椂锛�" + timeOut.get() + "s");
-                        Thread.sleep(1000);
-                    } catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-                //绉婚櫎鐩戝惉浜嬩欢
-                HDLZigbeeConnect.getInstance().removeListener(zigBeeEventListener);
-                if (!isSuccess.get()) {
-                    if (null != callback) {
-                        callback.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GET_Zigbee_DEVICE_LIST_FAILURE_ERROR));
-                    }
-                }
-                LogUtils.i("getZigBeeDeviceList 5s鍊掕鏃剁粨鏉�");
-                scheduledExecutorService.shutdownNow();
-            }
-        }, 1, TimeUnit.SECONDS);
-
-    }
-
-    /**
-     * 淇敼璁惧绔彛锛堟寜閿級鍚嶇О
-     *
-     * @param gatewayOid
-     * @param deviceAddr
-     * @param epoint
-     * @param deviceName
-     * @param callback
-     */
-    public void renameDeviceName(String gatewayOid, String deviceAddr, int epoint, String deviceName, ZigbeeCallBack callback) {
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("DeviceAddr", deviceAddr);
-        jObject.addProperty("Epoint", epoint);
-        jObject.addProperty(Cluster_ID, 0);
-        jObject.addProperty(Command, ZigBee.CommandType.DeviceRename);
-        JsonObject data = new JsonObject();
-        data.addProperty("DeviceName", deviceName);
-        jObject.add("Data", data);
-        sendData(gatewayOid, ZigBee.ReplyTopicType.DeviceRename, jObject.toString(), callback);
-    }
-
-    /**
-     * 瀵圭鐐瑰洖璺澶囧姛鑳界被鍨嬭繘琛岃缃 onoffoutput 鍥炶矾,杩涜璁剧疆涓烘櫘閫氬紑鍏虫垨鎻掑骇鎴栫伅鍏�
-     *
-     * @param gatewayOid
-     * @param deviceAddr   璁惧鑺傜偣鐨� mac 鍦板潃 锛堟渶澶� 16 涓瓧绗︼級
-     * @param epoint       璁惧绔彛鍙� 鍜� mac 鍦板潃鍏卞悓鏍囪瘑鍞竴鐨� zigbee 璁惧 鏁板�艰寖鍥� 0-255
-     * @param functionType 鐢ㄦ潵琛ㄧず瀹為檯鍥炶矾鐢ㄤ簬浠�涔� 鍔熻兘锛屽彲鎵╁睍 0-缁х數鍣ㄦ帴鏅�氬紑鍏� 1-缁х數鍣ㄦ帴鐏厜 2-鎻掑骇
-     * @param callback
-     */
-    public void setEPDeviceFunctionType(String gatewayOid, String deviceAddr, int epoint, int functionType, ZigbeeCallBack callback) {
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("DeviceAddr", deviceAddr);
-        jObject.addProperty("Epoint", epoint);
-        jObject.addProperty(Cluster_ID, 0);
-        jObject.addProperty(Command, ZigBee.CommandType.SetEPDeviceFunctionType);
-        JsonObject data = new JsonObject();
-        data.addProperty("FunctionType", functionType);
-        jObject.add("Data", data);
-        sendData(gatewayOid, ZigBee.ReplyTopicType.SetEPDeviceFunctionType, jObject.toString(), callback);
-    }
-
-
-    /********闈㈡澘闇囧姩鍔熻兘********/
-    /**
-     * 鑾峰彇绠�绾﹂潰鏉块渿鍔ㄥ姛鑳界殑淇℃伅
-     */
-    public void getPanelVibrationInfo(String gatewayOid, String deviceAddr, int epoint, String passData, ZigbeeCallBack callback) {
-//        //缁勮鍙戦�佹暟鎹�
-//        JsonObject jObject = new JsonObject();
-//        jObject.addProperty("DeviceAddr", deviceAddr);
-//        jObject.addProperty("Epoint", 200);
-//        jObject.addProperty(Cluster_ID, 64513);
-//        jObject.addProperty(Command, 0);
-//        JsonObject data = new JsonObject();
-//        data.addProperty("PassData", "050108110101");
-//        jObject.add("Data", data);
-//        sendClientDataPassthrough(device, jObject.toString(), "0802", 18, 6, null, callback);
-//        sendClientDataPassthrough(gatewayOid,deviceAddr,epoint,passData,callback);
-
-    }
-
-    /**
-     * 璁剧疆绠�绾﹂潰鏉块渿鍔ㄥ姛鑳界殑淇℃伅
-     *
-     * @param device
-     * @param deviceAddr
-     * @param panelVibrationBean
-     * @param callback
-     */
-    public void setPanelVibrationInfo(String device, String deviceAddr, PanelVibrationBean panelVibrationBean, ZigbeeCallBack callback) {
-//        String passData = "0800081104";
-//        passData += panelVibrationBean.getIsEnable() ? "01" : "00";
-////        passData += Convert.ToString(panelVibrationBean.getStrength(), 16).PadLeft(2, '0');
-////        String time = Convert.ToString(panelVibrationBean.getTime(), 16).PadLeft(4, '0');
-////        //浣庝綅鍦ㄥ墠锛岄珮浣嶅湪鍚�
-////        passData += time.Substring(2, 2);
-////        passData += time.Substring(0, 2);
-//
-////        var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
-////        var data = new Newtonsoft.Json.Linq.JObject { { "PassData", passData } };
-////        jObject.Add("Data", data);
-//
-//        JsonObject jObject = new JsonObject();
-//        jObject.addProperty("DeviceAddr", deviceAddr);
-//        jObject.addProperty("Epoint", 200);
-//        jObject.addProperty(Cluster_ID, 64513);
-//        jObject.addProperty(Command, 0);
-//        JsonObject data = new JsonObject();
-//        data.addProperty("PassData", passData);
-//        jObject.add("Data", data);
-//
-//        sendClientDataPassthrough(device, jObject.toString(), "0002", 16, 6, null, callback);
-    }
-
-
-    /**
-     * 寮�鍏虫帶鍒�(浠呯敤浜巆luster=6鐨勮澶囷級 璁惧鏀寔cluster=6鐨勮澶囨墠鑳借皟鐢ㄨ鎺ュ彛
-     *
-     * @param command 0:鍏抽棴 1:鎵撳紑 2:鍙栧弽
-     */
-    public void switchControl(String gatewayOid, int command, ZBDeviceBean deviceBean) {
-        JsonObject jObject = new JsonObject();
-        jObject.addProperty("DeviceAddr", deviceBean.getDeviceAddr());
-        jObject.addProperty("Epoint", deviceBean.getEpoint());
-        jObject.addProperty(Cluster_ID, 6);
-        jObject.addProperty(Command, command);
-        jObject.addProperty("SendMode", 2);
-        sendData(gatewayOid, "", jObject.toString(), null);
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/PanelVibrationBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/PanelVibrationBean.java
deleted file mode 100644
index 11b6f86..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/PanelVibrationBean.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.hdl.sdk.link.zigbee.bean;
-
-import java.io.Serializable;
-
-/**
- * Created by jlchen on 12/17/21.
- */
-public class PanelVibrationBean implements Serializable {
-
-    private Boolean isEnable;//闇囧姩浣胯兘
-    private int strength;//闇囧姩寮哄害(鍗佽繘鍒�)
-    private int time;//闇囧姩鏃堕棿(鍗佽繘鍒�)
-
-    public Boolean getIsEnable() {
-        return isEnable;
-    }
-
-    public void setIsEnable(Boolean enable) {
-        isEnable = enable;
-    }
-
-    public int getStrength() {
-        return strength;
-    }
-
-    public void setStrength(int strength) {
-        this.strength = strength;
-    }
-
-    public int getTime() {
-        return time;
-    }
-
-    public void setTime(int time) {
-        this.time = time;
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/TimeDataBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/TimeDataBean.java
deleted file mode 100644
index 634c3ab..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/TimeDataBean.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.hdl.sdk.link.zigbee.bean;
-
-/**
- * Created by jlchen on 12/16/21.
- */
-public class TimeDataBean {
-
-    private int time;//0-255
-
-    public TimeDataBean(int time) {
-        this.time = time;
-    }
-
-    public int getTime() {
-        return time;
-    }
-
-    public void setTime(int time) {
-        this.time = time;
-    }
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBBaseSendBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBBaseSendBean.java
deleted file mode 100644
index 814b610..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBBaseSendBean.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.hdl.sdk.link.zigbee.bean;
-
-
-/**
- * Created by jlchen on 12/16/21.
- */
-public class ZBBaseSendBean<T> {
-    private int Cluster_ID;//绨� id
-    private int Command;//鎿嶄綔鐮�
-    private T data;//鏁版嵁
-
-    public ZBBaseSendBean(int cluster_ID, int command, T data) {
-        Cluster_ID = cluster_ID;
-        Command = command;
-        this.data = data;
-    }
-
-    public int getCluster_ID() {
-        return Cluster_ID;
-    }
-
-    public void setCluster_ID(int cluster_ID) {
-        Cluster_ID = cluster_ID;
-    }
-
-    public int getCommand() {
-        return Command;
-    }
-
-    public void setCommand(int command) {
-        Command = command;
-    }
-
-    public T getData() {
-        return data;
-    }
-
-    public void setData(T data) {
-        this.data = data;
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBDeviceBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBDeviceBean.java
deleted file mode 100644
index 1536506..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBDeviceBean.java
+++ /dev/null
@@ -1,565 +0,0 @@
-package com.hdl.sdk.link.zigbee.bean;
-
-import androidx.annotation.NonNull;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Created by jlchen on 12/29/21.
- * 鎼滅储ZigBee璁惧鍥炶矾鍥炲
- */
-public class ZBDeviceBean implements Serializable {
-    /// <summary>
-    /// 瀹為檯鐨勮澶噄d
-    /// <para>258:color dimmable light,璋冨叧鐏� </para>
-    /// <para>10:Door lock,闂ㄩ攣</para>
-    /// <para>514:Window covering device,绐楀笜</para>
-    /// <para>515:Window covering controller锛岀獥甯樻帶鍒跺櫒</para>
-    /// <para>769:Thermostat,鎭掓俯闈㈡澘/绌鸿皟</para>
-    /// <para>770:Temperature Sensor,娓╁害浼犳劅鍣�</para>
-    /// <para>775:Temperature Sensor,婀垮害浼犳劅鍣�</para>
-    /// <para>262:Light sensor,鍏夌収浼犳劅鍣�</para>
-    /// <para>1026:sensor,浼犳劅鍣紝鍏蜂綋绫诲瀷鐨勪紶鎰熷櫒DeviceType鏉ュ尯鍒�</para>
-    /// </summary>
-    private int Device_ID;
-    /// MAC鍦板潃
-    private String DeviceAddr;
-    //璁惧绔彛鍙�
-    //鍜宮ac鍦板潃鍏卞悓鏍囪瘑鍞竴鐨剒igbee璁惧
-    //鏁板�艰寖鍥�0-255
-    //濡傛灉鏃犺澶囪瀛楁涓嶅瓨鍦�
-    private int Epoint;
-    //杩斿洖鍏ョ綉璁惧淇℃伅
-    private int Data_ID;
-    //璁惧璇︾粏淇℃伅
-    private ZBDataBean Data;
-    //鑷畾涔夋坊鍔犲瓧娈� 鍙兘鏄痮id锛屽彲鑳芥槸缃戝叧Id锛屽彲鑳芥槸mac
-    private String gatewayMac;
-
-    /**
-     * 妯℃澘鍖归厤鏍囪 wxr 鑷畾涔� 2022-02-23 16:09:44
-     */
-    private boolean templateSettingFlag = false;
-    public boolean isTemplateSettingFlag() {
-        return templateSettingFlag;
-    }
-
-    public void setTemplateSettingFlag(boolean templateSettingFlag) {
-        this.templateSettingFlag = templateSettingFlag;
-    }
-    private String templateAddr ;
-
-    private String linkSid;
-    private String linkSpk;
-    private String linkOid;
-    private String linkName;
-
-    public ZBDeviceBean() {
-    }
-
-    public ZBDeviceBean(String linkSid, String linkSpk, String linkOid, String linkName) {
-        this.linkSid = linkSid;
-        this.linkSpk = linkSpk;
-        this.linkOid = linkOid;
-        this.linkName = linkName;
-    }
-
-    public String getLinkSid() {
-        return linkSid == null ? "" : linkSid;
-    }
-
-    public void setLinkSid(@NonNull String linkSid) {
-        this.linkSid = linkSid;
-    }
-
-    public String getLinkSpk() {
-        return linkSpk == null ? "" : linkSpk;
-    }
-
-    public void setLinkSpk(@NonNull String linkSpk) {
-        this.linkSpk = linkSpk;
-    }
-
-    public String getLinkOid() {
-        return linkOid == null ? "" : linkOid;
-    }
-
-    public void setLinkOid(@NonNull String linkOid) {
-        this.linkOid = linkOid;
-    }
-
-    public String getLinkName() {
-        return linkName == null ? "" : linkName;
-    }
-
-    public void setLinkName(@NonNull String linkName) {
-        this.linkName = linkName;
-    }
-
-    public String getTemplateAddr() {
-        return templateAddr == null ? "" : templateAddr;
-    }
-
-    public void setTemplateAddr(String templateAddr) {
-        this.templateAddr = templateAddr;
-    }
-
-    @NonNull
-    public String getGatewayMac() {
-        return gatewayMac == null ? "" : gatewayMac;
-    }
-
-    public void setGatewayMac(@NonNull String gatewayMac) {
-        this.gatewayMac = gatewayMac;
-    }
-
-    public int getDevice_ID() {
-        return Device_ID;
-    }
-
-    public void setDevice_ID(int Device_ID) {
-        this.Device_ID = Device_ID;
-    }
-
-    @NonNull
-    public String getDeviceAddr() {
-        return DeviceAddr == null ? "" : DeviceAddr;
-    }
-
-    public void setDeviceAddr(@NonNull String DeviceAddr) {
-        this.DeviceAddr = DeviceAddr;
-    }
-
-    public int getEpoint() {
-        return Epoint;
-    }
-
-    public void setEpoint(int Epoint) {
-        this.Epoint = Epoint;
-    }
-
-    public int getData_ID() {
-        return Data_ID;
-    }
-
-    public void setData_ID(int Data_ID) {
-        this.Data_ID = Data_ID;
-    }
-
-
-
-    public ZBDataBean getData() {
-        if(Data == null){
-            Data = new ZBDataBean();
-        }
-        return Data;
-    }
-
-    public void setData(ZBDataBean Data) {
-        this.Data = Data;
-    }
-
-    /**
-     * 璁惧璇︾粏淇℃伅
-     */
-    public static class ZBDataBean implements Serializable{
-        private int TotalNum;//鍏ョ綉璁惧鎬绘暟銆傜瓑浜�0鏃讹紝琛ㄧず娌℃湁璁惧淇℃伅锛屼笅闈㈠瓧娈靛皢涓嶅瓨鍦ㄣ��
-        private int DeviceNum;//鏍囪瘑褰撳墠璁惧鏄彂閫佺殑鏄鍑犱釜璁惧銆侱eviceNum浠�1寮�濮嬫瘡鍙戦�佷竴涓澶囦俊鎭紝涓嬩竴涓澶囦俊鎭殑DeviceNum灏嗗姞1銆傜洿鍒癉eviceNum绛変簬TotalNum璇存槑鎵�鏈夎澶囦俊鎭彂閫佸畬姣�
-        private int JoinTime;//鍏ョ綉鐨剈tc鏃堕棿鎴�
-        private int ZigbeeType;//1:璺敱鍣ㄨ澶� 2锛氱粓绔澶囷紝鐢垫睜璁惧
-        private int NwkAddr;//璁惧缃戠粶鍦板潃
-        private int DeviceType;//璇ュ瓧娈典富瑕侀拡瀵笽AS瀹夐槻璁惧璁剧珛銆傛墍鏈塈AS瀹夐槻璁惧鍏辩敤涓�涓狣eviceID涓�1026銆傛墍浠ヨ鍖哄垎瀛愯澶囩被鍨嬶紝闇�瑕佽瀛楁銆�
-        //鐢ㄤ簬鍒ゆ柇璁惧鐨剒igbee鍗忚鐗堟湰銆�49246锛歓LL1.0鏍囧噯璁惧銆�260锛� ZHA1.2鏍囧噯璁惧銆� Z3.0鏍囧噯璁惧銆�
-        // 41440锛歓GP3.0鏍囧噯璁惧銆�265锛歓SE1.4鏍囧噯璁惧銆�
-        private int Profile;
-        //璁惧mac鍚嶇О
-        private String MacName;
-        //璁惧鍚�
-        private String DeviceName;
-        //0锛氳澶囦笉鍦ㄧ嚎 1锛氳澶囧湪绾�
-        private int IsOnline;
-        //杈撳叆绨囧垪琛�
-        //绔偣鍥炶矾鑷韩鎷ユ湁澶氬皯鍔熻兘锛屽彲浠ヨ鎺у埗锛涜鎺у姛鑳�
-        //鍙傝�儂igbee鑱旂洘鏂囨。
-        private List<InClusterListBean> InClusterList;
-        //杈撳嚭绨囧垪琛�
-        //绔偣鍥炶矾鍙互鎺у埗鍏朵粬璁惧澶氬皯鍔熻兘锛涙帶鍒跺姛鑳�
-        //鍙傝�儂igbee鑱旂洘鏂囨。
-        private List<OutClusterListBean> OutClusterList;
-        //鐢ㄤ簬璁板綍璁惧鏈�鏂颁笂鎶ョ殑灞炴�х姸鎬佷俊鎭�傛渶澶ф敮鎸佽褰�16涓睘鎬х姸鎬侊紝涓斿彧璁板綍灞炴�у�奸暱搴︿笉澶т簬4瀛楄妭鐨勬暟鎹��
-        private List<AttributeStatusBean> AttributeStatus;
-        //褰撳墠杩愯绋嬪簭鐗堟湰淇℃伅
-        private int ImgVersion;
-        //褰撳墠闀滃儚绫诲瀷id
-        private int ImgTypeId;
-        //纭欢鐗堟湰
-        private int HwVersion;
-        //椹卞姩浠g爜銆備负0鏃讹紝琛ㄧずzigbee鍗忚皟鍣ㄨ澶囥�傚叾浠栧�艰〃绀轰负铏氭嫙椹卞姩璁惧
-        private int DriveCode;
-        //璁惧鎵�鍦ㄧ綉鍏崇殑缃戝叧id
-        private String GwId;
-        //鎵�鏈夋寚瀹歝luster鏄惁閮藉凡缁忔垚鍔熺粦瀹氬崗璋冨櫒
-        //0锛氭湭瀹屽叏缁戝畾
-        //1锛氬凡缁忕粦瀹�
-        private int ClusterBindZbSuccess;
-        //鏄惁鑾峰彇鎵�鏈夐粯璁ょ粦瀹氫俊鎭�
-        //0锛氬惁
-        //1锛氭槸
-        private int IsGetAllDefaultBind;
-        //鍒堕�犲晢鍚嶅瓧
-        private String ManufacturerName;
-        //璁惧鍨嬪彿
-        private String ModelIdentifier;
-        //浜у搧鐮� 搴忓垪鍙�
-        private String ProductCode;
-        //鐢ㄦ潵琛ㄧず瀹為檯鍥炶矾鐢ㄤ簬浠�涔堝姛鑳斤紝鍙墿灞�
-        //0-缁х數鍣ㄦ帴鏅�氬紑鍏�
-        //1-缁х數鍣ㄦ帴鐏厜
-        //鎻掑骇
-        private String FunctionType;
-
-        public int getTotalNum() {
-            return TotalNum;
-        }
-
-        public void setTotalNum(int TotalNum) {
-            this.TotalNum = TotalNum;
-        }
-
-        public int getDeviceNum() {
-            return DeviceNum;
-        }
-
-        public void setDeviceNum(int DeviceNum) {
-            this.DeviceNum = DeviceNum;
-        }
-
-        public int getJoinTime() {
-            return JoinTime;
-        }
-
-        public void setJoinTime(int JoinTime) {
-            this.JoinTime = JoinTime;
-        }
-
-        public int getZigbeeType() {
-            return ZigbeeType;
-        }
-
-        public void setZigbeeType(int ZigbeeType) {
-            this.ZigbeeType = ZigbeeType;
-        }
-
-        public int getNwkAddr() {
-            return NwkAddr;
-        }
-
-        public void setNwkAddr(int NwkAddr) {
-            this.NwkAddr = NwkAddr;
-        }
-
-        public int getDeviceType() {
-            return DeviceType;
-        }
-
-        public void setDeviceType(int DeviceType) {
-            this.DeviceType = DeviceType;
-        }
-
-        public int getProfile() {
-            return Profile;
-        }
-
-        public void setProfile(int Profile) {
-            this.Profile = Profile;
-        }
-
-        @NonNull
-        public String getMacName() {
-            return MacName == null ? "" : MacName;
-        }
-
-        public void setMacName(@NonNull String MacName) {
-            this.MacName = MacName;
-        }
-
-        @NonNull
-        public String getDeviceName() {
-            return DeviceName == null ? "" : DeviceName;
-        }
-
-        public void setDeviceName(@NonNull String DeviceName) {
-            this.DeviceName = DeviceName;
-        }
-
-        public int getIsOnline() {
-            return IsOnline;
-        }
-
-        public void setIsOnline(int IsOnline) {
-            this.IsOnline = IsOnline;
-        }
-
-        @NonNull
-        public List<InClusterListBean> getInClusterList() {
-            if (InClusterList == null) {
-                return new ArrayList<>();
-            }
-            return InClusterList;
-        }
-
-        public void setInClusterList(@NonNull List<InClusterListBean> InClusterList) {
-            this.InClusterList = InClusterList;
-        }
-
-        @NonNull
-        public List<OutClusterListBean> getOutClusterList() {
-            if (OutClusterList == null) {
-                return new ArrayList<>();
-            }
-            return OutClusterList;
-        }
-
-        public void setOutClusterList(@NonNull List<OutClusterListBean> OutClusterList) {
-            this.OutClusterList = OutClusterList;
-        }
-
-        @NonNull
-        public List<AttributeStatusBean> getAttributeStatus() {
-            if (AttributeStatus == null) {
-                return new ArrayList<>();
-            }
-            return AttributeStatus;
-        }
-
-        public void setAttributeStatus(@NonNull List<AttributeStatusBean> AttributeStatus) {
-            this.AttributeStatus = AttributeStatus;
-        }
-
-        public int getImgVersion() {
-            return ImgVersion;
-        }
-
-        public void setImgVersion(int ImgVersion) {
-            this.ImgVersion = ImgVersion;
-        }
-
-        public int getImgTypeId() {
-            return ImgTypeId;
-        }
-
-        public void setImgTypeId(int ImgTypeId) {
-            this.ImgTypeId = ImgTypeId;
-        }
-
-        public int getHwVersion() {
-            return HwVersion;
-        }
-
-        public void setHwVersion(int HwVersion) {
-            this.HwVersion = HwVersion;
-        }
-
-        public int getDriveCode() {
-            return DriveCode;
-        }
-
-        public void setDriveCode(int DriveCode) {
-            this.DriveCode = DriveCode;
-        }
-
-        @NonNull
-        public String getGwId() {
-            return GwId == null ? "" : GwId;
-        }
-
-        public void setGwId(@NonNull String GwId) {
-            this.GwId = GwId;
-        }
-
-        public int getClusterBindZbSuccess() {
-            return ClusterBindZbSuccess;
-        }
-
-        public void setClusterBindZbSuccess(int ClusterBindZbSuccess) {
-            this.ClusterBindZbSuccess = ClusterBindZbSuccess;
-        }
-
-        public int getIsGetAllDefaultBind() {
-            return IsGetAllDefaultBind;
-        }
-
-        public void setIsGetAllDefaultBind(int IsGetAllDefaultBind) {
-            this.IsGetAllDefaultBind = IsGetAllDefaultBind;
-        }
-
-        @NonNull
-        public String getManufacturerName() {
-            return ManufacturerName == null ? "" : ManufacturerName;
-        }
-
-        public void setManufacturerName(@NonNull String ManufacturerName) {
-            this.ManufacturerName = ManufacturerName;
-        }
-
-        @NonNull
-        public String getModelIdentifier() {
-            return ModelIdentifier == null ? "" : ModelIdentifier;
-        }
-
-        public void setModelIdentifier(@NonNull String ModelIdentifier) {
-            this.ModelIdentifier = ModelIdentifier;
-        }
-
-        @NonNull
-        public String getProductCode() {
-            return ProductCode == null ? "" : ProductCode;
-        }
-
-        public void setProductCode(@NonNull String ProductCode) {
-            this.ProductCode = ProductCode;
-        }
-
-        public String getFunctionType() {
-            return FunctionType;
-        }
-
-        public void setFunctionType(String FunctionType) {
-            this.FunctionType = FunctionType;
-        }
-
-        /**
-         * 杈撳叆绨�
-         */
-        public static class InClusterListBean implements Serializable{
-            /// <summary>
-            /// 璁惧鏀寔鐨勮緭鍏ュ姛鑳�
-            /// <para>0:Basic,璁惧鏀寔鈥滃熀纭�灞炴�р�� </para>
-            /// <para>3:Identify,璁惧鏀寔鈥滆瘑鍒姛鑳解��</para>
-            /// <para>4:Groups,璁惧鏀寔鈥滅粍鍔熻兘鈥�</para>
-            /// <para>5:Scenes,璁惧鏀寔鈥滃満鏅姛鑳解��</para>
-            /// <para>6:on/off,璁惧鏀寔鈥滃紑鍏冲姛鑳解��</para>
-            /// 寮�鍏冲姛鑳界殑璁惧濡傦細璋冨叧鐏�/缁х數鍣�/绐楀笜绛夈�傘�傘��
-            /// <para>8:Level Control,璁惧鏀寔鈥滀寒搴﹁皟鑺傚姛鑳解��</para>
-            /// 浜害璋冭妭鍔熻兘鐨勮澶囧锛氳皟鍏崇伅銆傘�傘��
-            /// <para>257:Door Lock,璁惧鏀寔鈥滈棬閿佸姛鑳解��</para>
-            /// 闂ㄩ攣鍔熻兘鐨勮澶囧锛氶棬閿併�傘�傘��
-            ///  <para>258:Window Covering,璁惧鏀寔鈥滅獥甯樻帶鍒跺姛鑳解��</para>
-            /// 绐楀笜鎺у埗鍔熻兘鐨勮澶囧锛氱獥甯�/寮�鍚堝笜/鍗峰笜銆傘�傘��
-            /// <para>513:Thermostat,璁惧鏀寔鈥滄亽娓╁櫒鍔熻兘鈥�</para>
-            /// 鎭掓俯鍣ㄥ姛鑳界殑璁惧濡傦細绌鸿皟銆傘�傘��
-            /// <para>768:Color Control,璁惧鏀寔鈥滈鑹茶皟鑺傚姛鑳解��</para>
-            /// 棰滆壊璋冭妭鍔熻兘鐨勮澶囧锛氳皟鍏夌伅銆傘�傘��
-            /// <para>1026:Temperature Measurement,璁惧鏀寔鈥滄俯搴︽祴閲忓姛鑳解��</para>
-            /// 娓╁害娴嬮噺鍔熻兘鐨勮澶囧锛氭俯搴︿紶鎰熷櫒銆傘�傘��
-            /// <para>1029:Relative Humidity Measurement,璁惧鏀寔鈥滄箍搴︽祴閲忓姛鑳解��</para>
-            /// 婀垮害娴嬮噺鍔熻兘鐨勮澶囧锛氭箍搴︿紶鎰熷櫒銆傘�傘��
-            /// <para>1066:Pm2.5  Measurement,璁惧鏀寔鈥減m2.5娴嬮噺鍔熻兘鈥�</para>
-            /// Pm2.5娴嬮噺鍔熻兘鐨勮澶囧锛歅m2.5浼犳劅鍣ㄣ�傘�傘��
-            /// </summary>
-            private int InCluster;
-
-            public int getInCluster() {
-                return InCluster;
-            }
-
-            public void setInCluster(int inCluster) {
-                this.InCluster = inCluster;
-            }
-        }
-
-        /**
-         * 杈撳嚭绨�
-         */
-        public static class OutClusterListBean implements Serializable{
-            /// <summary>
-            /// 璁惧鏀寔鐨勮緭鍑哄姛鑳�
-            /// <para>0:Basic,璁惧鏀寔鈥滃熀纭�灞炴�р�� </para>
-            /// <para>3:Identify,璁惧鏀寔鈥滆瘑鍒姛鑳解��</para>
-            /// <para>4:Groups,璁惧鏀寔鈥滅粍鍔熻兘鈥�</para>
-            /// <para>5:Scenes,璁惧鏀寔鈥滃満鏅姛鑳解��</para>
-            /// <para>6:on/off,璁惧鏀寔鈥滃紑鍏冲姛鑳解��</para>
-            /// 寮�鍏冲姛鑳界殑璁惧濡傦細璋冨叧鐏�/缁х數鍣�/绐楀笜绛夈�傘�傘��
-            /// <para>8:Level Control,璁惧鏀寔鈥滀寒搴﹁皟鑺傚姛鑳解��</para>
-            /// 浜害璋冭妭鍔熻兘鐨勮澶囧锛氳皟鍏崇伅銆傘�傘��
-            /// <para>257:Door Lock,璁惧鏀寔鈥滈棬閿佸姛鑳解��</para>
-            /// 闂ㄩ攣鍔熻兘鐨勮澶囧锛氶棬閿併�傘�傘��
-            ///  <para>258:Window Covering,璁惧鏀寔鈥滅獥甯樻帶鍒跺姛鑳解��</para>
-            /// 绐楀笜鎺у埗鍔熻兘鐨勮澶囧锛氱獥甯�/寮�鍚堝笜/鍗峰笜銆傘�傘��
-            /// <para>513:Thermostat,璁惧鏀寔鈥滄亽娓╁櫒鍔熻兘鈥�</para>
-            /// 鎭掓俯鍣ㄥ姛鑳界殑璁惧濡傦細绌鸿皟銆傘�傘��
-            /// <para>768:Color Control,璁惧鏀寔鈥滈鑹茶皟鑺傚姛鑳解��</para>
-            /// 棰滆壊璋冭妭鍔熻兘鐨勮澶囧锛氳皟鍏夌伅銆傘�傘��
-            /// <para>1026:Temperature Measurement,璁惧鏀寔鈥滄俯搴︽祴閲忓姛鑳解��</para>
-            /// 娓╁害娴嬮噺鍔熻兘鐨勮澶囧锛氭俯搴︿紶鎰熷櫒銆傘�傘��
-            /// <para>1029:Relative Humidity Measurement,璁惧鏀寔鈥滄箍搴︽祴閲忓姛鑳解��</para>
-            /// 婀垮害娴嬮噺鍔熻兘鐨勮澶囧锛氭箍搴︿紶鎰熷櫒銆傘�傘��
-            /// </summary>
-            private int OutCluster;
-
-            public int getOutCluster() {
-                return OutCluster;
-            }
-
-            public void setOutCluster(int outCluster) {
-                this.OutCluster = outCluster;
-            }
-        }
-
-        /**
-         * 璁惧鏈�鏂颁笂鎶ョ殑灞炴�х姸鎬佷俊鎭�
-         */
-        public static class AttributeStatusBean implements Serializable{
-
-            /// <summary>
-            /// 灞炴�х皣id
-            /// </summary>
-            private int ClusterId;
-            /// <summary>
-            /// 灞炴�d
-            /// </summary>
-            private int AttributeId;
-            /// <summary>
-            /// 灞炴�у�硷紝杩欎釜涓滆タ涓嶉渶瑕佷粈涔堥珮浣嶅湪鍚庝綆浣嶅湪鍓�,瀹冨凡缁忔槸杞负浜�10杩涘埗
-            /// </summary>
-            private int AttributeData;
-            /// <summary>
-            /// 灞炴�х姸鎬佹渶鍚庢洿鏂扮殑utc鏃堕棿鎴�
-            /// </summary>
-            private int ReportTime;
-
-            public int getClusterId() {
-                return ClusterId;
-            }
-
-            public void setClusterId(int clusterId) {
-                this.ClusterId = ClusterId;
-            }
-
-            public int getAttributeId() {
-                return AttributeId;
-            }
-
-            public void setAttributeId(int AttributeId) {
-                this.AttributeId = AttributeId;
-            }
-
-            public int getAttributeData() {
-                return AttributeData;
-            }
-
-            public void setAttributeData(int attributeData) {
-                this.AttributeData = AttributeData;
-            }
-
-            public int getReportTime() {
-                return ReportTime;
-            }
-
-            public void setReportTime(int ReportTime) {
-                this.ReportTime = ReportTime;
-            }
-        }
-    }
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBDeviceModuleBean.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBDeviceModuleBean.java
deleted file mode 100644
index b7c1e61..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/bean/ZBDeviceModuleBean.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.hdl.sdk.link.zigbee.bean;//package com.hdl.sdk.link.zigbee.bean;
-//
-//import androidx.annotation.NonNull;
-//
-//import java.util.ArrayList;
-//import java.util.List;
-//
-///**
-// * Created by jlchen on 12/29/21.
-// * 鍘熺敓ZigBee璁炬ā鍧�
-// */
-//public class ZBDeviceModuleBean {
-//
-//    //鍘熺敓ZigBee璁惧鍥炶矾鍒楄〃
-//    private List<ZBDeviceBean> deviceLoopList = new ArrayList<>();
-//
-//    public ZBDeviceModuleBean(List<ZBDeviceBean> deviceLoopList) {
-//        this.deviceLoopList = deviceLoopList;
-//    }
-//
-//    @NonNull
-//    public List<ZBDeviceBean> getDeviceLoopList() {
-//        if (deviceLoopList == null) {
-//            return new ArrayList<>();
-//        }
-//        return deviceLoopList;
-//    }
-//
-//    public void setDeviceLoopList(@NonNull List<ZBDeviceBean> deviceLoopList) {
-//        this.deviceLoopList = deviceLoopList;
-//    }
-//}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/callback/HDLZBCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/callback/HDLZBCallBack.java
deleted file mode 100644
index 7c21660..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/callback/HDLZBCallBack.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.hdl.sdk.link.zigbee.callback;
-
-/**
- * Created by jlchen on 12/16/21.
- */
-public interface HDLZBCallBack {
-
-    void onSuccess(String msg);
-
-    void onError(String error);
-
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/callback/ZBDeviceListCallBack.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/callback/ZBDeviceListCallBack.java
deleted file mode 100644
index 2bdec6b..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/callback/ZBDeviceListCallBack.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.hdl.sdk.link.zigbee.callback;
-
-import com.hdl.sdk.link.core.callback.BaseCallBack;
-import com.hdl.sdk.link.zigbee.bean.ZBDeviceBean;
-
-import java.util.List;
-
-/**
- * Created by jlchen on 12/29/21.
- */
-public interface ZBDeviceListCallBack extends BaseCallBack {
-    void onSuccess(List<ZBDeviceBean> list);
-}
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/config/ZBDeviceType.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/config/ZBDeviceType.java
deleted file mode 100644
index 2be9bda..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/config/ZBDeviceType.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package com.hdl.sdk.link.zigbee.config;
-
-/**
- * Created by jlchen on 12/29/21.
- */
-
-import androidx.annotation.IntDef;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * ZigBee璁惧绫诲瀷
- * device_ID 瀵瑰簲鐨勮澶囨灇涓�
- */
-@IntDef({ZBDeviceType.UnKown})
-@Retention(RetentionPolicy.SOURCE)
-public @interface ZBDeviceType{
-    int UnKown = 0x9999;
-    int ZbGateway = 0x9998;
-    /// <summary>
-    /// 骞茬粨鐐�
-    /// <para>璁惧ID涓�0</para>
-    /// <para>瀹氫箟瀵硅薄锛歅anel</para>
-    /// </summary>
-    int OnOffSwitch = 0;
-    /// <summary>
-    /// 浜害鎺у埗寮�鍏�
-    /// <para>璁惧ID涓�2</para>
-    /// <para>瀹氫箟瀵硅薄 LevelControlSwitch</para>
-    /// </summary>
-    int LevelControlSwitch = 1;
-    /// <summary>
-    /// 缁х數鍣�
-    /// <para>璁惧ID涓�2</para>
-    /// <para>瀹氫箟瀵硅薄锛歍oggleLight</para>
-    /// </summary>
-    int OnOffOutput = 2;
-    /// <summary>
-    /// 闂ㄩ攣
-    /// <para>璁惧ID涓�10</para>
-    /// <para>瀹氫箟瀵硅薄锛欴oorLock</para>
-    /// </summary>
-    int DoorLock = 10;
-    /// <summary>
-    /// 璁惧ID涓�257鐨勮澶�
-    /// <para>璋冨厜鐏細鏀寔浜害</para>
-    /// <para>璋冨厜璁惧</para>
-    /// </summary>
-    int DimmableLight = 257;
-    /// <summary>
-    /// 璁惧ID涓�258鐨勮澶�
-    /// <para>鑹叉俯鐏�</para>
-    /// <para>瀹氫箟瀵硅薄锛欳olorTemperatureLight</para>
-    /// </summary>
-    int ColorTemperatureLight = 258;
-    /// <summary>
-    /// 璋冨厜鍣ㄦ帶鍒跺櫒
-    /// <para>璁惧ID涓�260</para>
-    /// <para>瀹氫箟瀵硅薄 DimmerSwitch</para>
-    /// </summary>
-    int DimmerSwitch = 260;
-    /// <summary>
-    /// 棰滆壊璋冨厜鐏紑鍏�
-    /// <para>璁惧ID涓�261</para>
-    /// <para>瀹氫箟瀵硅薄 LevelControlSwitch</para>
-    /// </summary>
-    int ColorDimmerSwitch = 261;
-    /// <summary>
-    /// 绐楀笜璁惧ID
-    /// <para>Rollershade:鍗峰笜</para>
-    /// </summary>
-    int WindowCoveringDevice = 514;
-    /// <summary>
-    /// 绐楀笜鎺у埗鍣ㄨ澶嘔D
-    /// <para>CurtainController:绐楀笜鎺у埗鍣�</para>
-    /// </summary>
-    int WindowCoveringController = 515;
-    /// <summary>
-    /// 璁惧ID涓�528鐨勮澶�
-    /// <para>棰滆壊璋冨厜鐏細鏀寔浜害/鑹插害/楗卞拰搴�</para>
-    /// <para>璋冨厜璁惧</para>
-    /// <para>瀹氫箟瀵硅薄锛欳olorDimmableLight</para>
-    /// </summary>
-    int ColorDimmableLight = 528;
-    /// <summary>
-    /// 鎭掓俯鍣�
-    /// <para>璁惧ID涓�769</para>
-    /// <para>瀹氫箟瀵硅薄锛欰C</para>
-    /// </summary>
-    int Thermostat = 769;
-    /// <summary>
-    /// <para>娓╂箍搴︿紶鎰熷櫒</para>
-    /// <para>璁惧ID涓�770</para>
-    /// <para>瀹氫箟瀵硅薄锛歍emperatureSensor</para>
-    /// <para>娉ㄦ剰瀹冧笌HumiditySensor涓嶄竴鏍�;瀹冨叿浣撴槸娓╁害杩樻槸婀垮害;闇�瑕佸彂鍛戒护鍘昏鍙�</para>
-    /// </summary>
-    int TemperatureSensor = 770;
-    /// <summary>
-    /// <para>PM2.5浼犳劅鍣�</para>
-    /// <para>璁惧ID涓�777</para>
-    /// <para>瀹氫箟瀵硅薄锛歅MSensor</para>
-    /// </summary>
-    int PMSensor = 777;
-    /// <summary>
-    /// 瀹夐槻璁惧
-    /// <para>璁惧ID涓�1026鐨勮澶�</para>
-    /// <para>瀹氫箟瀵硅薄锛欼ASZone</para>
-    /// </summary>
-    int IASZone = 1026;
-    /// <summary>
-    /// 铚傞福鍣�
-    /// <para>璁惧ID涓�1027鐨勮澶�</para>
-    /// <para>瀹氫箟瀵硅薄锛欱uzzer</para>
-    /// </summary>
-    int Buzzer = 1027;
-    /// <summary>
-    /// 鎺у埗婧愯澶�
-    /// <para>璁惧ID涓�0</para>
-    /// <para>瀹氫箟瀵硅薄锛歅anel</para>
-    /// </summary>
-    int OtaPanelDevice = 49152;
-    /// <summary>
-    /// 鎺у埗婧愯澶�
-    /// <para>璁惧ID涓�0</para>
-    /// <para>瀹氫箟瀵硅薄锛歅anel</para>
-    /// </summary>
-    int OtaDevice = 49153;
-    /// <summary>
-    /// 绌烘皵寮�鍏�
-    /// </summary>
-    int AirSwitch = 53249;
-    /// <summary>
-    /// 涓户鍣�
-    /// </summary>
-    int Repeater = 53250;
-    /// 杞崲鍣�
-    /// <para>璁惧ID涓�53251</para>
-    /// <para>瀹氫箟瀵硅薄锛歍ransverter</para>
-    /// </summary>
-    int Transverter = 0xD003;
-    /// <summary>
-    /// <para>鏅捐。鏋�</para>
-    /// <para>璁惧ID涓�0xD004 </para>
-    /// <para>瀹氫箟瀵硅薄锛欰irer</para>
-    /// </summary>
-    int Airer = 0xD004;
-
-    /// 鏂伴
-    /// <para>璁惧ID涓�53504</para>
-    /// <para>瀹氫箟瀵硅薄锛欶reshAirAC</para>
-    /// </summary>
-    int FreshAir = 0xD100;
-
-    /// <summary>
-    /// <para>婀垮害浼犳劅鍣�</para>
-    /// <para>璁惧ID涓�53760</para>
-    /// <para>瀹氫箟瀵硅薄锛欻umiditySensor</para>
-    /// <para>娉ㄦ剰瀹冧笌TemperatureSensor涓嶄竴鏍�;杩欎釜id瀹氭浜嗗氨鏄箍搴︿紶鎰熷櫒</para>
-    /// </summary>
-    int HumiditySensor = 0xD200;
-}
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/config/ZigBee.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/config/ZigBee.java
deleted file mode 100644
index b4426de..0000000
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/zigbee/config/ZigBee.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package com.hdl.sdk.link.zigbee.config;
-
-import androidx.annotation.IntDef;
-import androidx.annotation.StringDef;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Created by jlchen on 12/16/21.
- * ZigBee鍘熺敓鍗忚鎺у埗鐮佺浉鍏�
- */
-public class ZigBee {
-
-
-
-//    /**
-//     * 涓婚
-//     */
-//    @StringDef({})
-//    @Retention(RetentionPolicy.SOURCE)
-//    public @interface TopicType {
-//        //鍙戦�佹寚浠ゅ埌缃戝叧杩涜瀹氫綅(缃戝叧LED闂儊璇嗗埆)
-//        String GwLinuxLocate = "GwLinuxLocate";
-//        //璁惧鍒楄〃-鑾峰彇鏈湴缃戝叧璁惧 EPDeviceId 鍒楄〃
-//        String GetDeviceInfo = "GetDeviceInfo";
-//        //鑾峰彇鍏ョ綉璁惧
-//        String SearchNewDevice = "SearchNewDevice";
-//        //淇敼璁惧绔彛锛堟寜閿級鍚嶇О
-//        String DeviceRename = "DeviceRename";
-//        //璁惧鍒楄〃-璁惧鍒犻櫎锛堜娇璁惧绂荤綉锛�
-//        String RemoveDevice = "RemoveDevice";
-//        //璁惧鎺у埗-鏃� Id-3-identify 瀹氫綅鍔熻兘
-//        String Identify = "Identify";
-//        //瀵圭鐐瑰洖璺澶囧姛鑳界被鍨嬭繘琛岃缃�
-//        String SetEPDeviceFunctionType = "Device/SetEPDeviceFunctionType";
-//
-//    }
-
-    /**
-     * 鍥炲涓婚
-     */
-    @StringDef({})
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface ReplyTopicType {
-        //鍙戦�佹寚浠ゅ埌缃戝叧杩涜瀹氫綅(缃戝叧LED闂儊璇嗗埆)
-        String GwLinuxLocate = "GwLinuxLocate_Respon";
-        //璁惧鍒楄〃-鑾峰彇鏈湴缃戝叧璁惧 EPDeviceId 鍒楄〃
-        String GetDeviceInfo = "DeviceInfoRespon";
-        //鑾峰彇鍏ョ綉璁惧
-        String SearchNewDevice = "Device/SearchNewDevice";
-        //淇敼璁惧绔彛锛堟寜閿級鍚嶇О
-        String DeviceRename = "DeviceRenameRespon";
-        //璁惧鍒楄〃-璁惧鍒犻櫎锛堜娇璁惧绂荤綉锛�
-        String RemoveDevice = "RemoveDeviceRespon";
-        //璁惧鎺у埗-鏃� Id-3-identify 瀹氫綅鍔熻兘
-        String Identify = "Identify";
-        //瀵圭鐐瑰洖璺澶囧姛鑳界被鍨嬭繘琛岃缃�
-        String SetEPDeviceFunctionType = "Device/SetEPDeviceFunctionType";
-        //鏂拌澶囧叆缃�
-        String DeviceInComingRespon = "DeviceInComingRespon";
-        //璁剧疆鍏ョ綉娴佺▼鏂瑰紡
-        String SetJoiningModeRespon = "SetJoiningMode_Respon";
-
-    }
-
-    /**
-     * 鎺у埗鐮�
-     */
-    @IntDef({CommandType.SearchNewDevice})
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface CommandType {
-        //鍙戦�佹寚浠ゅ埌缃戝叧杩涜瀹氫綅(缃戝叧LED闂儊璇嗗埆)
-        int GwLinuxLocate = 85;
-        //璁惧鍒楄〃-鑾峰彇鏈湴缃戝叧璁惧 EPDeviceId 鍒楄〃
-        int GetDeviceInfo = 93;
-        //鑾峰彇鍏ョ綉璁惧
-        int SearchNewDevice = 94;
-        //淇敼璁惧绔彛锛堟寜閿級鍚嶇О
-        int DeviceRename = 96;
-        //璁惧鍒楄〃-璁惧鍒犻櫎锛堜娇璁惧绂荤綉锛�
-        int RemoveDevice =  99;
-        //瀵圭鐐瑰洖璺澶囧姛鑳界被鍨嬭繘琛岃缃�
-        int SetEPDeviceFunctionType = 110;
-
-    }
-
-}
diff --git a/HDLLinkLocalSdk/src/main/res/values-zh/strings_code.xml b/HDLLinkLocalSdk/src/main/res/values-zh/strings_code.xml
deleted file mode 100644
index 4cf6a06..0000000
--- a/HDLLinkLocalSdk/src/main/res/values-zh/strings_code.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="HDL_DATA_ERROR">鍙傛暟寮傚父</string>
-    <string name="HDL_DATA_NULL_ERROR">鍙傛暟涓嶈兘涓虹┖</string>
-    <string name="HDL_AUTH_ERROR">璁よ瘉澶辫触</string>
-    <string name="HDL_SEND_ERROR">鍙戦�佸け璐�</string>
-    <string name="HDL_TIMEOUT_ERROR">瓒呮椂锛岀綉鍏虫棤鍥炲</string>
-    <string name="HDL_UNAUTHORIZED_ERROR">鏈璇侊紝璇峰厛璁よ瘉</string>
-    <string name="HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED">璁よ瘉澶辫触锛岀綉鍏虫湭娉ㄥ唽鍒颁簯绔�</string>
-    <string name="HDL_SEARCH_GATEWAY_TIMEOUT_ERROR">鎼滅储缃戝叧澶辫触锛岃秴鏃�</string>
-    <string name="HDL_AUTH_MAC_KEY_ERROR">璁よ瘉澶辫触锛岃MAC瀵瑰簲鐨勮澶囧瘑閽ヤ笉瀛樺湪</string>
-    <string name="HDL_DATA_PARSING_ERROR">鏁版嵁瑙f瀽寮傚父</string>
-    <string name="HDL_GET_DEVICE_LIST_ERROR">鑾峰彇璁惧鍒楄〃澶辫触</string>
-    <string name="HDL_GET_FUNCTION_LIST_ERROR">鑾峰彇鍔熻兘鍒楄〃澶辫触</string>
-    <string name="HDL_GET_FUNCTION_PROPERTIES_ERROR">鑾峰彇鍔熻兘灞炴�уけ璐�</string>
-    <string name="HDL_CONTROL_FAILURE_ERROR">鎺у埗澶辫触</string>
-    <string name="HDL_GET_GATEWAY_FAILURE_ERROR">鑾峰彇缃戝叧鍒楄〃澶辫触</string>
-    <string name="HDL_GET_Zigbee_FAILURE_ERROR">鍙戦�佽秴鏃讹紝缃戝叧鏃犲搷搴�</string>
-    <string name="HDL_GATEWAY_NOT_EXIST">缃戝叧涓嶅瓨鍦�</string>
-    <string name="HDL_GET_Zigbee_DEVICE_LIST_FAILURE_ERROR">鑾峰彇鍘熺敓璁惧鍒楄〃澶辫触</string>
-    <string name="HDL_MILLIMETER_NOT_EXIST">姣背娉笉瀛樺湪</string>
-    <string name="HDL_UNKOWN_CODE">鏈煡閿欒</string>
-    <string name="HDL_APPLICATION_EXCEPTION">绯荤粺寮傚父</string>
-    <string name="HDL_TOPIC_NOT_RIGHT">涓婚娌℃湁鍖归厤</string>
-    <string name="HDL_OBJECT_NOT_SUPPORT">瀵硅薄涓嶆敮鎸�</string>
-    <string name="HDL_GATEWAY_REMOTE_NOT_RESPONSE">缃戝叧鏈湴杩炴帴澶辫触锛岄�氳繃杩滅▼閫氳涓嶅洖澶�</string>
-    <string name="SUCCESS">鎴愬姛</string>
-    <string name="HDL_GATEWAY_FOUND_LOCALLY">鏈湴鎵句笉鍒扮綉鍏�</string>
-</resources>
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/res/values/arrays-error.xml b/HDLLinkLocalSdk/src/main/res/values/arrays-error.xml
deleted file mode 100644
index 0260f1f..0000000
--- a/HDLLinkLocalSdk/src/main/res/values/arrays-error.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string-array name="gateway"></string-array>
-    <string-array name="cloud"></string-array>
-    <string-array name="app"></string-array>
-</resources>
\ No newline at end of file
diff --git a/HDLLinkLocalSdk/src/main/res/values/strings_code.xml b/HDLLinkLocalSdk/src/main/res/values/strings_code.xml
deleted file mode 100644
index def3c73..0000000
--- a/HDLLinkLocalSdk/src/main/res/values/strings_code.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-<string name="HDL_DATA_ERROR">Parameter exception</string>
-<string name="HDL_DATA_NULL_ERROR">Parameter cannot be empty</string>
-<string name="HDL_AUTH_ERROR">Authentication failed</string>
-<string name="HDL_SEND_ERROR">fail in send</string>
-<string name="HDL_TIMEOUT_ERROR">timeout,gateway no response</string>
-<string name="HDL_UNAUTHORIZED_ERROR">Not certified, please authenticate first</string>
-<string name="HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED">Authentication failed. The gateway is not registered to the cloud</string>
-<string name="HDL_SEARCH_GATEWAY_TIMEOUT_ERROR">Failed to search gateway, timeout</string>
-<string name="HDL_AUTH_MAC_KEY_ERROR">Authentication failed. The device key corresponding to the MAC does not exist</string>
-<string name="HDL_DATA_PARSING_ERROR">Data parsing error</string>
-<string name="HDL_GET_DEVICE_LIST_ERROR">Failed to get device list</string>
-<string name="HDL_GET_FUNCTION_LIST_ERROR">Failed to get function list</string>
-<string name="HDL_GET_FUNCTION_PROPERTIES_ERROR">Failed to get function attribute</string>
-<string name="HDL_CONTROL_FAILURE_ERROR">Control failure</string>
-<string name="HDL_GET_GATEWAY_FAILURE_ERROR">Failed to get gateway list</string>
-<string name="HDL_GET_Zigbee_FAILURE_ERROR">Sending timeout, no response from gateway</string>
-<string name="HDL_GATEWAY_NOT_EXIST">Gateway does not exist</string>
-<string name="HDL_GET_Zigbee_DEVICE_LIST_FAILURE_ERROR">Failed to get the device list</string>
-<string name="HDL_MILLIMETER_NOT_EXIST">Millimeter does not exist</string>
-<string name="HDL_UNKOWN_CODE">Unkown Error</string>
-<string name="HDL_APPLICATION_EXCEPTION">System Exception</string>
-<string name="HDL_TOPIC_NOT_RIGHT">Theme does not match</string>
-<string name="HDL_OBJECT_NOT_SUPPORT">Object not supported</string>
-<string name="HDL_GATEWAY_REMOTE_NOT_RESPONSE">Gateway local connection failed, unable to reply through remote communication</string>
-<string name="SUCCESS">success</string>
-<string name="HDL_GATEWAY_FOUND_LOCALLY">The gateway cannot be found locally</string>
-</resources>
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 8a951a7..39f477e 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,7 +1,7 @@
 rootProject.name = "PhotovoltaicDebug"
 include ':app'
 include ':third-zxing'
-include ':HDLLinkLocalSdk'
+//include ':HDLLinkLocalSdk'
 include ':HDLLinkPMSdk'
 include ':HDLLog'
 include ':countrypicker'

--
Gitblit v1.8.0