From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001 From: lss <316519258@qq.com> Date: 星期五, 12 六月 2020 09:22:04 +0800 Subject: [PATCH] 2020.06.12 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs | 178 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 131 insertions(+), 47 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs index 25ed175..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 鈻� 鏄剧ず鎺у埗璁惧鏄惁鎴愬姛鐨勬彁绀篲________ @@ -104,6 +62,11 @@ { 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); @@ -112,6 +75,11 @@ } 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); @@ -120,22 +88,130 @@ } else if (device.Type == DeviceType.DimmableLight) { - if ((device as DimmableLight).OnOffStatus == 0 || (device as DimmableLight).Level == 0) + //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎 + 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) + { + //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎 + 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) { + //鍦ㄧ綉鍏虫病鏈夊洖澶嶄箣鍓�,榛樿绂荤嚎 + if (device.HadReadDeviceStatu == false) + { + return Language.StringByID(R.MyInternationalizationString.uOffLine); + } //娓╁害锛屾ā寮忥紝椋庨�� string tempareture = string.Empty; string model = string.Empty; @@ -150,7 +226,7 @@ else if (ac.currentSystemMode == 1) { model = Language.StringByID(R.MyInternationalizationString.Mode_Auto); - tempareture = $"{ac.currentCoolingSetpoint} 鈩�"; + tempareture = $"{ac.currentAutoSetpoint} 鈩�"; } else if (ac.currentSystemMode == 3) { @@ -228,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) { @@ -277,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