HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-05-11 2e7e5f9af5b32cfe1fc3c6ba40bf7eb984bbd0a4
ZigbeeApp/Shared/Phone/ZigBee/Device/Scene.cs
@@ -36,35 +36,6 @@
        }
        /// <summary>
        /// 网关中场景设备列表
        /// </summary>
        //[Newtonsoft.Json.JsonIgnore]
        //public List<GetSceneDeviceListInfo> SceneDeviceList = new List<GetSceneDeviceListInfo>();
        /// <summary>
        /// 网关信息错误反馈
        /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
        /// </summary>
        ErrorResponData errResponData;
        /// <summary>
        /// 网关信息错误反馈
        /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
        /// </summary>
        [System.Serializable]
        public class ErrorResponData
        {
            /// <summary>
            /// Error参数含义
            ///<para>1:网关无法解析命令数据。</para>
            ///<para>2:协调器正在升级或备份/恢复数据
            ///<para>3:操作设备/组/场景不存在</para>
            ///<para>4:其他错误</para>
            ///<para>5:数据传输错误(在某次客户端向网关发送数据的过程中,网关在合理时间范围内接收客户端数据不完整导致该错误发生。如客户端向网关一次发送100个字节的数据,但网关等待接收了一秒只接收了80个字节。发生该错误,网关将主动关闭客户端连接)</para>
            /// </summary>
            public int Error;
        }
        /// <summary>
        /// 等待从网关接收数据的时间
        /// </summary>
        /// <value>The wait receive data time.</value>
@@ -160,8 +131,7 @@
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -175,16 +145,15 @@
                    if (topic == gatewayID + "/" + "Scene/GetNewId_Respon")
                    {
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.getSceneIdData = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneIdData>(jobject["Data"].ToString());
                        if (scene.getSceneIdData == null)
                        var getSceneIdData = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneIdData>(jobject["Data"].ToString());
                        if (getSceneIdData == null)
                        {
                            d = new GetSceneIdAllData { errorMessageBase = "网关返回的数据为空" };
                        }
                        else
                        {
                            GetSceneAllInfoAsync();
                            d = new GetSceneIdAllData { getSceneIdData = scene.getSceneIdData };
                            d = new GetSceneIdAllData { getSceneIdData = getSceneIdData };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -239,17 +208,8 @@
        /// 创建一个空场景返回的数据,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class GetSceneIdAllData
        public class GetSceneIdAllData:CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 创建一个空场景返回的数据
            /// </summary>
@@ -291,7 +251,7 @@
                    d = new GetSceneAllData { errorMessageBase = "当前没有主网关" };
                    return d;
                }
                ZbGateway.AllSceneList.Clear();
                var dateTime = DateTime.Now;
                Action<string, string> action = (topic, message) => {
                     var gatewayID = topic.Split('/')[0];
@@ -299,8 +259,7 @@
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -315,31 +274,15 @@
                    if (topic == gatewayID + "/" + "Scene/GetAllInfo_Respon")
                    {
                        dateTime = DateTime.Now;
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneAllInfo>(jobject["Data"].ToString());
                        var sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneAllInfo>(jobject["Data"].ToString());
                        if (scene.sceneGetAllInfo == null)
                        if (sceneGetAllInfo == null)
                        {
                            d = new GetSceneAllData { errorMessageBase = "网关返回的数据为空" };
                        }
                        else
                        {
                            var info = ZbGateway.AllSceneList.Find(obj => obj.ScenesId == scene.sceneGetAllInfo.ScenesId);
                            if (info == null)
                            {
                                ZbGateway.AllSceneList.Add(scene.sceneGetAllInfo);
                            }
                            else
                            {
                                info.DeviceList = scene.sceneGetAllInfo.DeviceList;
                                info.DeviceSum = scene.sceneGetAllInfo.DeviceSum;
                                info.IsOpen = scene.sceneGetAllInfo.IsOpen;
                                info.ScenesId = scene.sceneGetAllInfo.ScenesId;
                                info.ScenesName = scene.sceneGetAllInfo.ScenesName;
                                info.ScenesNum = scene.sceneGetAllInfo.ScenesNum;
                                info.ScenesSum = scene.sceneGetAllInfo.ScenesSum;
                            }
                            d = new GetSceneAllData { getSceneAllInfo = scene.sceneGetAllInfo };
                            d = new GetSceneAllData { getSceneAllInfo = sceneGetAllInfo };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -372,17 +315,8 @@
        /// 获取所有场景的所有信息,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class GetSceneAllData
        public class GetSceneAllData:CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 获取所有场景的所有信息
            /// </summary>
@@ -448,7 +382,6 @@
            ///<para>2:延时成员</para>
            /// </summary>
            public int Type;
            /// <summary>
            /// 设备mac地址 ,
            ///<para>当Type=0时存在。</para>
@@ -460,21 +393,15 @@
            /// </summary>
            public int Epoint;
            /// <summary>
            /// 设备名称
            /// </summary>
            public string DeviceName;
            /// <summary>
            /// 设备列表
            /// 当Type=0时存在
            /// </summary>
            public List<Safeguard.TaskListInfo> TaskList = new List<Safeguard.TaskListInfo>();
            /// <summary>
            /// 场景成员的场景id
            /// <para>当Type=1时存在</para>
            /// </summary>
            public int ElseScenesId;
            /// <summary>
            ///延时执行时间,单位秒。
            /// </summary>
@@ -493,7 +420,6 @@
        ///</summary>
        public static async System.Threading.Tasks.Task<List<GetSceneAllInfo>> GetSceneListAsync()
        {
            ZbGateway.AllSceneList.Clear();
            return await System.Threading.Tasks.Task.Run(async () => {
                var dateTime = DateTime.Now;
                GetSceneAllData d = null;
@@ -503,6 +429,8 @@
                    d = new GetSceneAllData { errorMessageBase = "当前没有主网关" };
                    return null;
                }
                var listScene = new List<GetSceneAllInfo>();
                Action<string, string> action = (topic, message) =>
                {
                    var gatewayID = topic.Split('/')[0];
@@ -511,24 +439,9 @@
                    if (topic == gatewayID + "/" + "Scene/GetAllInfo_Respon")
                    {
                        dateTime = DateTime.Now;
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneAllInfo>(jobject["Data"].ToString());
                        var sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneAllInfo>(jobject["Data"].ToString());
                        listScene.Add(sceneGetAllInfo);
                        var info = ZbGateway.AllSceneList.Find(obj => obj.ScenesId == scene.sceneGetAllInfo.ScenesId);
                        if (info == null)
                        {
                            ZbGateway.AllSceneList.Add(scene.sceneGetAllInfo);
                        }
                        else
                        {
                            info.DeviceList = scene.sceneGetAllInfo.DeviceList;
                            info.DeviceSum = scene.sceneGetAllInfo.DeviceSum;
                            info.IsOpen = scene.sceneGetAllInfo.IsOpen;
                            info.ScenesId = scene.sceneGetAllInfo.ScenesId;
                            info.ScenesName = scene.sceneGetAllInfo.ScenesName;
                            info.ScenesNum = scene.sceneGetAllInfo.ScenesNum;
                            info.ScenesSum = scene.sceneGetAllInfo.ScenesSum;
                        }
                        System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                    }
                };
@@ -549,7 +462,7 @@
                mainGateway.Actions -= action;
                System.Console.WriteLine("Scene/GetAllInfo_Actions 退出" + System.DateTime.Now.ToString());
                return ZbGateway.AllSceneList;
                return listScene;
            });
        }
        #endregion
@@ -644,22 +557,9 @@
        /// <summary>
        ///获取场景信息,网关反馈信息
        /// </summary>
        GetOnlySceneAllData getOnlySceneAllData;
        /// <summary>
        ///获取场景信息,网关反馈信息
        /// </summary>
        [System.Serializable]
        class GetOnlySceneAllData
        class GetOnlySceneAllData:CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 获取场景信息
            /// </summary>
@@ -734,8 +634,7 @@
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -749,26 +648,15 @@
                    if (topic == gatewayID + "/" + "Scene/GetDeviceList_Respon")
                    {
                        var sceneTemp = new Scene() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        sceneTemp.sceneGetDeviceListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneDeviceListInfo>(jobject["Data"].ToString());
                        var sceneGetDeviceListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GetSceneDeviceListInfo>(jobject["Data"].ToString());
                        if (sceneTemp.sceneGetDeviceListObj == null)
                        if (sceneGetDeviceListObj == null)
                        {
                            d = new GetSceneDeviceListAllInfo { errorMessageBase = "网关返回的数据为空" };
                         }
                        else
                        {
                            var sDev = mainGateway.SceneDeviceList.Find(obj => obj.ScenesId == sceneTemp.sceneGetDeviceListObj.ScenesId);
                            if (sDev == null)
                            {
                                ZbGateway.MainGateWay.SceneDeviceList.Add(sceneTemp.sceneGetDeviceListObj);
                            }
                            else
                            {
                                sDev.DeviceList = sceneTemp.sceneGetDeviceListObj.DeviceList;
                            }
                            d = new GetSceneDeviceListAllInfo { getSceneDeviceListInfo = sceneTemp.sceneGetDeviceListObj };
                            d = new GetSceneDeviceListAllInfo { getSceneDeviceListInfo = sceneGetDeviceListObj };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -815,17 +703,8 @@
        ///获取场景的设备列表信息,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class GetSceneDeviceListAllInfo
        public class GetSceneDeviceListAllInfo : CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 获取场景的设备列表信息
            /// </summary>
@@ -893,8 +772,7 @@
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -908,16 +786,15 @@
                    if (topic == gatewayID + "/" + "Scene/AddMember_Respon")
                    {
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.addSceneMemberData = Newtonsoft.Json.JsonConvert.DeserializeObject<AddSceneMemberResponseData>(jobject["Data"].ToString());
                        var addSceneMemberData = Newtonsoft.Json.JsonConvert.DeserializeObject<AddSceneMemberResponseData>(jobject["Data"].ToString());
                        if (scene.addSceneMemberData == null)
                        if (addSceneMemberData == null)
                        {
                            d = new AddSceneMemberResponseAllData { errorMessageBase = "网关返回的数据为空" };
                        }
                        else
                        {
                            d = new AddSceneMemberResponseAllData { addSceneMemberResponseData = scene.addSceneMemberData };
                            d = new AddSceneMemberResponseAllData { addSceneMemberResponseData = addSceneMemberData };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -1010,17 +887,8 @@
        /// 获取场景中添加的成员,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class AddSceneMemberResponseAllData
        public class AddSceneMemberResponseAllData : CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 获取场景中添加的成员
            /// </summary>
@@ -1166,8 +1034,7 @@
                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -1180,16 +1047,15 @@
                    }
                    if (topic == gatewayID + "/" + "Scene/RemoveMember_Respon")
                    {
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.removeSceneMemberResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneMemberResponseData>(jobject["Data"].ToString());
                        var removeSceneMemberResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneMemberResponseData>(jobject["Data"].ToString());
                        if (scene.removeSceneMemberResponseData == null)
                        if (removeSceneMemberResponseData == null)
                        {
                            d = new RemoveSceneMemberResponseAllData { errorMessageBase = "网关返回的数据为空" };
                        }
                        else
                        {
                            d = new RemoveSceneMemberResponseAllData { removeSceneMemberResponseData = scene.removeSceneMemberResponseData };
                            d = new RemoveSceneMemberResponseAllData { removeSceneMemberResponseData = removeSceneMemberResponseData };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -1341,17 +1207,8 @@
        ///  移除场景成员信息反馈,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class RemoveSceneMemberResponseAllData
        public class RemoveSceneMemberResponseAllData : CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 移除场景成员信息反馈
            /// </summary>
@@ -1442,8 +1299,7 @@
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -1457,16 +1313,15 @@
                    if (topic == gatewayID + "/" + "Scene/Rename_Respon")
                    {
                        var scene = new Scene() { DataID = jobject.Value<int>("DataID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.sceneRenameResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneRenameResponseData>(jobject["Data"].ToString());
                        var sceneRenameResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneRenameResponseData>(jobject["Data"].ToString());
                        if (scene.sceneRenameResponseData == null)
                        if (sceneRenameResponseData == null)
                        {
                            d = new SceneRenameResponseAllData { errorMessageBase = "网关返回的数据为空" };
                        }
                        else
                        {
                            d = new SceneRenameResponseAllData { sceneRenameResponseData = scene.sceneRenameResponseData };
                            d = new SceneRenameResponseAllData { sceneRenameResponseData = sceneRenameResponseData };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -1510,17 +1365,8 @@
        /// 修改场景名称
        /// </summary>
        [System.Serializable]
        public class SceneRenameResponseAllData
        public class SceneRenameResponseAllData : CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 修改场景名称
            /// </summary>
@@ -1582,8 +1428,7 @@
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -1597,26 +1442,15 @@
                    if (topic == gatewayID + "/" + "Scene/Remove_Respon")
                    {
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.removeSceneData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneData>(jobject["Data"].ToString());
                        if (scene.removeSceneData == null)
                        var removeSceneData = Newtonsoft.Json.JsonConvert.DeserializeObject<RemoveSceneData>(jobject["Data"].ToString());
                        if (removeSceneData == null)
                        {
                            d = new RemoveSceneAllData { errorMessageBase = "网关返回的数据为空" };
                            return;
                        }
                        else
                        {
                            for (int listCount = 0; listCount < ZigBee.Device.ZbGateway.AllSceneList.Count; listCount++)
                            {
                                var sc = ZbGateway.AllSceneList[listCount];
                                if (scene.removeSceneData.ScenesId == sc.ScenesId)
                                {
                                    ZigBee.Device.ZbGateway.AllSceneList.RemoveAt(listCount);
                                    listCount--;
                                }
                            }
                            d = new RemoveSceneAllData { removeSceneData = scene.removeSceneData };
                            d = new RemoveSceneAllData { removeSceneData = removeSceneData };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -1660,17 +1494,8 @@
        /// 移除场景,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class RemoveSceneAllData
        public class RemoveSceneAllData : CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 移除场景
            /// </summary>
@@ -1724,8 +1549,7 @@
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -1739,15 +1563,14 @@
                    if (topic == gatewayID + "/" + "Scene/Open_Respon")
                    {
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.sceneOpen = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneOpenData>(jobject["Data"].ToString());
                        if (scene.sceneOpen == null)
                        var sceneOpen = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneOpenData>(jobject["Data"].ToString());
                        if (sceneOpen == null)
                        {
                            d = new SceneOpenAllData { errorMessageBase = "网关返回的数据为空" };
                        }
                        else
                        {
                            d = new SceneOpenAllData { sceneOpenData = scene.sceneOpen };
                            d = new SceneOpenAllData { sceneOpenData = sceneOpen };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
@@ -1793,17 +1616,8 @@
        /// 调用场景,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class SceneOpenAllData
        public class SceneOpenAllData : CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 调用场景
            /// </summary>
@@ -1861,8 +1675,7 @@
                    var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
                    if (topic == gatewayID + "/" + "Error_Respon")
                    {
                        var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = mainGateway.getGatewayBaseInfo.gwID };
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ErrorResponData>(jobject["Data"].ToString());
                        var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
                        if (temp == null)
                        {
@@ -1875,16 +1688,15 @@
                    }
                    if (topic == gatewayID + "/" + "Scene/CatDelayScene_Respon")
                    {
                        var scene = new Scene() { DataID = jobject.Value<int>("Data_ID"), GateWayId = mainGateway.CurrentGateWayId };
                        scene.catDelaySceneResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<CatDelaySceneResponseData>(jobject["Data"].ToString());
                        var catDelaySceneResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<CatDelaySceneResponseData>(jobject["Data"].ToString());
                        if (scene.catDelaySceneResponseData == null)
                        if (catDelaySceneResponseData == null)
                        {
                            d = new CatDelaySceneResponseAllData { errorMessageBase = "网关返回的数据为空" };
                        }
                        else
                        {
                            d = new CatDelaySceneResponseAllData { catDelaySceneResponseData = scene.catDelaySceneResponseData };
                            d = new CatDelaySceneResponseAllData { catDelaySceneResponseData = catDelaySceneResponseData };
                            System.Console.WriteLine($"UI收到通知后的主题_{ topic}");
                        }
                    }
@@ -1924,17 +1736,8 @@
        ///  查看正在延时的场景信息反馈,网关反馈信息
        /// </summary>
        [System.Serializable]
        public class CatDelaySceneResponseAllData
        public class CatDelaySceneResponseAllData : CommonDevice.ErrorResponCommon
        {
            /// <summary>
            /// 错误信息
            /// </summary>
            public string errorMessageBase;
            /// <summary>
            /// 网关信息错误反馈
            /// <para>当网关接收到客户端信息后,出现以下异常情况将反馈错误。</para>
            /// </summary>
            public ErrorResponData errorResponData;
            /// <summary>
            /// 查看正在延时的场景信息信息反馈
            /// </summary>