Add motion detection support to motionEye (#49665)
This commit is contained in:
parent
7bd8e2aa55
commit
2868fef7d4
11 changed files with 751 additions and 33 deletions
|
@ -1,19 +1,89 @@
|
|||
"""Constants for the motionEye integration."""
|
||||
from datetime import timedelta
|
||||
from typing import Final
|
||||
|
||||
DOMAIN = "motioneye"
|
||||
from motioneye_client.const import (
|
||||
KEY_WEB_HOOK_CS_CAMERA_ID,
|
||||
KEY_WEB_HOOK_CS_CHANGED_PIXELS,
|
||||
KEY_WEB_HOOK_CS_DESPECKLE_LABELS,
|
||||
KEY_WEB_HOOK_CS_EVENT,
|
||||
KEY_WEB_HOOK_CS_FILE_PATH,
|
||||
KEY_WEB_HOOK_CS_FILE_TYPE,
|
||||
KEY_WEB_HOOK_CS_FPS,
|
||||
KEY_WEB_HOOK_CS_FRAME_NUMBER,
|
||||
KEY_WEB_HOOK_CS_HEIGHT,
|
||||
KEY_WEB_HOOK_CS_HOST,
|
||||
KEY_WEB_HOOK_CS_MOTION_CENTER_X,
|
||||
KEY_WEB_HOOK_CS_MOTION_CENTER_Y,
|
||||
KEY_WEB_HOOK_CS_MOTION_HEIGHT,
|
||||
KEY_WEB_HOOK_CS_MOTION_VERSION,
|
||||
KEY_WEB_HOOK_CS_MOTION_WIDTH,
|
||||
KEY_WEB_HOOK_CS_NOISE_LEVEL,
|
||||
KEY_WEB_HOOK_CS_THRESHOLD,
|
||||
KEY_WEB_HOOK_CS_WIDTH,
|
||||
)
|
||||
|
||||
CONF_CLIENT = "client"
|
||||
CONF_COORDINATOR = "coordinator"
|
||||
CONF_ADMIN_PASSWORD = "admin_password"
|
||||
CONF_ADMIN_USERNAME = "admin_username"
|
||||
CONF_SURVEILLANCE_USERNAME = "surveillance_username"
|
||||
CONF_SURVEILLANCE_PASSWORD = "surveillance_password"
|
||||
DEFAULT_SCAN_INTERVAL = timedelta(seconds=30)
|
||||
DOMAIN: Final = "motioneye"
|
||||
|
||||
MOTIONEYE_MANUFACTURER = "motionEye"
|
||||
ATTR_EVENT_TYPE: Final = "event_type"
|
||||
ATTR_WEBHOOK_ID: Final = "webhook_id"
|
||||
|
||||
SIGNAL_CAMERA_ADD = f"{DOMAIN}_camera_add_signal." "{}"
|
||||
SIGNAL_CAMERA_REMOVE = f"{DOMAIN}_camera_remove_signal." "{}"
|
||||
CONF_CLIENT: Final = "client"
|
||||
CONF_COORDINATOR: Final = "coordinator"
|
||||
CONF_ADMIN_PASSWORD: Final = "admin_password"
|
||||
CONF_ADMIN_USERNAME: Final = "admin_username"
|
||||
CONF_SURVEILLANCE_USERNAME: Final = "surveillance_username"
|
||||
CONF_SURVEILLANCE_PASSWORD: Final = "surveillance_password"
|
||||
CONF_WEBHOOK_SET: Final = "webhook_set"
|
||||
CONF_WEBHOOK_SET_OVERWRITE: Final = "webhook_set_overwrite"
|
||||
|
||||
TYPE_MOTIONEYE_MJPEG_CAMERA = "motioneye_mjpeg_camera"
|
||||
DEFAULT_WEBHOOK_SET: Final = True
|
||||
DEFAULT_WEBHOOK_SET_OVERWRITE: Final = False
|
||||
DEFAULT_SCAN_INTERVAL: Final = timedelta(seconds=30)
|
||||
|
||||
EVENT_MOTION_DETECTED: Final = "motion_detected"
|
||||
EVENT_FILE_STORED: Final = "file_stored"
|
||||
|
||||
EVENT_MOTION_DETECTED_KEYS: Final = [
|
||||
KEY_WEB_HOOK_CS_EVENT,
|
||||
KEY_WEB_HOOK_CS_FRAME_NUMBER,
|
||||
KEY_WEB_HOOK_CS_CAMERA_ID,
|
||||
KEY_WEB_HOOK_CS_CHANGED_PIXELS,
|
||||
KEY_WEB_HOOK_CS_NOISE_LEVEL,
|
||||
KEY_WEB_HOOK_CS_WIDTH,
|
||||
KEY_WEB_HOOK_CS_HEIGHT,
|
||||
KEY_WEB_HOOK_CS_MOTION_WIDTH,
|
||||
KEY_WEB_HOOK_CS_MOTION_HEIGHT,
|
||||
KEY_WEB_HOOK_CS_MOTION_CENTER_X,
|
||||
KEY_WEB_HOOK_CS_MOTION_CENTER_Y,
|
||||
KEY_WEB_HOOK_CS_THRESHOLD,
|
||||
KEY_WEB_HOOK_CS_DESPECKLE_LABELS,
|
||||
KEY_WEB_HOOK_CS_FPS,
|
||||
KEY_WEB_HOOK_CS_HOST,
|
||||
KEY_WEB_HOOK_CS_MOTION_VERSION,
|
||||
]
|
||||
|
||||
EVENT_FILE_STORED_KEYS: Final = [
|
||||
KEY_WEB_HOOK_CS_EVENT,
|
||||
KEY_WEB_HOOK_CS_FRAME_NUMBER,
|
||||
KEY_WEB_HOOK_CS_CAMERA_ID,
|
||||
KEY_WEB_HOOK_CS_NOISE_LEVEL,
|
||||
KEY_WEB_HOOK_CS_WIDTH,
|
||||
KEY_WEB_HOOK_CS_HEIGHT,
|
||||
KEY_WEB_HOOK_CS_FILE_PATH,
|
||||
KEY_WEB_HOOK_CS_FILE_TYPE,
|
||||
KEY_WEB_HOOK_CS_THRESHOLD,
|
||||
KEY_WEB_HOOK_CS_FPS,
|
||||
KEY_WEB_HOOK_CS_HOST,
|
||||
KEY_WEB_HOOK_CS_MOTION_VERSION,
|
||||
]
|
||||
|
||||
MOTIONEYE_MANUFACTURER: Final = "motionEye"
|
||||
|
||||
SIGNAL_CAMERA_ADD: Final = f"{DOMAIN}_camera_add_signal." "{}"
|
||||
SIGNAL_CAMERA_REMOVE: Final = f"{DOMAIN}_camera_remove_signal." "{}"
|
||||
|
||||
TYPE_MOTIONEYE_MJPEG_CAMERA: Final = "motioneye_mjpeg_camera"
|
||||
|
||||
WEB_HOOK_SENTINEL_KEY: Final = "src"
|
||||
WEB_HOOK_SENTINEL_VALUE: Final = "hass-motioneye"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue