mirror of
https://github.com/home-assistant/core.git
synced 2026-08-28 10:16:02 -05:00
Import DOMAIN constants in HomeKit (#178261)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,8 @@ from pyhap.const import (
|
||||
)
|
||||
|
||||
from homeassistant.components import button, input_button
|
||||
from homeassistant.components.button import DOMAIN as BUTTON_DOMAIN
|
||||
from homeassistant.components.input_button import DOMAIN as INPUT_BUTTON_DOMAIN
|
||||
from homeassistant.components.input_number import (
|
||||
ATTR_VALUE as INPUT_NUMBER_ATTR_VALUE,
|
||||
CONF_MAX as INPUT_NUMBER_CONF_MAX,
|
||||
@@ -193,9 +195,9 @@ class Switch(HomeAccessory):
|
||||
if self._domain == "script":
|
||||
service = self._object_id
|
||||
params = {}
|
||||
elif self._domain == button.DOMAIN:
|
||||
elif self._domain == BUTTON_DOMAIN:
|
||||
service = button.SERVICE_PRESS
|
||||
elif self._domain == input_button.DOMAIN:
|
||||
elif self._domain == INPUT_BUTTON_DOMAIN:
|
||||
service = input_button.SERVICE_PRESS
|
||||
else:
|
||||
service = SERVICE_TURN_ON if value else SERVICE_TURN_OFF
|
||||
|
||||
@@ -13,15 +13,11 @@ from pyhap.accessory import Accessory
|
||||
import pyqrcode
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components import (
|
||||
binary_sensor,
|
||||
input_number,
|
||||
media_player,
|
||||
persistent_notification,
|
||||
sensor,
|
||||
)
|
||||
from homeassistant.components import persistent_notification
|
||||
from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN
|
||||
from homeassistant.components.camera import DOMAIN as CAMERA_DOMAIN
|
||||
from homeassistant.components.event import DOMAIN as EVENT_DOMAIN
|
||||
from homeassistant.components.input_number import DOMAIN as INPUT_NUMBER_DOMAIN
|
||||
from homeassistant.components.lock import DOMAIN as LOCK_DOMAIN
|
||||
from homeassistant.components.media_player import (
|
||||
DOMAIN as MEDIA_PLAYER_DOMAIN,
|
||||
@@ -29,6 +25,7 @@ from homeassistant.components.media_player import (
|
||||
MediaPlayerEntityFeature,
|
||||
)
|
||||
from homeassistant.components.remote import DOMAIN as REMOTE_DOMAIN, RemoteEntityFeature
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.const import (
|
||||
ATTR_CODE,
|
||||
ATTR_DEVICE_CLASS,
|
||||
@@ -143,9 +140,9 @@ VALID_AUDIO_CODECS = [AUDIO_CODEC_OPUS, VIDEO_CODEC_COPY]
|
||||
BASIC_INFO_SCHEMA = vol.Schema(
|
||||
{
|
||||
vol.Optional(CONF_NAME): cv.string,
|
||||
vol.Optional(CONF_LINKED_BATTERY_SENSOR): cv.entity_domain(sensor.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_BATTERY_SENSOR): cv.entity_domain(SENSOR_DOMAIN),
|
||||
vol.Optional(CONF_LINKED_BATTERY_CHARGING_SENSOR): cv.entity_domain(
|
||||
binary_sensor.DOMAIN
|
||||
BINARY_SENSOR_DOMAIN
|
||||
),
|
||||
vol.Optional(
|
||||
CONF_LOW_BATTERY_THRESHOLD, default=DEFAULT_LOW_BATTERY_THRESHOLD
|
||||
@@ -186,16 +183,16 @@ CAMERA_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
CONF_VIDEO_PACKET_SIZE, default=DEFAULT_VIDEO_PACKET_SIZE
|
||||
): cv.positive_int,
|
||||
vol.Optional(CONF_LINKED_MOTION_SENSOR): cv.entity_domain(
|
||||
[binary_sensor.DOMAIN, EVENT_DOMAIN]
|
||||
[BINARY_SENSOR_DOMAIN, EVENT_DOMAIN]
|
||||
),
|
||||
vol.Optional(CONF_LINKED_DOORBELL_SENSOR): cv.entity_domain(
|
||||
[binary_sensor.DOMAIN, EVENT_DOMAIN]
|
||||
[BINARY_SENSOR_DOMAIN, EVENT_DOMAIN]
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
HUMIDIFIER_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
{vol.Optional(CONF_LINKED_HUMIDITY_SENSOR): cv.entity_domain(sensor.DOMAIN)}
|
||||
{vol.Optional(CONF_LINKED_HUMIDITY_SENSOR): cv.entity_domain(SENSOR_DOMAIN)}
|
||||
)
|
||||
|
||||
FAN_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
@@ -209,20 +206,20 @@ FAN_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
)
|
||||
),
|
||||
),
|
||||
vol.Optional(CONF_LINKED_HUMIDITY_SENSOR): cv.entity_domain(sensor.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_PM25_SENSOR): cv.entity_domain(sensor.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_TEMPERATURE_SENSOR): cv.entity_domain(sensor.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_HUMIDITY_SENSOR): cv.entity_domain(SENSOR_DOMAIN),
|
||||
vol.Optional(CONF_LINKED_PM25_SENSOR): cv.entity_domain(SENSOR_DOMAIN),
|
||||
vol.Optional(CONF_LINKED_TEMPERATURE_SENSOR): cv.entity_domain(SENSOR_DOMAIN),
|
||||
vol.Optional(CONF_LINKED_FILTER_CHANGE_INDICATION): cv.entity_domain(
|
||||
binary_sensor.DOMAIN
|
||||
BINARY_SENSOR_DOMAIN
|
||||
),
|
||||
vol.Optional(CONF_LINKED_FILTER_LIFE_LEVEL): cv.entity_domain(sensor.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_FILTER_LIFE_LEVEL): cv.entity_domain(SENSOR_DOMAIN),
|
||||
}
|
||||
)
|
||||
|
||||
COVER_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
{
|
||||
vol.Optional(CONF_LINKED_OBSTRUCTION_SENSOR): cv.entity_domain(
|
||||
binary_sensor.DOMAIN
|
||||
BINARY_SENSOR_DOMAIN
|
||||
)
|
||||
}
|
||||
)
|
||||
@@ -249,7 +246,7 @@ CODE_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
LOCK_SCHEMA = CODE_SCHEMA.extend(
|
||||
{
|
||||
vol.Optional(CONF_LINKED_DOORBELL_SENSOR): cv.entity_domain(
|
||||
[binary_sensor.DOMAIN, EVENT_DOMAIN]
|
||||
[BINARY_SENSOR_DOMAIN, EVENT_DOMAIN]
|
||||
),
|
||||
}
|
||||
)
|
||||
@@ -285,8 +282,8 @@ SWITCH_TYPE_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
)
|
||||
),
|
||||
),
|
||||
vol.Optional(CONF_LINKED_VALVE_DURATION): cv.entity_domain(input_number.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_VALVE_END_TIME): cv.entity_domain(sensor.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_VALVE_DURATION): cv.entity_domain(INPUT_NUMBER_DOMAIN),
|
||||
vol.Optional(CONF_LINKED_VALVE_END_TIME): cv.entity_domain(SENSOR_DOMAIN),
|
||||
}
|
||||
)
|
||||
|
||||
@@ -299,8 +296,8 @@ SENSOR_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
|
||||
VALVE_SCHEMA = BASIC_INFO_SCHEMA.extend(
|
||||
{
|
||||
vol.Optional(CONF_LINKED_VALVE_DURATION): cv.entity_domain(input_number.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_VALVE_END_TIME): cv.entity_domain(sensor.DOMAIN),
|
||||
vol.Optional(CONF_LINKED_VALVE_DURATION): cv.entity_domain(INPUT_NUMBER_DOMAIN),
|
||||
vol.Optional(CONF_LINKED_VALVE_END_TIME): cv.entity_domain(SENSOR_DOMAIN),
|
||||
}
|
||||
)
|
||||
|
||||
@@ -354,7 +351,7 @@ def validate_entity_config(values: dict) -> dict[str, dict]:
|
||||
if domain == "alarm_control_panel":
|
||||
config = CODE_SCHEMA(config)
|
||||
|
||||
elif domain == media_player.const.DOMAIN:
|
||||
elif domain == MEDIA_PLAYER_DOMAIN:
|
||||
config = FEATURE_SCHEMA(config)
|
||||
feature_list = {}
|
||||
for feature in config[CONF_FEATURE_LIST]:
|
||||
|
||||
Reference in New Issue
Block a user