From f6b3446e3a4afc0f65814be87aaa0f5ea0c62d69 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期一, 28 十月 2019 10:50:30 +0800 Subject: [PATCH] 2019.10.28 --- ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs | 139 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 134 insertions(+), 5 deletions(-) diff --git a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs index 0f3e214..15f262f 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,24 +25,31 @@ /// 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> @@ -56,5 +63,127 @@ return GetHashCode().ToString(); } } + + /// <summary> + /// GetDeviceStatu + /// </summary> + /// <returns></returns> + public string GetDeviceStatu() + { + if (DeviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) + { + 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 == 0) + { + return Language.StringByID(R.MyInternationalizationString.Shut); + } + return $"{TaskList[0].Data1}%"; + } + 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} 鈩�"; + } + 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