From 445ef861c0dd36cbb8b85afc0bd7d47ed982ea96 Mon Sep 17 00:00:00 2001 From: MatthewFlamm <39341281+MatthewFlamm@users.noreply.github.com> Date: Thu, 19 Mar 2020 03:38:24 -0400 Subject: [PATCH] Add pending to template alarm (#31614) --- .../template/alarm_control_panel.py | 6 ++++-- .../template/test_alarm_control_panel.py | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/template/alarm_control_panel.py b/homeassistant/components/template/alarm_control_panel.py index 019c9cd8787..45cccef9766 100644 --- a/homeassistant/components/template/alarm_control_panel.py +++ b/homeassistant/components/template/alarm_control_panel.py @@ -24,6 +24,7 @@ from homeassistant.const import ( STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_NIGHT, STATE_ALARM_DISARMED, + STATE_ALARM_PENDING, STATE_ALARM_TRIGGERED, STATE_UNAVAILABLE, ) @@ -38,9 +39,10 @@ _LOGGER = logging.getLogger(__name__) _VALID_STATES = [ STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_HOME, - STATE_ALARM_DISARMED, - STATE_ALARM_TRIGGERED, STATE_ALARM_ARMED_NIGHT, + STATE_ALARM_DISARMED, + STATE_ALARM_PENDING, + STATE_ALARM_TRIGGERED, STATE_UNAVAILABLE, ] diff --git a/tests/components/template/test_alarm_control_panel.py b/tests/components/template/test_alarm_control_panel.py index 36c639bc95b..6d2e4e48279 100644 --- a/tests/components/template/test_alarm_control_panel.py +++ b/tests/components/template/test_alarm_control_panel.py @@ -7,6 +7,8 @@ from homeassistant.const import ( STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_NIGHT, STATE_ALARM_DISARMED, + STATE_ALARM_PENDING, + STATE_ALARM_TRIGGERED, ) from tests.common import async_mock_service @@ -79,6 +81,24 @@ async def test_template_state_text(hass): state = hass.states.get("alarm_control_panel.test_template_panel") assert state.state == STATE_ALARM_DISARMED + hass.states.async_set("alarm_control_panel.test", STATE_ALARM_PENDING) + await hass.async_block_till_done() + + state = hass.states.get("alarm_control_panel.test_template_panel") + assert state.state == STATE_ALARM_PENDING + + hass.states.async_set("alarm_control_panel.test", STATE_ALARM_TRIGGERED) + await hass.async_block_till_done() + + state = hass.states.get("alarm_control_panel.test_template_panel") + assert state.state == STATE_ALARM_TRIGGERED + + hass.states.async_set("alarm_control_panel.test", "invalid_state") + await hass.async_block_till_done() + + state = hass.states.get("alarm_control_panel.test_template_panel") + assert state.state == "unknown" + async def test_optimistic_states(hass): """Test the optimistic state."""