diff --git a/homeassistant/components/alarm_control_panel/alarmdotcom.py b/homeassistant/components/alarm_control_panel/alarmdotcom.py index bdd77135ac1..7f76680feb7 100644 --- a/homeassistant/components/alarm_control_panel/alarmdotcom.py +++ b/homeassistant/components/alarm_control_panel/alarmdotcom.py @@ -52,6 +52,8 @@ class AlarmDotCom(alarm.AlarmControlPanel): self._hass = hass self._name = name self._code = str(code) if code else None + self._username = username + self._password = password @property def should_poll(self): @@ -82,21 +84,30 @@ class AlarmDotCom(alarm.AlarmControlPanel): """ Send disarm command. """ if not self._validate_code(code, 'arming home'): return - self._alarm.disarm() + from pyalarmdotcom.pyalarmdotcom import Alarmdotcom + # 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. """ if not self._validate_code(code, 'arming home'): return - self._alarm.arm_stay() + from pyalarmdotcom.pyalarmdotcom import Alarmdotcom + # 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. """ if not self._validate_code(code, 'arming home'): return - self._alarm.arm_away() + from pyalarmdotcom.pyalarmdotcom import Alarmdotcom + # 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):