mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 01:37:08 +00:00
Use constants with TypedDict (#50879)
This commit is contained in:
parent
ccd8e1332c
commit
3bdefc5da7
@ -4,6 +4,8 @@ from __future__ import annotations
|
||||
from typing import Final
|
||||
|
||||
from homeassistant.const import (
|
||||
ATTR_DEVICE_CLASS,
|
||||
ATTR_ICON,
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
DEVICE_CLASS_HUMIDITY,
|
||||
DEVICE_CLASS_PRESSURE,
|
||||
@ -20,15 +22,17 @@ ATTR_API_CAQI: Final = "CAQI"
|
||||
ATTR_API_CAQI_DESCRIPTION: Final = "DESCRIPTION"
|
||||
ATTR_API_CAQI_LEVEL: Final = "LEVEL"
|
||||
ATTR_API_HUMIDITY: Final = "HUMIDITY"
|
||||
ATTR_API_PM1: Final = "PM1"
|
||||
ATTR_API_PM10: Final = "PM10"
|
||||
ATTR_API_PM10_LIMIT: Final = "PM10_LIMIT"
|
||||
ATTR_API_PM10_PERCENT: Final = "PM10_PERCENT"
|
||||
ATTR_API_PM1: Final = "PM1"
|
||||
ATTR_API_PM25: Final = "PM25"
|
||||
ATTR_API_PM25_LIMIT: Final = "PM25_LIMIT"
|
||||
ATTR_API_PM25_PERCENT: Final = "PM25_PERCENT"
|
||||
ATTR_API_PRESSURE: Final = "PRESSURE"
|
||||
ATTR_API_TEMPERATURE: Final = "TEMPERATURE"
|
||||
ATTR_LABEL: Final = "label"
|
||||
ATTR_UNIT: Final = "unit"
|
||||
|
||||
ATTRIBUTION: Final = "Data provided by Airly"
|
||||
CONF_USE_NEAREST: Final = "use_nearest"
|
||||
@ -42,27 +46,27 @@ NO_AIRLY_SENSORS: Final = "There are no Airly sensors in this area yet."
|
||||
|
||||
SENSOR_TYPES: dict[str, SensorDescription] = {
|
||||
ATTR_API_PM1: {
|
||||
"device_class": None,
|
||||
"icon": "mdi:blur",
|
||||
"label": ATTR_API_PM1,
|
||||
"unit": CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
ATTR_DEVICE_CLASS: None,
|
||||
ATTR_ICON: "mdi:blur",
|
||||
ATTR_LABEL: ATTR_API_PM1,
|
||||
ATTR_UNIT: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
},
|
||||
ATTR_API_HUMIDITY: {
|
||||
"device_class": DEVICE_CLASS_HUMIDITY,
|
||||
"icon": None,
|
||||
"label": ATTR_API_HUMIDITY.capitalize(),
|
||||
"unit": PERCENTAGE,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_HUMIDITY,
|
||||
ATTR_ICON: None,
|
||||
ATTR_LABEL: ATTR_API_HUMIDITY.capitalize(),
|
||||
ATTR_UNIT: PERCENTAGE,
|
||||
},
|
||||
ATTR_API_PRESSURE: {
|
||||
"device_class": DEVICE_CLASS_PRESSURE,
|
||||
"icon": None,
|
||||
"label": ATTR_API_PRESSURE.capitalize(),
|
||||
"unit": PRESSURE_HPA,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_PRESSURE,
|
||||
ATTR_ICON: None,
|
||||
ATTR_LABEL: ATTR_API_PRESSURE.capitalize(),
|
||||
ATTR_UNIT: PRESSURE_HPA,
|
||||
},
|
||||
ATTR_API_TEMPERATURE: {
|
||||
"device_class": DEVICE_CLASS_TEMPERATURE,
|
||||
"icon": None,
|
||||
"label": ATTR_API_TEMPERATURE.capitalize(),
|
||||
"unit": TEMP_CELSIUS,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
|
||||
ATTR_ICON: None,
|
||||
ATTR_LABEL: ATTR_API_TEMPERATURE.capitalize(),
|
||||
ATTR_UNIT: TEMP_CELSIUS,
|
||||
},
|
||||
}
|
||||
|
@ -5,7 +5,12 @@ from typing import Any, cast
|
||||
|
||||
from homeassistant.components.sensor import SensorEntity
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import ATTR_ATTRIBUTION, CONF_NAME
|
||||
from homeassistant.const import (
|
||||
ATTR_ATTRIBUTION,
|
||||
ATTR_DEVICE_CLASS,
|
||||
ATTR_ICON,
|
||||
CONF_NAME,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity import DeviceInfo
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
@ -16,6 +21,8 @@ from . import AirlyDataUpdateCoordinator
|
||||
from .const import (
|
||||
ATTR_API_PM1,
|
||||
ATTR_API_PRESSURE,
|
||||
ATTR_LABEL,
|
||||
ATTR_UNIT,
|
||||
ATTRIBUTION,
|
||||
DEFAULT_NAME,
|
||||
DOMAIN,
|
||||
@ -63,7 +70,7 @@ class AirlySensor(CoordinatorEntity, SensorEntity):
|
||||
@property
|
||||
def name(self) -> str:
|
||||
"""Return the name."""
|
||||
return f"{self._name} {self._description['label']}"
|
||||
return f"{self._name} {self._description[ATTR_LABEL]}"
|
||||
|
||||
@property
|
||||
def state(self) -> StateType:
|
||||
@ -81,12 +88,12 @@ class AirlySensor(CoordinatorEntity, SensorEntity):
|
||||
@property
|
||||
def icon(self) -> str | None:
|
||||
"""Return the icon."""
|
||||
return self._description["icon"]
|
||||
return self._description[ATTR_ICON]
|
||||
|
||||
@property
|
||||
def device_class(self) -> str | None:
|
||||
"""Return the device_class."""
|
||||
return self._description["device_class"]
|
||||
return self._description[ATTR_DEVICE_CLASS]
|
||||
|
||||
@property
|
||||
def unique_id(self) -> str:
|
||||
@ -111,4 +118,4 @@ class AirlySensor(CoordinatorEntity, SensorEntity):
|
||||
@property
|
||||
def unit_of_measurement(self) -> str | None:
|
||||
"""Return the unit the value is expressed in."""
|
||||
return self._description["unit"]
|
||||
return self._description[ATTR_UNIT]
|
||||
|
Loading…
x
Reference in New Issue
Block a user