mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Fix services for Armcrest & Logi Circle (#49166)
This commit is contained in:
parent
0ca3186caf
commit
de569982a4
@ -10,7 +10,7 @@ import voluptuous as vol
|
|||||||
|
|
||||||
from homeassistant.components.camera import SUPPORT_ON_OFF, SUPPORT_STREAM, Camera
|
from homeassistant.components.camera import SUPPORT_ON_OFF, SUPPORT_STREAM, Camera
|
||||||
from homeassistant.components.ffmpeg import DATA_FFMPEG
|
from homeassistant.components.ffmpeg import DATA_FFMPEG
|
||||||
from homeassistant.const import CONF_NAME, STATE_OFF, STATE_ON
|
from homeassistant.const import ATTR_ENTITY_ID, CONF_NAME, STATE_OFF, STATE_ON
|
||||||
from homeassistant.helpers.aiohttp_client import (
|
from homeassistant.helpers.aiohttp_client import (
|
||||||
async_aiohttp_proxy_stream,
|
async_aiohttp_proxy_stream,
|
||||||
async_aiohttp_proxy_web,
|
async_aiohttp_proxy_web,
|
||||||
@ -77,26 +77,29 @@ _CBW_AUTO = "auto"
|
|||||||
_CBW_BW = "bw"
|
_CBW_BW = "bw"
|
||||||
_CBW = [_CBW_COLOR, _CBW_AUTO, _CBW_BW]
|
_CBW = [_CBW_COLOR, _CBW_AUTO, _CBW_BW]
|
||||||
|
|
||||||
_SRV_GOTO_SCHEMA = {
|
_SRV_SCHEMA = vol.Schema({vol.Optional(ATTR_ENTITY_ID): cv.comp_entity_ids})
|
||||||
vol.Required(_ATTR_PRESET): vol.All(vol.Coerce(int), vol.Range(min=1))
|
_SRV_GOTO_SCHEMA = _SRV_SCHEMA.extend(
|
||||||
}
|
{vol.Required(_ATTR_PRESET): vol.All(vol.Coerce(int), vol.Range(min=1))}
|
||||||
_SRV_CBW_SCHEMA = {vol.Required(_ATTR_COLOR_BW): vol.In(_CBW)}
|
)
|
||||||
_SRV_PTZ_SCHEMA = {
|
_SRV_CBW_SCHEMA = _SRV_SCHEMA.extend({vol.Required(_ATTR_COLOR_BW): vol.In(_CBW)})
|
||||||
vol.Required(_ATTR_PTZ_MOV): vol.In(_MOV),
|
_SRV_PTZ_SCHEMA = _SRV_SCHEMA.extend(
|
||||||
vol.Optional(_ATTR_PTZ_TT, default=_DEFAULT_TT): cv.small_float,
|
{
|
||||||
}
|
vol.Required(_ATTR_PTZ_MOV): vol.In(_MOV),
|
||||||
|
vol.Optional(_ATTR_PTZ_TT, default=_DEFAULT_TT): cv.small_float,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
CAMERA_SERVICES = {
|
CAMERA_SERVICES = {
|
||||||
_SRV_EN_REC: ({}, "async_enable_recording", ()),
|
_SRV_EN_REC: (_SRV_SCHEMA, "async_enable_recording", ()),
|
||||||
_SRV_DS_REC: ({}, "async_disable_recording", ()),
|
_SRV_DS_REC: (_SRV_SCHEMA, "async_disable_recording", ()),
|
||||||
_SRV_EN_AUD: ({}, "async_enable_audio", ()),
|
_SRV_EN_AUD: (_SRV_SCHEMA, "async_enable_audio", ()),
|
||||||
_SRV_DS_AUD: ({}, "async_disable_audio", ()),
|
_SRV_DS_AUD: (_SRV_SCHEMA, "async_disable_audio", ()),
|
||||||
_SRV_EN_MOT_REC: ({}, "async_enable_motion_recording", ()),
|
_SRV_EN_MOT_REC: (_SRV_SCHEMA, "async_enable_motion_recording", ()),
|
||||||
_SRV_DS_MOT_REC: ({}, "async_disable_motion_recording", ()),
|
_SRV_DS_MOT_REC: (_SRV_SCHEMA, "async_disable_motion_recording", ()),
|
||||||
_SRV_GOTO: (_SRV_GOTO_SCHEMA, "async_goto_preset", (_ATTR_PRESET,)),
|
_SRV_GOTO: (_SRV_GOTO_SCHEMA, "async_goto_preset", (_ATTR_PRESET,)),
|
||||||
_SRV_CBW: (_SRV_CBW_SCHEMA, "async_set_color_bw", (_ATTR_COLOR_BW,)),
|
_SRV_CBW: (_SRV_CBW_SCHEMA, "async_set_color_bw", (_ATTR_COLOR_BW,)),
|
||||||
_SRV_TOUR_ON: ({}, "async_start_tour", ()),
|
_SRV_TOUR_ON: (_SRV_SCHEMA, "async_start_tour", ()),
|
||||||
_SRV_TOUR_OFF: ({}, "async_stop_tour", ()),
|
_SRV_TOUR_OFF: (_SRV_SCHEMA, "async_stop_tour", ()),
|
||||||
_SRV_PTZ_CTRL: (
|
_SRV_PTZ_CTRL: (
|
||||||
_SRV_PTZ_SCHEMA,
|
_SRV_PTZ_SCHEMA,
|
||||||
"async_ptz_control",
|
"async_ptz_control",
|
||||||
|
@ -10,6 +10,7 @@ import voluptuous as vol
|
|||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
from homeassistant.components.camera import ATTR_FILENAME
|
from homeassistant.components.camera import ATTR_FILENAME
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
|
ATTR_ENTITY_ID,
|
||||||
ATTR_MODE,
|
ATTR_MODE,
|
||||||
CONF_API_KEY,
|
CONF_API_KEY,
|
||||||
CONF_CLIENT_ID,
|
CONF_CLIENT_ID,
|
||||||
@ -72,17 +73,28 @@ CONFIG_SCHEMA = vol.Schema(
|
|||||||
extra=vol.ALLOW_EXTRA,
|
extra=vol.ALLOW_EXTRA,
|
||||||
)
|
)
|
||||||
|
|
||||||
LOGI_CIRCLE_SERVICE_SET_CONFIG = {
|
LOGI_CIRCLE_SERVICE_SET_CONFIG = vol.Schema(
|
||||||
vol.Required(ATTR_MODE): vol.In([LED_MODE_KEY, RECORDING_MODE_KEY]),
|
{
|
||||||
vol.Required(ATTR_VALUE): cv.boolean,
|
vol.Optional(ATTR_ENTITY_ID): cv.comp_entity_ids,
|
||||||
}
|
vol.Required(ATTR_MODE): vol.In([LED_MODE_KEY, RECORDING_MODE_KEY]),
|
||||||
|
vol.Required(ATTR_VALUE): cv.boolean,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
LOGI_CIRCLE_SERVICE_SNAPSHOT = {vol.Required(ATTR_FILENAME): cv.template}
|
LOGI_CIRCLE_SERVICE_SNAPSHOT = vol.Schema(
|
||||||
|
{
|
||||||
|
vol.Optional(ATTR_ENTITY_ID): cv.comp_entity_ids,
|
||||||
|
vol.Required(ATTR_FILENAME): cv.template,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
LOGI_CIRCLE_SERVICE_RECORD = {
|
LOGI_CIRCLE_SERVICE_RECORD = vol.Schema(
|
||||||
vol.Required(ATTR_FILENAME): cv.template,
|
{
|
||||||
vol.Required(ATTR_DURATION): cv.positive_int,
|
vol.Optional(ATTR_ENTITY_ID): cv.comp_entity_ids,
|
||||||
}
|
vol.Required(ATTR_FILENAME): cv.template,
|
||||||
|
vol.Required(ATTR_DURATION): cv.positive_int,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass, config):
|
async def async_setup(hass, config):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user