1 """Meteo-France component constants."""
3 from __future__
import annotations
6 ATTR_CONDITION_CLEAR_NIGHT,
8 ATTR_CONDITION_EXCEPTIONAL,
11 ATTR_CONDITION_LIGHTNING,
12 ATTR_CONDITION_LIGHTNING_RAINY,
13 ATTR_CONDITION_PARTLYCLOUDY,
14 ATTR_CONDITION_POURING,
17 ATTR_CONDITION_SNOWY_RAINY,
20 ATTR_CONDITION_WINDY_VARIANT,
24 DOMAIN =
"meteo_france"
25 PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
26 COORDINATOR_FORECAST =
"coordinator_forecast"
27 COORDINATOR_RAIN =
"coordinator_rain"
28 COORDINATOR_ALERT =
"coordinator_alert"
29 UNDO_UPDATE_LISTENER =
"undo_update_listener"
30 ATTRIBUTION =
"Data provided by Météo-France"
31 MODEL =
"Météo-France mobile API"
32 MANUFACTURER =
"Météo-France"
35 FORECAST_MODE_HOURLY =
"hourly"
36 FORECAST_MODE_DAILY =
"daily"
38 ATTR_NEXT_RAIN_1_HOUR_FORECAST =
"1_hour_forecast"
39 ATTR_NEXT_RAIN_DT_REF =
"forecast_time_ref"
42 CONDITION_CLASSES: dict[str, list[str]] = {
43 ATTR_CONDITION_CLEAR_NIGHT: [
"Nuit Claire",
"Nuit claire"],
44 ATTR_CONDITION_CLOUDY: [
"Très nuageux",
"Couvert"],
46 "Brume ou bancs de brouillard",
50 "Bancs de Brouillard",
52 ATTR_CONDITION_HAIL: [
"Risque de grêle",
"Risque de grèle"],
53 ATTR_CONDITION_LIGHTNING: [
"Risque d'orages",
"Orages"],
54 ATTR_CONDITION_LIGHTNING_RAINY: [
59 ATTR_CONDITION_PARTLYCLOUDY: [
66 ATTR_CONDITION_POURING: [
"Pluie forte"],
67 ATTR_CONDITION_RAINY: [
68 "Bruine / Pluie faible",
71 "Pluies éparses / Rares averses",
79 ATTR_CONDITION_SNOWY: [
80 "Neige / Averses de neige",
86 ATTR_CONDITION_SNOWY_RAINY: [
"Pluie et neige",
"Pluie verglaçante"],
87 ATTR_CONDITION_SUNNY: [
"Ensoleillé"],
88 ATTR_CONDITION_WINDY: [],
89 ATTR_CONDITION_WINDY_VARIANT: [],
90 ATTR_CONDITION_EXCEPTIONAL: [],
94 for cond_ha, cond_codes
in CONDITION_CLASSES.items()
95 for cond_code
in cond_codes