From f71e74b5f0d2716fbf05da016cdaa18d64e09f80 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 31 十二月 2020 17:01:18 +0800
Subject: [PATCH] 又换完成最新门锁。空气质量传感器完成数据和基本配置功能。开发图表和自动化的同事可下载此代码

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs |  139 ++++++++++++++++++++++++++++++---------------
 1 files changed, 92 insertions(+), 47 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
index 77d26e1..56e2cd9 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
@@ -1,25 +1,25 @@
-锘縰sing Shared.Common;
-using System;
-using System.Collections.Generic;
-using System.Text;
-using ZigBee.Device;
-
-namespace Shared.Phone.UserCenter
+锘縰sing Shared.Common;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter
 {
-  /// <summary>
-  /// 璁惧鐨勫叾浠栭�昏緫(鐩墠鐢ㄦ潵瀛樻斁閮洩鍩庣殑浠g爜)
-  /// </summary>
+  /// <summary>
+  /// 璁惧鐨勫叾浠栭�昏緫(鐩墠鐢ㄦ潵瀛樻斁閮洩鍩庣殑浠g爜)
+  /// </summary>
   public class HdlDeviceOtherLogic
   {
-    #region 鈻� 鍙橀噺澹版槑___________________________
+    #region 鈻� 鍙橀噺澹版槑___________________________
 
-    /// <summary>
-    /// 璁惧鐨勫叾浠栭�昏緫
-    /// </summary>
+    /// <summary>
+    /// 璁惧鐨勫叾浠栭�昏緫
+    /// </summary>
     private static HdlDeviceOtherLogic m_Current = null;
-    /// <summary>
-    /// 璁惧鐨勫叾浠栭�昏緫
-    /// </summary>
+    /// <summary>
+    /// 璁惧鐨勫叾浠栭�昏緫
+    /// </summary>
     public static HdlDeviceOtherLogic Current
     {
       get
@@ -32,14 +32,14 @@
       }
     }
 
-    #endregion
+    #endregion
 
-    #region 鈻� 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀篲________
+    #region 鈻� 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀篲________
 
-    /// <summary>
-    /// 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀�
-    /// </summary>
-    /// <param name="r">The red component.</param>
+    /// <summary>
+    /// 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀�
+    /// </summary>
+    /// <param name="r">The red component.</param>
     public void ShowStatuTip(int r)
     {
       Application.RunOnMainThread(() =>
@@ -50,14 +50,14 @@
       });
     }
 
-    #endregion
+    #endregion
 
-    #region 鈻� 鑾峰彇璁惧鐘舵�佺殑缈昏瘧_________________
+    #region 鈻� 鑾峰彇璁惧鐘舵�佺殑缈昏瘧_________________
 
-    /// <summary>
-    /// GetDeviceStatu
-    /// </summary>
-    /// <returns></returns>
+    /// <summary>
+    /// GetDeviceStatu
+    /// </summary>
+    /// <returns></returns>
     public string GetDeviceStatu(CommonDevice device)
     {
       if (device.Type == DeviceType.OnOffOutput)
@@ -73,7 +73,6 @@
         }
         return Language.StringByID(R.MyInternationalizationString.Close);
       }
-
       else if (device.Type == DeviceType.AirSwitch)
       {
         //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
@@ -172,23 +171,23 @@
         }
         else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35)
         {
-          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+          curQuality = Language.StringByID(R.MyInternationalizationString.GoodAirQuality);
         }
         else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75)
         {
-          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+          curQuality = Language.StringByID(R.MyInternationalizationString.LightPollution);
         }
         else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115)
         {
-          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+          curQuality = Language.StringByID(R.MyInternationalizationString.Moderatelyolluted);
         }
         else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150)
         {
-          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+          curQuality = Language.StringByID(R.MyInternationalizationString.HeavyPollution);
         }
         else if (pMSensor.currentPmData > 250)
         {
-          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+          curQuality = Language.StringByID(R.MyInternationalizationString.SeriousPollution);
         }
         else
         {
@@ -393,29 +392,75 @@
       else if (device.Type == DeviceType.TemperatureSensor)
       {
         var tempera = device as TemperatureSensor;
-        if (tempera.SensorDiv == 1)
+
+        //绌烘皵璐ㄩ噺浼犳劅鍣� 
+        //鑾峰彇璁惧绫诲瀷
+        var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+        //绌烘皵璐ㄩ噺浼犳劅鍣�
+        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
         {
-          if (tempera.currentTemperature == 0)
+          //绌烘皵璐ㄩ噺
+          string curQuality = "";
+          //娓╁害
+          string temperature = string.Empty;
+          //婀垮害
+          string humidity = string.Empty;
+          //PM2.5
+          string pm = string.Empty;
+          //CO2
+          string co2 = string.Empty;
+
+          var tempAirQuality = tempera.AirQuality(tempera);
+
+          if (tempAirQuality == 1)
           {
-            return "0.0鈩�";
+            curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
           }
-          return $"{tempera.currentTemperature}鈩�";
+          else if (tempAirQuality == 2)
+          {
+            curQuality = Language.StringByID(R.MyInternationalizationString.GoodAirQuality);
+          }
+          else if (tempAirQuality == 3)
+          {
+            curQuality = Language.StringByID(R.MyInternationalizationString.Pollution);
+          }
+          else
+          {
+            curQuality = "";
+          }
+
+          humidity = $"{tempera.currentHumidity}%";
+          temperature = $"{tempera.currentTemperature}鈩�";
+          pm = $"{tempera.currentPmData}渭g/m鲁";
+          co2 = $"{tempera.currentCO2}ppm";
+          return $"{curQuality},{pm},{co2},{temperature},{humidity}";
         }
-        else if (tempera.SensorDiv == 2)
+        else
         {
-          if (tempera.currentHumidity == 0)
+          if (tempera.SensorDiv == 1)
           {
-            return "--%";
+            if (tempera.currentTemperature == 0)
+            {
+              return "0.0鈩�";
+            }
+            return $"{tempera.currentTemperature}鈩�";
           }
-          return $"{tempera.currentHumidity}%";
+          else if (tempera.SensorDiv == 2)
+          {
+            if (tempera.currentHumidity == 0)
+            {
+              return "--%";
+            }
+            return $"{tempera.currentHumidity}%";
+          }
+          return null;
         }
-        return null;
       }
       else
       {
         return null;
       }
     }
-    #endregion
-  }
-}
+    #endregion
+  }
+}

--
Gitblit v1.8.0