From a18fdbfbb8590b12c732d62703ca978343e5337b Mon Sep 17 00:00:00 2001 From: Jesse Newland Date: Tue, 8 Nov 2016 19:57:46 -0800 Subject: [PATCH] Fix alarm.com I/O inside properties (#4307) * Fix alarm.com I/O inside properties * First line should end with a period * Not needed * Fetch state on init --- .../components/alarm_control_panel/alarmdotcom.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/alarm_control_panel/alarmdotcom.py b/homeassistant/components/alarm_control_panel/alarmdotcom.py index 8bf36e176e5..cd37fc6a828 100644 --- a/homeassistant/components/alarm_control_panel/alarmdotcom.py +++ b/homeassistant/components/alarm_control_panel/alarmdotcom.py @@ -39,7 +39,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): username = config.get(CONF_USERNAME) password = config.get(CONF_PASSWORD) - add_devices([AlarmDotCom(hass, name, code, username, password)]) + add_devices([AlarmDotCom(hass, name, code, username, password)], True) class AlarmDotCom(alarm.AlarmControlPanel): @@ -54,12 +54,17 @@ class AlarmDotCom(alarm.AlarmControlPanel): self._code = str(code) if code else None self._username = username self._password = password + self._state = STATE_UNKNOWN @property def should_poll(self): """No polling needed.""" return True + def update(self): + """Fetch the latest state.""" + self._state = self._alarm.state + @property def name(self): """Return the name of the alarm.""" @@ -73,11 +78,11 @@ class AlarmDotCom(alarm.AlarmControlPanel): @property def state(self): """Return the state of the device.""" - if self._alarm.state == 'Disarmed': + if self._state == 'Disarmed': return STATE_ALARM_DISARMED - elif self._alarm.state == 'Armed Stay': + elif self._state == 'Armed Stay': return STATE_ALARM_ARMED_HOME - elif self._alarm.state == 'Armed Away': + elif self._state == 'Armed Away': return STATE_ALARM_ARMED_AWAY else: return STATE_UNKNOWN