| | |
| | | { |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public DateTime LastDateTime = DateTime.MinValue; |
| | | /// <summary>
|
| | | /// 是否已经读取了设备状态(此属性是给主页使用的)
|
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public bool HadReadDeviceStatu = false; |
| | | |
| | | /// <summary> |
| | | /// 调试时打开打印信息,true:打印,false:不打印 |
| | |
| | | |
| | | if (topic == gatewayID + "/" + "DeviceRenameRespon") |
| | | { |
| | | var deviceID = jobject.Value<int>("Device_ID"); |
| | | switch ((DeviceType)(deviceID)) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | var toggleLight = new ToggleLight() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | toggleLight.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<ToggleLight.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (toggleLight.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = toggleLight.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var infoToggleLight = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == toggleLight.DeviceID && obj.DeviceAddr == toggleLight.DeviceAddr && obj.DeviceEpoint == toggleLight.DeviceEpoint); |
| | | if (infoToggleLight != null) |
| | | { |
| | | infoToggleLight.DeviceEpointName = toggleLight.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.AirSwitch: |
| | | var airSwitch = new AirSwitch() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | airSwitch.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<AirSwitch.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (airSwitch.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = airSwitch.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var infoAirSwitch = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == airSwitch.DeviceID && obj.DeviceAddr == airSwitch.DeviceAddr && obj.DeviceEpoint == airSwitch.DeviceEpoint); |
| | | if (infoAirSwitch != null) |
| | | { |
| | | infoAirSwitch.DeviceEpointName = airSwitch.renameDeviceData.DeviceName; |
| | | //infoAirSwitch.ReSave(); |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.OnOffSwitch: |
| | | var panelObj = new Panel() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | panelObj.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<Panel.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | if (panelObj.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = panelObj.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var infoPanel = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == panelObj.DeviceID && obj.DeviceAddr == panelObj.DeviceAddr && obj.DeviceEpoint == panelObj.DeviceEpoint); |
| | | if (infoPanel != null) |
| | | { |
| | | infoPanel.DeviceEpointName = panelObj.renameDeviceData.DeviceName; |
| | | //infoPanel.ReSave(); |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.WindowCoveringDevice: |
| | | var windowCovering = new Rollershade() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | windowCovering.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<Rollershade.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | if (windowCovering.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = windowCovering.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{topic}"); |
| | | var wc = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == windowCovering.DeviceID && obj.DeviceAddr == windowCovering.DeviceAddr && obj.DeviceEpoint == windowCovering.DeviceEpoint); |
| | | if (wc != null) |
| | | { |
| | | wc.DeviceEpointName = windowCovering.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | |
| | | break; |
| | | case DeviceType.IASZone: |
| | | var ias = new IASZone() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | ias.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<Rollershade.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | if (ias.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = ias.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{topic}"); |
| | | |
| | | var zone = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == ias.DeviceID && obj.DeviceAddr == ias.DeviceAddr && obj.DeviceEpoint == ias.DeviceEpoint); |
| | | if (zone != null) |
| | | { |
| | | zone.DeviceEpointName = ias.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.DimmableLight: |
| | | var dimmableLight = new DimmableLight() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | dimmableLight.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<DimmableLight.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (dimmableLight.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = dimmableLight.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == dimmableLight.DeviceID && obj.DeviceAddr == dimmableLight.DeviceAddr && obj.DeviceEpoint == dimmableLight.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | info.DeviceEpointName = dimmableLight.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.Repeater: |
| | | var repeater = new Repeater() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | repeater.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<Repeater.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | |
| | | if (repeater.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = repeater.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == repeater.DeviceID && obj.DeviceAddr == repeater.DeviceAddr && obj.DeviceEpoint == repeater.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | info.DeviceEpointName = repeater.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.Thermostat: |
| | | var ac = new AC() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | ac.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<AC.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | if (ac.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = ac.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == ac.DeviceID && obj.DeviceAddr == ac.DeviceAddr && obj.DeviceEpoint == ac.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | info.DeviceEpointName = ac.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.Transverter: |
| | | var transverter = new Transverter() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | transverter.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<Transverter.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | if (transverter.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = transverter.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == transverter.DeviceID && obj.DeviceAddr == transverter.DeviceAddr && obj.DeviceEpoint == transverter.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | info.DeviceEpointName = transverter.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.DoorLock: |
| | | var doorLock = new DoorLock() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.CurrentGateWayId }; |
| | | doorLock.renameDeviceData = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLock.DeviceRenameResponseData>(jobject["Data"].ToString()); |
| | | if (doorLock.renameDeviceData == null) |
| | | { |
| | | d = new DeviceRenameAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | { |
| | | d = new DeviceRenameAllData { deviceRenameData = doorLock.renameDeviceData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == doorLock.DeviceID && obj.DeviceAddr == doorLock.DeviceAddr && obj.DeviceEpoint == doorLock.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | info.DeviceEpointName = doorLock.renameDeviceData.DeviceName; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | var receiptData = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceRenameResponseData>(jobject["Data"].ToString());
|
| | | d = new DeviceRenameAllData { deviceRenameData = receiptData }; |
| | | } |
| | | }; |
| | | Gateway.Actions += action; |
| | |
| | | { |
| | | d = new RemoveDeviceResponseAllData { removeDeviceResponseData = gatewayTemp.removeDeviceResponseData }; |
| | | System.Console.WriteLine($"UI收到通知后的主题_{ topic}"); |
| | | try |
| | | { |
| | | if (gatewayTemp.removeDeviceResponseData.Result == 0) |
| | | { |
| | | foreach (var delD in gatewayTemp.removeDeviceResponseData.DeviceList) |
| | | { |
| | | var deviceID = delD.Device_ID; |
| | | switch ((DeviceType)(deviceID)) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | var toggleLight = new ToggleLight() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | toggleLight.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ToggleLight.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (toggleLight.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (toggleLight.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var infoToggleLight = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == toggleLight.DeviceID && obj.DeviceAddr == toggleLight.DeviceAddr && obj.DeviceEpoint == toggleLight.DeviceEpoint); |
| | | if (infoToggleLight != null) |
| | | { |
| | | Gateway.DeviceList.Remove(infoToggleLight); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.AirSwitch: |
| | | var airSwitch = new AirSwitch() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | airSwitch.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<AirSwitch.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (airSwitch.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (airSwitch.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var infoAirSwitch = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == airSwitch.DeviceID && obj.DeviceAddr == airSwitch.DeviceAddr && obj.DeviceEpoint == airSwitch.DeviceEpoint); |
| | | if (infoAirSwitch != null) |
| | | { |
| | | Gateway.DeviceList.Remove(infoAirSwitch); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.OnOffSwitch: |
| | | var panelObj = new Panel() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | panelObj.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<Panel.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (panelObj.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (panelObj.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var infoPanel = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == panelObj.DeviceID && obj.DeviceAddr == panelObj.DeviceAddr && obj.DeviceEpoint == panelObj.DeviceEpoint); |
| | | if (infoPanel != null) |
| | | { |
| | | Gateway.DeviceList.Remove(infoPanel); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.WindowCoveringDevice: |
| | | var rollershade = new Rollershade() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | rollershade.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<Panel.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (rollershade.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (rollershade.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var infoRoller = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == rollershade.DeviceID && obj.DeviceAddr == rollershade.DeviceAddr && obj.DeviceEpoint == rollershade.DeviceEpoint); |
| | | if (infoRoller != null) |
| | | { |
| | | Gateway.DeviceList.Remove(infoRoller); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.IASZone: |
| | | var ias = new IASZone() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | ias.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<IASZone.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (ias.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (ias.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == ias.DeviceID && obj.DeviceAddr == ias.DeviceAddr && obj.DeviceEpoint == ias.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | Gateway.DeviceList.Remove(info); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.DimmableLight: |
| | | var dimmableLight = new DimmableLight() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | dimmableLight.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<DimmableLight.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (dimmableLight.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (dimmableLight.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == dimmableLight.DeviceID && obj.DeviceAddr == dimmableLight.DeviceAddr && obj.DeviceEpoint == dimmableLight.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | Gateway.DeviceList.Remove(info); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.Repeater: |
| | | var repeater = new Repeater() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | repeater.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<Repeater.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (repeater.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (repeater.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == repeater.DeviceID && obj.DeviceAddr == repeater.DeviceAddr && obj.DeviceEpoint == repeater.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | Gateway.DeviceList.Remove(info); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.Thermostat: |
| | | var ac = new AC() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | ac.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<AC.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (ac.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (ac.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == ac.DeviceID && obj.DeviceAddr == ac.DeviceAddr && obj.DeviceEpoint == ac.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | Gateway.DeviceList.Remove(info); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.Transverter: |
| | | var transverter = new Transverter() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | transverter.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<Transverter.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (transverter.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (transverter.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == transverter.DeviceID && obj.DeviceAddr == transverter.DeviceAddr && obj.DeviceEpoint == transverter.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | Gateway.DeviceList.Remove(info); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.DoorLock: |
| | | var doorLock = new DoorLock() { DeviceAddr = jobject.Value<string>("DeviceAddr"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID }; |
| | | doorLock.removeDeviceResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLock.RemoveDeviceResponseData>(jobject["Data"].ToString()); |
| | | if (doorLock.removeDeviceResponseData == null) |
| | | { |
| | | return; |
| | | } |
| | | else |
| | | { |
| | | if (doorLock.removeDeviceResponseData.Result == 0) |
| | | { |
| | | var info = Gateway.DeviceList.Find((CommonDevice obj) => obj.DeviceID == doorLock.DeviceID && obj.DeviceAddr == doorLock.DeviceAddr && obj.DeviceEpoint == doorLock.DeviceEpoint); |
| | | if (info != null) |
| | | { |
| | | Gateway.DeviceList.Remove(info); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | } |
| | | }; |