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