From c583df74e4a31254c9cfcad0414d593afbbfc21c Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 7 Apr 2022 20:08:57 +0200 Subject: [PATCH] Use EntityFeature enums in template (#69583) --- .../template/alarm_control_panel.py | 18 ++++++------ homeassistant/components/template/cover.py | 23 ++++++--------- homeassistant/components/template/fan.py | 13 ++++----- homeassistant/components/template/vacuum.py | 28 +++++++------------ 4 files changed, 33 insertions(+), 49 deletions(-) diff --git a/homeassistant/components/template/alarm_control_panel.py b/homeassistant/components/template/alarm_control_panel.py index b1f1af4a6e0..523648bdade 100644 --- a/homeassistant/components/template/alarm_control_panel.py +++ b/homeassistant/components/template/alarm_control_panel.py @@ -12,11 +12,7 @@ from homeassistant.components.alarm_control_panel import ( FORMAT_TEXT, PLATFORM_SCHEMA as PARENT_PLATFORM_SCHEMA, AlarmControlPanelEntity, -) -from homeassistant.components.alarm_control_panel.const import ( - SUPPORT_ALARM_ARM_AWAY, - SUPPORT_ALARM_ARM_HOME, - SUPPORT_ALARM_ARM_NIGHT, + AlarmControlPanelEntityFeature, ) from homeassistant.const import ( ATTR_CODE, @@ -173,13 +169,19 @@ class AlarmControlPanelTemplate(TemplateEntity, AlarmControlPanelEntity): """Return the list of supported features.""" supported_features = 0 if self._arm_night_script is not None: - supported_features = supported_features | SUPPORT_ALARM_ARM_NIGHT + supported_features = ( + supported_features | AlarmControlPanelEntityFeature.ARM_NIGHT + ) if self._arm_home_script is not None: - supported_features = supported_features | SUPPORT_ALARM_ARM_HOME + supported_features = ( + supported_features | AlarmControlPanelEntityFeature.ARM_HOME + ) if self._arm_away_script is not None: - supported_features = supported_features | SUPPORT_ALARM_ARM_AWAY + supported_features = ( + supported_features | AlarmControlPanelEntityFeature.ARM_AWAY + ) return supported_features diff --git a/homeassistant/components/template/cover.py b/homeassistant/components/template/cover.py index 6c1bad3124e..7a05f9445f9 100644 --- a/homeassistant/components/template/cover.py +++ b/homeassistant/components/template/cover.py @@ -11,15 +11,8 @@ from homeassistant.components.cover import ( DEVICE_CLASSES_SCHEMA, ENTITY_ID_FORMAT, PLATFORM_SCHEMA, - SUPPORT_CLOSE, - SUPPORT_CLOSE_TILT, - SUPPORT_OPEN, - SUPPORT_OPEN_TILT, - SUPPORT_SET_POSITION, - SUPPORT_SET_TILT_POSITION, - SUPPORT_STOP, - SUPPORT_STOP_TILT, CoverEntity, + CoverEntityFeature, ) from homeassistant.const import ( CONF_COVERS, @@ -71,10 +64,10 @@ CONF_TILT_OPTIMISTIC = "tilt_optimistic" CONF_OPEN_AND_CLOSE = "open_or_close" TILT_FEATURES = ( - SUPPORT_OPEN_TILT - | SUPPORT_CLOSE_TILT - | SUPPORT_STOP_TILT - | SUPPORT_SET_TILT_POSITION + CoverEntityFeature.OPEN_TILT + | CoverEntityFeature.CLOSE_TILT + | CoverEntityFeature.STOP_TILT + | CoverEntityFeature.SET_TILT_POSITION ) COVER_SCHEMA = vol.All( @@ -313,13 +306,13 @@ class CoverTemplate(TemplateEntity, CoverEntity): @property def supported_features(self): """Flag supported features.""" - supported_features = SUPPORT_OPEN | SUPPORT_CLOSE + supported_features = CoverEntityFeature.OPEN | CoverEntityFeature.CLOSE if self._stop_script is not None: - supported_features |= SUPPORT_STOP + supported_features |= CoverEntityFeature.STOP if self._position_script is not None: - supported_features |= SUPPORT_SET_POSITION + supported_features |= CoverEntityFeature.SET_POSITION if self._tilt_script is not None: supported_features |= TILT_FEATURES diff --git a/homeassistant/components/template/fan.py b/homeassistant/components/template/fan.py index b172e94016f..2ee63e7e318 100644 --- a/homeassistant/components/template/fan.py +++ b/homeassistant/components/template/fan.py @@ -14,11 +14,8 @@ from homeassistant.components.fan import ( DIRECTION_FORWARD, DIRECTION_REVERSE, ENTITY_ID_FORMAT, - SUPPORT_DIRECTION, - SUPPORT_OSCILLATE, - SUPPORT_PRESET_MODE, - SUPPORT_SET_SPEED, FanEntity, + FanEntityFeature, ) from homeassistant.const import ( CONF_ENTITY_ID, @@ -199,13 +196,13 @@ class TemplateFan(TemplateEntity, FanEntity): self._preset_modes = config.get(CONF_PRESET_MODES) if self._percentage_template: - self._supported_features |= SUPPORT_SET_SPEED + self._supported_features |= FanEntityFeature.SET_SPEED if self._preset_mode_template and self._preset_modes: - self._supported_features |= SUPPORT_PRESET_MODE + self._supported_features |= FanEntityFeature.PRESET_MODE if self._oscillating_template: - self._supported_features |= SUPPORT_OSCILLATE + self._supported_features |= FanEntityFeature.OSCILLATE if self._direction_template: - self._supported_features |= SUPPORT_DIRECTION + self._supported_features |= FanEntityFeature.DIRECTION @property def supported_features(self) -> int: diff --git a/homeassistant/components/template/vacuum.py b/homeassistant/components/template/vacuum.py index f76c64f739a..9ded3c5d675 100644 --- a/homeassistant/components/template/vacuum.py +++ b/homeassistant/components/template/vacuum.py @@ -21,16 +21,8 @@ from homeassistant.components.vacuum import ( STATE_IDLE, STATE_PAUSED, STATE_RETURNING, - SUPPORT_BATTERY, - SUPPORT_CLEAN_SPOT, - SUPPORT_FAN_SPEED, - SUPPORT_LOCATE, - SUPPORT_PAUSE, - SUPPORT_RETURN_HOME, - SUPPORT_START, - SUPPORT_STATE, - SUPPORT_STOP, StateVacuumEntity, + VacuumEntityFeature, ) from homeassistant.const import ( CONF_ENTITY_ID, @@ -153,54 +145,54 @@ class TemplateVacuum(TemplateEntity, StateVacuumEntity): self._template = config.get(CONF_VALUE_TEMPLATE) self._battery_level_template = config.get(CONF_BATTERY_LEVEL_TEMPLATE) self._fan_speed_template = config.get(CONF_FAN_SPEED_TEMPLATE) - self._supported_features = SUPPORT_START + self._supported_features = VacuumEntityFeature.START self._start_script = Script(hass, config[SERVICE_START], friendly_name, DOMAIN) self._pause_script = None if pause_action := config.get(SERVICE_PAUSE): self._pause_script = Script(hass, pause_action, friendly_name, DOMAIN) - self._supported_features |= SUPPORT_PAUSE + self._supported_features |= VacuumEntityFeature.PAUSE self._stop_script = None if stop_action := config.get(SERVICE_STOP): self._stop_script = Script(hass, stop_action, friendly_name, DOMAIN) - self._supported_features |= SUPPORT_STOP + self._supported_features |= VacuumEntityFeature.STOP self._return_to_base_script = None if return_to_base_action := config.get(SERVICE_RETURN_TO_BASE): self._return_to_base_script = Script( hass, return_to_base_action, friendly_name, DOMAIN ) - self._supported_features |= SUPPORT_RETURN_HOME + self._supported_features |= VacuumEntityFeature.RETURN_HOME self._clean_spot_script = None if clean_spot_action := config.get(SERVICE_CLEAN_SPOT): self._clean_spot_script = Script( hass, clean_spot_action, friendly_name, DOMAIN ) - self._supported_features |= SUPPORT_CLEAN_SPOT + self._supported_features |= VacuumEntityFeature.CLEAN_SPOT self._locate_script = None if locate_action := config.get(SERVICE_LOCATE): self._locate_script = Script(hass, locate_action, friendly_name, DOMAIN) - self._supported_features |= SUPPORT_LOCATE + self._supported_features |= VacuumEntityFeature.LOCATE self._set_fan_speed_script = None if set_fan_speed_action := config.get(SERVICE_SET_FAN_SPEED): self._set_fan_speed_script = Script( hass, set_fan_speed_action, friendly_name, DOMAIN ) - self._supported_features |= SUPPORT_FAN_SPEED + self._supported_features |= VacuumEntityFeature.FAN_SPEED self._state = None self._battery_level = None self._fan_speed = None if self._template: - self._supported_features |= SUPPORT_STATE + self._supported_features |= VacuumEntityFeature.STATE if self._battery_level_template: - self._supported_features |= SUPPORT_BATTERY + self._supported_features |= VacuumEntityFeature.BATTERY # List of valid fan speeds self._fan_speed_list = config[CONF_FAN_SPEED_LIST]