From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs | 183 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 183 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs new file mode 100755 index 0000000..666855b --- /dev/null +++ b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs @@ -0,0 +1,183 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Globalization; +using ZigBee.Device; +using static ZigBee.Device.Scene; + +namespace Shared.Common +{ + /// <summary> + /// 鍦烘櫙娣诲姞鎵ц鐩爣(璁惧銆佹椂闂撮棿闅斻�佸満鏅級 + /// </summary> + [System.Serializable] + public class SceneTargetDeviceUI + { + /// <summary> + /// 鍦烘櫙娣诲姞瀵硅薄鐨勭被鍨� 榛樿0璁惧 2鏃堕棿娈� 1鍏朵粬鍦烘櫙 + /// </summary> + public int Type = 0; + /// <summary> + /// 浠诲姟鍒楄〃涓殑鏁版嵁鍒楄〃 + /// Type=0 瀛樺湪 + /// </summary> + public List<Safeguard.TaskListInfo> TaskList = new List<Safeguard.TaskListInfo>(); + /// <summary> + /// 閫夋嫨鐨勮澶� + /// Type=0 瀛樺湪 + /// </summary> + public CommonDevice DeviceUI = new CommonDevice(); + + /// <summary> + /// Type=0銆�1銆�2 瀛樺湪 + /// 寤舵椂鏃堕棿 + /// </summary> + public int DelayTime = 0; + /// <summary> + /// 褰揟ype=2鏃跺瓨鍦� + /// 寤舵椂鎵ц搴忓彿锛岃〃绀虹鍑犱釜寤舵椂鍔ㄤ綔 + /// </summary> + public int DelayTimeSerialNumber = 0; + + /// <summary> + /// 閫夋嫨鐨勫満鏅� + /// Type=1 瀛樺湪 + /// </summary> + public SceneUI SceneUI = new SceneUI(); + /// <summary> + /// 浣滀负鎴愬憳鐨勫叾浠栧満鏅痠d銆� + /// Type=1 瀛樺湪 + /// </summary> + public int ElseScenesId = 0; + /// <summary> + /// 鍦烘櫙鍚嶇О + /// Type=1 瀛樺湪 + /// </summary> + public string SceneName = string.Empty; + /// <summary> + /// 鍞竴鏍囪瘑--HashCode + /// DateTime.Now.ToString("yyyyMMddHHmmss", DateTimeFormatInfo.InvariantInfo) + /// </summary> + public string SceneTargetDeviceUIID = Guid.NewGuid().ToString(); + + /// <summary> + /// GetDeviceStatu + /// </summary> + /// <returns></returns> + public string GetDeviceStatu() + { + if (DeviceUI.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.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.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.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.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