mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Ensure event entities are allowed for linked homekit config via YAML (#123994)
This commit is contained in:
parent
e8d57bf636
commit
c8b0c939e4
@ -22,6 +22,7 @@ from homeassistant.components import (
|
|||||||
sensor,
|
sensor,
|
||||||
)
|
)
|
||||||
from homeassistant.components.camera import DOMAIN as CAMERA_DOMAIN
|
from homeassistant.components.camera import DOMAIN as CAMERA_DOMAIN
|
||||||
|
from homeassistant.components.event import DOMAIN as EVENT_DOMAIN
|
||||||
from homeassistant.components.lock import DOMAIN as LOCK_DOMAIN
|
from homeassistant.components.lock import DOMAIN as LOCK_DOMAIN
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
DOMAIN as MEDIA_PLAYER_DOMAIN,
|
DOMAIN as MEDIA_PLAYER_DOMAIN,
|
||||||
@ -167,9 +168,11 @@ CAMERA_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
|||||||
vol.Optional(
|
vol.Optional(
|
||||||
CONF_VIDEO_PACKET_SIZE, default=DEFAULT_VIDEO_PACKET_SIZE
|
CONF_VIDEO_PACKET_SIZE, default=DEFAULT_VIDEO_PACKET_SIZE
|
||||||
): cv.positive_int,
|
): cv.positive_int,
|
||||||
vol.Optional(CONF_LINKED_MOTION_SENSOR): cv.entity_domain(binary_sensor.DOMAIN),
|
vol.Optional(CONF_LINKED_MOTION_SENSOR): cv.entity_domain(
|
||||||
|
[binary_sensor.DOMAIN, EVENT_DOMAIN]
|
||||||
|
),
|
||||||
vol.Optional(CONF_LINKED_DOORBELL_SENSOR): cv.entity_domain(
|
vol.Optional(CONF_LINKED_DOORBELL_SENSOR): cv.entity_domain(
|
||||||
binary_sensor.DOMAIN
|
[binary_sensor.DOMAIN, EVENT_DOMAIN]
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -7,13 +7,38 @@ import voluptuous as vol
|
|||||||
|
|
||||||
from homeassistant.components.homekit.const import (
|
from homeassistant.components.homekit.const import (
|
||||||
BRIDGE_NAME,
|
BRIDGE_NAME,
|
||||||
|
CONF_AUDIO_CODEC,
|
||||||
|
CONF_AUDIO_MAP,
|
||||||
|
CONF_AUDIO_PACKET_SIZE,
|
||||||
CONF_FEATURE,
|
CONF_FEATURE,
|
||||||
CONF_FEATURE_LIST,
|
CONF_FEATURE_LIST,
|
||||||
CONF_LINKED_BATTERY_SENSOR,
|
CONF_LINKED_BATTERY_SENSOR,
|
||||||
|
CONF_LINKED_DOORBELL_SENSOR,
|
||||||
|
CONF_LINKED_MOTION_SENSOR,
|
||||||
CONF_LOW_BATTERY_THRESHOLD,
|
CONF_LOW_BATTERY_THRESHOLD,
|
||||||
|
CONF_MAX_FPS,
|
||||||
|
CONF_MAX_HEIGHT,
|
||||||
|
CONF_MAX_WIDTH,
|
||||||
|
CONF_STREAM_COUNT,
|
||||||
|
CONF_SUPPORT_AUDIO,
|
||||||
CONF_THRESHOLD_CO,
|
CONF_THRESHOLD_CO,
|
||||||
CONF_THRESHOLD_CO2,
|
CONF_THRESHOLD_CO2,
|
||||||
|
CONF_VIDEO_CODEC,
|
||||||
|
CONF_VIDEO_MAP,
|
||||||
|
CONF_VIDEO_PACKET_SIZE,
|
||||||
|
DEFAULT_AUDIO_CODEC,
|
||||||
|
DEFAULT_AUDIO_MAP,
|
||||||
|
DEFAULT_AUDIO_PACKET_SIZE,
|
||||||
DEFAULT_CONFIG_FLOW_PORT,
|
DEFAULT_CONFIG_FLOW_PORT,
|
||||||
|
DEFAULT_LOW_BATTERY_THRESHOLD,
|
||||||
|
DEFAULT_MAX_FPS,
|
||||||
|
DEFAULT_MAX_HEIGHT,
|
||||||
|
DEFAULT_MAX_WIDTH,
|
||||||
|
DEFAULT_STREAM_COUNT,
|
||||||
|
DEFAULT_SUPPORT_AUDIO,
|
||||||
|
DEFAULT_VIDEO_CODEC,
|
||||||
|
DEFAULT_VIDEO_MAP,
|
||||||
|
DEFAULT_VIDEO_PACKET_SIZE,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
FEATURE_ON_OFF,
|
FEATURE_ON_OFF,
|
||||||
FEATURE_PLAY_PAUSE,
|
FEATURE_PLAY_PAUSE,
|
||||||
@ -178,6 +203,31 @@ def test_validate_entity_config() -> None:
|
|||||||
assert vec({"sensor.co2": {CONF_THRESHOLD_CO2: 500}}) == {
|
assert vec({"sensor.co2": {CONF_THRESHOLD_CO2: 500}}) == {
|
||||||
"sensor.co2": {CONF_THRESHOLD_CO2: 500, CONF_LOW_BATTERY_THRESHOLD: 20}
|
"sensor.co2": {CONF_THRESHOLD_CO2: 500, CONF_LOW_BATTERY_THRESHOLD: 20}
|
||||||
}
|
}
|
||||||
|
assert vec(
|
||||||
|
{
|
||||||
|
"camera.demo": {
|
||||||
|
CONF_LINKED_DOORBELL_SENSOR: "event.doorbell",
|
||||||
|
CONF_LINKED_MOTION_SENSOR: "event.motion",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
) == {
|
||||||
|
"camera.demo": {
|
||||||
|
CONF_LINKED_DOORBELL_SENSOR: "event.doorbell",
|
||||||
|
CONF_LINKED_MOTION_SENSOR: "event.motion",
|
||||||
|
CONF_AUDIO_CODEC: DEFAULT_AUDIO_CODEC,
|
||||||
|
CONF_SUPPORT_AUDIO: DEFAULT_SUPPORT_AUDIO,
|
||||||
|
CONF_MAX_WIDTH: DEFAULT_MAX_WIDTH,
|
||||||
|
CONF_MAX_HEIGHT: DEFAULT_MAX_HEIGHT,
|
||||||
|
CONF_MAX_FPS: DEFAULT_MAX_FPS,
|
||||||
|
CONF_AUDIO_MAP: DEFAULT_AUDIO_MAP,
|
||||||
|
CONF_VIDEO_MAP: DEFAULT_VIDEO_MAP,
|
||||||
|
CONF_STREAM_COUNT: DEFAULT_STREAM_COUNT,
|
||||||
|
CONF_VIDEO_CODEC: DEFAULT_VIDEO_CODEC,
|
||||||
|
CONF_AUDIO_PACKET_SIZE: DEFAULT_AUDIO_PACKET_SIZE,
|
||||||
|
CONF_VIDEO_PACKET_SIZE: DEFAULT_VIDEO_PACKET_SIZE,
|
||||||
|
CONF_LOW_BATTERY_THRESHOLD: DEFAULT_LOW_BATTERY_THRESHOLD,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def test_validate_media_player_features() -> None:
|
def test_validate_media_player_features() -> None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user