From dac8f242e0e0650a42ad781be6387907823e8912 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 28 Jun 2022 13:41:23 +0200 Subject: [PATCH] Improve type hints in mqtt and template alarms (#74101) --- homeassistant/components/mqtt/alarm_control_panel.py | 11 +++++------ .../components/template/alarm_control_panel.py | 12 ++++++------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/homeassistant/components/mqtt/alarm_control_panel.py b/homeassistant/components/mqtt/alarm_control_panel.py index bd2495fd5d1..8e5ee54d688 100644 --- a/homeassistant/components/mqtt/alarm_control_panel.py +++ b/homeassistant/components/mqtt/alarm_control_panel.py @@ -172,7 +172,7 @@ class MqttAlarm(MqttEntity, alarm.AlarmControlPanelEntity): def __init__(self, hass, config, config_entry, discovery_data): """Init the MQTT Alarm Control Panel.""" - self._state = None + self._state: str | None = None MqttEntity.__init__(self, hass, config, config_entry, discovery_data) @@ -233,7 +233,7 @@ class MqttAlarm(MqttEntity, alarm.AlarmControlPanelEntity): await subscription.async_subscribe_topics(self.hass, self._sub_state) @property - def state(self): + def state(self) -> str | None: """Return the state of the device.""" return self._state @@ -250,7 +250,7 @@ class MqttAlarm(MqttEntity, alarm.AlarmControlPanelEntity): ) @property - def code_format(self): + def code_format(self) -> alarm.CodeFormat | None: """Return one or more digits/characters.""" if (code := self._config.get(CONF_CODE)) is None: return None @@ -259,10 +259,9 @@ class MqttAlarm(MqttEntity, alarm.AlarmControlPanelEntity): return alarm.CodeFormat.TEXT @property - def code_arm_required(self): + def code_arm_required(self) -> bool: """Whether the code is required for arm actions.""" - code_required = self._config.get(CONF_CODE_ARM_REQUIRED) - return code_required + return self._config[CONF_CODE_ARM_REQUIRED] async def async_alarm_disarm(self, code: str | None = None) -> None: """Send disarm command. diff --git a/homeassistant/components/template/alarm_control_panel.py b/homeassistant/components/template/alarm_control_panel.py index 74d794d703a..ae26e58ac04 100644 --- a/homeassistant/components/template/alarm_control_panel.py +++ b/homeassistant/components/template/alarm_control_panel.py @@ -144,8 +144,8 @@ class AlarmControlPanelTemplate(TemplateEntity, AlarmControlPanelEntity): name = self._attr_name self._template = config.get(CONF_VALUE_TEMPLATE) self._disarm_script = None - self._code_arm_required = config[CONF_CODE_ARM_REQUIRED] - self._code_format = config[CONF_CODE_FORMAT] + self._code_arm_required: bool = config[CONF_CODE_ARM_REQUIRED] + self._code_format: TemplateCodeFormat = config[CONF_CODE_FORMAT] if (disarm_action := config.get(CONF_DISARM_ACTION)) is not None: self._disarm_script = Script(hass, disarm_action, name, DOMAIN) self._arm_away_script = None @@ -158,10 +158,10 @@ class AlarmControlPanelTemplate(TemplateEntity, AlarmControlPanelEntity): if (arm_night_action := config.get(CONF_ARM_NIGHT_ACTION)) is not None: self._arm_night_script = Script(hass, arm_night_action, name, DOMAIN) - self._state = None + self._state: str | None = None @property - def state(self): + def state(self) -> str | None: """Return the state of the device.""" return self._state @@ -187,12 +187,12 @@ class AlarmControlPanelTemplate(TemplateEntity, AlarmControlPanelEntity): return supported_features @property - def code_format(self): + def code_format(self) -> CodeFormat | None: """Regex for code format or None if no code is required.""" return self._code_format.value @property - def code_arm_required(self): + def code_arm_required(self) -> bool: """Whether the code is required for arm actions.""" return self._code_arm_required