Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constants for IPMA component."""
2 
3 from __future__ import annotations
4 
5 from datetime import timedelta
6 
8  ATTR_CONDITION_CLEAR_NIGHT,
9  ATTR_CONDITION_CLOUDY,
10  ATTR_CONDITION_EXCEPTIONAL,
11  ATTR_CONDITION_FOG,
12  ATTR_CONDITION_HAIL,
13  ATTR_CONDITION_LIGHTNING,
14  ATTR_CONDITION_LIGHTNING_RAINY,
15  ATTR_CONDITION_PARTLYCLOUDY,
16  ATTR_CONDITION_POURING,
17  ATTR_CONDITION_RAINY,
18  ATTR_CONDITION_SNOWY,
19  ATTR_CONDITION_SNOWY_RAINY,
20  ATTR_CONDITION_SUNNY,
21  ATTR_CONDITION_WINDY,
22  ATTR_CONDITION_WINDY_VARIANT,
23  DOMAIN as WEATHER_DOMAIN,
24 )
25 
26 DOMAIN = "ipma"
27 
28 HOME_LOCATION_NAME = "Home"
29 
30 DATA_API = "api"
31 DATA_LOCATION = "location"
32 
33 ENTITY_ID_SENSOR_FORMAT_HOME = f"{WEATHER_DOMAIN}.ipma_{HOME_LOCATION_NAME}"
34 
35 MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=30)
36 
37 CONDITION_CLASSES: dict[str, list[int]] = {
38  ATTR_CONDITION_CLOUDY: [4, 5, 24, 25, 27],
39  ATTR_CONDITION_FOG: [16, 17, 26],
40  ATTR_CONDITION_HAIL: [21, 22],
41  ATTR_CONDITION_LIGHTNING: [19],
42  ATTR_CONDITION_LIGHTNING_RAINY: [20, 23],
43  ATTR_CONDITION_PARTLYCLOUDY: [2, 3],
44  ATTR_CONDITION_POURING: [8, 11],
45  ATTR_CONDITION_RAINY: [6, 7, 9, 10, 12, 13, 14, 15],
46  ATTR_CONDITION_SNOWY: [18],
47  ATTR_CONDITION_SNOWY_RAINY: [],
48  ATTR_CONDITION_SUNNY: [1],
49  ATTR_CONDITION_WINDY: [],
50  ATTR_CONDITION_WINDY_VARIANT: [],
51  ATTR_CONDITION_EXCEPTIONAL: [],
52  ATTR_CONDITION_CLEAR_NIGHT: [-1],
53 }
54 CONDITION_MAP = {
55  cond_code: cond_ha
56  for cond_ha, cond_codes in CONDITION_CLASSES.items()
57  for cond_code in cond_codes
58 }
59 
60 ATTRIBUTION = "Instituto Português do Mar e Atmosfera"