From 2e431231cf701802272f71bfe306a77f592ea084 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期五, 26 八月 2022 10:46:21 +0800
Subject: [PATCH] 修改全视通可视对讲ip地址及相关参数配置
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs | 776 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 466 insertions(+), 310 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 25ed175..cd21d5b
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
@@ -1,310 +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;
- }
- }
-
- /// <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 鈻� 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀篲________
-
- /// <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 as ToggleLight).OnOffStatus == 1)
- {
- return Language.StringByID(R.MyInternationalizationString.uOpen1);
- }
- return Language.StringByID(R.MyInternationalizationString.Close);
- }
- else if (device.Type == DeviceType.AirSwitch)
- {
- 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 as DimmableLight).OnOffStatus == 0 || (device as DimmableLight).Level == 0)
- {
- return Language.StringByID(R.MyInternationalizationString.Close);
- }
- return $"{(int)((device as DimmableLight).Level * 1.0 / 254 * 100)}%";
- }
- else if (device.Type == DeviceType.WindowCoveringDevice)
- {
- if ((device as Rollershade).WcdCurrentPositionLiftPercentage == 0)
- {
- return Language.StringByID(R.MyInternationalizationString.Close);
- }
- return $"{(device as Rollershade).WcdCurrentPositionLiftPercentage}%";
- }
- else if (device.Type == DeviceType.Thermostat)
- {
- //娓╁害锛屾ā寮忥紝椋庨��
- 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.currentCoolingSetpoint} 鈩�";
- }
- 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.IASZone_Statu_Alarm);
- }
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
- }
- else if (info.ConcreteType == DeviceConcreteType.Sensor_Fire)
- {
- //鐑熼浘
- if (ias.iASInfo?.Alarm1 == 1)
- {
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
- }
- 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_Alarm);
- }
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
- }
- 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_Alarm);
- }
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
- }
- 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);
- }
- return null;
- }
- else if (device.Type == DeviceType.TemperatureSensor)
- {
- var tempera = device as TemperatureSensor;
- if (tempera.SensorDiv == 1)
- {
- if (tempera.Temperatrue == 0)
- {
- return "--鈩�";
- }
- return $"{tempera.Temperatrue}鈩�";
- }
- else if (tempera.SensorDiv == 2)
- {
- if (tempera.Humidity == 0)
- {
- return "--%";
- }
- return $"{tempera.Humidity}%";
- }
- 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