69 lines
2.3 KiB
Python
69 lines
2.3 KiB
Python
"""Constants for the Ambee integration."""
|
|
from __future__ import annotations
|
|
|
|
from datetime import timedelta
|
|
import logging
|
|
from typing import Any, Final
|
|
|
|
from homeassistant.components.sensor import ATTR_STATE_CLASS, STATE_CLASS_MEASUREMENT
|
|
from homeassistant.const import (
|
|
ATTR_DEVICE_CLASS,
|
|
ATTR_NAME,
|
|
ATTR_SERVICE,
|
|
ATTR_UNIT_OF_MEASUREMENT,
|
|
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
|
CONCENTRATION_PARTS_PER_BILLION,
|
|
CONCENTRATION_PARTS_PER_MILLION,
|
|
DEVICE_CLASS_CO,
|
|
)
|
|
|
|
DOMAIN: Final = "ambee"
|
|
LOGGER = logging.getLogger(__package__)
|
|
SCAN_INTERVAL = timedelta(minutes=180)
|
|
|
|
SERVICE_AIR_QUALITY: Final = ("air_quality", "Air Quality")
|
|
|
|
SENSORS: dict[str, dict[str, Any]] = {
|
|
"particulate_matter_2_5": {
|
|
ATTR_SERVICE: SERVICE_AIR_QUALITY,
|
|
ATTR_NAME: "Particulate Matter < 2.5 μm",
|
|
ATTR_UNIT_OF_MEASUREMENT: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
},
|
|
"particulate_matter_10": {
|
|
ATTR_SERVICE: SERVICE_AIR_QUALITY,
|
|
ATTR_NAME: "Particulate Matter < 10 μm",
|
|
ATTR_UNIT_OF_MEASUREMENT: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
},
|
|
"sulphur_dioxide": {
|
|
ATTR_SERVICE: SERVICE_AIR_QUALITY,
|
|
ATTR_NAME: "Sulphur Dioxide (SO2)",
|
|
ATTR_UNIT_OF_MEASUREMENT: CONCENTRATION_PARTS_PER_BILLION,
|
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
},
|
|
"nitrogen_dioxide": {
|
|
ATTR_SERVICE: SERVICE_AIR_QUALITY,
|
|
ATTR_NAME: "Nitrogen Dioxide (NO2)",
|
|
ATTR_UNIT_OF_MEASUREMENT: CONCENTRATION_PARTS_PER_BILLION,
|
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
},
|
|
"ozone": {
|
|
ATTR_SERVICE: SERVICE_AIR_QUALITY,
|
|
ATTR_NAME: "Ozone",
|
|
ATTR_UNIT_OF_MEASUREMENT: CONCENTRATION_PARTS_PER_BILLION,
|
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
},
|
|
"carbon_monoxide": {
|
|
ATTR_SERVICE: SERVICE_AIR_QUALITY,
|
|
ATTR_NAME: "Carbon Monoxide (CO)",
|
|
ATTR_DEVICE_CLASS: DEVICE_CLASS_CO,
|
|
ATTR_UNIT_OF_MEASUREMENT: CONCENTRATION_PARTS_PER_MILLION,
|
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
},
|
|
"air_quality_index": {
|
|
ATTR_SERVICE: SERVICE_AIR_QUALITY,
|
|
ATTR_NAME: "Air Quality Index (AQI)",
|
|
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
|
},
|
|
}
|