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/SceneTargetDeviceUI.cs | 138 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 130 insertions(+), 8 deletions(-) diff --git a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs index 0f3e214..f9dddbd 100644 --- a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs +++ b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs @@ -12,7 +12,7 @@ public class SceneTargetDeviceUI { /// <summary> - /// 鍦烘櫙娣诲姞瀵硅薄鐨勭被鍨� 榛樿0璁惧 1鏃堕棿娈� 2鍦烘櫙 + /// 鍦烘櫙娣诲姞瀵硅薄鐨勭被鍨� 榛樿0璁惧 2鏃堕棿娈� 1鍏朵粬鍦烘櫙 /// </summary> public int Type = 0; /// <summary> @@ -25,35 +25,157 @@ /// Type=0 瀛樺湪 /// </summary> public DeviceUI DeviceUI = new DeviceUI(); + /// <summary> + /// Type=0銆�1銆�2 瀛樺湪 /// 寤舵椂鏃堕棿 - /// Type=1 瀛樺湪 /// </summary> public int DelayTime = 0; /// <summary> + /// 褰揟ype=2鏃跺瓨鍦� + /// 寤舵椂鎵ц搴忓彿锛岃〃绀虹鍑犱釜寤舵椂鍔ㄤ綔 + /// </summary> + public int DelayTimeSerialNumber = 0; + + /// <summary> /// 閫夋嫨鐨勫満鏅� - /// Type=2 瀛樺湪 + /// Type=1 瀛樺湪 /// </summary> public SceneUI SceneUI = new SceneUI(); /// <summary> /// 浣滀负鎴愬憳鐨勫叾浠栧満鏅痠d銆� - /// Type=2 瀛樺湪 + /// Type=1 瀛樺湪 /// </summary> public int ElseScenesId = 0; /// <summary> /// 鍦烘櫙鍚嶇О - /// Type=2 瀛樺湪 + /// Type=1 瀛樺湪 /// </summary> public string SceneName = string.Empty; /// <summary> /// 鍞竴鏍囪瘑--HashCode /// DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo) /// </summary> - public string SceneTargetDeviceUIID + public string SceneTargetDeviceUIID = Guid.NewGuid().ToString(); + + /// <summary> + /// GetDeviceStatu + /// </summary> + /// <returns></returns> + public string GetDeviceStatu() { - get + if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) { - return GetHashCode().ToString(); + if (TaskList.Count == 0) + { + return null; + } + if (TaskList[0].Data1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.Open); + } + return Language.StringByID(R.MyInternationalizationString.Shut); + } + else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) + { + if (TaskList.Count == 0) + { + return null; + } + if (TaskList[0].Data1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.Open); + } + return Language.StringByID(R.MyInternationalizationString.Shut); + } + else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) + { + if (TaskList.Count == 0) + { + return null; + } + if (TaskList[0].Data1 == 0) + { + return Language.StringByID(R.MyInternationalizationString.Shut); + } + return $"{(int)(TaskList[0].Data1 * 1.0 / 254 * 100)}%"; + } + else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) + { + if (TaskList.Count == 0) + { + return null; + } + if (TaskList[0].Data1 == 1) + { + return Language.StringByID(R.MyInternationalizationString.Shut); + } + return $"{TaskList[0].Data2}%"; + } + else if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) + { + //娓╁害锛屾ā寮忥紝椋庨�� + string tempareture = string.Empty; + string model = string.Empty; + string wind = string.Empty; + if (TaskList.Count == 0) + { + return null; + } + foreach(var taskListInfo in TaskList) + { + if(taskListInfo.Data1==3) + { + if(taskListInfo.Data2==0) + { + return Language.StringByID(R.MyInternationalizationString.Shut); + } + else if(taskListInfo.Data2==1) + { + model = Language.StringByID(R.MyInternationalizationString.Mode_Auto); + } + else if(taskListInfo.Data2==3) + { + model = Language.StringByID(R.MyInternationalizationString.Mode_Cool); + } + else if (taskListInfo.Data2 == 4) + { + model = Language.StringByID(R.MyInternationalizationString.Mode_Heat); + } + else if (taskListInfo.Data2 == 7) + { + model = Language.StringByID(R.MyInternationalizationString.Mode_FanOnly); + } + else if (taskListInfo.Data2 == 8) + { + model = Language.StringByID(R.MyInternationalizationString.Mode_Dry); + } + } + else if(taskListInfo.Data1==4 || taskListInfo.Data1==5) + { + tempareture = $"{ taskListInfo.Data2/100} 鈩�"; + } + else if (taskListInfo.Data1 == 6) + { + if (taskListInfo.Data2 == 1) + { + wind = Language.StringByID(R.MyInternationalizationString.Fan_Low); + } + else if(taskListInfo.Data2 ==2) + { + wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle); + } + else if (taskListInfo.Data2 == 3) + { + wind = Language.StringByID(R.MyInternationalizationString.Fan_Height); + } + } + } + return $"{tempareture},{model},{wind}"; + } + else + { + return null; } } } -- Gitblit v1.8.0