diff --git a/alarmdecoder/decoder.py b/alarmdecoder/decoder.py index 11e9d5a..e280ad5 100644 --- a/alarmdecoder/decoder.py +++ b/alarmdecoder/decoder.py @@ -93,8 +93,6 @@ class AlarmDecoder(object): BATTERY_TIMEOUT = 30 """Default timeout (in seconds) before the battery status reverts.""" - FIRE_TIMEOUT = 30 - """Default tTimeout (in seconds) before the fire status reverts.""" # Attributes address = 18 @@ -143,7 +141,6 @@ class AlarmDecoder(object): self._ignore_message_states = ignore_message_states self._ignore_lrr_states = ignore_lrr_states self._battery_timeout = AlarmDecoder.BATTERY_TIMEOUT - self._fire_timeout = AlarmDecoder.FIRE_TIMEOUT self._power_status = None self._chime_status = None self._ready_status = None @@ -155,7 +152,6 @@ class AlarmDecoder(object): self._armed_stay = False self._exit = False self._fire_status = False - self._fire_status_timeout = 0 self._battery_status = (False, 0) self._panic_status = False self._relay_status = {} @@ -220,25 +216,6 @@ class AlarmDecoder(object): """ self._battery_timeout = value - @property - def fire_timeout(self): - """ - Retrieves the timeout for restoring the fire status, in seconds. - - :returns: fire status timeout - """ - return self._fire_timeout - - @fire_timeout.setter - def fire_timeout(self, value): - """ - Sets the timeout for restoring the fire status, in seconds. - - :param value: timeout in seconds - :type value: int - """ - self._fire_timeout = value - @property def internal_address_mask(self): """ @@ -916,7 +893,6 @@ class AlarmDecoder(object): fire_status = status last_status = self._fire_status - last_update = self._fire_status_timeout # Quirk in Ademco panels. Fire bit goes on/off if other alarms are on or a system fault if isinstance(message, Message): @@ -926,33 +902,12 @@ class AlarmDecoder(object): not message.text.startswith("CHECK") and message.system_fault != 3): - # if we had an alarm and the sticky bit was cleared then clear the alarm - if self._fire_status and not message.alarm_event_occurred: - # fire restore - fire_status = False - - # if we had a fire event and it went away and we still have a sticky alarm bit - # then it is not gone yet just restore it - if not message.fire_alarm and self._fire_status: - if message.alarm_event_occurred: - fire_status = self._fire_status - # if we did not have an alarm and we do now send event - if message.fire_alarm and message.fire_alarm != self._fire_status: - fire_status = message.fire_alarm - - # if we had an alarm already send and we get it again extend the timeout - if message.fire_alarm and message.fire_alarm == self._fire_status: - self._fire_status = message.fire_alarm - self._fire_status_timeout = time.time() + fire_status = message.fire_alarm else: - # if we timeout with an alarm set restore it - if time.time() > last_update + self._fire_timeout: - fire_status = False - else: - # Keep the current fire state do not update for SYSTEM messages. - fire_status = self._fire_status + # Keep the current fire state do not update for SYSTEM messages. + fire_status = self._fire_status else: fire_status = message.fire_alarm @@ -960,7 +915,6 @@ class AlarmDecoder(object): if fire_status != self._fire_status: if fire_status is not None: self._fire_status = fire_status - self._fire_status_timeout = time.time() self.on_fire(status=fire_status) return self._fire_status