陈嘉乐
2020-07-10 48ba446936b51fffafa7c3600c0dadc6ac0e8c20
ZigbeeApp/Shared/Phone/ZigBee/Device/TemperatureSensor.cs
@@ -5,85 +5,38 @@
{
    public class TemperatureSensor: CommonDevice
    {
        /// <summary>
        /// 因为这两个东西共用同一个设备ID,所以 1:温度传感器  2:湿度传感器
        /// </summary>
        public int SensorDiv = 1;
        /// <summary>
        /// 温度
        /// </summary>
        public decimal Temperatrue;
        /// <summary>
        /// 湿度
        /// </summary>
        public decimal Humidity;
        public TemperatureSensor()
        {
            //this.Type = DeviceType.TemperatureSensor ;
            this.Type = DeviceType.TemperatureSensor ;
        }
 
        /// <summary>
        /// 当前温度值
        /// </summary>
        public int CurentTemperature = 999;
        /// <summary>
        ///
        /// </summary>
        public int MinTemperature=999;
        /// <summary>
        ///
        /// </summary>
        public int MaxTemperature=999;
        /// <summary>
        ///
        /// </summary>
        public int TorleranceTemperature= 999;
        /// <summary>
        /// 当前湿度值
        /// </summary>
        public int CurentHumidity= 999;
        /// <summary>
        ///
        /// </summary>
        public int MinHumidity= 999;
        /// <summary>
        ///
        /// </summary>
        public int MaxHumidity= 999;
        /// <summary>
        ///
        /// </summary>
        public int ToleranceHumidity= 999;
        /// <summary>
        /// 读取温/湿度
        /// </summary>
        public void ReadTemperature()
        public void ReadTemperatureOrHumidity()
        {
            ReadAttri(Device.Cluster_ID.TemperatureMeasurement, AttriButeId.MeasuredValue );
            ReadAttri(Device.Cluster_ID.RelativeHumidityMeasurement, AttriButeId.MeasuredValue);
        }
        /// <summary>
        /// 温/湿度下限
        /// </summary>
        public void ReadMinMeasuredValue()
        {
            ReadAttri(Device.Cluster_ID.TemperatureMeasurement, AttriButeId.MinMeasuredValue );
            ReadAttri(Device.Cluster_ID.RelativeHumidityMeasurement, AttriButeId.MinMeasuredValue);
        }
        /// <summary>
        /// 温/湿度上限
        /// </summary>
        public void ReadMaxMeasuredValue()
        {
            ReadAttri(Device.Cluster_ID.TemperatureMeasurement, AttriButeId.MaxMeasuredValue );
            ReadAttri(Device.Cluster_ID.RelativeHumidityMeasurement, AttriButeId.MaxMeasuredValue);
        }
        /// <summary>
        /// 测量误差
        /// </summary>
        public void ReadTolerance()
        {
            ReadAttri(Device.Cluster_ID.TemperatureMeasurement, AttriButeId.Tolerance );
            ReadAttri(Device.Cluster_ID.RelativeHumidityMeasurement, AttriButeId.Tolerance);
            if (SensorDiv == 1)
            {
                ReadAttri(Device.Cluster_ID.TemperatureMeasurement, AttriButeId.MeasuredValue);
            }
            else if (SensorDiv == 2)
            {
                ReadAttri(Device.Cluster_ID.RelativeHumidityMeasurement, AttriButeId.MeasuredValue);
            }
        }
    }
}