diff --git a/homeassistant/components/homekit/type_switches.py b/homeassistant/components/homekit/type_switches.py index a9b2d45d6e87..7e43a24cb6f7 100644 --- a/homeassistant/components/homekit/type_switches.py +++ b/homeassistant/components/homekit/type_switches.py @@ -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 diff --git a/homeassistant/components/homekit/util.py b/homeassistant/components/homekit/util.py index bc1b65a365c9..e4cea6bb3a2c 100644 --- a/homeassistant/components/homekit/util.py +++ b/homeassistant/components/homekit/util.py @@ -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]: