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."""