From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs |  122 +++++++++++++++++++++++++---------------
 1 files changed, 76 insertions(+), 46 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
index 6fbdb9e..c2b0eba 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
@@ -32,48 +32,6 @@
             }
         }
 
-        /// <summary>
-        /// 鎺у埗寤舵椂榛樿鍙嶉鐨勭嚎绋嬪垪琛�
-        /// </summary>
-        private List<System.Threading.Thread> ListThreads = new List<System.Threading.Thread> { };
-
-        #endregion
-
-        #region 鈻� 鍙戦�佹帶鍒跺懡浠ゅ欢鏃跺弽棣坃______________
-
-        /// <summary>
-        /// 鍙戦�佹帶鍒跺懡浠ゅ欢鏃跺弽棣�
-        /// </summary>
-        /// <param name="commonDevice">Common device.</param>
-        /// <param name="action">Action.</param>
-        /// <param name="delayTime">Delay time.</param>
-        public void SendCommandDelayAction(CommonDevice commonDevice, Action action, int delayTime = 3)
-        {
-            var threadName = commonDevice.GetHashCode().ToString();
-            if (ListThreads.Find((obj) => obj.Name == threadName) == null)
-            {
-                var thread = new System.Threading.Thread(() =>
-                {
-                    var dateTime = DateTime.Now;
-                    while ((DateTime.Now - dateTime).TotalSeconds < delayTime)
-                    {
-                        System.Threading.Thread.Sleep(100);
-                    }
-                    lock (ListThreads)
-                    {
-                        ListThreads.RemoveAll((obj) => obj.Name == threadName);
-                    }
-                    action?.Invoke();
-                })
-                { IsBackground = true, Name = threadName };
-                lock (ListThreads)
-                {
-                    ListThreads.Add(thread);
-                }
-                thread.Start();
-            }
-        }
-
         #endregion
 
         #region 鈻� 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀篲________
@@ -135,11 +93,24 @@
                 {
                     return Language.StringByID(R.MyInternationalizationString.uOffLine);
                 }
-                if ((device as DimmableLight).OnOffStatus == 0 || (device as DimmableLight).Level == 0)
+                if ((device as DimmableLight).OnOffStatus == 0)
                 {
                     return Language.StringByID(R.MyInternationalizationString.Close);
                 }
                 return $"{(int)((device as DimmableLight).Level * 1.0 / 254 * 100)}%";
+            }
+            else if (device.Type == DeviceType.ColorTemperatureLight)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                if ((device as ColorTemperatureLight).OnOffStatus == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Close);
+                }
+                return $"{(int)((device as ColorTemperatureLight).Level * 1.0 / 254 * 100)}%";
             }
             else if (device.Type == DeviceType.WindowCoveringDevice)
             {
@@ -182,6 +153,57 @@
                     wind = Language.StringByID(R.MyInternationalizationString.Fan_Height);
                 }
                 return $"{wind}";
+            }
+            else if (device.Type == DeviceType.PMSensor)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                //绌烘皵璐ㄩ噺
+                string curQuality = "";
+                //娓╁害
+                string temperature = string.Empty;
+                //婀垮害
+                string humidity = string.Empty;
+                //PM2.5
+                string pm = string.Empty;
+                var pMSensor = device as PMSensor;
+                if (pMSensor.currentPmData <= 35 && pMSensor.currentPmData >= 0)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                }
+                else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                }
+                else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                }
+                else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                }
+                else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                }
+                else if (pMSensor.currentPmData > 250)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                }
+                else
+                {
+                    curQuality = "--";
+                }
+
+                humidity = $"{pMSensor.currentHumidity}%";
+                temperature = $"{pMSensor.currentTemperature}鈩�";
+                pm = $"{pMSensor.currentPmData}渭g/m鲁";
+                return $"{curQuality},{pm},{temperature},{humidity}";
+
             }
             else if (device.Type == DeviceType.Thermostat)
             {
@@ -282,9 +304,9 @@
                     //鐕冩皵
                     if (ias.iASInfo?.Alarm1 == 1)
                     {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
+                        return Language.StringByID(R.MyInternationalizationString.uGasLeakage);
                     }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
                 }
                 else if (info.ConcreteType == DeviceConcreteType.Sensor_Fire)
                 {
@@ -331,7 +353,15 @@
                     }
                     return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
                 }
-                return null;
+                else
+                {
+                    //鍏朵粬浼犳劅鍣�
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
+                }
             }
             else if (device.Type == DeviceType.TemperatureSensor)
             {

--
Gitblit v1.8.0