1 """Constants for the motionEye integration."""
3 from datetime
import timedelta
4 from typing
import Final
6 from motioneye_client.const
import (
7 KEY_WEB_HOOK_CS_CAMERA_ID,
8 KEY_WEB_HOOK_CS_CHANGED_PIXELS,
9 KEY_WEB_HOOK_CS_DESPECKLE_LABELS,
10 KEY_WEB_HOOK_CS_EVENT,
11 KEY_WEB_HOOK_CS_FILE_PATH,
12 KEY_WEB_HOOK_CS_FILE_TYPE,
14 KEY_WEB_HOOK_CS_FRAME_NUMBER,
15 KEY_WEB_HOOK_CS_HEIGHT,
17 KEY_WEB_HOOK_CS_MOTION_CENTER_X,
18 KEY_WEB_HOOK_CS_MOTION_CENTER_Y,
19 KEY_WEB_HOOK_CS_MOTION_HEIGHT,
20 KEY_WEB_HOOK_CS_MOTION_VERSION,
21 KEY_WEB_HOOK_CS_MOTION_WIDTH,
22 KEY_WEB_HOOK_CS_NOISE_LEVEL,
23 KEY_WEB_HOOK_CS_THRESHOLD,
24 KEY_WEB_HOOK_CS_WIDTH,
27 DOMAIN: Final =
"motioneye"
29 ATTR_EVENT_TYPE: Final =
"event_type"
30 ATTR_WEBHOOK_ID: Final =
"webhook_id"
32 CONF_ACTION: Final =
"action"
33 CONF_CLIENT: Final =
"client"
34 CONF_COORDINATOR: Final =
"coordinator"
35 CONF_ADMIN_PASSWORD: Final =
"admin_password"
36 CONF_ADMIN_USERNAME: Final =
"admin_username"
37 CONF_STREAM_URL_TEMPLATE: Final =
"stream_url_template"
38 CONF_SURVEILLANCE_USERNAME: Final =
"surveillance_username"
39 CONF_SURVEILLANCE_PASSWORD: Final =
"surveillance_password"
40 CONF_WEBHOOK_SET: Final =
"webhook_set"
41 CONF_WEBHOOK_SET_OVERWRITE: Final =
"webhook_set_overwrite"
43 DEFAULT_WEBHOOK_SET: Final =
True
44 DEFAULT_WEBHOOK_SET_OVERWRITE: Final =
False
45 DEFAULT_SCAN_INTERVAL: Final =
timedelta(seconds=30)
47 EVENT_MOTION_DETECTED: Final =
"motion_detected"
48 EVENT_FILE_STORED: Final =
"file_stored"
50 EVENT_MOTION_DETECTED_KEYS: Final = [
51 KEY_WEB_HOOK_CS_EVENT,
52 KEY_WEB_HOOK_CS_FRAME_NUMBER,
53 KEY_WEB_HOOK_CS_CAMERA_ID,
54 KEY_WEB_HOOK_CS_CHANGED_PIXELS,
55 KEY_WEB_HOOK_CS_NOISE_LEVEL,
56 KEY_WEB_HOOK_CS_WIDTH,
57 KEY_WEB_HOOK_CS_HEIGHT,
58 KEY_WEB_HOOK_CS_MOTION_WIDTH,
59 KEY_WEB_HOOK_CS_MOTION_HEIGHT,
60 KEY_WEB_HOOK_CS_MOTION_CENTER_X,
61 KEY_WEB_HOOK_CS_MOTION_CENTER_Y,
62 KEY_WEB_HOOK_CS_THRESHOLD,
63 KEY_WEB_HOOK_CS_DESPECKLE_LABELS,
66 KEY_WEB_HOOK_CS_MOTION_VERSION,
69 EVENT_FILE_STORED_KEYS: Final = [
70 KEY_WEB_HOOK_CS_EVENT,
71 KEY_WEB_HOOK_CS_FRAME_NUMBER,
72 KEY_WEB_HOOK_CS_CAMERA_ID,
73 KEY_WEB_HOOK_CS_NOISE_LEVEL,
74 KEY_WEB_HOOK_CS_WIDTH,
75 KEY_WEB_HOOK_CS_HEIGHT,
76 KEY_WEB_HOOK_CS_FILE_PATH,
77 KEY_WEB_HOOK_CS_FILE_TYPE,
78 KEY_WEB_HOOK_CS_THRESHOLD,
81 KEY_WEB_HOOK_CS_MOTION_VERSION,
84 EVENT_FILE_URL: Final =
"file_url"
85 EVENT_MEDIA_CONTENT_ID: Final =
"media_content_id"
87 MOTIONEYE_MANUFACTURER: Final =
"motionEye"
89 SERVICE_SET_TEXT_OVERLAY: Final =
"set_text_overlay"
90 SERVICE_ACTION: Final =
"action"
91 SERVICE_SNAPSHOT: Final =
"snapshot"
93 SIGNAL_CAMERA_ADD: Final = f
"{DOMAIN}_camera_add_signal.{{}}"
94 SIGNAL_CAMERA_REMOVE: Final = f
"{DOMAIN}_camera_remove_signal.{{}}"
96 TYPE_MOTIONEYE_ACTION_SENSOR = f
"{DOMAIN}_action_sensor"
97 TYPE_MOTIONEYE_MJPEG_CAMERA: Final =
"motioneye_mjpeg_camera"
98 TYPE_MOTIONEYE_SWITCH_BASE: Final = f
"{DOMAIN}_switch"
100 WEB_HOOK_SENTINEL_KEY: Final =
"src"
101 WEB_HOOK_SENTINEL_VALUE: Final =
"hass-motioneye"