core/homeassistant/components/nam/const.py

131 lines
3.7 KiB
Python

"""Constants for Nettigo Air Monitor integration."""
from __future__ import annotations
from datetime import timedelta
from typing import Final
from homeassistant.const import (
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
DEVICE_CLASS_HUMIDITY,
DEVICE_CLASS_PRESSURE,
DEVICE_CLASS_SIGNAL_STRENGTH,
DEVICE_CLASS_TEMPERATURE,
PERCENTAGE,
PRESSURE_HPA,
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
TEMP_CELSIUS,
)
from .model import SensorDescription
DEFAULT_NAME: Final = "Nettigo Air Monitor"
DEFAULT_UPDATE_INTERVAL: Final = timedelta(minutes=6)
DOMAIN: Final = "nam"
MANUFACTURER: Final = "Nettigo"
SUFFIX_P1: Final = "_p1"
SUFFIX_P2: Final = "_p2"
AIR_QUALITY_SENSORS: Final[dict[str, str]] = {"sds": "SDS011", "sps30": "SPS30"}
SENSORS: Final[dict[str, SensorDescription]] = {
"bme280_humidity": {
"label": f"{DEFAULT_NAME} BME280 Humidity",
"unit": PERCENTAGE,
"device_class": DEVICE_CLASS_HUMIDITY,
"icon": None,
"enabled": True,
},
"bme280_pressure": {
"label": f"{DEFAULT_NAME} BME280 Pressure",
"unit": PRESSURE_HPA,
"device_class": DEVICE_CLASS_PRESSURE,
"icon": None,
"enabled": True,
},
"bme280_temperature": {
"label": f"{DEFAULT_NAME} BME280 Temperature",
"unit": TEMP_CELSIUS,
"device_class": DEVICE_CLASS_TEMPERATURE,
"icon": None,
"enabled": True,
},
"bmp280_pressure": {
"label": f"{DEFAULT_NAME} BMP280 Pressure",
"unit": PRESSURE_HPA,
"device_class": DEVICE_CLASS_PRESSURE,
"icon": None,
"enabled": True,
},
"bmp280_temperature": {
"label": f"{DEFAULT_NAME} BMP280 Temperature",
"unit": TEMP_CELSIUS,
"device_class": DEVICE_CLASS_TEMPERATURE,
"icon": None,
"enabled": True,
},
"heca_humidity": {
"label": f"{DEFAULT_NAME} HECA Humidity",
"unit": PERCENTAGE,
"device_class": DEVICE_CLASS_HUMIDITY,
"icon": None,
"enabled": True,
},
"heca_temperature": {
"label": f"{DEFAULT_NAME} HECA Temperature",
"unit": TEMP_CELSIUS,
"device_class": DEVICE_CLASS_TEMPERATURE,
"icon": None,
"enabled": True,
},
"sht3x_humidity": {
"label": f"{DEFAULT_NAME} SHT3X Humidity",
"unit": PERCENTAGE,
"device_class": DEVICE_CLASS_HUMIDITY,
"icon": None,
"enabled": True,
},
"sht3x_temperature": {
"label": f"{DEFAULT_NAME} SHT3X Temperature",
"unit": TEMP_CELSIUS,
"device_class": DEVICE_CLASS_TEMPERATURE,
"icon": None,
"enabled": True,
},
"sps30_p0": {
"label": f"{DEFAULT_NAME} SPS30 Particulate Matter 1.0",
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"device_class": None,
"icon": "mdi:blur",
"enabled": True,
},
"sps30_p4": {
"label": f"{DEFAULT_NAME} SPS30 Particulate Matter 4.0",
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
"device_class": None,
"icon": "mdi:blur",
"enabled": True,
},
"humidity": {
"label": f"{DEFAULT_NAME} DHT22 Humidity",
"unit": PERCENTAGE,
"device_class": DEVICE_CLASS_HUMIDITY,
"icon": None,
"enabled": True,
},
"signal": {
"label": f"{DEFAULT_NAME} Signal Strength",
"unit": SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
"device_class": DEVICE_CLASS_SIGNAL_STRENGTH,
"icon": None,
"enabled": False,
},
"temperature": {
"label": f"{DEFAULT_NAME} DHT22 Temperature",
"unit": TEMP_CELSIUS,
"device_class": DEVICE_CLASS_TEMPERATURE,
"icon": None,
"enabled": True,
},
}