From 08b6d2af5e28faf6ebdb7f0e524b450e9f18ede1 Mon Sep 17 00:00:00 2001 From: G Johansson Date: Wed, 13 Dec 2023 19:41:31 +0100 Subject: [PATCH] Add error translations to Yale Smart Living (#105678) --- .../yale_smart_alarm/alarm_control_panel.py | 12 ++++++++++-- homeassistant/components/yale_smart_alarm/lock.py | 14 ++++++++++++-- .../components/yale_smart_alarm/strings.json | 14 ++++++++++++++ 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/yale_smart_alarm/alarm_control_panel.py b/homeassistant/components/yale_smart_alarm/alarm_control_panel.py index 7ced3487269..31851ad3ceb 100644 --- a/homeassistant/components/yale_smart_alarm/alarm_control_panel.py +++ b/homeassistant/components/yale_smart_alarm/alarm_control_panel.py @@ -83,7 +83,13 @@ class YaleAlarmDevice(YaleAlarmEntity, AlarmControlPanelEntity): except YALE_ALL_ERRORS as error: raise HomeAssistantError( f"Could not set alarm for {self.coordinator.entry.data[CONF_NAME]}:" - f" {error}" + f" {error}", + translation_domain=DOMAIN, + translation_key="set_alarm", + translation_placeholders={ + "name": self.coordinator.entry.data[CONF_NAME], + "error": str(error), + }, ) from error if alarm_state: @@ -91,7 +97,9 @@ class YaleAlarmDevice(YaleAlarmEntity, AlarmControlPanelEntity): self.async_write_ha_state() return raise HomeAssistantError( - "Could not change alarm check system ready for arming." + "Could not change alarm, check system ready for arming", + translation_domain=DOMAIN, + translation_key="could_not_change_alarm", ) @property diff --git a/homeassistant/components/yale_smart_alarm/lock.py b/homeassistant/components/yale_smart_alarm/lock.py index 50d7b28c52b..c5a9bb79ba8 100644 --- a/homeassistant/components/yale_smart_alarm/lock.py +++ b/homeassistant/components/yale_smart_alarm/lock.py @@ -79,14 +79,24 @@ class YaleDoorlock(YaleEntity, LockEntity): ) except YALE_ALL_ERRORS as error: raise HomeAssistantError( - f"Could not set lock for {self.lock_name}: {error}" + f"Could not set lock for {self.lock_name}: {error}", + translation_domain=DOMAIN, + translation_key="set_lock", + translation_placeholders={ + "name": self.lock_name, + "error": str(error), + }, ) from error if lock_state: self.coordinator.data["lock_map"][self._attr_unique_id] = command self.async_write_ha_state() return - raise HomeAssistantError("Could not set lock, check system ready for lock.") + raise HomeAssistantError( + "Could not set lock, check system ready for lock", + translation_domain=DOMAIN, + translation_key="could_not_change_lock", + ) @property def is_locked(self) -> bool | None: diff --git a/homeassistant/components/yale_smart_alarm/strings.json b/homeassistant/components/yale_smart_alarm/strings.json index a51d151d7d9..a698da20d8d 100644 --- a/homeassistant/components/yale_smart_alarm/strings.json +++ b/homeassistant/components/yale_smart_alarm/strings.json @@ -56,5 +56,19 @@ "name": "Panic button" } } + }, + "exceptions": { + "set_alarm": { + "message": "Could not set alarm for {name}: {error}" + }, + "could_not_change_alarm": { + "message": "Could not change alarm, check system ready for arming" + }, + "set_lock": { + "message": "Could not set lock for {name}: {error}" + }, + "could_not_change_lock": { + "message": "Could not set lock, check system ready for lock" + } } }