2021-12-26 06:12:57 +00:00
|
|
|
"""Constant definitions for UniFi Protect Integration."""
|
|
|
|
|
2022-01-05 21:59:21 +00:00
|
|
|
from datetime import timedelta
|
|
|
|
|
2021-12-26 06:12:57 +00:00
|
|
|
from pyunifiprotect.data.types import ModelType, Version
|
2022-01-03 23:42:10 +00:00
|
|
|
import voluptuous as vol
|
2021-12-26 06:12:57 +00:00
|
|
|
|
2022-01-03 23:42:10 +00:00
|
|
|
from homeassistant.const import ATTR_ENTITY_ID, Platform
|
|
|
|
from homeassistant.helpers import config_validation as cv
|
2021-12-27 11:39:24 +00:00
|
|
|
|
2021-12-26 06:12:57 +00:00
|
|
|
DOMAIN = "unifiprotect"
|
|
|
|
|
|
|
|
ATTR_WIDTH = "width"
|
|
|
|
ATTR_HEIGHT = "height"
|
|
|
|
ATTR_FPS = "fps"
|
|
|
|
ATTR_BITRATE = "bitrate"
|
|
|
|
ATTR_CHANNEL_ID = "channel_id"
|
2022-01-03 23:42:10 +00:00
|
|
|
ATTR_MESSAGE = "message"
|
|
|
|
ATTR_DURATION = "duration"
|
2021-12-26 06:12:57 +00:00
|
|
|
|
|
|
|
CONF_DISABLE_RTSP = "disable_rtsp"
|
|
|
|
CONF_ALL_UPDATES = "all_updates"
|
|
|
|
CONF_OVERRIDE_CHOST = "override_connection_host"
|
|
|
|
|
|
|
|
CONFIG_OPTIONS = [
|
|
|
|
CONF_ALL_UPDATES,
|
|
|
|
CONF_DISABLE_RTSP,
|
|
|
|
CONF_OVERRIDE_CHOST,
|
|
|
|
]
|
|
|
|
|
|
|
|
DEFAULT_PORT = 443
|
|
|
|
DEFAULT_ATTRIBUTION = "Powered by UniFi Protect Server"
|
|
|
|
DEFAULT_BRAND = "Ubiquiti"
|
2021-12-27 11:39:24 +00:00
|
|
|
DEFAULT_SCAN_INTERVAL = 5
|
2021-12-26 06:12:57 +00:00
|
|
|
DEFAULT_VERIFY_SSL = False
|
|
|
|
|
2022-01-05 21:59:21 +00:00
|
|
|
RING_INTERVAL = timedelta(seconds=3)
|
|
|
|
|
2021-12-26 06:12:57 +00:00
|
|
|
DEVICE_TYPE_CAMERA = "camera"
|
|
|
|
DEVICES_THAT_ADOPT = {
|
|
|
|
ModelType.CAMERA,
|
|
|
|
ModelType.LIGHT,
|
|
|
|
ModelType.VIEWPORT,
|
|
|
|
ModelType.SENSOR,
|
|
|
|
}
|
|
|
|
DEVICES_WITH_ENTITIES = DEVICES_THAT_ADOPT | {ModelType.NVR}
|
|
|
|
DEVICES_FOR_SUBSCRIBE = DEVICES_WITH_ENTITIES | {ModelType.EVENT}
|
|
|
|
|
|
|
|
MIN_REQUIRED_PROTECT_V = Version("1.20.0")
|
2021-12-27 11:39:24 +00:00
|
|
|
OUTDATED_LOG_MESSAGE = "You are running v%s of UniFi Protect. Minimum required version is v%s. Please upgrade UniFi Protect and then retry"
|
2021-12-26 06:12:57 +00:00
|
|
|
|
2022-01-03 23:42:10 +00:00
|
|
|
SERVICE_SET_DOORBELL_MESSAGE = "set_doorbell_message"
|
|
|
|
|
|
|
|
TYPE_EMPTY_VALUE = ""
|
|
|
|
|
2022-01-01 21:23:10 +00:00
|
|
|
PLATFORMS = [
|
2022-01-05 21:59:21 +00:00
|
|
|
Platform.BINARY_SENSOR,
|
2022-01-01 21:23:10 +00:00
|
|
|
Platform.BUTTON,
|
|
|
|
Platform.CAMERA,
|
|
|
|
Platform.LIGHT,
|
|
|
|
Platform.MEDIA_PLAYER,
|
2022-01-02 19:47:25 +00:00
|
|
|
Platform.NUMBER,
|
2022-01-03 23:42:10 +00:00
|
|
|
Platform.SELECT,
|
2022-01-01 21:23:10 +00:00
|
|
|
Platform.SWITCH,
|
|
|
|
]
|
2022-01-03 23:42:10 +00:00
|
|
|
|
|
|
|
SET_DOORBELL_LCD_MESSAGE_SCHEMA = vol.Schema(
|
|
|
|
{
|
|
|
|
vol.Required(ATTR_ENTITY_ID): cv.entity_ids,
|
|
|
|
vol.Required(ATTR_MESSAGE): cv.string,
|
|
|
|
vol.Optional(ATTR_DURATION, default=""): cv.string,
|
|
|
|
}
|
|
|
|
)
|