| @@ -66,7 +66,9 @@ | |||||
| | <a href="#S"><strong>S</strong></a> | | <a href="#S"><strong>S</strong></a> | ||||
| | <a href="#T"><strong>T</strong></a> | | <a href="#T"><strong>T</strong></a> | ||||
| | <a href="#U"><strong>U</strong></a> | | <a href="#U"><strong>U</strong></a> | ||||
| | <a href="#V"><strong>V</strong></a> | |||||
| | <a href="#W"><strong>W</strong></a> | | <a href="#W"><strong>W</strong></a> | ||||
| | <a href="#X"><strong>X</strong></a> | |||||
| | <a href="#Z"><strong>Z</strong></a> | | <a href="#Z"><strong>Z</strong></a> | ||||
| </div> | </div> | ||||
| @@ -74,6 +76,10 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.ac_power">ac_power (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2">AD2 (class in pyad2.ad2)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2">AD2 (class in pyad2.ad2)</a> | ||||
| </dt> | </dt> | ||||
| @@ -81,8 +87,6 @@ | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2Factory">AD2Factory (class in pyad2.ad2)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2Factory">AD2Factory (class in pyad2.ad2)</a> | ||||
| </dt> | </dt> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2Factory.DetectThread">AD2Factory.DetectThread (class in pyad2.ad2)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2Factory.DetectThread">AD2Factory.DetectThread (class in pyad2.ad2)</a> | ||||
| </dt> | </dt> | ||||
| @@ -91,6 +95,28 @@ | |||||
| <dt><a href="pyad2.event.html#pyad2.event.event.EventHandler.add">add() (pyad2.event.event.EventHandler method)</a> | <dt><a href="pyad2.event.html#pyad2.event.event.EventHandler.add">add() (pyad2.event.event.EventHandler method)</a> | ||||
| </dt> | </dt> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage.address">address (pyad2.messages.ExpanderMessage attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.alarm_event_occurred">alarm_event_occurred (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.alarm_sounding">alarm_sounding (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.armed_away">armed_away (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.armed_home">armed_home (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -98,16 +124,28 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.backlight_on">backlight_on (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.BaseMessage">BaseMessage (class in pyad2.messages)</a> | <dt><a href="pyad2.html#pyad2.messages.BaseMessage">BaseMessage (class in pyad2.messages)</a> | ||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.BATTERY_TIMEOUT">BATTERY_TIMEOUT (pyad2.ad2.AD2 attribute)</a> | |||||
| <dt><a href="pyad2.html#pyad2.messages.RFMessage.battery">battery (pyad2.messages.RFMessage attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.battery_low">battery_low (pyad2.messages.Message attribute)</a> | |||||
| </dt> | </dt> | ||||
| </dl></td> | </dl></td> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.BATTERY_TIMEOUT">BATTERY_TIMEOUT (pyad2.ad2.AD2 attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.devices.SerialDevice.BAUDRATE">BAUDRATE (pyad2.devices.SerialDevice attribute)</a> | <dt><a href="pyad2.html#pyad2.devices.SerialDevice.BAUDRATE">BAUDRATE (pyad2.devices.SerialDevice attribute)</a> | ||||
| </dt> | </dt> | ||||
| @@ -117,6 +155,14 @@ | |||||
| </dt> | </dt> | ||||
| </dl></dd> | </dl></dd> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.beeps">beeps (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.bitfield">bitfield (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -124,20 +170,32 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage.channel">channel (pyad2.messages.ExpanderMessage attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.zonetracking.Zone.CHECK">CHECK (pyad2.zonetracking.Zone attribute)</a> | <dt><a href="pyad2.html#pyad2.zonetracking.Zone.CHECK">CHECK (pyad2.zonetracking.Zone attribute)</a> | ||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.html#pyad2.zonetracking.Zone.CLEAR">CLEAR (pyad2.zonetracking.Zone attribute)</a> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.check_zone">check_zone (pyad2.messages.Message attribute)</a> | |||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.clear_zone">clear_zone() (pyad2.ad2.AD2 method)</a> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.chime_on">chime_on (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.zonetracking.Zone.CLEAR">CLEAR (pyad2.zonetracking.Zone attribute)</a> | |||||
| </dt> | </dt> | ||||
| </dl></td> | </dl></td> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.clear_zone">clear_zone() (pyad2.ad2.AD2 method)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.close">close() (pyad2.ad2.AD2 method)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2.close">close() (pyad2.ad2.AD2 method)</a> | ||||
| </dt> | </dt> | ||||
| @@ -171,6 +229,10 @@ | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2Factory.create">create() (pyad2.ad2.AD2Factory class method)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2Factory.create">create() (pyad2.ad2.AD2Factory class method)</a> | ||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.cursor_location">cursor_location (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -202,16 +264,28 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.entry_delay_off">entry_delay_off (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.event.html#pyad2.event.event.Event">Event (class in pyad2.event.event)</a> | <dt><a href="pyad2.event.html#pyad2.event.event.Event">Event (class in pyad2.event.event)</a> | ||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.event.html#pyad2.event.event.EventHandler">EventHandler (class in pyad2.event.event)</a> | |||||
| <dt><a href="pyad2.html#pyad2.messages.LRRMessage.event_data">event_data (pyad2.messages.LRRMessage attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.LRRMessage.event_type">event_type (pyad2.messages.LRRMessage attribute)</a> | |||||
| </dt> | </dt> | ||||
| </dl></td> | </dl></td> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.event.html#pyad2.event.event.EventHandler">EventHandler (class in pyad2.event.event)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage">ExpanderMessage (class in pyad2.messages)</a> | <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage">ExpanderMessage (class in pyad2.messages)</a> | ||||
| </dt> | </dt> | ||||
| @@ -249,8 +323,6 @@ | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.fault_zone">fault_zone() (pyad2.ad2.AD2 method)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2.fault_zone">fault_zone() (pyad2.ad2.AD2 method)</a> | ||||
| </dt> | </dt> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2Factory.find_all">find_all() (pyad2.ad2.AD2Factory class method)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2Factory.find_all">find_all() (pyad2.ad2.AD2Factory class method)</a> | ||||
| </dt> | </dt> | ||||
| @@ -265,11 +337,17 @@ | |||||
| </dt> | </dt> | ||||
| </dl></dd> | </dl></dd> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.event.html#pyad2.event.event.EventHandler.fire">fire() (pyad2.event.event.EventHandler method)</a> | <dt><a href="pyad2.event.html#pyad2.event.event.EventHandler.fire">fire() (pyad2.event.event.EventHandler method)</a> | ||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.fire_alarm">fire_alarm (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.FIRE_TIMEOUT">FIRE_TIMEOUT (pyad2.ad2.AD2 attribute)</a> | <dt><a href="pyad2.html#pyad2.ad2.AD2.FIRE_TIMEOUT">FIRE_TIMEOUT (pyad2.ad2.AD2 attribute)</a> | ||||
| </dt> | </dt> | ||||
| @@ -348,6 +426,12 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.RFMessage.loop">loop (pyad2.messages.RFMessage attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.LRRMessage">LRRMessage (class in pyad2.messages)</a> | <dt><a href="pyad2.html#pyad2.messages.LRRMessage">LRRMessage (class in pyad2.messages)</a> | ||||
| </dt> | </dt> | ||||
| @@ -358,6 +442,12 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.mask">mask (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message">Message (class in pyad2.messages)</a> | <dt><a href="pyad2.html#pyad2.messages.Message">Message (class in pyad2.messages)</a> | ||||
| </dt> | </dt> | ||||
| @@ -371,6 +461,12 @@ | |||||
| <dt><a href="pyad2.html#pyad2.util.NoDeviceError">NoDeviceError</a> | <dt><a href="pyad2.html#pyad2.util.NoDeviceError">NoDeviceError</a> | ||||
| </dt> | </dt> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.numeric_code">numeric_code (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -524,6 +620,22 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.panel_data">panel_data (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.LRRMessage.partition">partition (pyad2.messages.LRRMessage attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.perimeter_only">perimeter_only (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.programming_mode">programming_mode (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#module-pyad2.ad2">pyad2.ad2 (module)</a> | <dt><a href="pyad2.html#module-pyad2.ad2">pyad2.ad2 (module)</a> | ||||
| </dt> | </dt> | ||||
| @@ -531,6 +643,8 @@ | |||||
| <dt><a href="pyad2.html#module-pyad2.devices">pyad2.devices (module)</a> | <dt><a href="pyad2.html#module-pyad2.devices">pyad2.devices (module)</a> | ||||
| </dt> | </dt> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.event.html#module-pyad2.event">pyad2.event (module)</a> | <dt><a href="pyad2.event.html#module-pyad2.event">pyad2.event (module)</a> | ||||
| </dt> | </dt> | ||||
| @@ -539,8 +653,6 @@ | |||||
| <dt><a href="pyad2.event.html#module-pyad2.event.event">pyad2.event.event (module)</a> | <dt><a href="pyad2.event.html#module-pyad2.event.event">pyad2.event.event (module)</a> | ||||
| </dt> | </dt> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#module-pyad2.messages">pyad2.messages (module)</a> | <dt><a href="pyad2.html#module-pyad2.messages">pyad2.messages (module)</a> | ||||
| </dt> | </dt> | ||||
| @@ -564,6 +676,10 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.BaseMessage.raw">raw (pyad2.messages.BaseMessage attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.devices.SerialDevice.read">read() (pyad2.devices.SerialDevice method)</a> | <dt><a href="pyad2.html#pyad2.devices.SerialDevice.read">read() (pyad2.devices.SerialDevice method)</a> | ||||
| </dt> | </dt> | ||||
| @@ -596,12 +712,16 @@ | |||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.reboot">reboot() (pyad2.ad2.AD2 method)</a> | |||||
| <dt><a href="pyad2.html#pyad2.messages.Message.ready">ready (pyad2.messages.Message attribute)</a> | |||||
| </dt> | </dt> | ||||
| </dl></td> | </dl></td> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.ad2.AD2.reboot">reboot() (pyad2.ad2.AD2 method)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage.RELAY">RELAY (pyad2.messages.ExpanderMessage attribute)</a> | <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage.RELAY">RELAY (pyad2.messages.ExpanderMessage attribute)</a> | ||||
| </dt> | </dt> | ||||
| @@ -641,6 +761,12 @@ | |||||
| <dt><a href="pyad2.html#pyad2.devices.USBDevice.serial_number">serial_number (pyad2.devices.USBDevice attribute)</a> | <dt><a href="pyad2.html#pyad2.devices.USBDevice.serial_number">serial_number (pyad2.devices.USBDevice attribute)</a> | ||||
| </dt> | </dt> | ||||
| <dd><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.RFMessage.serial_number">(pyad2.messages.RFMessage attribute)</a> | |||||
| </dt> | |||||
| </dl></dd> | |||||
| <dt><a href="pyad2.html#pyad2.devices.SerialDevice">SerialDevice (class in pyad2.devices)</a> | <dt><a href="pyad2.html#pyad2.devices.SerialDevice">SerialDevice (class in pyad2.devices)</a> | ||||
| </dt> | </dt> | ||||
| @@ -717,6 +843,10 @@ | |||||
| <dt><a href="pyad2.html#pyad2.devices.Device.stop_reader">stop_reader() (pyad2.devices.Device method)</a> | <dt><a href="pyad2.html#pyad2.devices.Device.stop_reader">stop_reader() (pyad2.devices.Device method)</a> | ||||
| </dt> | </dt> | ||||
| <dt><a href="pyad2.html#pyad2.messages.RFMessage.supervision">supervision (pyad2.messages.RFMessage attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -724,9 +854,19 @@ | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.text">text (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.util.TimeoutError">TimeoutError</a> | <dt><a href="pyad2.html#pyad2.util.TimeoutError">TimeoutError</a> | ||||
| </dt> | </dt> | ||||
| </dl></td> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage.type">type (pyad2.messages.ExpanderMessage attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| @@ -750,6 +890,22 @@ | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| <h2 id="V">V</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.ExpanderMessage.value">value (pyad2.messages.ExpanderMessage attribute)</a> | |||||
| </dt> | |||||
| <dd><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.RFMessage.value">(pyad2.messages.RFMessage attribute)</a> | |||||
| </dt> | |||||
| </dl></dd> | |||||
| </dl></td> | |||||
| </tr></table> | |||||
| <h2 id="W">W</h2> | <h2 id="W">W</h2> | ||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| @@ -770,6 +926,16 @@ | |||||
| </dl></td> | </dl></td> | ||||
| </tr></table> | </tr></table> | ||||
| <h2 id="X">X</h2> | |||||
| <table style="width: 100%" class="indextable genindextable"><tr> | |||||
| <td style="width: 33%" valign="top"><dl> | |||||
| <dt><a href="pyad2.html#pyad2.messages.RFMessage.x">x (pyad2.messages.RFMessage attribute)</a> | |||||
| </dt> | |||||
| </dl></td> | |||||
| </tr></table> | |||||
| <h2 id="Z">Z</h2> | <h2 id="Z">Z</h2> | ||||
| <table style="width: 100%" class="indextable genindextable"><tr> | <table style="width: 100%" class="indextable genindextable"><tr> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| @@ -784,6 +950,10 @@ | |||||
| </dl></td> | </dl></td> | ||||
| <td style="width: 33%" valign="top"><dl> | <td style="width: 33%" valign="top"><dl> | ||||
| <dt><a href="pyad2.html#pyad2.messages.Message.zone_bypassed">zone_bypassed (pyad2.messages.Message attribute)</a> | |||||
| </dt> | |||||
| <dt><a href="pyad2.html#pyad2.zonetracking.Zonetracker">Zonetracker (class in pyad2.zonetracking)</a> | <dt><a href="pyad2.html#pyad2.zonetracking.Zonetracker">Zonetracker (class in pyad2.zonetracking)</a> | ||||
| </dt> | </dt> | ||||
| @@ -360,8 +360,6 @@ | |||||
| <tbody valign="top"> | <tbody valign="top"> | ||||
| <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> | ||||
| <li><strong>baudrate</strong> (<em>int</em>) – The baudrate used for the device.</li> | <li><strong>baudrate</strong> (<em>int</em>) – The baudrate used for the device.</li> | ||||
| <li><strong>interface</strong> (<em>varies depends on device type.. FIXME</em>) – The interface used for the device.</li> | |||||
| <li><strong>index</strong> (<em>int</em>) – Interface index.. can probably remove. FIXME</li> | |||||
| <li><strong>no_reader_thread</strong> (<em>bool</em>) – Specifies whether or not the automatic reader thread should be started or not</li> | <li><strong>no_reader_thread</strong> (<em>bool</em>) – Specifies whether or not the automatic reader thread should be started or not</li> | ||||
| </ul> | </ul> | ||||
| </td> | </td> | ||||
| @@ -379,7 +377,16 @@ | |||||
| <dl class="method"> | <dl class="method"> | ||||
| <dt id="pyad2.ad2.AD2.send"> | <dt id="pyad2.ad2.AD2.send"> | ||||
| <tt class="descname">send</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.send"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.send" title="Permalink to this definition">¶</a></dt> | <tt class="descname">send</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/pyad2/ad2.html#AD2.send"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.ad2.AD2.send" title="Permalink to this definition">¶</a></dt> | ||||
| <dd></dd></dl> | |||||
| <dd><p>Sends data to the AD2 device.</p> | |||||
| <table class="docutils field-list" frame="void" rules="none"> | |||||
| <col class="field-name" /> | |||||
| <col class="field-body" /> | |||||
| <tbody valign="top"> | |||||
| <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>str</em>) – The data to send.</td> | |||||
| </tr> | |||||
| </tbody> | |||||
| </table> | |||||
| </dd></dl> | |||||
| <dl class="method"> | <dl class="method"> | ||||
| <dt id="pyad2.ad2.AD2.get_config"> | <dt id="pyad2.ad2.AD2.get_config"> | ||||
| @@ -1166,6 +1173,12 @@ Serial to IP interface.</p> | |||||
| <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">BaseMessage</tt><a class="reference internal" href="_modules/pyad2/messages.html#BaseMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.BaseMessage" title="Permalink to this definition">¶</a></dt> | <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">BaseMessage</tt><a class="reference internal" href="_modules/pyad2/messages.html#BaseMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.BaseMessage" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p> | <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p> | ||||
| <p>Base class for messages.</p> | <p>Base class for messages.</p> | ||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.BaseMessage.raw"> | |||||
| <tt class="descname">raw</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.BaseMessage.raw" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>The raw message text</p> | |||||
| </dd></dl> | |||||
| </dd></dl> | </dd></dl> | ||||
| <dl class="class"> | <dl class="class"> | ||||
| @@ -1173,6 +1186,138 @@ Serial to IP interface.</p> | |||||
| <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">Message</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#Message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.Message" title="Permalink to this definition">¶</a></dt> | <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">Message</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#Message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.Message" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p> | <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p> | ||||
| <p>Represents a message from the alarm panel.</p> | <p>Represents a message from the alarm panel.</p> | ||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.ready"> | |||||
| <tt class="descname">ready</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.ready" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the panel is in a ready state</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.armed_away"> | |||||
| <tt class="descname">armed_away</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.armed_away" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the panel is armed away</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.armed_home"> | |||||
| <tt class="descname">armed_home</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.armed_home" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the panel is armed home</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.backlight_on"> | |||||
| <tt class="descname">backlight_on</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.backlight_on" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the keypad backlight is on</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.programming_mode"> | |||||
| <tt class="descname">programming_mode</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.programming_mode" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not we’re in programming mode</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.beeps"> | |||||
| <tt class="descname">beeps</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.Message.beeps" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Number of beeps associated with a message</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.zone_bypassed"> | |||||
| <tt class="descname">zone_bypassed</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.zone_bypassed" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not a zone is bypassed</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.ac_power"> | |||||
| <tt class="descname">ac_power</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.ac_power" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the panel is on AC power</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.chime_on"> | |||||
| <tt class="descname">chime_on</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.chime_on" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the chime is enabled</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.alarm_event_occurred"> | |||||
| <tt class="descname">alarm_event_occurred</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.alarm_event_occurred" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not an alarm event has occurred</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.alarm_sounding"> | |||||
| <tt class="descname">alarm_sounding</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.alarm_sounding" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not an alarm is sounding</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.battery_low"> | |||||
| <tt class="descname">battery_low</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.battery_low" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not there is a low battery</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.entry_delay_off"> | |||||
| <tt class="descname">entry_delay_off</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.entry_delay_off" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the entry delay is enabled</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.fire_alarm"> | |||||
| <tt class="descname">fire_alarm</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.fire_alarm" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not a fire alarm is sounding</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.check_zone"> | |||||
| <tt class="descname">check_zone</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.check_zone" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not there are zones that require attention.</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.perimeter_only"> | |||||
| <tt class="descname">perimeter_only</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.Message.perimeter_only" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Indicates whether or not the perimeter is armed</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.numeric_code"> | |||||
| <tt class="descname">numeric_code</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.numeric_code" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>The numeric code associated with the message</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.text"> | |||||
| <tt class="descname">text</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.text" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>The human-readable text to be displayed on the panel LCD</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.cursor_location"> | |||||
| <tt class="descname">cursor_location</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.Message.cursor_location" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Current cursor location on the keypad</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.mask"> | |||||
| <tt class="descname">mask</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.mask" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Address mask this message is intended for</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.bitfield"> | |||||
| <tt class="descname">bitfield</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.bitfield" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>The bitfield associated with this message</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.Message.panel_data"> | |||||
| <tt class="descname">panel_data</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.Message.panel_data" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>The panel data field associated with this message</p> | |||||
| </dd></dl> | |||||
| </dd></dl> | </dd></dl> | ||||
| <dl class="class"> | <dl class="class"> | ||||
| @@ -1192,6 +1337,30 @@ Serial to IP interface.</p> | |||||
| <dd><p>Flag indicating that the expander message relates to a Relay Expander.</p> | <dd><p>Flag indicating that the expander message relates to a Relay Expander.</p> | ||||
| </dd></dl> | </dd></dl> | ||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.ExpanderMessage.type"> | |||||
| <tt class="descname">type</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.type" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Expander message type: ExpanderMessage.ZONE or ExpanderMessage.RELAY</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.ExpanderMessage.address"> | |||||
| <tt class="descname">address</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.address" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Address of expander</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.ExpanderMessage.channel"> | |||||
| <tt class="descname">channel</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.channel" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Channel on the expander</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.ExpanderMessage.value"> | |||||
| <tt class="descname">value</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.ExpanderMessage.value" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Value associated with the message</p> | |||||
| </dd></dl> | |||||
| </dd></dl> | </dd></dl> | ||||
| <dl class="class"> | <dl class="class"> | ||||
| @@ -1199,6 +1368,41 @@ Serial to IP interface.</p> | |||||
| <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">RFMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#RFMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.RFMessage" title="Permalink to this definition">¶</a></dt> | <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">RFMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#RFMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.RFMessage" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p> | <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p> | ||||
| <p>Represents a message from an RF receiver.</p> | <p>Represents a message from an RF receiver.</p> | ||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.RFMessage.x"> | |||||
| <tt class="descname">x</tt><em class="property"> = 3</em><a class="headerlink" href="#pyad2.messages.RFMessage.x" title="Permalink to this definition">¶</a></dt> | |||||
| <dd></dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.RFMessage.serial_number"> | |||||
| <tt class="descname">serial_number</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.RFMessage.serial_number" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Serial number of the RF device</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.RFMessage.value"> | |||||
| <tt class="descname">value</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.RFMessage.value" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Value associated with this message</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.RFMessage.battery"> | |||||
| <tt class="descname">battery</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.RFMessage.battery" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Battery low indication</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.RFMessage.supervision"> | |||||
| <tt class="descname">supervision</tt><em class="property"> = False</em><a class="headerlink" href="#pyad2.messages.RFMessage.supervision" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Supervision required indication</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.RFMessage.loop"> | |||||
| <tt class="descname">loop</tt><em class="property"> = [False, False, False, False]</em><a class="headerlink" href="#pyad2.messages.RFMessage.loop" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Loop indicators</p> | |||||
| </dd></dl> | |||||
| </dd></dl> | </dd></dl> | ||||
| <dl class="class"> | <dl class="class"> | ||||
| @@ -1206,6 +1410,24 @@ Serial to IP interface.</p> | |||||
| <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">LRRMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#LRRMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.LRRMessage" title="Permalink to this definition">¶</a></dt> | <em class="property">class </em><tt class="descclassname">pyad2.messages.</tt><tt class="descname">LRRMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/pyad2/messages.html#LRRMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pyad2.messages.LRRMessage" title="Permalink to this definition">¶</a></dt> | ||||
| <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p> | <dd><p>Bases: <a class="reference internal" href="#pyad2.messages.BaseMessage" title="pyad2.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">pyad2.messages.BaseMessage</span></tt></a></p> | ||||
| <p>Represent a message from a Long Range Radio.</p> | <p>Represent a message from a Long Range Radio.</p> | ||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.LRRMessage.event_data"> | |||||
| <tt class="descname">event_data</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.LRRMessage.event_data" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>Data associated with the LRR message. Usually user ID or zone.</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.LRRMessage.partition"> | |||||
| <tt class="descname">partition</tt><em class="property"> = -1</em><a class="headerlink" href="#pyad2.messages.LRRMessage.partition" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>The partition that this message applies to</p> | |||||
| </dd></dl> | |||||
| <dl class="attribute"> | |||||
| <dt id="pyad2.messages.LRRMessage.event_type"> | |||||
| <tt class="descname">event_type</tt><em class="property"> = None</em><a class="headerlink" href="#pyad2.messages.LRRMessage.event_type" title="Permalink to this definition">¶</a></dt> | |||||
| <dd><p>The type of the event that occurred</p> | |||||
| </dd></dl> | |||||
| </dd></dl> | </dd></dl> | ||||
| </div> | </div> | ||||
| @@ -12,11 +12,15 @@ class BaseMessage(object): | |||||
| """ | """ | ||||
| Base class for messages. | Base class for messages. | ||||
| """ | """ | ||||
| raw = None | |||||
| """The raw message text""" | |||||
| def __init__(self): | def __init__(self): | ||||
| """ | """ | ||||
| Constructor | Constructor | ||||
| """ | """ | ||||
| self.raw = None | |||||
| pass | |||||
| def __str__(self): | def __str__(self): | ||||
| """ | """ | ||||
| @@ -29,6 +33,51 @@ class Message(BaseMessage): | |||||
| Represents a message from the alarm panel. | Represents a message from the alarm panel. | ||||
| """ | """ | ||||
| ready = False | |||||
| """Indicates whether or not the panel is in a ready state""" | |||||
| armed_away = False | |||||
| """Indicates whether or not the panel is armed away""" | |||||
| armed_home = False | |||||
| """Indicates whether or not the panel is armed home""" | |||||
| backlight_on = False | |||||
| """Indicates whether or not the keypad backlight is on""" | |||||
| programming_mode = False | |||||
| """Indicates whether or not we're in programming mode""" | |||||
| beeps = -1 | |||||
| """Number of beeps associated with a message""" | |||||
| zone_bypassed = False | |||||
| """Indicates whether or not a zone is bypassed""" | |||||
| ac_power = False | |||||
| """Indicates whether or not the panel is on AC power""" | |||||
| chime_on = False | |||||
| """Indicates whether or not the chime is enabled""" | |||||
| alarm_event_occurred = False | |||||
| """Indicates whether or not an alarm event has occurred""" | |||||
| alarm_sounding = False | |||||
| """Indicates whether or not an alarm is sounding""" | |||||
| battery_low = False | |||||
| """Indicates whether or not there is a low battery""" | |||||
| entry_delay_off = False | |||||
| """Indicates whether or not the entry delay is enabled""" | |||||
| fire_alarm = False | |||||
| """Indicates whether or not a fire alarm is sounding""" | |||||
| check_zone = False | |||||
| """Indicates whether or not there are zones that require attention.""" | |||||
| perimeter_only = False | |||||
| """Indicates whether or not the perimeter is armed""" | |||||
| numeric_code = None | |||||
| """The numeric code associated with the message""" | |||||
| text = None | |||||
| """The human-readable text to be displayed on the panel LCD""" | |||||
| cursor_location = -1 | |||||
| """Current cursor location on the keypad""" | |||||
| mask = None | |||||
| """Address mask this message is intended for""" | |||||
| bitfield = None | |||||
| """The bitfield associated with this message""" | |||||
| panel_data = None | |||||
| """The panel data field associated with this message""" | |||||
| def __init__(self, data=None): | def __init__(self, data=None): | ||||
| """ | """ | ||||
| Constructor | Constructor | ||||
| @@ -36,35 +85,19 @@ class Message(BaseMessage): | |||||
| :param data: Message data to parse. | :param data: Message data to parse. | ||||
| :type data: str | :type data: str | ||||
| """ | """ | ||||
| self.ready = False | |||||
| self.armed_away = False | |||||
| self.armed_home = False | |||||
| self.backlight_on = False | |||||
| self.programming_mode = False | |||||
| self.beeps = -1 | |||||
| self.zone_bypassed = False | |||||
| self.ac_power = False | |||||
| self.chime_on = False | |||||
| self.alarm_event_occurred = False | |||||
| self.alarm_sounding = False | |||||
| self.battery_low = False | |||||
| self.entry_delay_off = False | |||||
| self.fire_alarm = False | |||||
| self.check_zone = False | |||||
| self.perimeter_only = False | |||||
| self.numeric_code = "" | |||||
| self.text = "" | |||||
| self.cursor_location = -1 | |||||
| self.data = "" | |||||
| self.mask = "" | |||||
| self.bitfield = "" | |||||
| self.panel_data = "" | |||||
| BaseMessage.__init__(self) | |||||
| self._regex = re.compile('("(?:[^"]|"")*"|[^,]*),("(?:[^"]|"")*"|[^,]*),("(?:[^"]|"")*"|[^,]*),("(?:[^"]|"")*"|[^,]*)') | self._regex = re.compile('("(?:[^"]|"")*"|[^,]*),("(?:[^"]|"")*"|[^,]*),("(?:[^"]|"")*"|[^,]*),("(?:[^"]|"")*"|[^,]*)') | ||||
| if data is not None: | if data is not None: | ||||
| self._parse_message(data) | self._parse_message(data) | ||||
| def __str__(self): | |||||
| """ | |||||
| String conversion operator. | |||||
| """ | |||||
| return self.raw | |||||
| def _parse_message(self, data): | def _parse_message(self, data): | ||||
| """ | """ | ||||
| Parse the message from the device. | Parse the message from the device. | ||||
| @@ -107,12 +140,6 @@ class Message(BaseMessage): | |||||
| if int(self.panel_data[19:21], 16) & 0x01 > 0: | if int(self.panel_data[19:21], 16) & 0x01 > 0: | ||||
| self.cursor_location = int(self.bitfield[21:23], 16) # Alpha character index that the cursor is on. | self.cursor_location = int(self.bitfield[21:23], 16) # Alpha character index that the cursor is on. | ||||
| def __str__(self): | |||||
| """ | |||||
| String conversion operator. | |||||
| """ | |||||
| return self.raw | |||||
| class ExpanderMessage(BaseMessage): | class ExpanderMessage(BaseMessage): | ||||
| """ | """ | ||||
| Represents a message from a zone or relay expansion module. | Represents a message from a zone or relay expansion module. | ||||
| @@ -123,6 +150,16 @@ class ExpanderMessage(BaseMessage): | |||||
| RELAY = 1 | RELAY = 1 | ||||
| """Flag indicating that the expander message relates to a Relay Expander.""" | """Flag indicating that the expander message relates to a Relay Expander.""" | ||||
| type = None | |||||
| """Expander message type: ExpanderMessage.ZONE or ExpanderMessage.RELAY""" | |||||
| address = -1 | |||||
| """Address of expander""" | |||||
| channel = -1 | |||||
| """Channel on the expander""" | |||||
| value = -1 | |||||
| """Value associated with the message""" | |||||
| def __init__(self, data=None): | def __init__(self, data=None): | ||||
| """ | """ | ||||
| Constructor | Constructor | ||||
| @@ -130,11 +167,7 @@ class ExpanderMessage(BaseMessage): | |||||
| :param data: The message data to parse. | :param data: The message data to parse. | ||||
| :type data: str | :type data: str | ||||
| """ | """ | ||||
| self.type = None | |||||
| self.address = None | |||||
| self.channel = None | |||||
| self.value = None | |||||
| self.raw = None | |||||
| BaseMessage.__init__(self) | |||||
| if data is not None: | if data is not None: | ||||
| self._parse_message(data) | self._parse_message(data) | ||||
| @@ -176,6 +209,17 @@ class RFMessage(BaseMessage): | |||||
| Represents a message from an RF receiver. | Represents a message from an RF receiver. | ||||
| """ | """ | ||||
| serial_number = None | |||||
| """Serial number of the RF device""" | |||||
| value = -1 | |||||
| """Value associated with this message""" | |||||
| battery = False | |||||
| """Battery low indication""" | |||||
| supervision = False | |||||
| """Supervision required indication""" | |||||
| loop = [False for x in range(4)] | |||||
| """Loop indicators""" | |||||
| def __init__(self, data=None): | def __init__(self, data=None): | ||||
| """ | """ | ||||
| Constructor | Constructor | ||||
| @@ -183,12 +227,7 @@ class RFMessage(BaseMessage): | |||||
| :param data: The message data to parse | :param data: The message data to parse | ||||
| :type data: str | :type data: str | ||||
| """ | """ | ||||
| self.raw = None | |||||
| self.serial_number = None | |||||
| self.value = None | |||||
| self.battery = None | |||||
| self.supervision = None | |||||
| self.loop = {} | |||||
| BaseMessage.__init__(self) | |||||
| if data is not None: | if data is not None: | ||||
| self._parse_message(data) | self._parse_message(data) | ||||
| @@ -218,7 +257,7 @@ class RFMessage(BaseMessage): | |||||
| # Bit 1 = unknown | # Bit 1 = unknown | ||||
| self.battery = is_bit_set(2) | self.battery = is_bit_set(2) | ||||
| self.supervision = is_bit_set(3) | self.supervision = is_bit_set(3) | ||||
| # Bit 8 = unknown | |||||
| # Bit 4 = unknown | |||||
| self.loop[0] = is_bit_set(5) | self.loop[0] = is_bit_set(5) | ||||
| self.loop[1] = is_bit_set(6) | self.loop[1] = is_bit_set(6) | ||||
| self.loop[2] = is_bit_set(7) | self.loop[2] = is_bit_set(7) | ||||
| @@ -227,12 +266,18 @@ class RFMessage(BaseMessage): | |||||
| except ValueError: | except ValueError: | ||||
| raise InvalidMessageError('Received invalid message: {0}'.format(data)) | raise InvalidMessageError('Received invalid message: {0}'.format(data)) | ||||
| class LRRMessage(BaseMessage): | class LRRMessage(BaseMessage): | ||||
| """ | """ | ||||
| Represent a message from a Long Range Radio. | Represent a message from a Long Range Radio. | ||||
| """ | """ | ||||
| event_data = None | |||||
| """Data associated with the LRR message. Usually user ID or zone.""" | |||||
| partition = -1 | |||||
| """The partition that this message applies to""" | |||||
| event_type = None | |||||
| """The type of the event that occurred""" | |||||
| def __init__(self, data=None): | def __init__(self, data=None): | ||||
| """ | """ | ||||
| Constructor | Constructor | ||||
| @@ -240,10 +285,7 @@ class LRRMessage(BaseMessage): | |||||
| :param data: The message data to parse. | :param data: The message data to parse. | ||||
| :type data: str | :type data: str | ||||
| """ | """ | ||||
| self.raw = None | |||||
| self.event_data = None | |||||
| self.partition = None | |||||
| self.event_type = None | |||||
| BaseMessage.__init__(self) | |||||
| if data is not None: | if data is not None: | ||||
| self._parse_message(data) | self._parse_message(data) | ||||