Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constant values for the AEMET OpenData component."""
2 
3 from __future__ import annotations
4 
5 from aemet_opendata.const import (
6  AOD_COND_CLEAR_NIGHT,
7  AOD_COND_CLOUDY,
8  AOD_COND_FOG,
9  AOD_COND_LIGHTNING,
10  AOD_COND_LIGHTNING_RAINY,
11  AOD_COND_PARTLY_CLODUY,
12  AOD_COND_POURING,
13  AOD_COND_RAINY,
14  AOD_COND_SNOWY,
15  AOD_COND_SUNNY,
16  AOD_CONDITION,
17  AOD_FORECAST_DAILY,
18  AOD_FORECAST_HOURLY,
19  AOD_PRECIPITATION,
20  AOD_PRECIPITATION_PROBABILITY,
21  AOD_TEMP,
22  AOD_TEMP_MAX,
23  AOD_TEMP_MIN,
24  AOD_TIMESTAMP_UTC,
25  AOD_WIND_DIRECTION,
26  AOD_WIND_SPEED,
27  AOD_WIND_SPEED_MAX,
28 )
29 
31  ATTR_CONDITION_CLEAR_NIGHT,
32  ATTR_CONDITION_CLOUDY,
33  ATTR_CONDITION_FOG,
34  ATTR_CONDITION_LIGHTNING,
35  ATTR_CONDITION_LIGHTNING_RAINY,
36  ATTR_CONDITION_PARTLYCLOUDY,
37  ATTR_CONDITION_POURING,
38  ATTR_CONDITION_RAINY,
39  ATTR_CONDITION_SNOWY,
40  ATTR_CONDITION_SUNNY,
41  ATTR_FORECAST_CONDITION,
42  ATTR_FORECAST_NATIVE_PRECIPITATION,
43  ATTR_FORECAST_NATIVE_TEMP,
44  ATTR_FORECAST_NATIVE_TEMP_LOW,
45  ATTR_FORECAST_NATIVE_WIND_GUST_SPEED,
46  ATTR_FORECAST_NATIVE_WIND_SPEED,
47  ATTR_FORECAST_PRECIPITATION_PROBABILITY,
48  ATTR_FORECAST_TIME,
49  ATTR_FORECAST_WIND_BEARING,
50 )
51 from homeassistant.const import Platform
52 
53 ATTRIBUTION = "Powered by AEMET OpenData"
54 CONF_STATION_UPDATES = "station_updates"
55 PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
56 DEFAULT_NAME = "AEMET"
57 DOMAIN = "aemet"
58 
59 ATTR_API_CONDITION = "condition"
60 ATTR_API_FORECAST_CONDITION = "condition"
61 ATTR_API_FORECAST_PRECIPITATION = "precipitation"
62 ATTR_API_FORECAST_PRECIPITATION_PROBABILITY = "precipitation_probability"
63 ATTR_API_FORECAST_TEMP = "temperature"
64 ATTR_API_FORECAST_TEMP_LOW = "templow"
65 ATTR_API_FORECAST_TIME = "datetime"
66 ATTR_API_FORECAST_WIND_BEARING = "wind_bearing"
67 ATTR_API_FORECAST_WIND_MAX_SPEED = "wind_max_speed"
68 ATTR_API_FORECAST_WIND_SPEED = "wind_speed"
69 ATTR_API_HUMIDITY = "humidity"
70 ATTR_API_PRESSURE = "pressure"
71 ATTR_API_RAIN = "rain"
72 ATTR_API_RAIN_PROB = "rain-probability"
73 ATTR_API_SNOW = "snow"
74 ATTR_API_SNOW_PROB = "snow-probability"
75 ATTR_API_STATION_ID = "station-id"
76 ATTR_API_STATION_NAME = "station-name"
77 ATTR_API_STATION_TIMESTAMP = "station-timestamp"
78 ATTR_API_STORM_PROB = "storm-probability"
79 ATTR_API_TEMPERATURE = "temperature"
80 ATTR_API_TEMPERATURE_FEELING = "temperature-feeling"
81 ATTR_API_TOWN_ID = "town-id"
82 ATTR_API_TOWN_NAME = "town-name"
83 ATTR_API_TOWN_TIMESTAMP = "town-timestamp"
84 ATTR_API_WIND_BEARING = "wind-bearing"
85 ATTR_API_WIND_MAX_SPEED = "wind-max-speed"
86 ATTR_API_WIND_SPEED = "wind-speed"
87 
88 CONDITIONS_MAP = {
89  AOD_COND_CLEAR_NIGHT: ATTR_CONDITION_CLEAR_NIGHT,
90  AOD_COND_CLOUDY: ATTR_CONDITION_CLOUDY,
91  AOD_COND_FOG: ATTR_CONDITION_FOG,
92  AOD_COND_LIGHTNING: ATTR_CONDITION_LIGHTNING,
93  AOD_COND_LIGHTNING_RAINY: ATTR_CONDITION_LIGHTNING_RAINY,
94  AOD_COND_PARTLY_CLODUY: ATTR_CONDITION_PARTLYCLOUDY,
95  AOD_COND_POURING: ATTR_CONDITION_POURING,
96  AOD_COND_RAINY: ATTR_CONDITION_RAINY,
97  AOD_COND_SNOWY: ATTR_CONDITION_SNOWY,
98  AOD_COND_SUNNY: ATTR_CONDITION_SUNNY,
99 }
100 
101 FORECAST_MAP = {
102  AOD_FORECAST_DAILY: {
103  AOD_CONDITION: ATTR_FORECAST_CONDITION,
104  AOD_PRECIPITATION_PROBABILITY: ATTR_FORECAST_PRECIPITATION_PROBABILITY,
105  AOD_TEMP_MAX: ATTR_FORECAST_NATIVE_TEMP,
106  AOD_TEMP_MIN: ATTR_FORECAST_NATIVE_TEMP_LOW,
107  AOD_TIMESTAMP_UTC: ATTR_FORECAST_TIME,
108  AOD_WIND_DIRECTION: ATTR_FORECAST_WIND_BEARING,
109  AOD_WIND_SPEED: ATTR_FORECAST_NATIVE_WIND_SPEED,
110  },
111  AOD_FORECAST_HOURLY: {
112  AOD_CONDITION: ATTR_FORECAST_CONDITION,
113  AOD_PRECIPITATION_PROBABILITY: ATTR_FORECAST_PRECIPITATION_PROBABILITY,
114  AOD_PRECIPITATION: ATTR_FORECAST_NATIVE_PRECIPITATION,
115  AOD_TEMP: ATTR_FORECAST_NATIVE_TEMP,
116  AOD_TIMESTAMP_UTC: ATTR_FORECAST_TIME,
117  AOD_WIND_DIRECTION: ATTR_FORECAST_WIND_BEARING,
118  AOD_WIND_SPEED_MAX: ATTR_FORECAST_NATIVE_WIND_GUST_SPEED,
119  AOD_WIND_SPEED: ATTR_FORECAST_NATIVE_WIND_SPEED,
120  },
121 }