Files
core/homeassistant/components/irm_kmi/const.py
2025-09-22 13:28:41 +02:00

103 lines
3.5 KiB
Python

"""Constants for the IRM KMI integration."""
from typing import Final
from homeassistant.components.weather import (
ATTR_CONDITION_CLEAR_NIGHT,
ATTR_CONDITION_CLOUDY,
ATTR_CONDITION_FOG,
ATTR_CONDITION_LIGHTNING_RAINY,
ATTR_CONDITION_PARTLYCLOUDY,
ATTR_CONDITION_POURING,
ATTR_CONDITION_RAINY,
ATTR_CONDITION_SNOWY,
ATTR_CONDITION_SNOWY_RAINY,
ATTR_CONDITION_SUNNY,
)
from homeassistant.const import Platform, __version__
DOMAIN: Final = "irm_kmi"
PLATFORMS: Final = [Platform.WEATHER]
OUT_OF_BENELUX: Final = [
"außerhalb der Benelux (Brussels)",
"Hors de Belgique (Bxl)",
"Outside the Benelux (Brussels)",
"Buiten de Benelux (Brussel)",
]
LANGS: Final = ["en", "fr", "nl", "de"]
CONF_LANGUAGE_OVERRIDE: Final = "language_override"
CONF_LANGUAGE_OVERRIDE_OPTIONS: Final = ["none", "fr", "nl", "de", "en"]
# Dict to map ('ww', 'dayNight') tuple from IRM KMI to HA conditions.
IRM_KMI_TO_HA_CONDITION_MAP: Final = {
(0, "d"): ATTR_CONDITION_SUNNY,
(0, "n"): ATTR_CONDITION_CLEAR_NIGHT,
(1, "d"): ATTR_CONDITION_SUNNY,
(1, "n"): ATTR_CONDITION_CLEAR_NIGHT,
(2, "d"): ATTR_CONDITION_LIGHTNING_RAINY,
(2, "n"): ATTR_CONDITION_LIGHTNING_RAINY,
(3, "d"): ATTR_CONDITION_PARTLYCLOUDY,
(3, "n"): ATTR_CONDITION_PARTLYCLOUDY,
(4, "d"): ATTR_CONDITION_POURING,
(4, "n"): ATTR_CONDITION_POURING,
(5, "d"): ATTR_CONDITION_LIGHTNING_RAINY,
(5, "n"): ATTR_CONDITION_LIGHTNING_RAINY,
(6, "d"): ATTR_CONDITION_POURING,
(6, "n"): ATTR_CONDITION_POURING,
(7, "d"): ATTR_CONDITION_LIGHTNING_RAINY,
(7, "n"): ATTR_CONDITION_LIGHTNING_RAINY,
(8, "d"): ATTR_CONDITION_SNOWY_RAINY,
(8, "n"): ATTR_CONDITION_SNOWY_RAINY,
(9, "d"): ATTR_CONDITION_SNOWY_RAINY,
(9, "n"): ATTR_CONDITION_SNOWY_RAINY,
(10, "d"): ATTR_CONDITION_LIGHTNING_RAINY,
(10, "n"): ATTR_CONDITION_LIGHTNING_RAINY,
(11, "d"): ATTR_CONDITION_SNOWY,
(11, "n"): ATTR_CONDITION_SNOWY,
(12, "d"): ATTR_CONDITION_SNOWY,
(12, "n"): ATTR_CONDITION_SNOWY,
(13, "d"): ATTR_CONDITION_LIGHTNING_RAINY,
(13, "n"): ATTR_CONDITION_LIGHTNING_RAINY,
(14, "d"): ATTR_CONDITION_CLOUDY,
(14, "n"): ATTR_CONDITION_CLOUDY,
(15, "d"): ATTR_CONDITION_CLOUDY,
(15, "n"): ATTR_CONDITION_CLOUDY,
(16, "d"): ATTR_CONDITION_POURING,
(16, "n"): ATTR_CONDITION_POURING,
(17, "d"): ATTR_CONDITION_LIGHTNING_RAINY,
(17, "n"): ATTR_CONDITION_LIGHTNING_RAINY,
(18, "d"): ATTR_CONDITION_RAINY,
(18, "n"): ATTR_CONDITION_RAINY,
(19, "d"): ATTR_CONDITION_POURING,
(19, "n"): ATTR_CONDITION_POURING,
(20, "d"): ATTR_CONDITION_SNOWY_RAINY,
(20, "n"): ATTR_CONDITION_SNOWY_RAINY,
(21, "d"): ATTR_CONDITION_RAINY,
(21, "n"): ATTR_CONDITION_RAINY,
(22, "d"): ATTR_CONDITION_SNOWY,
(22, "n"): ATTR_CONDITION_SNOWY,
(23, "d"): ATTR_CONDITION_SNOWY,
(23, "n"): ATTR_CONDITION_SNOWY,
(24, "d"): ATTR_CONDITION_FOG,
(24, "n"): ATTR_CONDITION_FOG,
(25, "d"): ATTR_CONDITION_FOG,
(25, "n"): ATTR_CONDITION_FOG,
(26, "d"): ATTR_CONDITION_FOG,
(26, "n"): ATTR_CONDITION_FOG,
(27, "d"): ATTR_CONDITION_FOG,
(27, "n"): ATTR_CONDITION_FOG,
}
IRM_KMI_NAME: Final = {
"fr": "Institut Royal Météorologique de Belgique",
"nl": "Koninklijk Meteorologisch Instituut van België",
"de": "Königliche Meteorologische Institut von Belgien",
"en": "Royal Meteorological Institute of Belgium",
}
USER_AGENT: Final = (
f"https://www.home-assistant.io/integrations/irm_kmi (version {__version__})"
)