mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Add air pollutants PROP_TO_ATTR (#19336)
* Add PROP_TO_ATTR * Change condition
This commit is contained in:
parent
e60de53404
commit
c7ea1d07be
@ -32,6 +32,21 @@ ENTITY_ID_FORMAT = DOMAIN + '.{}'
|
|||||||
|
|
||||||
SCAN_INTERVAL = timedelta(seconds=30)
|
SCAN_INTERVAL = timedelta(seconds=30)
|
||||||
|
|
||||||
|
PROP_TO_ATTR = {
|
||||||
|
'air_quality_index': ATTR_AIR_POLLUTANTS_AQI,
|
||||||
|
'attribution': ATTR_AIR_POLLUTANTS_ATTRIBUTION,
|
||||||
|
'carbon_dioxide': ATTR_AIR_POLLUTANTS_C02,
|
||||||
|
'carbon_monoxide': ATTR_AIR_POLLUTANTS_CO,
|
||||||
|
'nitrogen_oxide': ATTR_AIR_POLLUTANTS_N2O,
|
||||||
|
'nitrogen_monoxide': ATTR_AIR_POLLUTANTS_NO,
|
||||||
|
'nitrogen_dioxide': ATTR_AIR_POLLUTANTS_NO2,
|
||||||
|
'ozone': ATTR_AIR_POLLUTANTS_OZONE,
|
||||||
|
'particulate_matter_0_1': ATTR_AIR_POLLUTANTS_PM_0_1,
|
||||||
|
'particulate_matter_10': ATTR_AIR_POLLUTANTS_PM_10,
|
||||||
|
'particulate_matter_2_5': ATTR_AIR_POLLUTANTS_PM_2_5,
|
||||||
|
'sulphur_dioxide': ATTR_AIR_POLLUTANTS_SO2,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass, config):
|
async def async_setup(hass, config):
|
||||||
"""Set up the air pollutants component."""
|
"""Set up the air pollutants component."""
|
||||||
@ -69,11 +84,6 @@ class AirPollutantsEntity(Entity):
|
|||||||
"""Return the particulate matter 0.1 level."""
|
"""Return the particulate matter 0.1 level."""
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@property
|
|
||||||
def temperature_unit(self):
|
|
||||||
"""Return the unit of measurement of the temperature."""
|
|
||||||
return None
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def air_quality_index(self):
|
def air_quality_index(self):
|
||||||
"""Return the Air Quality Index (AQI)."""
|
"""Return the Air Quality Index (AQI)."""
|
||||||
@ -124,49 +134,10 @@ class AirPollutantsEntity(Entity):
|
|||||||
"""Return the state attributes."""
|
"""Return the state attributes."""
|
||||||
data = {}
|
data = {}
|
||||||
|
|
||||||
air_quality_index = self.air_quality_index
|
for prop, attr in PROP_TO_ATTR.items():
|
||||||
if air_quality_index is not None:
|
value = getattr(self, prop)
|
||||||
data[ATTR_AIR_POLLUTANTS_AQI] = air_quality_index
|
if value is not None:
|
||||||
|
data[attr] = value
|
||||||
ozone = self.ozone
|
|
||||||
if ozone is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_OZONE] = ozone
|
|
||||||
|
|
||||||
particulate_matter_0_1 = self.particulate_matter_0_1
|
|
||||||
if particulate_matter_0_1 is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_PM_0_1] = particulate_matter_0_1
|
|
||||||
|
|
||||||
particulate_matter_10 = self.particulate_matter_10
|
|
||||||
if particulate_matter_10 is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_PM_10] = particulate_matter_10
|
|
||||||
|
|
||||||
sulphur_dioxide = self.sulphur_dioxide
|
|
||||||
if sulphur_dioxide is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_SO2] = sulphur_dioxide
|
|
||||||
|
|
||||||
nitrogen_oxide = self.nitrogen_oxide
|
|
||||||
if nitrogen_oxide is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_N2O] = nitrogen_oxide
|
|
||||||
|
|
||||||
nitrogen_monoxide = self.nitrogen_monoxide
|
|
||||||
if nitrogen_monoxide is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_NO] = nitrogen_monoxide
|
|
||||||
|
|
||||||
nitrogen_dioxide = self.nitrogen_dioxide
|
|
||||||
if nitrogen_dioxide is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_NO2] = nitrogen_dioxide
|
|
||||||
|
|
||||||
carbon_dioxide = self.carbon_dioxide
|
|
||||||
if carbon_dioxide is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_C02] = carbon_dioxide
|
|
||||||
|
|
||||||
carbon_monoxide = self.carbon_monoxide
|
|
||||||
if carbon_monoxide is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_CO] = carbon_monoxide
|
|
||||||
|
|
||||||
attribution = self.attribution
|
|
||||||
if attribution is not None:
|
|
||||||
data[ATTR_AIR_POLLUTANTS_ATTRIBUTION] = attribution
|
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user