diff --git a/homeassistant/components/totalconnect/alarm_control_panel.py b/homeassistant/components/totalconnect/alarm_control_panel.py index 3c12e512dd6796..fb13c630e3e330 100644 --- a/homeassistant/components/totalconnect/alarm_control_panel.py +++ b/homeassistant/components/totalconnect/alarm_control_panel.py @@ -158,11 +158,14 @@ async def async_alarm_disarm(self, code: str | None = None) -> None: except UsercodeInvalid as error: self.coordinator.config_entry.async_start_reauth(self.hass) raise HomeAssistantError( - "TotalConnect usercode is invalid. Did not disarm" + translation_domain=DOMAIN, + translation_key="disarm_invalid_code", ) from error except BadResultCodeError as error: raise HomeAssistantError( - f"TotalConnect failed to disarm {self.device.name}." + translation_domain=DOMAIN, + translation_key="disarm_failed", + translation_placeholders={"device": self.device.name}, ) from error await self.coordinator.async_request_refresh() @@ -178,11 +181,14 @@ async def async_alarm_arm_home(self, code: str | None = None) -> None: except UsercodeInvalid as error: self.coordinator.config_entry.async_start_reauth(self.hass) raise HomeAssistantError( - "TotalConnect usercode is invalid. Did not arm home" + translation_domain=DOMAIN, + translation_key="arm_home_invalid_code", ) from error except BadResultCodeError as error: raise HomeAssistantError( - f"TotalConnect failed to arm home {self.device.name}." + translation_domain=DOMAIN, + translation_key="arm_home_failed", + translation_placeholders={"device": self.device.name}, ) from error await self.coordinator.async_request_refresh() @@ -198,11 +204,14 @@ async def async_alarm_arm_away(self, code: str | None = None) -> None: except UsercodeInvalid as error: self.coordinator.config_entry.async_start_reauth(self.hass) raise HomeAssistantError( - "TotalConnect usercode is invalid. Did not arm away" + translation_domain=DOMAIN, + translation_key="arm_away_invalid_code", ) from error except BadResultCodeError as error: raise HomeAssistantError( - f"TotalConnect failed to arm away {self.device.name}." + translation_domain=DOMAIN, + translation_key="arm_away_failed", + translation_placeholders={"device": self.device.name}, ) from error await self.coordinator.async_request_refresh() @@ -218,11 +227,14 @@ async def async_alarm_arm_night(self, code: str | None = None) -> None: except UsercodeInvalid as error: self.coordinator.config_entry.async_start_reauth(self.hass) raise HomeAssistantError( - "TotalConnect usercode is invalid. Did not arm night" + translation_domain=DOMAIN, + translation_key="arm_night_invalid_code", ) from error except BadResultCodeError as error: raise HomeAssistantError( - f"TotalConnect failed to arm night {self.device.name}." + translation_domain=DOMAIN, + translation_key="arm_night_failed", + translation_placeholders={"device": self.device.name}, ) from error await self.coordinator.async_request_refresh() @@ -237,11 +249,14 @@ async def async_alarm_arm_home_instant(self) -> None: except UsercodeInvalid as error: self.coordinator.config_entry.async_start_reauth(self.hass) raise HomeAssistantError( - "TotalConnect usercode is invalid. Did not arm home instant" + translation_domain=DOMAIN, + translation_key="arm_home_instant_invalid_code", ) from error except BadResultCodeError as error: raise HomeAssistantError( - f"TotalConnect failed to arm home instant {self.device.name}." + translation_domain=DOMAIN, + translation_key="arm_home_instant_failed", + translation_placeholders={"device": self.device.name}, ) from error await self.coordinator.async_request_refresh() @@ -256,11 +271,14 @@ async def async_alarm_arm_away_instant(self) -> None: except UsercodeInvalid as error: self.coordinator.config_entry.async_start_reauth(self.hass) raise HomeAssistantError( - "TotalConnect usercode is invalid. Did not arm away instant" + translation_domain=DOMAIN, + translation_key="arm_away_instant_invalid_code", ) from error except BadResultCodeError as error: raise HomeAssistantError( - f"TotalConnect failed to arm away instant {self.device.name}." + translation_domain=DOMAIN, + translation_key="arm_away_instant_failed", + translation_placeholders={"device": self.device.name}, ) from error await self.coordinator.async_request_refresh() diff --git a/homeassistant/components/totalconnect/strings.json b/homeassistant/components/totalconnect/strings.json index c040ae9936e9da..004056ef9ac94a 100644 --- a/homeassistant/components/totalconnect/strings.json +++ b/homeassistant/components/totalconnect/strings.json @@ -80,6 +80,42 @@ "exceptions": { "invalid_pin": { "message": "Incorrect code entered" + }, + "disarm_failed": { + "message": "Failed to disarm {device}" + }, + "disarm_invalid_code": { + "message": "Usercode is invalid, did not disarm" + }, + "arm_home_failed": { + "message": "Failed to arm home {device}" + }, + "arm_home_invalid_code": { + "message": "Usercode is invalid, did not arm home" + }, + "arm_away_failed": { + "message": "Failed to arm away {device}" + }, + "arm_away_invalid_code": { + "message": "Usercode is invalid, did not arm away" + }, + "arm_night_failed": { + "message": "Failed to arm night {device}" + }, + "arm_night_invalid_code": { + "message": "Usercode is invalid, did not arm night" + }, + "arm_home_instant_failed": { + "message": "Failed to arm home instant {device}" + }, + "arm_home_instant_invalid_code": { + "message": "Usercode is invalid, did not arm home instant" + }, + "arm_away_instant_failed": { + "message": "Failed to arm away instant {device}" + }, + "arm_away_instant_invalid_code": { + "message": "Usercode is invalid, did not arm away instant" } } } diff --git a/tests/components/totalconnect/test_alarm_control_panel.py b/tests/components/totalconnect/test_alarm_control_panel.py index eb2b849540c6a2..453c9be485ae6e 100644 --- a/tests/components/totalconnect/test_alarm_control_panel.py +++ b/tests/components/totalconnect/test_alarm_control_panel.py @@ -133,7 +133,7 @@ async def test_arm_home_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_ARM_HOME, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect failed to arm home test." + assert f"{err.value}" == "Failed to arm home test" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED assert mock_request.call_count == 2 @@ -143,7 +143,7 @@ async def test_arm_home_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_ARM_HOME, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect usercode is invalid. Did not arm home" + assert f"{err.value}" == "Usercode is invalid, did not arm home" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED # should have started a re-auth flow assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1 @@ -190,7 +190,7 @@ async def test_arm_home_instant_failure(hass: HomeAssistant) -> None: DOMAIN, SERVICE_ALARM_ARM_HOME_INSTANT, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect failed to arm home instant test." + assert f"{err.value}" == "Failed to arm home instant test" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED assert mock_request.call_count == 2 @@ -200,10 +200,7 @@ async def test_arm_home_instant_failure(hass: HomeAssistant) -> None: DOMAIN, SERVICE_ALARM_ARM_HOME_INSTANT, DATA, blocking=True ) await hass.async_block_till_done() - assert ( - f"{err.value}" - == "TotalConnect usercode is invalid. Did not arm home instant" - ) + assert f"{err.value}" == "Usercode is invalid, did not arm home instant" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED # should have started a re-auth flow assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1 @@ -250,7 +247,7 @@ async def test_arm_away_instant_failure(hass: HomeAssistant) -> None: DOMAIN, SERVICE_ALARM_ARM_AWAY_INSTANT, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect failed to arm away instant test." + assert f"{err.value}" == "Failed to arm away instant test" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED assert mock_request.call_count == 2 @@ -260,10 +257,7 @@ async def test_arm_away_instant_failure(hass: HomeAssistant) -> None: DOMAIN, SERVICE_ALARM_ARM_AWAY_INSTANT, DATA, blocking=True ) await hass.async_block_till_done() - assert ( - f"{err.value}" - == "TotalConnect usercode is invalid. Did not arm away instant" - ) + assert f"{err.value}" == "Usercode is invalid, did not arm away instant" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED # should have started a re-auth flow assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1 @@ -309,7 +303,7 @@ async def test_arm_away_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_ARM_AWAY, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect failed to arm away test." + assert f"{err.value}" == "Failed to arm away test" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED assert mock_request.call_count == 2 @@ -319,7 +313,7 @@ async def test_arm_away_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_ARM_AWAY, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect usercode is invalid. Did not arm away" + assert f"{err.value}" == "Usercode is invalid, did not arm away" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED # should have started a re-auth flow assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1 @@ -369,7 +363,7 @@ async def test_disarm_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_DISARM, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect failed to disarm test." + assert f"{err.value}" == "Failed to disarm test" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_ARMED_AWAY assert mock_request.call_count == 2 @@ -379,7 +373,7 @@ async def test_disarm_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_DISARM, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect usercode is invalid. Did not disarm" + assert f"{err.value}" == "Usercode is invalid, did not disarm" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_ARMED_AWAY # should have started a re-auth flow assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1 @@ -463,7 +457,7 @@ async def test_arm_night_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_ARM_NIGHT, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect failed to arm night test." + assert f"{err.value}" == "Failed to arm night test" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED assert mock_request.call_count == 2 @@ -473,7 +467,7 @@ async def test_arm_night_failure(hass: HomeAssistant) -> None: ALARM_DOMAIN, SERVICE_ALARM_ARM_NIGHT, DATA, blocking=True ) await hass.async_block_till_done() - assert f"{err.value}" == "TotalConnect usercode is invalid. Did not arm night" + assert f"{err.value}" == "Usercode is invalid, did not arm night" assert hass.states.get(ENTITY_ID).state == STATE_ALARM_DISARMED # should have started a re-auth flow assert len(hass.config_entries.flow.async_progress_by_handler(DOMAIN)) == 1