From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs |  864 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 466 insertions(+), 398 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
old mode 100755
new mode 100644
index 7ee279d..cd21d5b
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
@@ -1,398 +1,466 @@
-锘縰sing Shared.Common;
-using System;
-using System.Collections.Generic;
-using System.Text;
-using ZigBee.Device;
-
-namespace Shared.Phone.UserCenter
-{
-    /// <summary>
-    /// 璁惧鐨勫叾浠栭�昏緫(鐩墠鐢ㄦ潵瀛樻斁閮洩鍩庣殑浠g爜)
-    /// </summary>
-    public class HdlDeviceOtherLogic
-    {
-        #region 鈻� 鍙橀噺澹版槑___________________________
-
-        /// <summary>
-        /// 璁惧鐨勫叾浠栭�昏緫
-        /// </summary>
-        private static HdlDeviceOtherLogic m_Current = null;
-        /// <summary>
-        /// 璁惧鐨勫叾浠栭�昏緫
-        /// </summary>
-        public static HdlDeviceOtherLogic Current
-        {
-            get
-            {
-                if (m_Current == null)
-                {
-                    m_Current = new HdlDeviceOtherLogic();
-                }
-                return m_Current;
-            }
-        }
-
-        #endregion
-
-        #region 鈻� 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀篲________
-
-        /// <summary>
-        /// 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀�
-        /// </summary>
-        /// <param name="r">The red component.</param>
-        public void ShowStatuTip(int r)
-        {
-            Application.RunOnMainThread(() =>
-            {
-                string msg = Language.StringByID(r);
-                var tip = new ShowMsgControl(ShowMsgType.Tip, msg);
-                tip.Show();
-            });
-        }
-
-        #endregion
-
-        #region 鈻� 鑾峰彇璁惧鐘舵�佺殑缈昏瘧_________________
-
-        /// <summary>
-        /// GetDeviceStatu
-        /// </summary>
-        /// <returns></returns>
-        public string GetDeviceStatu(CommonDevice device)
-        {
-            if (device.Type == DeviceType.OnOffOutput)
-            {
-                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
-                if (device.HadReadDeviceStatu == false)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
-                }
-                if ((device as ToggleLight).OnOffStatus == 1)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOpen1);
-                }
-                return Language.StringByID(R.MyInternationalizationString.Close);
-            }
-            else if (device.Type == DeviceType.AirSwitch)
-            {
-                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
-                if (device.HadReadDeviceStatu == false)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
-                }
-                if ((device as AirSwitch).OnOffStatus == 1)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOpen1);
-                }
-                return Language.StringByID(R.MyInternationalizationString.Close);
-            }
-            else if (device.Type == DeviceType.DimmableLight)
-            {
-                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
-                if (device.HadReadDeviceStatu == false)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
-                }
-                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)
-            {
-                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
-                if (device.HadReadDeviceStatu == false)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
-                }
-                if ((device as Rollershade).WcdCurrentPositionLiftPercentage == 0)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.Close);
-                }
-                return $"{(device as Rollershade).WcdCurrentPositionLiftPercentage}%";
-            }
-            else if (device.Type == DeviceType.FreshAir)
-            {
-                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
-                if (device.HadReadDeviceStatu == false)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
-                }
-
-                //妯″紡
-                string wind = string.Empty;
-                var freshAir = device as FreshAir;
-                if (freshAir.currentFanStatus == 0)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.Close);
-                }
-                if (freshAir.currentFanSpeed == 1)
-                {
-                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Low);
-                }
-                else if (freshAir.currentFanSpeed == 2)
-                {
-                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle);
-                }
-                else if (freshAir.currentFanSpeed == 3)
-                {
-                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Height);
-                }
-                return $"{wind}";
-            }
-            else if (device.Type == DeviceType.PMSensor)
-            {
-                //绌烘皵璐ㄩ噺
-                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)
-            {
-                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
-                if (device.HadReadDeviceStatu == false)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
-                }
-                //娓╁害锛屾ā寮忥紝椋庨��
-                string tempareture = string.Empty;
-                string model = string.Empty;
-                string wind = string.Empty;
-
-                var ac = device as AC;
-
-                if (ac.currentSystemMode == 0)
-                {
-                    return Language.StringByID(R.MyInternationalizationString.Close);
-                }
-                else if (ac.currentSystemMode == 1)
-                {
-                    model = Language.StringByID(R.MyInternationalizationString.Mode_Auto);
-                    tempareture = $"{ac.currentAutoSetpoint} 鈩�";
-                }
-                else if (ac.currentSystemMode == 3)
-                {
-                    model = Language.StringByID(R.MyInternationalizationString.Mode_Cool);
-                    tempareture = $"{ac.currentCoolingSetpoint} 鈩�";
-                }
-                else if (ac.currentSystemMode == 4)
-                {
-                    model = Language.StringByID(R.MyInternationalizationString.Mode_Heat);
-                    tempareture = $"{ac.currentHeatingSetpoint} 鈩�";
-                }
-                else if (ac.currentSystemMode == 7)
-                {
-                    model = Language.StringByID(R.MyInternationalizationString.Mode_FanOnly);
-                }
-                else if (ac.currentSystemMode == 8)
-                {
-                    model = Language.StringByID(R.MyInternationalizationString.Mode_Dry);
-                    tempareture = $"{ac.currentCoolingSetpoint} 鈩�";
-                }
-
-                if (ac.currentFanMode == 1)
-                {
-                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Low);
-                }
-                else if (ac.currentFanMode == 2)
-                {
-                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle);
-                }
-                else
-                {
-                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Height);
-                }
-
-                if (string.IsNullOrEmpty(tempareture))
-                {
-                    return $"{model},{wind}";
-                }
-                return $"{model},{wind},{tempareture}";
-            }
-            else if (device.Type == DeviceType.IASZone)
-            {
-                var ias = device as IASZone;
-                //鍖哄垎浼犳劅鍣ㄥ叿浣撶被鍨�
-                var info = LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device });
-                if (info.ConcreteType == DeviceConcreteType.Sensor_Infrared)
-                {
-                    //绾㈠
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_Water)
-                {
-                    //姘存蹈
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HaveWater);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_DoorWindow)
-                {
-                    //闂ㄧ獥
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Open);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Close);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_CarbonMonoxide)
-                {
-                    //鐕冩皵
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.uGasLeakage);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_Fire)
-                {
-                    //鐑熼浘
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.uSmogAlarm);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_Pir)
-                {
-                    //pir
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_Keyfob)
-                {
-                    //閽ュ寵鎵�
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_Motion)
-                {
-                    //杩愬姩浼犳劅鍣�
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_EmergencyButton)
-                {
-                    //绱ф�ユ寜閽�
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
-                }
-                else if (info.ConcreteType == DeviceConcreteType.Sensor_SphericalMotion)
-                {
-                    //鐞冨瀷绉诲姩浼犳劅鍣�
-                    if (ias.iASInfo?.Alarm1 == 1)
-                    {
-                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
-                    }
-                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
-                }
-                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)
-            {
-                var tempera = device as TemperatureSensor;
-                if (tempera.SensorDiv == 1)
-                {
-                    if (tempera.currentTemperature == 0)
-                    {
-                        return "0.0鈩�";
-                    }
-                    return $"{tempera.currentTemperature}鈩�";
-                }
-                else if (tempera.SensorDiv == 2)
-                {
-                    if (tempera.currentHumidity == 0)
-                    {
-                        return "--%";
-                    }
-                    return $"{tempera.currentHumidity}%";
-                }
-                return null;
-            }
-            else
-            {
-                return null;
-            }
-        }
-        #endregion
-    }
-}
+锘縰sing Shared.Common;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// 璁惧鐨勫叾浠栭�昏緫(鐩墠鐢ㄦ潵瀛樻斁閮洩鍩庣殑浠g爜)
+    /// </summary>
+    public class HdlDeviceOtherLogic
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 璁惧鐨勫叾浠栭�昏緫
+        /// </summary>
+        private static HdlDeviceOtherLogic m_Current = null;
+        /// <summary>
+        /// 璁惧鐨勫叾浠栭�昏緫
+        /// </summary>
+        public static HdlDeviceOtherLogic Current
+        {
+            get
+            {
+                if (m_Current == null)
+                {
+                    m_Current = new HdlDeviceOtherLogic();
+                }
+                return m_Current;
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀篲________
+
+        /// <summary>
+        /// 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀�
+        /// </summary>
+        /// <param name="r">The red component.</param>
+        public void ShowStatuTip(int r)
+        {
+            Application.RunOnMainThread(() =>
+            {
+                string msg = Language.StringByID(r);
+                var tip = new ShowMsgControl(ShowMsgType.Tip, msg);
+                tip.Show();
+            });
+        }
+
+        #endregion
+
+        #region 鈻� 鑾峰彇璁惧鐘舵�佺殑缈昏瘧_________________
+
+        /// <summary>
+        /// GetDeviceStatu
+        /// </summary>
+        /// <returns></returns>
+        public string GetDeviceStatu(CommonDevice device)
+        {
+            if (device.Type == DeviceType.OnOffOutput)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                if ((device as ToggleLight).OnOffStatus == 1)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOpen1);
+                }
+                return Language.StringByID(R.MyInternationalizationString.Close);
+            }
+            else if (device.Type == DeviceType.AirSwitch)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                if ((device as AirSwitch).OnOffStatus == 1)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOpen1);
+                }
+                return Language.StringByID(R.MyInternationalizationString.Close);
+            }
+            else if (device.Type == DeviceType.DimmableLight)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                if ((device as DimmableLight).OnOffStatus == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Close);
+                }
+                return HdlDeviceCommonLogic.Current.CalculateLightLevelPersent((device as DimmableLight).Level) + "%";
+            }
+            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 HdlDeviceCommonLogic.Current.CalculateLightLevelPersent((device as ColorTemperatureLight).Level) + "%";
+            }
+            else if (device.Type == DeviceType.WindowCoveringDevice)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                if ((device as Rollershade).WcdCurrentPositionLiftPercentage == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Close);
+                }
+                return $"{(device as Rollershade).WcdCurrentPositionLiftPercentage}%";
+            }
+            else if (device.Type == DeviceType.FreshAir)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+
+                //妯″紡
+                string wind = string.Empty;
+                var freshAir = device as FreshAir;
+                if (freshAir.currentFanStatus == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Close);
+                }
+                if (freshAir.currentFanSpeed == 1)
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Low);
+                }
+                else if (freshAir.currentFanSpeed == 2)
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle);
+                }
+                else if (freshAir.currentFanSpeed == 3)
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Height);
+                }
+                return $"{wind}";
+            }
+            else if (device.Type == DeviceType.PMSensor)
+            {
+                //绌烘皵璐ㄩ噺
+                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.GoodAirQuality);
+                }
+                else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.LightPollution);
+                }
+                else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.Moderatelyolluted);
+                }
+                else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.HeavyPollution);
+                }
+                else if (pMSensor.currentPmData > 250)
+                {
+                    curQuality = Language.StringByID(R.MyInternationalizationString.SeriousPollution);
+                }
+                else
+                {
+                    curQuality = "--";
+                }
+
+                humidity = $"{pMSensor.currentHumidity}%";
+                temperature = $"{pMSensor.currentTemperature}鈩�";
+                pm = $"{pMSensor.currentPmData}渭g/m鲁";
+                return $"{curQuality},{pm},{temperature},{humidity}";
+            }
+            else if (device.Type == DeviceType.Airer)
+            {
+                //鏄惁瀛樺湪寮�鐨勭姸鎬�
+                bool isOpen = false;
+                var airer = device as Airer;
+                if (airer.OnOffStatus == 1 ||
+                  airer.DryOnOffStatus == 1 ||
+                  airer.WindOnOffStatus == 1 ||
+                  airer.DisinfectOnOffStatus == 1)
+                {
+                    isOpen = true;
+                }
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                if (isOpen)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOpen1);
+                }
+                return Language.StringByID(R.MyInternationalizationString.Close);
+            }
+            else if (device.Type == DeviceType.Thermostat)
+            {
+                //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎
+                if (device.HadReadDeviceStatu == false)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.uOffLine);
+                }
+                //娓╁害锛屾ā寮忥紝椋庨��
+                string tempareture = string.Empty;
+                string model = string.Empty;
+                string wind = string.Empty;
+
+                var ac = device as AC;
+
+                if (ac.currentSystemMode == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Close);
+                }
+                else if (ac.currentSystemMode == 1)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Auto);
+                    tempareture = $"{ac.currentAutoSetpoint} 鈩�";
+                }
+                else if (ac.currentSystemMode == 3)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Cool);
+                    tempareture = $"{ac.currentCoolingSetpoint} 鈩�";
+                }
+                else if (ac.currentSystemMode == 4)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Heat);
+                    tempareture = $"{ac.currentHeatingSetpoint} 鈩�";
+                }
+                else if (ac.currentSystemMode == 7)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_FanOnly);
+                }
+                else if (ac.currentSystemMode == 8)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Dry);
+                    tempareture = $"{ac.currentCoolingSetpoint} 鈩�";
+                }
+
+                if (ac.currentFanMode == 1)
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Low);
+                }
+                else if (ac.currentFanMode == 2)
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle);
+                }
+                else
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Height);
+                }
+
+                if (string.IsNullOrEmpty(tempareture))
+                {
+                    return $"{model},{wind}";
+                }
+                return $"{model},{wind},{tempareture}";
+            }
+            else if (device.Type == DeviceType.IASZone)
+            {
+                var ias = device as IASZone;
+                //鍖哄垎浼犳劅鍣ㄥ叿浣撶被鍨�
+                var info = LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device });
+                if (info.ConcreteType == DeviceConcreteType.Sensor_Infrared)
+                {
+                    //绾㈠
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_Water)
+                {
+                    //姘存蹈
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HaveWater);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_DoorWindow)
+                {
+                    //闂ㄧ獥
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Open);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Close);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_CarbonMonoxide)
+                {
+                    //鐕冩皵
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.uGasLeakage);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_Fire)
+                {
+                    //鐑熼浘
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.uSmogAlarm);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_Pir)
+                {
+                    //pir
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_Keyfob)
+                {
+                    //閽ュ寵鎵�
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_Motion)
+                {
+                    //杩愬姩浼犳劅鍣�
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_EmergencyButton)
+                {
+                    //绱ф�ユ寜閽�
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
+                }
+                else if (info.ConcreteType == DeviceConcreteType.Sensor_SphericalMotion)
+                {
+                    //鐞冨瀷绉诲姩浼犳劅鍣�
+                    if (ias.iASInfo?.Alarm1 == 1)
+                    {
+                        return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
+                    }
+                    return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
+                }
+                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)
+            {
+                var tempera = device as TemperatureSensor;
+
+                //绌烘皵璐ㄩ噺浼犳劅鍣� 
+                //鑾峰彇璁惧绫诲瀷
+                var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+                //绌烘皵璐ㄩ噺浼犳劅鍣�
+                if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                {
+                    //绌烘皵璐ㄩ噺
+                    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)
+                    {
+                        curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+                    }
+                    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},{temperature},{humidity}";
+                }
+                else
+                {
+                    if (tempera.SensorDiv == 1)
+                    {
+                        if (tempera.currentTemperature == 0)
+                        {
+                            return "0.0鈩�";
+                        }
+                        return $"{tempera.currentTemperature}鈩�";
+                    }
+                    else if (tempera.SensorDiv == 2)
+                    {
+                        if (tempera.currentHumidity == 0)
+                        {
+                            return "--%";
+                        }
+                        return $"{tempera.currentHumidity}%";
+                    }
+                    return null;
+                }
+            }
+            else
+            {
+                return null;
+            }
+        }
+        #endregion
+    }
+}

--
Gitblit v1.8.0