Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Meteo-France component constants."""
2 
3 from __future__ import annotations
4 
6  ATTR_CONDITION_CLEAR_NIGHT,
7  ATTR_CONDITION_CLOUDY,
8  ATTR_CONDITION_EXCEPTIONAL,
9  ATTR_CONDITION_FOG,
10  ATTR_CONDITION_HAIL,
11  ATTR_CONDITION_LIGHTNING,
12  ATTR_CONDITION_LIGHTNING_RAINY,
13  ATTR_CONDITION_PARTLYCLOUDY,
14  ATTR_CONDITION_POURING,
15  ATTR_CONDITION_RAINY,
16  ATTR_CONDITION_SNOWY,
17  ATTR_CONDITION_SNOWY_RAINY,
18  ATTR_CONDITION_SUNNY,
19  ATTR_CONDITION_WINDY,
20  ATTR_CONDITION_WINDY_VARIANT,
21 )
22 from homeassistant.const import Platform
23 
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"
33 
34 CONF_CITY = "city"
35 FORECAST_MODE_HOURLY = "hourly"
36 FORECAST_MODE_DAILY = "daily"
37 
38 ATTR_NEXT_RAIN_1_HOUR_FORECAST = "1_hour_forecast"
39 ATTR_NEXT_RAIN_DT_REF = "forecast_time_ref"
40 
41 
42 CONDITION_CLASSES: dict[str, list[str]] = {
43  ATTR_CONDITION_CLEAR_NIGHT: ["Nuit Claire", "Nuit claire"],
44  ATTR_CONDITION_CLOUDY: ["Très nuageux", "Couvert"],
45  ATTR_CONDITION_FOG: [
46  "Brume ou bancs de brouillard",
47  "Brume",
48  "Brouillard",
49  "Brouillard givrant",
50  "Bancs de Brouillard",
51  ],
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: [
55  "Pluie orageuses",
56  "Pluies orageuses",
57  "Averses orageuses",
58  ],
59  ATTR_CONDITION_PARTLYCLOUDY: [
60  "Ciel voilé",
61  "Ciel voilé nuit",
62  "Éclaircies",
63  "Eclaircies",
64  "Peu nuageux",
65  ],
66  ATTR_CONDITION_POURING: ["Pluie forte"],
67  ATTR_CONDITION_RAINY: [
68  "Bruine / Pluie faible",
69  "Bruine",
70  "Pluie faible",
71  "Pluies éparses / Rares averses",
72  "Pluies éparses",
73  "Rares averses",
74  "Pluie modérée",
75  "Pluie / Averses",
76  "Averses",
77  "Pluie",
78  ],
79  ATTR_CONDITION_SNOWY: [
80  "Neige / Averses de neige",
81  "Neige",
82  "Averses de neige",
83  "Neige forte",
84  "Quelques flocons",
85  ],
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: [],
91 }
92 CONDITION_MAP = {
93  cond_code: cond_ha
94  for cond_ha, cond_codes in CONDITION_CLASSES.items()
95  for cond_code in cond_codes
96 }