From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期三, 25 十二月 2019 11:21:06 +0800 Subject: [PATCH] 2019.12.25 --- ZigbeeApp/Shared/Common/DeviceUI.cs | 140 +++++++++++++++++++++++++++++++++++++++------- 1 files changed, 119 insertions(+), 21 deletions(-) diff --git a/ZigbeeApp/Shared/Common/DeviceUI.cs b/ZigbeeApp/Shared/Common/DeviceUI.cs old mode 100755 new mode 100644 index fa24c33..d1d9629 --- a/ZigbeeApp/Shared/Common/DeviceUI.cs +++ b/ZigbeeApp/Shared/Common/DeviceUI.cs @@ -178,38 +178,42 @@ { case DeviceType.OnOffSwitch: //鎺у埗闈㈡澘 - ImagePath= "Device/DryContact.png"; + ImagePath = "Device/DryContact.png"; break; case DeviceType.OnOffOutput: //缁х數鍣� - ImagePath= "Device/Relay.png"; + ImagePath = "Device/Relay.png"; break; case DeviceType.DimmableLight: //璋冨厜鐏� - ImagePath= "Device/DimmableLight.png"; + ImagePath = "Device/DimmableLight.png"; break; case DeviceType.WindowCoveringDevice: //绐楀笜 - ImagePath= "Device/Curtain.png"; + ImagePath = "Device/Curtain.png"; break; case DeviceType.Thermostat: //绌鸿皟 - ImagePath= "Device/AirConditioner.png"; + ImagePath = "Device/AirConditioner.png"; break; case DeviceType.IASZone: //浼犳劅鍣� - ImagePath= "Device/Sensor.png"; + ImagePath = "Device/Sensor.png"; break; case DeviceType.AirSwitch: //绌烘皵寮�鍏� - ImagePath= "Device/AirSwitch.png"; + ImagePath = "Device/AirSwitch.png"; break; case DeviceType.Repeater: //涓户鍣� ImagePath = "Device/AirSwitch.png"; break; + case DeviceType.TemperatureSensor: + //娓╂箍搴︿紶鎰熷櫒 + ImagePath = "Device/Sensor.png"; + break; default: - ImagePath= "Device/Relay.png"; + ImagePath = "Device/Relay.png"; break; } return ImagePath; @@ -304,6 +308,15 @@ //涓户鍣� deviceTypeR = R.MyInternationalizationString.Repeater; break; + case DeviceType.DoorLock: + //闂ㄩ攣 + deviceTypeR = R.MyInternationalizationString.DoorLock; + break; + + case DeviceType.TemperatureSensor: + //娓╁害浼犳劅鍣� + deviceTypeR = R.MyInternationalizationString.TemperatureAndHumiditySensor; + break; default: deviceTypeR = R.MyInternationalizationString.UnknowDevice; break; @@ -342,39 +355,40 @@ /// <returns></returns> public string GetDeviceStatu() { - if (CommonDevice.Type == DeviceType.OnOffOutput) + var device = CommonDevice; + if (device.Type == DeviceType.OnOffOutput) { - if ((CommonDevice as ToggleLight).OnOffStatus == 1) + if ((device as ToggleLight).OnOffStatus == 1) { return Language.StringByID(R.MyInternationalizationString.Open); } return Language.StringByID(R.MyInternationalizationString.Shut); } - else if (CommonDevice.Type == DeviceType.AirSwitch) + else if (device.Type == DeviceType.AirSwitch) { - if ((CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1) + if ((device as ZigBee.Device.AirSwitch).OnOffStatus == 1) { return Language.StringByID(R.MyInternationalizationString.Open); } return Language.StringByID(R.MyInternationalizationString.Shut); } - else if (CommonDevice.Type == DeviceType.DimmableLight) + else if (device.Type == DeviceType.DimmableLight) { - if ((CommonDevice as DimmableLight).OnOffStatus == 0 || (CommonDevice as DimmableLight).Level == 0) + if ((device as DimmableLight).OnOffStatus == 0 || (device as DimmableLight).Level == 0) { return Language.StringByID(R.MyInternationalizationString.Shut); } - return $"{(int)((CommonDevice as DimmableLight).Level * 1.0 / 254 * 100)}%"; + return $"{(int)((device as DimmableLight).Level * 1.0 / 254 * 100)}%"; } - else if (CommonDevice.Type == DeviceType.WindowCoveringDevice) + else if (device.Type == DeviceType.WindowCoveringDevice) { - if ((CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage == 0) + if ((device as Rollershade).WcdCurrentPositionLiftPercentage == 0) { return Language.StringByID(R.MyInternationalizationString.Shut); } - return $"{(CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage}%"; + return $"{(device as Rollershade).WcdCurrentPositionLiftPercentage}%"; } - else if (CommonDevice.Type == DeviceType.Thermostat) + else if (device.Type == DeviceType.Thermostat) { //娓╁害锛屾ā寮忥紝椋庨�� string tempareture = string.Empty; @@ -429,10 +443,94 @@ { return $"{model},{wind}"; } - else + return $"{model},{wind},{tempareture}"; + } + else if (device.Type == DeviceType.IASZone) + { + var ias = CommonDevice as IASZone; + var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device },false); + if (info.ConcreteType == DeviceConcreteType.Sensor_Infrared) { - return $"{model},{wind},{tempareture}"; + //绾㈠ + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson); } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Water) + { + //姘存蹈 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HaveWater); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_DoorWindow) + { + //闂ㄧ獥 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Open); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Close); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_CarbonMonoxide) + { + //鐕冩皵 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Fire) + { + //鐑熼浘 + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Pir) + { + //pir + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Keyfob) + { + //閽ュ寵鎵� + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_Motion) + { + //杩愬姩浼犳劅鍣� + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + else if (info.ConcreteType == DeviceConcreteType.Sensor_EmergencyButton) + { + //绱ф�ユ寜閽� + if (ias.iASInfo?.Alarm1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm); + } + return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal); + } + return null; } else { -- Gitblit v1.8.0