mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 05:07:41 +00:00
Add post_pending_state attribute to manual alarm_control_panel (#9291)
Add post_pending_state attribute to manual alarm_control_panel
This commit is contained in:
parent
418ccc820a
commit
788275da32
@ -24,6 +24,8 @@ DEFAULT_PENDING_TIME = 60
|
||||
DEFAULT_TRIGGER_TIME = 120
|
||||
DEFAULT_DISARM_AFTER_TRIGGER = False
|
||||
|
||||
ATTR_POST_PENDING_STATE = 'post_pending_state'
|
||||
|
||||
PLATFORM_SCHEMA = vol.Schema({
|
||||
vol.Required(CONF_PLATFORM): 'manual',
|
||||
vol.Optional(CONF_NAME, default=DEFAULT_ALARM_NAME): cv.string,
|
||||
@ -185,3 +187,13 @@ class ManualAlarm(alarm.AlarmControlPanel):
|
||||
if not check:
|
||||
_LOGGER.warning("Invalid code given for %s", state)
|
||||
return check
|
||||
|
||||
@property
|
||||
def device_state_attributes(self):
|
||||
"""Return the state attributes."""
|
||||
state_attr = {}
|
||||
|
||||
if self.state == STATE_ALARM_PENDING:
|
||||
state_attr[ATTR_POST_PENDING_STATE] = self._state
|
||||
|
||||
return state_attr
|
||||
|
@ -72,6 +72,11 @@ class TestAlarmControlPanelManual(unittest.TestCase):
|
||||
self.assertEqual(STATE_ALARM_PENDING,
|
||||
self.hass.states.get(entity_id).state)
|
||||
|
||||
self.assertTrue(
|
||||
self.hass.states.is_state_attr(entity_id,
|
||||
'post_pending_state',
|
||||
STATE_ALARM_ARMED_HOME))
|
||||
|
||||
future = dt_util.utcnow() + timedelta(seconds=1)
|
||||
with patch(('homeassistant.components.alarm_control_panel.manual.'
|
||||
'dt_util.utcnow'), return_value=future):
|
||||
@ -150,6 +155,11 @@ class TestAlarmControlPanelManual(unittest.TestCase):
|
||||
self.assertEqual(STATE_ALARM_PENDING,
|
||||
self.hass.states.get(entity_id).state)
|
||||
|
||||
self.assertTrue(
|
||||
self.hass.states.is_state_attr(entity_id,
|
||||
'post_pending_state',
|
||||
STATE_ALARM_ARMED_AWAY))
|
||||
|
||||
future = dt_util.utcnow() + timedelta(seconds=1)
|
||||
with patch(('homeassistant.components.alarm_control_panel.manual.'
|
||||
'dt_util.utcnow'), return_value=future):
|
||||
@ -228,6 +238,11 @@ class TestAlarmControlPanelManual(unittest.TestCase):
|
||||
self.assertEqual(STATE_ALARM_PENDING,
|
||||
self.hass.states.get(entity_id).state)
|
||||
|
||||
self.assertTrue(
|
||||
self.hass.states.is_state_attr(entity_id,
|
||||
'post_pending_state',
|
||||
STATE_ALARM_ARMED_NIGHT))
|
||||
|
||||
future = dt_util.utcnow() + timedelta(seconds=1)
|
||||
with patch(('homeassistant.components.alarm_control_panel.manual.'
|
||||
'dt_util.utcnow'), return_value=future):
|
||||
@ -314,6 +329,11 @@ class TestAlarmControlPanelManual(unittest.TestCase):
|
||||
self.assertEqual(STATE_ALARM_PENDING,
|
||||
self.hass.states.get(entity_id).state)
|
||||
|
||||
self.assertTrue(
|
||||
self.hass.states.is_state_attr(entity_id,
|
||||
'post_pending_state',
|
||||
STATE_ALARM_TRIGGERED))
|
||||
|
||||
future = dt_util.utcnow() + timedelta(seconds=2)
|
||||
with patch(('homeassistant.components.alarm_control_panel.manual.'
|
||||
'dt_util.utcnow'), return_value=future):
|
||||
|
Loading…
x
Reference in New Issue
Block a user