Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Meteoclimatic component constants."""
2 
3 from __future__ import annotations
4 
5 from datetime import timedelta
6 
7 from meteoclimatic import Condition
8 
10  ATTR_CONDITION_CLEAR_NIGHT,
11  ATTR_CONDITION_CLOUDY,
12  ATTR_CONDITION_EXCEPTIONAL,
13  ATTR_CONDITION_FOG,
14  ATTR_CONDITION_HAIL,
15  ATTR_CONDITION_LIGHTNING,
16  ATTR_CONDITION_LIGHTNING_RAINY,
17  ATTR_CONDITION_PARTLYCLOUDY,
18  ATTR_CONDITION_POURING,
19  ATTR_CONDITION_RAINY,
20  ATTR_CONDITION_SNOWY,
21  ATTR_CONDITION_SNOWY_RAINY,
22  ATTR_CONDITION_SUNNY,
23  ATTR_CONDITION_WINDY,
24  ATTR_CONDITION_WINDY_VARIANT,
25 )
26 from homeassistant.const import Platform
27 
28 DOMAIN = "meteoclimatic"
29 PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
30 ATTRIBUTION = "Data provided by Meteoclimatic"
31 MODEL = "Meteoclimatic RSS feed"
32 MANUFACTURER = "Meteoclimatic"
33 
34 SCAN_INTERVAL = timedelta(minutes=10)
35 
36 CONF_STATION_CODE = "station_code"
37 
38 DEFAULT_WEATHER_CARD = True
39 
40 
41 CONDITION_CLASSES = {
42  ATTR_CONDITION_CLEAR_NIGHT: [Condition.moon, Condition.hazemoon],
43  ATTR_CONDITION_CLOUDY: [Condition.mooncloud],
44  ATTR_CONDITION_EXCEPTIONAL: [],
45  ATTR_CONDITION_FOG: [Condition.fog, Condition.mist],
46  ATTR_CONDITION_HAIL: [],
47  ATTR_CONDITION_LIGHTNING: [Condition.storm],
48  ATTR_CONDITION_LIGHTNING_RAINY: [],
49  ATTR_CONDITION_PARTLYCLOUDY: [Condition.suncloud, Condition.hazesun],
50  ATTR_CONDITION_POURING: [],
51  ATTR_CONDITION_RAINY: [Condition.rain],
52  ATTR_CONDITION_SNOWY: [],
53  ATTR_CONDITION_SNOWY_RAINY: [],
54  ATTR_CONDITION_SUNNY: [Condition.sun],
55  ATTR_CONDITION_WINDY: [],
56  ATTR_CONDITION_WINDY_VARIANT: [],
57 }
58 CONDITION_MAP = {
59  cond_code: cond_ha
60  for cond_ha, cond_codes in CONDITION_CLASSES.items()
61  for cond_code in cond_codes
62 }