From f21da7cfdc6ff5917efc43421cf453d64d0cf3d5 Mon Sep 17 00:00:00 2001 From: Jeroen ter Heerdt Date: Thu, 7 Dec 2017 12:39:34 +0100 Subject: [PATCH] Fix Egardia alarm status shown as unknown after restart (#11010) --- .../components/alarm_control_panel/egardia.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/alarm_control_panel/egardia.py b/homeassistant/components/alarm_control_panel/egardia.py index 7719ab884bc..82c26c98104 100644 --- a/homeassistant/components/alarm_control_panel/egardia.py +++ b/homeassistant/components/alarm_control_panel/egardia.py @@ -116,12 +116,20 @@ class EgardiaAlarm(alarm.AlarmControlPanel): """Return the state of the device.""" return self._status + @property + def should_poll(self): + """Poll if no report server is enabled.""" + if not self._rs_enabled: + return True + return False + def handle_system_status_event(self, event): """Handle egardia_system_status_event.""" if event.data.get('status') is not None: statuscode = event.data.get('status') status = self.lookupstatusfromcode(statuscode) self.parsestatus(status) + self.schedule_update_ha_state() def listen_to_system_status(self): """Subscribe to egardia_system_status event.""" @@ -161,9 +169,8 @@ class EgardiaAlarm(alarm.AlarmControlPanel): def update(self): """Update the alarm status.""" - if not self._rs_enabled: - status = self._egardiasystem.getstate() - self.parsestatus(status) + status = self._egardiasystem.getstate() + self.parsestatus(status) def alarm_disarm(self, code=None): """Send disarm command."""