Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constants used by the Netatmo component."""
2 
3 from homeassistant.const import Platform
4 
5 API = "api"
6 
7 DOMAIN = "netatmo"
8 MANUFACTURER = "Netatmo"
9 DEFAULT_ATTRIBUTION = f"Data provided by {MANUFACTURER}"
10 
11 PLATFORMS = [
12  Platform.BINARY_SENSOR,
13  Platform.CAMERA,
14  Platform.CLIMATE,
15  Platform.COVER,
16  Platform.FAN,
17  Platform.LIGHT,
18  Platform.SELECT,
19  Platform.SENSOR,
20  Platform.SWITCH,
21 ]
22 
23 CONF_URL_SECURITY = "https://home.netatmo.com/security"
24 CONF_URL_ENERGY = "https://my.netatmo.com/app/energy"
25 CONF_URL_WEATHER = "https://my.netatmo.com/app/weather"
26 CONF_URL_CONTROL = "https://home.netatmo.com/control"
27 CONF_URL_PUBLIC_WEATHER = "https://weathermap.netatmo.com/"
28 
29 AUTH = "netatmo_auth"
30 CONF_PUBLIC = "public_sensor_config"
31 CAMERA_DATA = "netatmo_camera"
32 HOME_DATA = "netatmo_home_data"
33 DATA_HANDLER = "netatmo_data_handler"
34 SIGNAL_NAME = "signal_name"
35 
36 API_SCOPES_EXCLUDED_FROM_CLOUD = [
37  "access_doorbell",
38  "read_doorbell",
39  "read_mhs1",
40  "write_mhs1",
41 ]
42 
43 NETATMO_CREATE_BATTERY = "netatmo_create_battery"
44 NETATMO_CREATE_CAMERA = "netatmo_create_camera"
45 NETATMO_CREATE_CAMERA_LIGHT = "netatmo_create_camera_light"
46 NETATMO_CREATE_CLIMATE = "netatmo_create_climate"
47 NETATMO_CREATE_COVER = "netatmo_create_cover"
48 NETATMO_CREATE_FAN = "netatmo_create_fan"
49 NETATMO_CREATE_LIGHT = "netatmo_create_light"
50 NETATMO_CREATE_ROOM_SENSOR = "netatmo_create_room_sensor"
51 NETATMO_CREATE_SELECT = "netatmo_create_select"
52 NETATMO_CREATE_SENSOR = "netatmo_create_sensor"
53 NETATMO_CREATE_SWITCH = "netatmo_create_switch"
54 NETATMO_CREATE_WEATHER_SENSOR = "netatmo_create_weather_sensor"
55 
56 CONF_AREA_NAME = "area_name"
57 CONF_CLOUDHOOK_URL = "cloudhook_url"
58 CONF_LAT_NE = "lat_ne"
59 CONF_LAT_SW = "lat_sw"
60 CONF_LON_NE = "lon_ne"
61 CONF_LON_SW = "lon_sw"
62 CONF_NEW_AREA = "new_area"
63 CONF_PUBLIC_MODE = "mode"
64 CONF_WEATHER_AREAS = "weather_areas"
65 
66 OAUTH2_AUTHORIZE = "https://api.netatmo.com/oauth2/authorize"
67 OAUTH2_TOKEN = "https://api.netatmo.com/oauth2/token"
68 
69 DATA_CAMERAS = "cameras"
70 DATA_DEVICE_IDS = "netatmo_device_ids"
71 DATA_EVENTS = "netatmo_events"
72 DATA_HOMES = "netatmo_homes"
73 DATA_PERSONS = "netatmo_persons"
74 DATA_SCHEDULES = "netatmo_schedules"
75 
76 NETATMO_EVENT = "netatmo_event"
77 
78 DEFAULT_DISCOVERY = True
79 DEFAULT_PERSON = "unknown"
80 DEFAULT_WEBHOOKS = False
81 
82 ATTR_CAMERA_LIGHT_MODE = "camera_light_mode"
83 ATTR_END_DATETIME = "end_datetime"
84 ATTR_EVENT_TYPE = "event_type"
85 ATTR_FACE_URL = "face_url"
86 ATTR_HEATING_POWER_REQUEST = "heating_power_request"
87 ATTR_HOME_ID = "home_id"
88 ATTR_HOME_NAME = "home_name"
89 ATTR_IS_KNOWN = "is_known"
90 ATTR_PERSON = "person"
91 ATTR_PERSONS = "persons"
92 ATTR_PSEUDO = "pseudo"
93 ATTR_SCHEDULE_ID = "schedule_id"
94 ATTR_SCHEDULE_NAME = "schedule_name"
95 ATTR_SELECTED_SCHEDULE = "selected_schedule"
96 ATTR_TARGET_TEMPERATURE = "target_temperature"
97 ATTR_TIME_PERIOD = "time_period"
98 
99 SERVICE_CLEAR_TEMPERATURE_SETTING = "clear_temperature_setting"
100 SERVICE_SET_CAMERA_LIGHT = "set_camera_light"
101 SERVICE_SET_PERSON_AWAY = "set_person_away"
102 SERVICE_SET_PERSONS_HOME = "set_persons_home"
103 SERVICE_SET_SCHEDULE = "set_schedule"
104 SERVICE_SET_PRESET_MODE_WITH_END_DATETIME = "set_preset_mode_with_end_datetime"
105 SERVICE_SET_TEMPERATURE_WITH_END_DATETIME = "set_temperature_with_end_datetime"
106 SERVICE_SET_TEMPERATURE_WITH_TIME_PERIOD = "set_temperature_with_time_period"
107 
108 # Climate events
109 EVENT_TYPE_CANCEL_SET_POINT = "cancel_set_point"
110 EVENT_TYPE_SCHEDULE = "schedule"
111 EVENT_TYPE_SET_POINT = "set_point"
112 EVENT_TYPE_THERM_MODE = "therm_mode"
113 # Camera events
114 EVENT_TYPE_CAMERA_ANIMAL = "animal"
115 EVENT_TYPE_CAMERA_HUMAN = "human"
116 EVENT_TYPE_CAMERA_MOVEMENT = "movement"
117 EVENT_TYPE_CAMERA_OUTDOOR = "outdoor"
118 EVENT_TYPE_CAMERA_PERSON = "person"
119 EVENT_TYPE_CAMERA_PERSON_AWAY = "person_away"
120 EVENT_TYPE_CAMERA_VEHICLE = "vehicle"
121 EVENT_TYPE_LIGHT_MODE = "light_mode"
122 # Door tags
123 EVENT_TYPE_ALARM_STARTED = "alarm_started"
124 EVENT_TYPE_DOOR_TAG_BIG_MOVE = "tag_big_move"
125 EVENT_TYPE_DOOR_TAG_OPEN = "tag_open"
126 EVENT_TYPE_DOOR_TAG_SMALL_MOVE = "tag_small_move"
127 EVENT_TYPE_OFF = "off"
128 EVENT_TYPE_ON = "on"
129 
130 OUTDOOR_CAMERA_TRIGGERS = [
131  EVENT_TYPE_CAMERA_ANIMAL,
132  EVENT_TYPE_CAMERA_HUMAN,
133  EVENT_TYPE_CAMERA_OUTDOOR,
134  EVENT_TYPE_CAMERA_VEHICLE,
135 ]
136 INDOOR_CAMERA_TRIGGERS = [
137  EVENT_TYPE_ALARM_STARTED,
138  EVENT_TYPE_CAMERA_MOVEMENT,
139  EVENT_TYPE_CAMERA_PERSON_AWAY,
140  EVENT_TYPE_CAMERA_PERSON,
141 ]
142 DOOR_TAG_TRIGGERS = [
143  EVENT_TYPE_DOOR_TAG_BIG_MOVE,
144  EVENT_TYPE_DOOR_TAG_OPEN,
145  EVENT_TYPE_DOOR_TAG_SMALL_MOVE,
146 ]
147 CLIMATE_TRIGGERS = [
148  EVENT_TYPE_CANCEL_SET_POINT,
149  EVENT_TYPE_SET_POINT,
150  EVENT_TYPE_THERM_MODE,
151 ]
152 EVENT_ID_MAP = {
153  EVENT_TYPE_ALARM_STARTED: "device_id",
154  EVENT_TYPE_CAMERA_ANIMAL: "device_id",
155  EVENT_TYPE_CAMERA_HUMAN: "device_id",
156  EVENT_TYPE_CAMERA_MOVEMENT: "device_id",
157  EVENT_TYPE_CAMERA_OUTDOOR: "device_id",
158  EVENT_TYPE_CAMERA_PERSON_AWAY: "device_id",
159  EVENT_TYPE_CAMERA_PERSON: "device_id",
160  EVENT_TYPE_CAMERA_VEHICLE: "device_id",
161  EVENT_TYPE_CANCEL_SET_POINT: "room_id",
162  EVENT_TYPE_DOOR_TAG_BIG_MOVE: "device_id",
163  EVENT_TYPE_DOOR_TAG_OPEN: "device_id",
164  EVENT_TYPE_DOOR_TAG_SMALL_MOVE: "device_id",
165  EVENT_TYPE_LIGHT_MODE: "device_id",
166  EVENT_TYPE_SET_POINT: "room_id",
167  EVENT_TYPE_THERM_MODE: "home_id",
168 }
169 
170 MODE_LIGHT_AUTO = "auto"
171 MODE_LIGHT_OFF = "off"
172 MODE_LIGHT_ON = "on"
173 CAMERA_LIGHT_MODES = [MODE_LIGHT_ON, MODE_LIGHT_OFF, MODE_LIGHT_AUTO]
174 
175 WEBHOOK_ACTIVATION = "webhook_activation"
176 WEBHOOK_DEACTIVATION = "webhook_deactivation"
177 WEBHOOK_LIGHT_MODE = "NOC-light_mode"
178 WEBHOOK_NACAMERA_CONNECTION = "NACamera-connection"
179 WEBHOOK_PUSH_TYPE = "push_type"