| | |
| | | } |
| | | |
| | | /// <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> |
| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | /// 创建一个空场景返回的数据,网关反馈信息 |
| | | /// </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> |
| | |
| | | d = new GetSceneAllData { errorMessageBase = "当前没有主网关" }; |
| | | return d; |
| | | } |
| | | ZbGateway.AllSceneList.Clear(); |
| | | |
| | | var dateTime = DateTime.Now; |
| | | Action<string, string> action = (topic, message) => { |
| | | var gatewayID = topic.Split('/')[0]; |
| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | /// 获取所有场景的所有信息,网关反馈信息 |
| | | /// </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> |
| | |
| | | ///<para>2:延时成员</para> |
| | | /// </summary> |
| | | public int Type; |
| | | |
| | | /// <summary> |
| | | /// 设备mac地址 , |
| | | ///<para>当Type=0时存在。</para> |
| | |
| | | /// </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> |
| | |
| | | ///</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; |
| | |
| | | d = new GetSceneAllData { errorMessageBase = "当前没有主网关" }; |
| | | return null; |
| | | } |
| | | |
| | | var listScene = new List<GetSceneAllInfo>(); |
| | | Action<string, string> action = (topic, message) => |
| | | { |
| | | var gatewayID = topic.Split('/')[0]; |
| | |
| | | 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}"); |
| | | } |
| | | }; |
| | |
| | | mainGateway.Actions -= action; |
| | | System.Console.WriteLine("Scene/GetAllInfo_Actions 退出" + System.DateTime.Now.ToString()); |
| | | |
| | | return ZbGateway.AllSceneList; |
| | | return listScene; |
| | | }); |
| | | } |
| | | #endregion |
| | |
| | | /// <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> |
| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | ///获取场景的设备列表信息,网关反馈信息 |
| | | /// </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> |
| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | /// 获取场景中添加的成员,网关反馈信息 |
| | | /// </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> |
| | |
| | | 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) |
| | | { |
| | |
| | | } |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | /// 移除场景成员信息反馈,网关反馈信息 |
| | | /// </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> |
| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | /// 修改场景名称 |
| | | /// </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> |
| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | /// 移除场景,网关反馈信息 |
| | | /// </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> |
| | |
| | | |
| | | 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) |
| | | { |
| | |
| | | |
| | | 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}"); |
| | | |
| | | } |
| | |
| | | /// 调用场景,网关反馈信息 |
| | | /// </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> |
| | |
| | | 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) |
| | | { |
| | |
| | | } |
| | | 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}"); |
| | | } |
| | | } |
| | |
| | | /// 查看正在延时的场景信息反馈,网关反馈信息 |
| | | /// </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> |