From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 28 二月 2020 15:25:13 +0800 Subject: [PATCH] 2020.2.28 --- ZigbeeApp/Shared/Common/DeviceUI.cs | 166 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 145 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..88c0ada --- 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; @@ -326,6 +339,10 @@ { return Language.StringByID(R.MyInternationalizationString.UnallocatedArea); } + if(string.IsNullOrEmpty(room.FloorId)) + { + return room.Name; + } var floorName = Config.Instance.Home.GetFloorNameById(room.FloorId); if (floorName == null) { @@ -342,39 +359,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 +447,116 @@ { 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 if (device.Type == DeviceType.TemperatureSensor) + { + var tempera = CommonDevice as TemperatureSensor; + if(tempera.SensorDiv==1) + { + if (tempera.Temperatrue == 0) + { + return "--鈩�"; + } + return $"{tempera.Temperatrue}鈩�"; + } + else if(tempera.SensorDiv==2) + { + if (tempera.Humidity == 0) + { + return "--%"; + } + return $"{tempera.Humidity}%"; + } + return null; } else { -- Gitblit v1.8.0