From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs | 146 ++++++++++++++++++++++++++++++------------------
1 files changed, 90 insertions(+), 56 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
index 6fbdb9e..7ee279d 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,52 @@
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)
{
@@ -282,16 +299,16 @@
//鐕冩皵
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)
{
//鐑熼浘
if (ias.iASInfo?.Alarm1 == 1)
{
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
+ return Language.StringByID(R.MyInternationalizationString.uSmogAlarm);
}
return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
}
@@ -300,9 +317,9 @@
//pir
if (ias.iASInfo?.Alarm1 == 1)
{
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
+ return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
}
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Safe);
+ return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
}
else if (info.ConcreteType == DeviceConcreteType.Sensor_Keyfob)
{
@@ -318,9 +335,9 @@
//杩愬姩浼犳劅鍣�
if (ias.iASInfo?.Alarm1 == 1)
{
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Alarm);
+ return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_HavePerson);
}
- return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
+ return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_NoPerson);
}
else if (info.ConcreteType == DeviceConcreteType.Sensor_EmergencyButton)
{
@@ -331,26 +348,43 @@
}
return Language.StringByID(R.MyInternationalizationString.IASZone_Statu_Normal);
}
- return null;
+ 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.Temperatrue == 0)
+ if (tempera.currentTemperature == 0)
{
- return "--鈩�";
+ return "0.0鈩�";
}
- return $"{tempera.Temperatrue}鈩�";
+ return $"{tempera.currentTemperature}鈩�";
}
else if (tempera.SensorDiv == 2)
{
- if (tempera.Humidity == 0)
+ if (tempera.currentHumidity == 0)
{
return "--%";
}
- return $"{tempera.Humidity}%";
+ return $"{tempera.currentHumidity}%";
}
return null;
}
--
Gitblit v1.8.0