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 |  157 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 135 insertions(+), 22 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs
index 06a88f2..f9dddbd 100644
--- a/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs
+++ b/ZigbeeApp/Shared/Common/SceneTargetDeviceUI.cs
@@ -12,6 +12,10 @@
     public class SceneTargetDeviceUI
     {
         /// <summary>
+        /// 鍦烘櫙娣诲姞瀵硅薄鐨勭被鍨� 榛樿0璁惧 2鏃堕棿娈�  1鍏朵粬鍦烘櫙
+        /// </summary>
+        public int Type = 0;
+        /// <summary>
         /// 浠诲姟鍒楄〃涓殑鏁版嵁鍒楄〃
         /// Type=0 瀛樺湪
         /// </summary>
@@ -21,49 +25,158 @@
         /// Type=0 瀛樺湪
         /// </summary>
         public DeviceUI DeviceUI = new DeviceUI();
+
         /// <summary>
-        /// 閫夋嫨鐨勫満鏅�
-        /// Type=2 瀛樺湪
-        /// </summary>
-        public SceneUI SceneUI = new SceneUI();
-        /// <summary>
+        /// Type=0銆�1銆�2 瀛樺湪
         /// 寤舵椂鏃堕棿
-        /// Type=1 瀛樺湪
         /// </summary>
         public int DelayTime = 0;
         /// <summary>
-        /// 鍦烘櫙娣诲姞瀵硅薄鐨勭被鍨� 榛樿0璁惧 1鏃堕棿娈�  2鍦烘櫙
+        /// 褰揟ype=2鏃跺瓨鍦�
+        /// 寤舵椂鎵ц搴忓彿锛岃〃绀虹鍑犱釜寤舵椂鍔ㄤ綔
         /// </summary>
-        public int Type = 0;
+        public int DelayTimeSerialNumber = 0;
+
+        /// <summary>
+        /// 閫夋嫨鐨勫満鏅�
+        /// 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;
             }
         }
-
-        //public string TargetHasd
-        //{
-        //    get
-        //    {
-        //        return GetHashCode().ToString();
-        //    }
-        //}
-
     }
 }

--
Gitblit v1.8.0