1 """Constants for Met Office Integration."""
3 from datetime
import timedelta
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,
25 DEFAULT_NAME =
"Met Office"
26 ATTRIBUTION =
"Data provided by the Met Office"
30 METOFFICE_COORDINATES =
"metoffice_coordinates"
31 METOFFICE_HOURLY_COORDINATOR =
"metoffice_hourly_coordinator"
32 METOFFICE_DAILY_COORDINATOR =
"metoffice_daily_coordinator"
33 METOFFICE_MONITORED_CONDITIONS =
"metoffice_monitored_conditions"
34 METOFFICE_NAME =
"metoffice_name"
36 MODE_3HOURLY =
"3hourly"
39 CONDITION_CLASSES: dict[str, list[str]] = {
40 ATTR_CONDITION_CLEAR_NIGHT: [
"0"],
41 ATTR_CONDITION_CLOUDY: [
"7",
"8"],
42 ATTR_CONDITION_FOG: [
"5",
"6"],
43 ATTR_CONDITION_HAIL: [
"19",
"20",
"21"],
44 ATTR_CONDITION_LIGHTNING: [
"30"],
45 ATTR_CONDITION_LIGHTNING_RAINY: [
"28",
"29"],
46 ATTR_CONDITION_PARTLYCLOUDY: [
"2",
"3"],
47 ATTR_CONDITION_POURING: [
"13",
"14",
"15"],
48 ATTR_CONDITION_RAINY: [
"9",
"10",
"11",
"12"],
49 ATTR_CONDITION_SNOWY: [
"22",
"23",
"24",
"25",
"26",
"27"],
50 ATTR_CONDITION_SNOWY_RAINY: [
"16",
"17",
"18"],
51 ATTR_CONDITION_SUNNY: [
"1"],
52 ATTR_CONDITION_WINDY: [],
53 ATTR_CONDITION_WINDY_VARIANT: [],
54 ATTR_CONDITION_EXCEPTIONAL: [],
58 for cond_ha, cond_codes
in CONDITION_CLASSES.items()
59 for cond_code
in cond_codes
62 VISIBILITY_CLASSES = {
71 VISIBILITY_DISTANCE_CLASSES = {