Simplify UniFi Protect service setup/cleanup (#63908)

Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
Christopher Bailey 2022-01-11 17:37:47 -05:00 committed by GitHub
parent 240c9979c7
commit 05ee5e0251
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 69 additions and 97 deletions

View file

@ -1,10 +1,8 @@
"""Constant definitions for UniFi Protect Integration."""
from pyunifiprotect.data.types import ModelType, Version
import voluptuous as vol
from homeassistant.const import ATTR_DEVICE_ID, ATTR_ENTITY_ID, Platform
from homeassistant.helpers import config_validation as cv
from homeassistant.const import Platform
DOMAIN = "unifiprotect"
@ -49,16 +47,6 @@ OUTDATED_LOG_MESSAGE = "You are running v%s of UniFi Protect. Minimum required v
TYPE_EMPTY_VALUE = ""
SERVICE_ADD_DOORBELL_TEXT = "add_doorbell_text"
SERVICE_REMOVE_DOORBELL_TEXT = "remove_doorbell_text"
SERVICE_SET_DEFAULT_DOORBELL_TEXT = "set_default_doorbell_text"
ALL_GLOBAL_SERIVCES = [
SERVICE_ADD_DOORBELL_TEXT,
SERVICE_REMOVE_DOORBELL_TEXT,
SERVICE_SET_DEFAULT_DOORBELL_TEXT,
]
PLATFORMS = [
Platform.BINARY_SENSOR,
Platform.BUTTON,
@ -70,43 +58,3 @@ PLATFORMS = [
Platform.SENSOR,
Platform.SWITCH,
]
DOORBELL_TEXT_SCHEMA = vol.All(
vol.Schema(
{
**cv.ENTITY_SERVICE_FIELDS,
vol.Required(ATTR_MESSAGE): cv.string,
},
),
cv.has_at_least_one_key(ATTR_DEVICE_ID),
)
GENERATE_DATA_SCHEMA = vol.All(
vol.Schema(
{
**cv.ENTITY_SERVICE_FIELDS,
vol.Required(ATTR_DURATION): vol.Coerce(int),
vol.Required(ATTR_ANONYMIZE): vol.Coerce(bool),
},
),
cv.has_at_least_one_key(ATTR_DEVICE_ID),
)
PROFILE_WS_SCHEMA = vol.All(
vol.Schema(
{
**cv.ENTITY_SERVICE_FIELDS,
vol.Required(ATTR_DURATION): vol.Coerce(int),
},
),
cv.has_at_least_one_key(ATTR_DEVICE_ID),
)
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="None"): cv.string,
}
)