| @@ -262,13 +262,13 @@ class AD2USB(object): | |||||
| """ | """ | ||||
| status = 2 if simulate_wire_problem else 1 | status = 2 if simulate_wire_problem else 1 | ||||
| self._device.write("L{0:02}{1}".format(zone, status)) | |||||
| self._device.write("L{0:02}{1}\r".format(zone, status)) | |||||
| def clear_zone(self, zone): | def clear_zone(self, zone): | ||||
| """ | """ | ||||
| Clears a zone if we are emulating a zone expander. | Clears a zone if we are emulating a zone expander. | ||||
| """ | """ | ||||
| self._device.write("L{0:02}0".format(zone)) | |||||
| self._device.write("L{0:02}0\r".format(zone)) | |||||
| def _wire_events(self): | def _wire_events(self): | ||||
| """ | """ | ||||
| @@ -422,7 +422,11 @@ class Message(object): | |||||
| self.chime_on = False | self.chime_on = False | ||||
| self.alarm_event_occurred = False | self.alarm_event_occurred = False | ||||
| self.alarm_sounding = False | self.alarm_sounding = False | ||||
| self.battery_low = False | |||||
| self.entry_delay_off = False | |||||
| self.fire_alarm = False | self.fire_alarm = False | ||||
| self.check_zone = False | |||||
| self.perimeter_only = False | |||||
| self.numeric_code = "" | self.numeric_code = "" | ||||
| self.text = "" | self.text = "" | ||||
| self.cursor_location = -1 | self.cursor_location = -1 | ||||
| @@ -460,7 +464,12 @@ class Message(object): | |||||
| self.chime_on = not self.bitfield[9:10] == "0" | self.chime_on = not self.bitfield[9:10] == "0" | ||||
| self.alarm_event_occurred = not self.bitfield[10:11] == "0" | self.alarm_event_occurred = not self.bitfield[10:11] == "0" | ||||
| self.alarm_sounding = not self.bitfield[11:12] == "0" | self.alarm_sounding = not self.bitfield[11:12] == "0" | ||||
| self.fire_alarm = not self.bitfield[13:14] == "0" | |||||
| self.battery_low = not self.bitfield[12:13] == "0" | |||||
| self.entry_delay_off = not self.bitfield[13:14] == "0" | |||||
| self.fire_alarm = not self.bitfield[14:15] == "0" | |||||
| self.check_zone = not self.bitfield[15:16] == "0" | |||||
| self.perimeter_only = not self.bitfield[16:17] == "0" | |||||
| # bits 17-20 unused. | |||||
| self.text = alpha.strip('"') | self.text = alpha.strip('"') | ||||
| if int(self.panel_data[19:21], 16) & 0x01 > 0: | if int(self.panel_data[19:21], 16) & 0x01 > 0: | ||||
| @@ -583,4 +592,4 @@ class LRRMessage(object): | |||||
| self.raw = data | self.raw = data | ||||
| _, values = data.split(':') | _, values = data.split(':') | ||||
| self._event_data, self._partition, self._event_type = values.split(',') | |||||
| self._event_data, self._partition, self._event_type = values.split(',') | |||||