mirror of
https://github.com/home-assistant/core.git
synced 2025-11-09 02:49:40 +00:00
HA deconz: Add support for Tuya Smart Air Housekeeper 6in1 Air Quality Monitor (#87866)
* fix check for airquality sensor (was always TRUE) * import additional const required * add support for formaldehyd sensor * add support for co2 sensor * add support for pm25 sensor * sort const a-z * adapt to typo fixed function * adapt to new key names (formaldehyde) * adapt co2 sensor to new key names * Update homeassistant/components/deconz/sensor.py remove unnecessary code Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com> * add device_class for air_quality_ppb * add test_air_quality_sensor_6_in_1 * fix Air quality PPB test to match device_class * remove device_class of air_quality_ppb * remove device_class test of airqualityppb * explicit units * remove device_class test of airquality_1_ppb * dependency bump pydeconz to 111 * Update homeassistant/components/deconz/sensor.py remove unnecessary device_class Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com> * import formatting * formatting * Update homeassistant/components/deconz/sensor.py change key for pm2_5 Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com> * add airquality co2 ch2o pm25 sensor testdata * remove test_air_quality_sensor_6_in_1 * formatting * bump pydeconz for requirements --------- Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
This commit is contained in:
@@ -33,7 +33,9 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
ATTR_TEMPERATURE,
|
||||
ATTR_VOLTAGE,
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
CONCENTRATION_PARTS_PER_BILLION,
|
||||
CONCENTRATION_PARTS_PER_MILLION,
|
||||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
EntityCategory,
|
||||
@@ -108,7 +110,7 @@ class DeconzSensorDescription(SensorEntityDescription, DeconzSensorDescriptionMi
|
||||
ENTITY_DESCRIPTIONS: tuple[DeconzSensorDescription, ...] = (
|
||||
DeconzSensorDescription[AirQuality](
|
||||
key="air_quality",
|
||||
supported_fn=lambda device: device.air_quality is not None,
|
||||
supported_fn=lambda device: device.supports_air_quality,
|
||||
update_key="airquality",
|
||||
value_fn=lambda device: device.air_quality,
|
||||
instance_check=AirQuality,
|
||||
@@ -124,6 +126,39 @@ ENTITY_DESCRIPTIONS: tuple[DeconzSensorDescription, ...] = (
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=CONCENTRATION_PARTS_PER_BILLION,
|
||||
),
|
||||
DeconzSensorDescription[AirQuality](
|
||||
key="air_quality_formaldehyde",
|
||||
supported_fn=lambda device: device.air_quality_formaldehyde is not None,
|
||||
update_key="airquality_formaldehyde_density",
|
||||
value_fn=lambda device: device.air_quality_formaldehyde,
|
||||
instance_check=AirQuality,
|
||||
name_suffix="CH2O",
|
||||
device_class=SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
),
|
||||
DeconzSensorDescription[AirQuality](
|
||||
key="air_quality_co2",
|
||||
supported_fn=lambda device: device.air_quality_co2 is not None,
|
||||
update_key="airquality_co2_density",
|
||||
value_fn=lambda device: device.air_quality_co2,
|
||||
instance_check=AirQuality,
|
||||
name_suffix="CO2",
|
||||
device_class=SensorDeviceClass.CO2,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=CONCENTRATION_PARTS_PER_MILLION,
|
||||
),
|
||||
DeconzSensorDescription[AirQuality](
|
||||
key="air_quality_pm2_5",
|
||||
supported_fn=lambda device: device.pm_2_5 is not None,
|
||||
update_key="pm2_5",
|
||||
value_fn=lambda device: device.pm_2_5,
|
||||
instance_check=AirQuality,
|
||||
name_suffix="PM25",
|
||||
device_class=SensorDeviceClass.PM25,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
),
|
||||
DeconzSensorDescription[Consumption](
|
||||
key="consumption",
|
||||
supported_fn=lambda device: device.consumption is not None,
|
||||
|
||||
Reference in New Issue
Block a user