From 3616d7a7eaf3e17830bec66c13189bd69c238773 Mon Sep 17 00:00:00 2001 From: Dan Smith Date: Sat, 6 Feb 2016 20:30:39 +0000 Subject: [PATCH] Fix alarm service handler state updates This changes the service handler dispatch code to always call update_ha_state(), and cleans up the alarm platforms that were calling it themselves. --- homeassistant/components/alarm_control_panel/__init__.py | 2 ++ homeassistant/components/alarm_control_panel/alarmdotcom.py | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/alarm_control_panel/__init__.py b/homeassistant/components/alarm_control_panel/__init__.py index 3f5e6362fb6..310a65c6184 100644 --- a/homeassistant/components/alarm_control_panel/__init__.py +++ b/homeassistant/components/alarm_control_panel/__init__.py @@ -61,6 +61,8 @@ def setup(hass, config): for alarm in target_alarms: getattr(alarm, method)(code) + if alarm.should_poll: + alarm.update_ha_state(True) descriptions = load_yaml_config_file( os.path.join(os.path.dirname(__file__), 'services.yaml')) diff --git a/homeassistant/components/alarm_control_panel/alarmdotcom.py b/homeassistant/components/alarm_control_panel/alarmdotcom.py index f1b2fe76238..da74c02da54 100644 --- a/homeassistant/components/alarm_control_panel/alarmdotcom.py +++ b/homeassistant/components/alarm_control_panel/alarmdotcom.py @@ -90,7 +90,6 @@ class AlarmDotCom(alarm.AlarmControlPanel): # Open another session to alarm.com to fire off the command _alarm = Alarmdotcom(self._username, self._password, timeout=10) _alarm.disarm() - self.update_ha_state() def alarm_arm_home(self, code=None): """ Send arm home command. """ @@ -100,7 +99,6 @@ class AlarmDotCom(alarm.AlarmControlPanel): # Open another session to alarm.com to fire off the command _alarm = Alarmdotcom(self._username, self._password, timeout=10) _alarm.arm_stay() - self.update_ha_state() def alarm_arm_away(self, code=None): """ Send arm away command. """ @@ -110,7 +108,6 @@ class AlarmDotCom(alarm.AlarmControlPanel): # Open another session to alarm.com to fire off the command _alarm = Alarmdotcom(self._username, self._password, timeout=10) _alarm.arm_away() - self.update_ha_state() def _validate_code(self, code, state): """ Validate given code. """