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