Home Assistant Unofficial Reference 2024.12.1
const.py
Go to the documentation of this file.
1 """Constants for the motionEye integration."""
2 
3 from datetime import timedelta
4 from typing import Final
5 
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,
13  KEY_WEB_HOOK_CS_FPS,
14  KEY_WEB_HOOK_CS_FRAME_NUMBER,
15  KEY_WEB_HOOK_CS_HEIGHT,
16  KEY_WEB_HOOK_CS_HOST,
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,
25 )
26 
27 DOMAIN: Final = "motioneye"
28 
29 ATTR_EVENT_TYPE: Final = "event_type"
30 ATTR_WEBHOOK_ID: Final = "webhook_id"
31 
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"
42 
43 DEFAULT_WEBHOOK_SET: Final = True
44 DEFAULT_WEBHOOK_SET_OVERWRITE: Final = False
45 DEFAULT_SCAN_INTERVAL: Final = timedelta(seconds=30)
46 
47 EVENT_MOTION_DETECTED: Final = "motion_detected"
48 EVENT_FILE_STORED: Final = "file_stored"
49 
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,
64  KEY_WEB_HOOK_CS_FPS,
65  KEY_WEB_HOOK_CS_HOST,
66  KEY_WEB_HOOK_CS_MOTION_VERSION,
67 ]
68 
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,
79  KEY_WEB_HOOK_CS_FPS,
80  KEY_WEB_HOOK_CS_HOST,
81  KEY_WEB_HOOK_CS_MOTION_VERSION,
82 ]
83 
84 EVENT_FILE_URL: Final = "file_url"
85 EVENT_MEDIA_CONTENT_ID: Final = "media_content_id"
86 
87 MOTIONEYE_MANUFACTURER: Final = "motionEye"
88 
89 SERVICE_SET_TEXT_OVERLAY: Final = "set_text_overlay"
90 SERVICE_ACTION: Final = "action"
91 SERVICE_SNAPSHOT: Final = "snapshot"
92 
93 SIGNAL_CAMERA_ADD: Final = f"{DOMAIN}_camera_add_signal.{{}}"
94 SIGNAL_CAMERA_REMOVE: Final = f"{DOMAIN}_camera_remove_signal.{{}}"
95 
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"
99 
100 WEB_HOOK_SENTINEL_KEY: Final = "src"
101 WEB_HOOK_SENTINEL_VALUE: Final = "hass-motioneye"