HDL Home App 第二版本 旧平台金堂用 正在使用
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceOtherLogic.cs
@@ -1,25 +1,25 @@
using Shared.Common;
using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter
using Shared.Common;
using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter
{
  /// <summary>
  /// 设备的其他逻辑(目前用来存放郭雪城的代码)
  /// </summary>
  /// <summary>
  /// 设备的其他逻辑(目前用来存放郭雪城的代码)
  /// </summary>
  public class HdlDeviceOtherLogic
  {
    #region ■ 变量声明___________________________
    #region ■ 变量声明___________________________
    /// <summary>
    /// 设备的其他逻辑
    /// </summary>
    /// <summary>
    /// 设备的其他逻辑
    /// </summary>
    private static HdlDeviceOtherLogic m_Current = null;
    /// <summary>
    /// 设备的其他逻辑
    /// </summary>
    /// <summary>
    /// 设备的其他逻辑
    /// </summary>
    public static HdlDeviceOtherLogic Current
    {
      get
@@ -32,14 +32,14 @@
      }
    }
    #endregion
    #endregion
    #region ■ 显示控制设备是否成功的提示_________
    #region ■ 显示控制设备是否成功的提示_________
    /// <summary>
    /// 显示控制设备是否成功的提示
    /// </summary>
    /// <param name="r">The red component.</param>
    /// <summary>
    /// 显示控制设备是否成功的提示
    /// </summary>
    /// <param name="r">The red component.</param>
    public void ShowStatuTip(int r)
    {
      Application.RunOnMainThread(() =>
@@ -50,14 +50,14 @@
      });
    }
    #endregion
    #endregion
    #region ■ 获取设备状态的翻译_________________
    #region ■ 获取设备状态的翻译_________________
    /// <summary>
    /// GetDeviceStatu
    /// </summary>
    /// <returns></returns>
    /// <summary>
    /// GetDeviceStatu
    /// </summary>
    /// <returns></returns>
    public string GetDeviceStatu(CommonDevice device)
    {
      if (device.Type == DeviceType.OnOffOutput)
@@ -73,7 +73,6 @@
        }
        return Language.StringByID(R.MyInternationalizationString.Close);
      }
      else if (device.Type == DeviceType.AirSwitch)
      {
        //在网关没有回复之前,默认离线
@@ -172,23 +171,23 @@
        }
        else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35)
        {
          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
          curQuality = Language.StringByID(R.MyInternationalizationString.GoodAirQuality);
        }
        else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75)
        {
          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
          curQuality = Language.StringByID(R.MyInternationalizationString.LightPollution);
        }
        else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115)
        {
          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
          curQuality = Language.StringByID(R.MyInternationalizationString.Moderatelyolluted);
        }
        else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150)
        {
          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
          curQuality = Language.StringByID(R.MyInternationalizationString.HeavyPollution);
        }
        else if (pMSensor.currentPmData > 250)
        {
          curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
          curQuality = Language.StringByID(R.MyInternationalizationString.SeriousPollution);
        }
        else
        {
@@ -393,29 +392,75 @@
      else if (device.Type == DeviceType.TemperatureSensor)
      {
        var tempera = device as TemperatureSensor;
        if (tempera.SensorDiv == 1)
        //空气质量传感器
        //获取设备类型
        var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
        //空气质量传感器
        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
        {
          if (tempera.currentTemperature == 0)
          //空气质量
          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)
          {
            return "0.0℃";
            curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
          }
          return $"{tempera.currentTemperature}℃";
          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},{co2},{temperature},{humidity}";
        }
        else if (tempera.SensorDiv == 2)
        else
        {
          if (tempera.currentHumidity == 0)
          if (tempera.SensorDiv == 1)
          {
            return "--%";
            if (tempera.currentTemperature == 0)
            {
              return "0.0℃";
            }
            return $"{tempera.currentTemperature}℃";
          }
          return $"{tempera.currentHumidity}%";
          else if (tempera.SensorDiv == 2)
          {
            if (tempera.currentHumidity == 0)
            {
              return "--%";
            }
            return $"{tempera.currentHumidity}%";
          }
          return null;
        }
        return null;
      }
      else
      {
        return null;
      }
    }
    #endregion
  }
}
    #endregion
  }
}