A clone of: https://github.com/nutechsoftware/alarmdecoder This is requires as they dropped support for older firmware releases w/o building in backward compatibility code, and they had previously hardcoded pyserial to a python2 only version.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1661 lines
104 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>alarmdecoder Package &mdash; alarmdecoder documentation</title>
  7. <link rel="stylesheet" href="_static/default.css" type="text/css" />
  8. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  9. <script type="text/javascript">
  10. var DOCUMENTATION_OPTIONS = {
  11. URL_ROOT: './',
  12. VERSION: '',
  13. COLLAPSE_INDEX: false,
  14. FILE_SUFFIX: '.html',
  15. HAS_SOURCE: true
  16. };
  17. </script>
  18. <script type="text/javascript" src="_static/jquery.js"></script>
  19. <script type="text/javascript" src="_static/underscore.js"></script>
  20. <script type="text/javascript" src="_static/doctools.js"></script>
  21. <link rel="top" title="alarmdecoder documentation" href="index.html" />
  22. <link rel="prev" title="Welcome to Alarm Decoder’s documentation!" href="index.html" />
  23. </head>
  24. <body>
  25. <div class="related">
  26. <h3>Navigation</h3>
  27. <ul>
  28. <li class="right" style="margin-right: 10px">
  29. <a href="genindex.html" title="General Index"
  30. accesskey="I">index</a></li>
  31. <li class="right" >
  32. <a href="py-modindex.html" title="Python Module Index"
  33. >modules</a> |</li>
  34. <li class="right" >
  35. <a href="index.html" title="Welcome to Alarm Decoder’s documentation!"
  36. accesskey="P">previous</a> |</li>
  37. <li><a href="index.html">alarmdecoder documentation</a> &raquo;</li>
  38. </ul>
  39. </div>
  40. <div class="document">
  41. <div class="documentwrapper">
  42. <div class="bodywrapper">
  43. <div class="body">
  44. <div class="section" id="alarmdecoder-package">
  45. <h1>alarmdecoder Package<a class="headerlink" href="#alarmdecoder-package" title="Permalink to this headline">¶</a></h1>
  46. <div class="section" id="module-alarmdecoder.decoder">
  47. <span id="decoder-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">decoder</span></tt> Module<a class="headerlink" href="#module-alarmdecoder.decoder" title="Permalink to this headline">¶</a></h2>
  48. <p>Provides the main AlarmDecoder class.</p>
  49. <dl class="class">
  50. <dt id="alarmdecoder.decoder.AlarmDecoder">
  51. <em class="property">class </em><tt class="descclassname">alarmdecoder.decoder.</tt><tt class="descname">AlarmDecoder</tt><big>(</big><em>device</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder" title="Permalink to this definition">¶</a></dt>
  52. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  53. <p>High-level wrapper around <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> (AD2) devices.</p>
  54. <dl class="attribute">
  55. <dt id="alarmdecoder.decoder.AlarmDecoder.on_arm">
  56. <tt class="descname">on_arm</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_arm" title="Permalink to this definition">¶</a></dt>
  57. <dd><p>This event is called when the panel is armed.</p>
  58. <p><strong>Callback definition:</strong> <em>def callback(device)</em></p>
  59. </dd></dl>
  60. <dl class="attribute">
  61. <dt id="alarmdecoder.decoder.AlarmDecoder.on_disarm">
  62. <tt class="descname">on_disarm</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_disarm" title="Permalink to this definition">¶</a></dt>
  63. <dd><p>This event is called when the panel is disarmed.</p>
  64. <p><strong>Callback definition:</strong> <em>def callback(device)</em></p>
  65. </dd></dl>
  66. <dl class="attribute">
  67. <dt id="alarmdecoder.decoder.AlarmDecoder.on_power_changed">
  68. <tt class="descname">on_power_changed</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_power_changed" title="Permalink to this definition">¶</a></dt>
  69. <dd><p>This event is called when panel power switches between AC and DC.</p>
  70. <p><strong>Callback definition:</strong> <em>def callback(device, status)</em></p>
  71. </dd></dl>
  72. <dl class="attribute">
  73. <dt id="alarmdecoder.decoder.AlarmDecoder.on_alarm">
  74. <tt class="descname">on_alarm</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_alarm" title="Permalink to this definition">¶</a></dt>
  75. <dd><p>This event is called when the alarm is triggered.</p>
  76. <p><strong>Callback definition:</strong> <em>def callback(device, status)</em></p>
  77. </dd></dl>
  78. <dl class="attribute">
  79. <dt id="alarmdecoder.decoder.AlarmDecoder.on_fire">
  80. <tt class="descname">on_fire</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_fire" title="Permalink to this definition">¶</a></dt>
  81. <dd><p>This event is called when a fire is detected.</p>
  82. <p><strong>Callback definition:</strong> <em>def callback(device, status)</em></p>
  83. </dd></dl>
  84. <dl class="attribute">
  85. <dt id="alarmdecoder.decoder.AlarmDecoder.on_bypass">
  86. <tt class="descname">on_bypass</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_bypass" title="Permalink to this definition">¶</a></dt>
  87. <dd><p>This event is called when a zone is bypassed.</p>
  88. <p><strong>Callback definition:</strong> <em>def callback(device, status)</em></p>
  89. </dd></dl>
  90. <dl class="attribute">
  91. <dt id="alarmdecoder.decoder.AlarmDecoder.on_boot">
  92. <tt class="descname">on_boot</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_boot" title="Permalink to this definition">¶</a></dt>
  93. <dd><p>This event is called when the device finishes booting.</p>
  94. <p><strong>Callback definition:</strong> <em>def callback(device)</em></p>
  95. </dd></dl>
  96. <dl class="attribute">
  97. <dt id="alarmdecoder.decoder.AlarmDecoder.on_config_received">
  98. <tt class="descname">on_config_received</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_config_received" title="Permalink to this definition">¶</a></dt>
  99. <dd><p>This event is called when the device receives its configuration.</p>
  100. <p><strong>Callback definition:</strong> <em>def callback(device)</em></p>
  101. </dd></dl>
  102. <dl class="attribute">
  103. <dt id="alarmdecoder.decoder.AlarmDecoder.on_zone_fault">
  104. <tt class="descname">on_zone_fault</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_zone_fault" title="Permalink to this definition">¶</a></dt>
  105. <dd><p>This event is called when <a class="reference internal" href="#alarmdecoder.zonetracking.Zonetracker" title="alarmdecoder.zonetracking.Zonetracker"><tt class="xref py py-class docutils literal"><span class="pre">Zonetracker</span></tt></a> detects a zone fault.</p>
  106. <p><strong>Callback definition:</strong> <em>def callback(device, zone)</em></p>
  107. </dd></dl>
  108. <dl class="attribute">
  109. <dt id="alarmdecoder.decoder.AlarmDecoder.on_zone_restore">
  110. <tt class="descname">on_zone_restore</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_zone_restore" title="Permalink to this definition">¶</a></dt>
  111. <dd><p>This event is called when <a class="reference internal" href="#alarmdecoder.zonetracking.Zonetracker" title="alarmdecoder.zonetracking.Zonetracker"><tt class="xref py py-class docutils literal"><span class="pre">Zonetracker</span></tt></a> detects that a fault is restored.</p>
  112. <p><strong>Callback definition:</strong> <em>def callback(device, zone)</em></p>
  113. </dd></dl>
  114. <dl class="attribute">
  115. <dt id="alarmdecoder.decoder.AlarmDecoder.on_low_battery">
  116. <tt class="descname">on_low_battery</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_low_battery" title="Permalink to this definition">¶</a></dt>
  117. <dd><p>This event is called when the device detects a low battery.</p>
  118. <p><strong>Callback definition:</strong> <em>def callback(device, status)</em></p>
  119. </dd></dl>
  120. <dl class="attribute">
  121. <dt id="alarmdecoder.decoder.AlarmDecoder.on_panic">
  122. <tt class="descname">on_panic</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_panic" title="Permalink to this definition">¶</a></dt>
  123. <dd><p>This event is called when the device detects a panic.</p>
  124. <p><strong>Callback definition:</strong> <em>def callback(device, status)</em></p>
  125. </dd></dl>
  126. <dl class="attribute">
  127. <dt id="alarmdecoder.decoder.AlarmDecoder.on_relay_changed">
  128. <tt class="descname">on_relay_changed</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_relay_changed" title="Permalink to this definition">¶</a></dt>
  129. <dd><p>This event is called when a relay is opened or closed on an expander board.</p>
  130. <p><strong>Callback definition:</strong> <em>def callback(device, message)</em></p>
  131. </dd></dl>
  132. <dl class="attribute">
  133. <dt id="alarmdecoder.decoder.AlarmDecoder.on_message">
  134. <tt class="descname">on_message</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_message" title="Permalink to this definition">¶</a></dt>
  135. <dd><p>This event is called when standard panel <a class="reference internal" href="#alarmdecoder.messages.Message" title="alarmdecoder.messages.Message"><tt class="xref py py-class docutils literal"><span class="pre">Message</span></tt></a> is received.</p>
  136. <p><strong>Callback definition:</strong> <em>def callback(device, message)</em></p>
  137. </dd></dl>
  138. <dl class="attribute">
  139. <dt id="alarmdecoder.decoder.AlarmDecoder.on_expander_message">
  140. <tt class="descname">on_expander_message</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_expander_message" title="Permalink to this definition">¶</a></dt>
  141. <dd><p>This event is called when an <a class="reference internal" href="#alarmdecoder.messages.ExpanderMessage" title="alarmdecoder.messages.ExpanderMessage"><tt class="xref py py-class docutils literal"><span class="pre">ExpanderMessage</span></tt></a> is received.</p>
  142. <p><strong>Callback definition:</strong> <em>def callback(device, message)</em></p>
  143. </dd></dl>
  144. <dl class="attribute">
  145. <dt id="alarmdecoder.decoder.AlarmDecoder.on_lrr_message">
  146. <tt class="descname">on_lrr_message</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_lrr_message" title="Permalink to this definition">¶</a></dt>
  147. <dd><p>This event is called when an <a class="reference internal" href="#alarmdecoder.messages.LRRMessage" title="alarmdecoder.messages.LRRMessage"><tt class="xref py py-class docutils literal"><span class="pre">LRRMessage</span></tt></a> is received.</p>
  148. <p><strong>Callback definition:</strong> <em>def callback(device, message)</em></p>
  149. </dd></dl>
  150. <dl class="attribute">
  151. <dt id="alarmdecoder.decoder.AlarmDecoder.on_rfx_message">
  152. <tt class="descname">on_rfx_message</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_rfx_message" title="Permalink to this definition">¶</a></dt>
  153. <dd><p>This event is called when an <a class="reference internal" href="#alarmdecoder.messages.RFMessage" title="alarmdecoder.messages.RFMessage"><tt class="xref py py-class docutils literal"><span class="pre">RFMessage</span></tt></a> is received.</p>
  154. <p><strong>Callback definition:</strong> <em>def callback(device, message)</em></p>
  155. </dd></dl>
  156. <dl class="attribute">
  157. <dt id="alarmdecoder.decoder.AlarmDecoder.on_open">
  158. <tt class="descname">on_open</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_open" title="Permalink to this definition">¶</a></dt>
  159. <dd><p>This event is called when the device has been opened.</p>
  160. <p><strong>Callback definition:</strong> <em>def callback(device)</em></p>
  161. </dd></dl>
  162. <dl class="attribute">
  163. <dt id="alarmdecoder.decoder.AlarmDecoder.on_close">
  164. <tt class="descname">on_close</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_close" title="Permalink to this definition">¶</a></dt>
  165. <dd><p>This event is called when the device has been closed.</p>
  166. <p><strong>Callback definition:</strong> <em>def callback(device)</em></p>
  167. </dd></dl>
  168. <dl class="attribute">
  169. <dt id="alarmdecoder.decoder.AlarmDecoder.on_read">
  170. <tt class="descname">on_read</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_read" title="Permalink to this definition">¶</a></dt>
  171. <dd><p>This event is called when a line has been read from the device.</p>
  172. <p><strong>Callback definition:</strong> <em>def callback(device, data)</em></p>
  173. </dd></dl>
  174. <dl class="attribute">
  175. <dt id="alarmdecoder.decoder.AlarmDecoder.on_write">
  176. <tt class="descname">on_write</tt><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.on_write" title="Permalink to this definition">¶</a></dt>
  177. <dd><p>This event is called when data has been written to the device.</p>
  178. <p><strong>Callback definition:</strong> <em>def callback(device, data)</em></p>
  179. </dd></dl>
  180. <dl class="attribute">
  181. <dt id="alarmdecoder.decoder.AlarmDecoder.KEY_F1">
  182. <tt class="descname">KEY_F1</tt><em class="property"> = u'\x01\x01\x01'</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.KEY_F1" title="Permalink to this definition">¶</a></dt>
  183. <dd><p>Represents panel function key #1</p>
  184. </dd></dl>
  185. <dl class="attribute">
  186. <dt id="alarmdecoder.decoder.AlarmDecoder.KEY_F2">
  187. <tt class="descname">KEY_F2</tt><em class="property"> = u'\x02\x02\x02'</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.KEY_F2" title="Permalink to this definition">¶</a></dt>
  188. <dd><p>Represents panel function key #2</p>
  189. </dd></dl>
  190. <dl class="attribute">
  191. <dt id="alarmdecoder.decoder.AlarmDecoder.KEY_F3">
  192. <tt class="descname">KEY_F3</tt><em class="property"> = u'\x03\x03\x03'</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.KEY_F3" title="Permalink to this definition">¶</a></dt>
  193. <dd><p>Represents panel function key #3</p>
  194. </dd></dl>
  195. <dl class="attribute">
  196. <dt id="alarmdecoder.decoder.AlarmDecoder.KEY_F4">
  197. <tt class="descname">KEY_F4</tt><em class="property"> = u'\x04\x04\x04'</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.KEY_F4" title="Permalink to this definition">¶</a></dt>
  198. <dd><p>Represents panel function key #4</p>
  199. </dd></dl>
  200. <dl class="attribute">
  201. <dt id="alarmdecoder.decoder.AlarmDecoder.BATTERY_TIMEOUT">
  202. <tt class="descname">BATTERY_TIMEOUT</tt><em class="property"> = 30</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.BATTERY_TIMEOUT" title="Permalink to this definition">¶</a></dt>
  203. <dd><p>Default timeout (in seconds) before the battery status reverts.</p>
  204. </dd></dl>
  205. <dl class="attribute">
  206. <dt id="alarmdecoder.decoder.AlarmDecoder.FIRE_TIMEOUT">
  207. <tt class="descname">FIRE_TIMEOUT</tt><em class="property"> = 30</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.FIRE_TIMEOUT" title="Permalink to this definition">¶</a></dt>
  208. <dd><p>Default tTimeout (in seconds) before the fire status reverts.</p>
  209. </dd></dl>
  210. <dl class="attribute">
  211. <dt id="alarmdecoder.decoder.AlarmDecoder.address">
  212. <tt class="descname">address</tt><em class="property"> = 18</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.address" title="Permalink to this definition">¶</a></dt>
  213. <dd><p>The keypad address in use by the device.</p>
  214. </dd></dl>
  215. <dl class="attribute">
  216. <dt id="alarmdecoder.decoder.AlarmDecoder.configbits">
  217. <tt class="descname">configbits</tt><em class="property"> = 65280</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.configbits" title="Permalink to this definition">¶</a></dt>
  218. <dd><p>The configuration bits set on the device.</p>
  219. </dd></dl>
  220. <dl class="attribute">
  221. <dt id="alarmdecoder.decoder.AlarmDecoder.address_mask">
  222. <tt class="descname">address_mask</tt><em class="property"> = 0</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.address_mask" title="Permalink to this definition">¶</a></dt>
  223. <dd><p>The address mask configured on the device.</p>
  224. </dd></dl>
  225. <dl class="attribute">
  226. <dt id="alarmdecoder.decoder.AlarmDecoder.emulate_zone">
  227. <tt class="descname">emulate_zone</tt><em class="property"> = [False, False, False, False, False]</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.emulate_zone" title="Permalink to this definition">¶</a></dt>
  228. <dd><p>List containing the devices zone emulation status.</p>
  229. </dd></dl>
  230. <dl class="attribute">
  231. <dt id="alarmdecoder.decoder.AlarmDecoder.emulate_relay">
  232. <tt class="descname">emulate_relay</tt><em class="property"> = [False, False, False, False]</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.emulate_relay" title="Permalink to this definition">¶</a></dt>
  233. <dd><p>List containing the devices relay emulation status.</p>
  234. </dd></dl>
  235. <dl class="attribute">
  236. <dt id="alarmdecoder.decoder.AlarmDecoder.emulate_lrr">
  237. <tt class="descname">emulate_lrr</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.emulate_lrr" title="Permalink to this definition">¶</a></dt>
  238. <dd><p>The status of the devices LRR emulation.</p>
  239. </dd></dl>
  240. <dl class="attribute">
  241. <dt id="alarmdecoder.decoder.AlarmDecoder.deduplicate">
  242. <tt class="descname">deduplicate</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.deduplicate" title="Permalink to this definition">¶</a></dt>
  243. <dd><p>The status of message deduplication as configured on the device.</p>
  244. </dd></dl>
  245. <dl class="attribute">
  246. <dt id="alarmdecoder.decoder.AlarmDecoder.id">
  247. <tt class="descname">id</tt><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.id" title="Permalink to this definition">¶</a></dt>
  248. <dd><p>The ID of the <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> device.</p>
  249. <table class="docutils field-list" frame="void" rules="none">
  250. <col class="field-name" />
  251. <col class="field-body" />
  252. <tbody valign="top">
  253. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">identification string for the device</td>
  254. </tr>
  255. </tbody>
  256. </table>
  257. </dd></dl>
  258. <dl class="attribute">
  259. <dt id="alarmdecoder.decoder.AlarmDecoder.battery_timeout">
  260. <tt class="descname">battery_timeout</tt><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.battery_timeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.battery_timeout" title="Permalink to this definition">¶</a></dt>
  261. <dd><p>Retrieves the timeout for restoring the battery status, in seconds.</p>
  262. <table class="docutils field-list" frame="void" rules="none">
  263. <col class="field-name" />
  264. <col class="field-body" />
  265. <tbody valign="top">
  266. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">battery status timeout</td>
  267. </tr>
  268. </tbody>
  269. </table>
  270. </dd></dl>
  271. <dl class="attribute">
  272. <dt id="alarmdecoder.decoder.AlarmDecoder.fire_timeout">
  273. <tt class="descname">fire_timeout</tt><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.fire_timeout"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.fire_timeout" title="Permalink to this definition">¶</a></dt>
  274. <dd><p>Retrieves the timeout for restoring the fire status, in seconds.</p>
  275. <table class="docutils field-list" frame="void" rules="none">
  276. <col class="field-name" />
  277. <col class="field-body" />
  278. <tbody valign="top">
  279. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">fire status timeout</td>
  280. </tr>
  281. </tbody>
  282. </table>
  283. </dd></dl>
  284. <dl class="method">
  285. <dt id="alarmdecoder.decoder.AlarmDecoder.open">
  286. <tt class="descname">open</tt><big>(</big><em>baudrate=None</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.open" title="Permalink to this definition">¶</a></dt>
  287. <dd><p>Opens the device.</p>
  288. <table class="docutils field-list" frame="void" rules="none">
  289. <col class="field-name" />
  290. <col class="field-body" />
  291. <tbody valign="top">
  292. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  293. <li><strong>baudrate</strong> (<em>int</em>) &#8211; baudrate used for the device. Defaults to the lower-level device default.</li>
  294. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; Specifies whether or not the automatic reader
  295. thread should be started.</li>
  296. </ul>
  297. </td>
  298. </tr>
  299. </tbody>
  300. </table>
  301. </dd></dl>
  302. <dl class="method">
  303. <dt id="alarmdecoder.decoder.AlarmDecoder.close">
  304. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.close" title="Permalink to this definition">¶</a></dt>
  305. <dd><p>Closes the device.</p>
  306. </dd></dl>
  307. <dl class="method">
  308. <dt id="alarmdecoder.decoder.AlarmDecoder.send">
  309. <tt class="descname">send</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.send"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.send" title="Permalink to this definition">¶</a></dt>
  310. <dd><p>Sends data to the <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> device.</p>
  311. <table class="docutils field-list" frame="void" rules="none">
  312. <col class="field-name" />
  313. <col class="field-body" />
  314. <tbody valign="top">
  315. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>string</em>) &#8211; data to send</td>
  316. </tr>
  317. </tbody>
  318. </table>
  319. </dd></dl>
  320. <dl class="method">
  321. <dt id="alarmdecoder.decoder.AlarmDecoder.get_config">
  322. <tt class="descname">get_config</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.get_config"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.get_config" title="Permalink to this definition">¶</a></dt>
  323. <dd><p>Retrieves the configuration from the device. Called automatically by <tt class="xref py py-meth docutils literal"><span class="pre">_on_open()</span></tt>.</p>
  324. </dd></dl>
  325. <dl class="method">
  326. <dt id="alarmdecoder.decoder.AlarmDecoder.save_config">
  327. <tt class="descname">save_config</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.save_config"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.save_config" title="Permalink to this definition">¶</a></dt>
  328. <dd><p>Sets configuration entries on the device.</p>
  329. </dd></dl>
  330. <dl class="method">
  331. <dt id="alarmdecoder.decoder.AlarmDecoder.reboot">
  332. <tt class="descname">reboot</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.reboot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.reboot" title="Permalink to this definition">¶</a></dt>
  333. <dd><p>Reboots the device.</p>
  334. </dd></dl>
  335. <dl class="method">
  336. <dt id="alarmdecoder.decoder.AlarmDecoder.fault_zone">
  337. <tt class="descname">fault_zone</tt><big>(</big><em>zone</em>, <em>simulate_wire_problem=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.fault_zone"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.fault_zone" title="Permalink to this definition">¶</a></dt>
  338. <dd><p>Faults a zone if we are emulating a zone expander.</p>
  339. <table class="docutils field-list" frame="void" rules="none">
  340. <col class="field-name" />
  341. <col class="field-body" />
  342. <tbody valign="top">
  343. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  344. <li><strong>zone</strong> (<em>int</em>) &#8211; zone to fault</li>
  345. <li><strong>simulate_wire_problem</strong> (<em>bool</em>) &#8211; Whether or not to simulate a wire fault</li>
  346. </ul>
  347. </td>
  348. </tr>
  349. </tbody>
  350. </table>
  351. </dd></dl>
  352. <dl class="method">
  353. <dt id="alarmdecoder.decoder.AlarmDecoder.clear_zone">
  354. <tt class="descname">clear_zone</tt><big>(</big><em>zone</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/decoder.html#AlarmDecoder.clear_zone"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.decoder.AlarmDecoder.clear_zone" title="Permalink to this definition">¶</a></dt>
  355. <dd><p>Clears a zone if we are emulating a zone expander.</p>
  356. <table class="docutils field-list" frame="void" rules="none">
  357. <col class="field-name" />
  358. <col class="field-body" />
  359. <tbody valign="top">
  360. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>zone</strong> (<em>int</em>) &#8211; zone to clear</td>
  361. </tr>
  362. </tbody>
  363. </table>
  364. </dd></dl>
  365. </dd></dl>
  366. </div>
  367. <div class="section" id="module-alarmdecoder.devices">
  368. <span id="devices-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">devices</span></tt> Module<a class="headerlink" href="#module-alarmdecoder.devices" title="Permalink to this headline">¶</a></h2>
  369. <p>This module contains different types of devices belonging to the <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> (AD2) family.</p>
  370. <ul class="simple">
  371. <li><a class="reference internal" href="#alarmdecoder.devices.USBDevice" title="alarmdecoder.devices.USBDevice"><tt class="xref py py-class docutils literal"><span class="pre">USBDevice</span></tt></a>: Interfaces with the <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> device.</li>
  372. <li><a class="reference internal" href="#alarmdecoder.devices.SerialDevice" title="alarmdecoder.devices.SerialDevice"><tt class="xref py py-class docutils literal"><span class="pre">SerialDevice</span></tt></a>: Interfaces with the <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a>, <a class="reference external" href="http://www.alarmdecoder.com">AD2SERIAL</a> or <a class="reference external" href="http://www.alarmdecoder.com">AD2PI</a>.</li>
  373. <li><a class="reference internal" href="#alarmdecoder.devices.SocketDevice" title="alarmdecoder.devices.SocketDevice"><tt class="xref py py-class docutils literal"><span class="pre">SocketDevice</span></tt></a>: Interfaces with devices exposed through <a class="reference external" href="http://github.com/nutechsoftware/ser2sock">ser2sock</a> or another IP to Serial solution.
  374. Also supports SSL if using <a class="reference external" href="http://github.com/nutechsoftware/ser2sock">ser2sock</a>.</li>
  375. </ul>
  376. <dl class="class">
  377. <dt id="alarmdecoder.devices.Device">
  378. <em class="property">class </em><tt class="descclassname">alarmdecoder.devices.</tt><tt class="descname">Device</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device" title="Permalink to this definition">¶</a></dt>
  379. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  380. <p>Base class for all <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> (AD2) device types.</p>
  381. <dl class="attribute">
  382. <dt id="alarmdecoder.devices.Device.on_open">
  383. <tt class="descname">on_open</tt><a class="headerlink" href="#alarmdecoder.devices.Device.on_open" title="Permalink to this definition">¶</a></dt>
  384. <dd><p>This event is called when the device has been opened.</p>
  385. <p><strong>Callback definition:</strong> <em>def callback(device)</em></p>
  386. </dd></dl>
  387. <dl class="attribute">
  388. <dt id="alarmdecoder.devices.Device.on_close">
  389. <tt class="descname">on_close</tt><a class="headerlink" href="#alarmdecoder.devices.Device.on_close" title="Permalink to this definition">¶</a></dt>
  390. <dd><p>This event is called when the device has been closed.</p>
  391. <p><strong>Callback definition:</strong> def callback(device)*</p>
  392. </dd></dl>
  393. <dl class="attribute">
  394. <dt id="alarmdecoder.devices.Device.on_read">
  395. <tt class="descname">on_read</tt><a class="headerlink" href="#alarmdecoder.devices.Device.on_read" title="Permalink to this definition">¶</a></dt>
  396. <dd><p>This event is called when a line has been read from the device.</p>
  397. <p><strong>Callback definition:</strong> def callback(device, data)*</p>
  398. </dd></dl>
  399. <dl class="attribute">
  400. <dt id="alarmdecoder.devices.Device.on_write">
  401. <tt class="descname">on_write</tt><a class="headerlink" href="#alarmdecoder.devices.Device.on_write" title="Permalink to this definition">¶</a></dt>
  402. <dd><p>This event is called when data has been written to the device.</p>
  403. <p><strong>Callback definition:</strong> def callback(device, data)*</p>
  404. </dd></dl>
  405. <dl class="attribute">
  406. <dt id="alarmdecoder.devices.Device.id">
  407. <tt class="descname">id</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device.id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device.id" title="Permalink to this definition">¶</a></dt>
  408. <dd><p>Retrieve the device ID.</p>
  409. <table class="docutils field-list" frame="void" rules="none">
  410. <col class="field-name" />
  411. <col class="field-body" />
  412. <tbody valign="top">
  413. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">identification string for the device</td>
  414. </tr>
  415. </tbody>
  416. </table>
  417. </dd></dl>
  418. <dl class="method">
  419. <dt id="alarmdecoder.devices.Device.is_reader_alive">
  420. <tt class="descname">is_reader_alive</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device.is_reader_alive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device.is_reader_alive" title="Permalink to this definition">¶</a></dt>
  421. <dd><p>Indicates whether or not the reader thread is alive.</p>
  422. <table class="docutils field-list" frame="void" rules="none">
  423. <col class="field-name" />
  424. <col class="field-body" />
  425. <tbody valign="top">
  426. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">whether or not the reader thread is alive</td>
  427. </tr>
  428. </tbody>
  429. </table>
  430. </dd></dl>
  431. <dl class="method">
  432. <dt id="alarmdecoder.devices.Device.stop_reader">
  433. <tt class="descname">stop_reader</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device.stop_reader"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device.stop_reader" title="Permalink to this definition">¶</a></dt>
  434. <dd><p>Stops the reader thread.</p>
  435. </dd></dl>
  436. <dl class="method">
  437. <dt id="alarmdecoder.devices.Device.close">
  438. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device.close" title="Permalink to this definition">¶</a></dt>
  439. <dd><p>Closes the device.</p>
  440. </dd></dl>
  441. <dl class="class">
  442. <dt id="alarmdecoder.devices.Device.ReadThread">
  443. <em class="property">class </em><tt class="descname">ReadThread</tt><big>(</big><em>device</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device.ReadThread"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device.ReadThread" title="Permalink to this definition">¶</a></dt>
  444. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">threading.Thread</span></tt></p>
  445. <p>Reader thread which processes messages from the device.</p>
  446. <dl class="attribute">
  447. <dt id="alarmdecoder.devices.Device.ReadThread.READ_TIMEOUT">
  448. <tt class="descname">READ_TIMEOUT</tt><em class="property"> = 10</em><a class="headerlink" href="#alarmdecoder.devices.Device.ReadThread.READ_TIMEOUT" title="Permalink to this definition">¶</a></dt>
  449. <dd><p>Timeout for the reader thread.</p>
  450. </dd></dl>
  451. <dl class="method">
  452. <dt id="alarmdecoder.devices.Device.ReadThread.stop">
  453. <tt class="descname">stop</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device.ReadThread.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device.ReadThread.stop" title="Permalink to this definition">¶</a></dt>
  454. <dd><p>Stops the running thread.</p>
  455. </dd></dl>
  456. <dl class="method">
  457. <dt id="alarmdecoder.devices.Device.ReadThread.run">
  458. <tt class="descname">run</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#Device.ReadThread.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.Device.ReadThread.run" title="Permalink to this definition">¶</a></dt>
  459. <dd><p>The actual read process.</p>
  460. </dd></dl>
  461. </dd></dl>
  462. </dd></dl>
  463. <dl class="class">
  464. <dt id="alarmdecoder.devices.USBDevice">
  465. <em class="property">class </em><tt class="descclassname">alarmdecoder.devices.</tt><tt class="descname">USBDevice</tt><big>(</big><em>interface=0</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice" title="Permalink to this definition">¶</a></dt>
  466. <dd><p>Bases: <a class="reference internal" href="#alarmdecoder.devices.Device" title="alarmdecoder.devices.Device"><tt class="xref py py-class docutils literal"><span class="pre">alarmdecoder.devices.Device</span></tt></a></p>
  467. <p><a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> device utilizing PyFTDI&#8217;s interface.</p>
  468. <dl class="attribute">
  469. <dt id="alarmdecoder.devices.USBDevice.FTDI_VENDOR_ID">
  470. <tt class="descname">FTDI_VENDOR_ID</tt><em class="property"> = 1027</em><a class="headerlink" href="#alarmdecoder.devices.USBDevice.FTDI_VENDOR_ID" title="Permalink to this definition">¶</a></dt>
  471. <dd><p>Vendor ID used to recognize <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> devices.</p>
  472. </dd></dl>
  473. <dl class="attribute">
  474. <dt id="alarmdecoder.devices.USBDevice.FTDI_PRODUCT_ID">
  475. <tt class="descname">FTDI_PRODUCT_ID</tt><em class="property"> = 24577</em><a class="headerlink" href="#alarmdecoder.devices.USBDevice.FTDI_PRODUCT_ID" title="Permalink to this definition">¶</a></dt>
  476. <dd><p>Product ID used to recognize <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> devices.</p>
  477. </dd></dl>
  478. <dl class="attribute">
  479. <dt id="alarmdecoder.devices.USBDevice.BAUDRATE">
  480. <tt class="descname">BAUDRATE</tt><em class="property"> = 115200</em><a class="headerlink" href="#alarmdecoder.devices.USBDevice.BAUDRATE" title="Permalink to this definition">¶</a></dt>
  481. <dd><p>Default baudrate for <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> devices.</p>
  482. </dd></dl>
  483. <dl class="classmethod">
  484. <dt id="alarmdecoder.devices.USBDevice.find_all">
  485. <em class="property">classmethod </em><tt class="descname">find_all</tt><big>(</big><em>vid=1027</em>, <em>pid=24577</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.find_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.find_all" title="Permalink to this definition">¶</a></dt>
  486. <dd><p>Returns all FTDI devices matching our vendor and product IDs.</p>
  487. <table class="docutils field-list" frame="void" rules="none">
  488. <col class="field-name" />
  489. <col class="field-body" />
  490. <tbody valign="top">
  491. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">list of devices</td>
  492. </tr>
  493. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></td>
  494. </tr>
  495. </tbody>
  496. </table>
  497. </dd></dl>
  498. <dl class="classmethod">
  499. <dt id="alarmdecoder.devices.USBDevice.devices">
  500. <em class="property">classmethod </em><tt class="descname">devices</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.devices"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.devices" title="Permalink to this definition">¶</a></dt>
  501. <dd><p>Returns a cached list of <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> devices located on the system.</p>
  502. <table class="docutils field-list" frame="void" rules="none">
  503. <col class="field-name" />
  504. <col class="field-body" />
  505. <tbody valign="top">
  506. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">cached list of devices found</td>
  507. </tr>
  508. </tbody>
  509. </table>
  510. </dd></dl>
  511. <dl class="classmethod">
  512. <dt id="alarmdecoder.devices.USBDevice.find">
  513. <em class="property">classmethod </em><tt class="descname">find</tt><big>(</big><em>device=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.find"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.find" title="Permalink to this definition">¶</a></dt>
  514. <dd><p>Factory method that returns the requested <a class="reference internal" href="#alarmdecoder.devices.USBDevice" title="alarmdecoder.devices.USBDevice"><tt class="xref py py-class docutils literal"><span class="pre">USBDevice</span></tt></a> device, or the
  515. first device.</p>
  516. <table class="docutils field-list" frame="void" rules="none">
  517. <col class="field-name" />
  518. <col class="field-body" />
  519. <tbody valign="top">
  520. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>device</strong> (<em>tuple</em>) &#8211; Tuple describing the USB device to open, as returned
  521. by find_all().</td>
  522. </tr>
  523. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.devices.USBDevice" title="alarmdecoder.devices.USBDevice"><tt class="xref py py-class docutils literal"><span class="pre">USBDevice</span></tt></a> object utilizing the specified device</td>
  524. </tr>
  525. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.NoDeviceError" title="alarmdecoder.util.NoDeviceError"><tt class="xref py py-class docutils literal"><span class="pre">NoDeviceError</span></tt></a></td>
  526. </tr>
  527. </tbody>
  528. </table>
  529. </dd></dl>
  530. <dl class="classmethod">
  531. <dt id="alarmdecoder.devices.USBDevice.start_detection">
  532. <em class="property">classmethod </em><tt class="descname">start_detection</tt><big>(</big><em>on_attached=None</em>, <em>on_detached=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.start_detection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.start_detection" title="Permalink to this definition">¶</a></dt>
  533. <dd><p>Starts the device detection thread.</p>
  534. <table class="docutils field-list" frame="void" rules="none">
  535. <col class="field-name" />
  536. <col class="field-body" />
  537. <tbody valign="top">
  538. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  539. <li><strong>on_attached</strong> (<em>function</em>) &#8211; function to be called when a device is attached <strong>Callback definition:</strong> <em>def callback(thread, device)</em></li>
  540. <li><strong>on_detached</strong> (<em>function</em>) &#8211; function to be called when a device is detached <strong>Callback definition:</strong> <em>def callback(thread, device)</em></li>
  541. </ul>
  542. </td>
  543. </tr>
  544. </tbody>
  545. </table>
  546. </dd></dl>
  547. <dl class="classmethod">
  548. <dt id="alarmdecoder.devices.USBDevice.stop_detection">
  549. <em class="property">classmethod </em><tt class="descname">stop_detection</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.stop_detection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.stop_detection" title="Permalink to this definition">¶</a></dt>
  550. <dd><p>Stops the device detection thread.</p>
  551. </dd></dl>
  552. <dl class="attribute">
  553. <dt id="alarmdecoder.devices.USBDevice.serial_number">
  554. <tt class="descname">serial_number</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.serial_number"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.serial_number" title="Permalink to this definition">¶</a></dt>
  555. <dd><p>Retrieves the serial number of the device.</p>
  556. <table class="docutils field-list" frame="void" rules="none">
  557. <col class="field-name" />
  558. <col class="field-body" />
  559. <tbody valign="top">
  560. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">serial number of the device</td>
  561. </tr>
  562. </tbody>
  563. </table>
  564. </dd></dl>
  565. <dl class="attribute">
  566. <dt id="alarmdecoder.devices.USBDevice.description">
  567. <tt class="descname">description</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.description"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.description" title="Permalink to this definition">¶</a></dt>
  568. <dd><p>Retrieves the description of the device.</p>
  569. <table class="docutils field-list" frame="void" rules="none">
  570. <col class="field-name" />
  571. <col class="field-body" />
  572. <tbody valign="top">
  573. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">description of the device</td>
  574. </tr>
  575. </tbody>
  576. </table>
  577. </dd></dl>
  578. <dl class="attribute">
  579. <dt id="alarmdecoder.devices.USBDevice.interface">
  580. <tt class="descname">interface</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.interface"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.interface" title="Permalink to this definition">¶</a></dt>
  581. <dd><p>Retrieves the interface used to connect to the device.</p>
  582. <table class="docutils field-list" frame="void" rules="none">
  583. <col class="field-name" />
  584. <col class="field-body" />
  585. <tbody valign="top">
  586. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the interface used to connect to the device</td>
  587. </tr>
  588. </tbody>
  589. </table>
  590. </dd></dl>
  591. <dl class="method">
  592. <dt id="alarmdecoder.devices.USBDevice.open">
  593. <tt class="descname">open</tt><big>(</big><em>baudrate=115200</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.open" title="Permalink to this definition">¶</a></dt>
  594. <dd><p>Opens the device.</p>
  595. <table class="docutils field-list" frame="void" rules="none">
  596. <col class="field-name" />
  597. <col class="field-body" />
  598. <tbody valign="top">
  599. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  600. <li><strong>baudrate</strong> (<em>int</em>) &#8211; baudrate to use</li>
  601. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; whether or not to automatically start the
  602. reader thread.</li>
  603. </ul>
  604. </td>
  605. </tr>
  606. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last"><a class="reference internal" href="#alarmdecoder.util.NoDeviceError" title="alarmdecoder.util.NoDeviceError"><tt class="xref py py-class docutils literal"><span class="pre">NoDeviceError</span></tt></a></p>
  607. </td>
  608. </tr>
  609. </tbody>
  610. </table>
  611. </dd></dl>
  612. <dl class="method">
  613. <dt id="alarmdecoder.devices.USBDevice.close">
  614. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.close" title="Permalink to this definition">¶</a></dt>
  615. <dd><p>Closes the device.</p>
  616. </dd></dl>
  617. <dl class="method">
  618. <dt id="alarmdecoder.devices.USBDevice.write">
  619. <tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.write" title="Permalink to this definition">¶</a></dt>
  620. <dd><p>Writes data to the device.</p>
  621. <table class="docutils field-list" frame="void" rules="none">
  622. <col class="field-name" />
  623. <col class="field-body" />
  624. <tbody valign="top">
  625. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>string</em>) &#8211; data to write</td>
  626. </tr>
  627. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></td>
  628. </tr>
  629. </tbody>
  630. </table>
  631. </dd></dl>
  632. <dl class="method">
  633. <dt id="alarmdecoder.devices.USBDevice.read">
  634. <tt class="descname">read</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.read" title="Permalink to this definition">¶</a></dt>
  635. <dd><p>Reads a single character from the device.</p>
  636. <table class="docutils field-list" frame="void" rules="none">
  637. <col class="field-name" />
  638. <col class="field-body" />
  639. <tbody valign="top">
  640. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">character read from the device</td>
  641. </tr>
  642. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></td>
  643. </tr>
  644. </tbody>
  645. </table>
  646. </dd></dl>
  647. <dl class="method">
  648. <dt id="alarmdecoder.devices.USBDevice.read_line">
  649. <tt class="descname">read_line</tt><big>(</big><em>timeout=0.0</em>, <em>purge_buffer=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.read_line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.read_line" title="Permalink to this definition">¶</a></dt>
  650. <dd><p>Reads a line from the device.</p>
  651. <table class="docutils field-list" frame="void" rules="none">
  652. <col class="field-name" />
  653. <col class="field-body" />
  654. <tbody valign="top">
  655. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  656. <li><strong>timeout</strong> (<em>float</em>) &#8211; read timeout</li>
  657. <li><strong>purge_buffer</strong> (<em>bool</em>) &#8211; Indicates whether to purge the buffer prior to
  658. reading.</li>
  659. </ul>
  660. </td>
  661. </tr>
  662. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">line that was read</p>
  663. </td>
  664. </tr>
  665. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a>, <a class="reference internal" href="#alarmdecoder.util.TimeoutError" title="alarmdecoder.util.TimeoutError"><tt class="xref py py-class docutils literal"><span class="pre">TimeoutError</span></tt></a></p>
  666. </td>
  667. </tr>
  668. </tbody>
  669. </table>
  670. </dd></dl>
  671. <dl class="class">
  672. <dt id="alarmdecoder.devices.USBDevice.DetectThread">
  673. <em class="property">class </em><tt class="descname">DetectThread</tt><big>(</big><em>on_attached=None</em>, <em>on_detached=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.DetectThread"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.DetectThread" title="Permalink to this definition">¶</a></dt>
  674. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">threading.Thread</span></tt></p>
  675. <p>Thread that handles detection of added/removed devices.</p>
  676. <dl class="attribute">
  677. <dt id="alarmdecoder.devices.USBDevice.DetectThread.on_attached">
  678. <tt class="descname">on_attached</tt><a class="headerlink" href="#alarmdecoder.devices.USBDevice.DetectThread.on_attached" title="Permalink to this definition">¶</a></dt>
  679. <dd><p>This event is called when an <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> device has been detected.</p>
  680. <p><strong>Callback definition:</strong> def callback(thread, device*</p>
  681. </dd></dl>
  682. <dl class="attribute">
  683. <dt id="alarmdecoder.devices.USBDevice.DetectThread.on_detached">
  684. <tt class="descname">on_detached</tt><a class="headerlink" href="#alarmdecoder.devices.USBDevice.DetectThread.on_detached" title="Permalink to this definition">¶</a></dt>
  685. <dd><p>This event is called when an <a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a> device has been removed.</p>
  686. <p><strong>Callback definition:</strong> def callback(thread, device*</p>
  687. </dd></dl>
  688. <dl class="method">
  689. <dt id="alarmdecoder.devices.USBDevice.DetectThread.stop">
  690. <tt class="descname">stop</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.DetectThread.stop"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.DetectThread.stop" title="Permalink to this definition">¶</a></dt>
  691. <dd><p>Stops the thread.</p>
  692. </dd></dl>
  693. <dl class="method">
  694. <dt id="alarmdecoder.devices.USBDevice.DetectThread.run">
  695. <tt class="descname">run</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#USBDevice.DetectThread.run"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.USBDevice.DetectThread.run" title="Permalink to this definition">¶</a></dt>
  696. <dd><p>The actual detection process.</p>
  697. </dd></dl>
  698. </dd></dl>
  699. </dd></dl>
  700. <dl class="class">
  701. <dt id="alarmdecoder.devices.SerialDevice">
  702. <em class="property">class </em><tt class="descclassname">alarmdecoder.devices.</tt><tt class="descname">SerialDevice</tt><big>(</big><em>interface=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice" title="Permalink to this definition">¶</a></dt>
  703. <dd><p>Bases: <a class="reference internal" href="#alarmdecoder.devices.Device" title="alarmdecoder.devices.Device"><tt class="xref py py-class docutils literal"><span class="pre">alarmdecoder.devices.Device</span></tt></a></p>
  704. <p><a class="reference external" href="http://www.alarmdecoder.com">AD2USB</a>, <a class="reference external" href="http://www.alarmdecoder.com">AD2SERIAL</a> or <a class="reference external" href="http://www.alarmdecoder.com">AD2PI</a> device utilizing the PySerial interface.</p>
  705. <dl class="attribute">
  706. <dt id="alarmdecoder.devices.SerialDevice.BAUDRATE">
  707. <tt class="descname">BAUDRATE</tt><em class="property"> = 19200</em><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.BAUDRATE" title="Permalink to this definition">¶</a></dt>
  708. <dd><p>Default baudrate for Serial devices.</p>
  709. </dd></dl>
  710. <dl class="staticmethod">
  711. <dt id="alarmdecoder.devices.SerialDevice.find_all">
  712. <em class="property">static </em><tt class="descname">find_all</tt><big>(</big><em>pattern=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice.find_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.find_all" title="Permalink to this definition">¶</a></dt>
  713. <dd><p>Returns all serial ports present.</p>
  714. <table class="docutils field-list" frame="void" rules="none">
  715. <col class="field-name" />
  716. <col class="field-body" />
  717. <tbody valign="top">
  718. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>pattern</strong> (<em>string</em>) &#8211; pattern to search for when retrieving serial ports</td>
  719. </tr>
  720. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">list of devices</td>
  721. </tr>
  722. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></td>
  723. </tr>
  724. </tbody>
  725. </table>
  726. </dd></dl>
  727. <dl class="attribute">
  728. <dt id="alarmdecoder.devices.SerialDevice.interface">
  729. <tt class="descname">interface</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice.interface"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.interface" title="Permalink to this definition">¶</a></dt>
  730. <dd><p>Retrieves the interface used to connect to the device.</p>
  731. <table class="docutils field-list" frame="void" rules="none">
  732. <col class="field-name" />
  733. <col class="field-body" />
  734. <tbody valign="top">
  735. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">interface used to connect to the device</td>
  736. </tr>
  737. </tbody>
  738. </table>
  739. </dd></dl>
  740. <dl class="method">
  741. <dt id="alarmdecoder.devices.SerialDevice.open">
  742. <tt class="descname">open</tt><big>(</big><em>baudrate=19200</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.open" title="Permalink to this definition">¶</a></dt>
  743. <dd><p>Opens the device.</p>
  744. <table class="docutils field-list" frame="void" rules="none">
  745. <col class="field-name" />
  746. <col class="field-body" />
  747. <tbody valign="top">
  748. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  749. <li><strong>baudrate</strong> (<em>int</em>) &#8211; baudrate to use with the device</li>
  750. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; whether or not to automatically start the
  751. reader thread.</li>
  752. </ul>
  753. </td>
  754. </tr>
  755. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last"><a class="reference internal" href="#alarmdecoder.util.NoDeviceError" title="alarmdecoder.util.NoDeviceError"><tt class="xref py py-class docutils literal"><span class="pre">NoDeviceError</span></tt></a></p>
  756. </td>
  757. </tr>
  758. </tbody>
  759. </table>
  760. </dd></dl>
  761. <dl class="method">
  762. <dt id="alarmdecoder.devices.SerialDevice.close">
  763. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.close" title="Permalink to this definition">¶</a></dt>
  764. <dd><p>Closes the device.</p>
  765. </dd></dl>
  766. <dl class="method">
  767. <dt id="alarmdecoder.devices.SerialDevice.write">
  768. <tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.write" title="Permalink to this definition">¶</a></dt>
  769. <dd><p>Writes data to the device.</p>
  770. <table class="docutils field-list" frame="void" rules="none">
  771. <col class="field-name" />
  772. <col class="field-body" />
  773. <tbody valign="top">
  774. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>string</em>) &#8211; data to write</td>
  775. </tr>
  776. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body">py:class:<cite>~alarmdecoder.util.CommError</cite></td>
  777. </tr>
  778. </tbody>
  779. </table>
  780. </dd></dl>
  781. <dl class="method">
  782. <dt id="alarmdecoder.devices.SerialDevice.read">
  783. <tt class="descname">read</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.read" title="Permalink to this definition">¶</a></dt>
  784. <dd><p>Reads a single character from the device.</p>
  785. <table class="docutils field-list" frame="void" rules="none">
  786. <col class="field-name" />
  787. <col class="field-body" />
  788. <tbody valign="top">
  789. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">character read from the device</td>
  790. </tr>
  791. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></td>
  792. </tr>
  793. </tbody>
  794. </table>
  795. </dd></dl>
  796. <dl class="method">
  797. <dt id="alarmdecoder.devices.SerialDevice.read_line">
  798. <tt class="descname">read_line</tt><big>(</big><em>timeout=0.0</em>, <em>purge_buffer=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SerialDevice.read_line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SerialDevice.read_line" title="Permalink to this definition">¶</a></dt>
  799. <dd><p>Reads a line from the device.</p>
  800. <table class="docutils field-list" frame="void" rules="none">
  801. <col class="field-name" />
  802. <col class="field-body" />
  803. <tbody valign="top">
  804. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  805. <li><strong>timeout</strong> (<em>float</em>) &#8211; read timeout</li>
  806. <li><strong>purge_buffer</strong> (<em>bool</em>) &#8211; Indicates whether to purge the buffer prior to
  807. reading.</li>
  808. </ul>
  809. </td>
  810. </tr>
  811. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">line that was read</p>
  812. </td>
  813. </tr>
  814. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a>, <a class="reference internal" href="#alarmdecoder.util.TimeoutError" title="alarmdecoder.util.TimeoutError"><tt class="xref py py-class docutils literal"><span class="pre">TimeoutError</span></tt></a></p>
  815. </td>
  816. </tr>
  817. </tbody>
  818. </table>
  819. </dd></dl>
  820. </dd></dl>
  821. <dl class="class">
  822. <dt id="alarmdecoder.devices.SocketDevice">
  823. <em class="property">class </em><tt class="descclassname">alarmdecoder.devices.</tt><tt class="descname">SocketDevice</tt><big>(</big><em>interface=('localhost'</em>, <em>10000)</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice" title="Permalink to this definition">¶</a></dt>
  824. <dd><p>Bases: <a class="reference internal" href="#alarmdecoder.devices.Device" title="alarmdecoder.devices.Device"><tt class="xref py py-class docutils literal"><span class="pre">alarmdecoder.devices.Device</span></tt></a></p>
  825. <p>Device that supports communication with an <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> (AD2) that is
  826. exposed via <a class="reference external" href="http://github.com/nutechsoftware/ser2sock">ser2sock</a> or another Serial to IP interface.</p>
  827. <dl class="attribute">
  828. <dt id="alarmdecoder.devices.SocketDevice.interface">
  829. <tt class="descname">interface</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.interface"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.interface" title="Permalink to this definition">¶</a></dt>
  830. <dd><p>Retrieves the interface used to connect to the device.</p>
  831. <table class="docutils field-list" frame="void" rules="none">
  832. <col class="field-name" />
  833. <col class="field-body" />
  834. <tbody valign="top">
  835. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">interface used to connect to the device</td>
  836. </tr>
  837. </tbody>
  838. </table>
  839. </dd></dl>
  840. <dl class="attribute">
  841. <dt id="alarmdecoder.devices.SocketDevice.ssl">
  842. <tt class="descname">ssl</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.ssl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.ssl" title="Permalink to this definition">¶</a></dt>
  843. <dd><p>Retrieves whether or not the device is using SSL.</p>
  844. <table class="docutils field-list" frame="void" rules="none">
  845. <col class="field-name" />
  846. <col class="field-body" />
  847. <tbody valign="top">
  848. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">whether or not the device is using SSL</td>
  849. </tr>
  850. </tbody>
  851. </table>
  852. </dd></dl>
  853. <dl class="attribute">
  854. <dt id="alarmdecoder.devices.SocketDevice.ssl_certificate">
  855. <tt class="descname">ssl_certificate</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.ssl_certificate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.ssl_certificate" title="Permalink to this definition">¶</a></dt>
  856. <dd><p>Retrieves the SSL client certificate path used for authentication.</p>
  857. <table class="docutils field-list" frame="void" rules="none">
  858. <col class="field-name" />
  859. <col class="field-body" />
  860. <tbody valign="top">
  861. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">path to the certificate path or <tt class="xref py py-class docutils literal"><span class="pre">OpenSSL.crypto.X509</span></tt></td>
  862. </tr>
  863. </tbody>
  864. </table>
  865. </dd></dl>
  866. <dl class="attribute">
  867. <dt id="alarmdecoder.devices.SocketDevice.ssl_key">
  868. <tt class="descname">ssl_key</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.ssl_key"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.ssl_key" title="Permalink to this definition">¶</a></dt>
  869. <dd><p>Retrieves the SSL client certificate key used for authentication.</p>
  870. <table class="docutils field-list" frame="void" rules="none">
  871. <col class="field-name" />
  872. <col class="field-body" />
  873. <tbody valign="top">
  874. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">jpath to the SSL key or <tt class="xref py py-class docutils literal"><span class="pre">OpenSSL.crypto.PKey</span></tt></td>
  875. </tr>
  876. </tbody>
  877. </table>
  878. </dd></dl>
  879. <dl class="attribute">
  880. <dt id="alarmdecoder.devices.SocketDevice.ssl_ca">
  881. <tt class="descname">ssl_ca</tt><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.ssl_ca"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.ssl_ca" title="Permalink to this definition">¶</a></dt>
  882. <dd><p>Retrieves the SSL Certificate Authority certificate used for
  883. authentication.</p>
  884. <table class="docutils field-list" frame="void" rules="none">
  885. <col class="field-name" />
  886. <col class="field-body" />
  887. <tbody valign="top">
  888. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">path to the CA certificate or <tt class="xref py py-class docutils literal"><span class="pre">OpenSSL.crypto.X509</span></tt></td>
  889. </tr>
  890. </tbody>
  891. </table>
  892. </dd></dl>
  893. <dl class="method">
  894. <dt id="alarmdecoder.devices.SocketDevice.open">
  895. <tt class="descname">open</tt><big>(</big><em>baudrate=None</em>, <em>no_reader_thread=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.open"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.open" title="Permalink to this definition">¶</a></dt>
  896. <dd><p>Opens the device.</p>
  897. <table class="docutils field-list" frame="void" rules="none">
  898. <col class="field-name" />
  899. <col class="field-body" />
  900. <tbody valign="top">
  901. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  902. <li><strong>baudrate</strong> (<em>int</em>) &#8211; baudrate to use</li>
  903. <li><strong>no_reader_thread</strong> (<em>bool</em>) &#8211; whether or not to automatically open the reader
  904. thread.</li>
  905. </ul>
  906. </td>
  907. </tr>
  908. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last"><a class="reference internal" href="#alarmdecoder.util.NoDeviceError" title="alarmdecoder.util.NoDeviceError"><tt class="xref py py-class docutils literal"><span class="pre">NoDeviceError</span></tt></a>, <a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></p>
  909. </td>
  910. </tr>
  911. </tbody>
  912. </table>
  913. </dd></dl>
  914. <dl class="method">
  915. <dt id="alarmdecoder.devices.SocketDevice.close">
  916. <tt class="descname">close</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.close" title="Permalink to this definition">¶</a></dt>
  917. <dd><p>Closes the device.</p>
  918. </dd></dl>
  919. <dl class="method">
  920. <dt id="alarmdecoder.devices.SocketDevice.write">
  921. <tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.write" title="Permalink to this definition">¶</a></dt>
  922. <dd><p>Writes data to the device.</p>
  923. <table class="docutils field-list" frame="void" rules="none">
  924. <col class="field-name" />
  925. <col class="field-body" />
  926. <tbody valign="top">
  927. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>data</strong> (<em>string</em>) &#8211; data to write</td>
  928. </tr>
  929. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">number of bytes sent</td>
  930. </tr>
  931. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></td>
  932. </tr>
  933. </tbody>
  934. </table>
  935. </dd></dl>
  936. <dl class="method">
  937. <dt id="alarmdecoder.devices.SocketDevice.read">
  938. <tt class="descname">read</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.read" title="Permalink to this definition">¶</a></dt>
  939. <dd><p>Reads a single character from the device.</p>
  940. <table class="docutils field-list" frame="void" rules="none">
  941. <col class="field-name" />
  942. <col class="field-body" />
  943. <tbody valign="top">
  944. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">character read from the device</td>
  945. </tr>
  946. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a></td>
  947. </tr>
  948. </tbody>
  949. </table>
  950. </dd></dl>
  951. <dl class="method">
  952. <dt id="alarmdecoder.devices.SocketDevice.read_line">
  953. <tt class="descname">read_line</tt><big>(</big><em>timeout=0.0</em>, <em>purge_buffer=False</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/devices.html#SocketDevice.read_line"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.devices.SocketDevice.read_line" title="Permalink to this definition">¶</a></dt>
  954. <dd><p>Reads a line from the device.</p>
  955. <table class="docutils field-list" frame="void" rules="none">
  956. <col class="field-name" />
  957. <col class="field-body" />
  958. <tbody valign="top">
  959. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  960. <li><strong>timeout</strong> (<em>float</em>) &#8211; read timeout</li>
  961. <li><strong>purge_buffer</strong> (<em>bool</em>) &#8211; Indicates whether to purge the buffer prior to
  962. reading.</li>
  963. </ul>
  964. </td>
  965. </tr>
  966. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">line that was read</p>
  967. </td>
  968. </tr>
  969. <tr class="field-odd field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last"><a class="reference internal" href="#alarmdecoder.util.CommError" title="alarmdecoder.util.CommError"><tt class="xref py py-class docutils literal"><span class="pre">CommError</span></tt></a>, <a class="reference internal" href="#alarmdecoder.util.TimeoutError" title="alarmdecoder.util.TimeoutError"><tt class="xref py py-class docutils literal"><span class="pre">TimeoutError</span></tt></a></p>
  970. </td>
  971. </tr>
  972. </tbody>
  973. </table>
  974. </dd></dl>
  975. </dd></dl>
  976. </div>
  977. <div class="section" id="module-alarmdecoder.messages">
  978. <span id="messages-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">messages</span></tt> Module<a class="headerlink" href="#module-alarmdecoder.messages" title="Permalink to this headline">¶</a></h2>
  979. <p>Message representations received from the panel through the <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> (AD2)
  980. devices.</p>
  981. <ul class="simple">
  982. <li><a class="reference internal" href="#alarmdecoder.messages.Message" title="alarmdecoder.messages.Message"><tt class="xref py py-class docutils literal"><span class="pre">Message</span></tt></a>: The standard and most common message received from a panel.</li>
  983. <li><a class="reference internal" href="#alarmdecoder.messages.ExpanderMessage" title="alarmdecoder.messages.ExpanderMessage"><tt class="xref py py-class docutils literal"><span class="pre">ExpanderMessage</span></tt></a>: Messages received from Relay or Zone expander modules.</li>
  984. <li><a class="reference internal" href="#alarmdecoder.messages.RFMessage" title="alarmdecoder.messages.RFMessage"><tt class="xref py py-class docutils literal"><span class="pre">RFMessage</span></tt></a>: Message received from an RF receiver module.</li>
  985. <li><a class="reference internal" href="#alarmdecoder.messages.LRRMessage" title="alarmdecoder.messages.LRRMessage"><tt class="xref py py-class docutils literal"><span class="pre">LRRMessage</span></tt></a>: Message received from a long-range radio module.</li>
  986. </ul>
  987. <dl class="class">
  988. <dt id="alarmdecoder.messages.BaseMessage">
  989. <em class="property">class </em><tt class="descclassname">alarmdecoder.messages.</tt><tt class="descname">BaseMessage</tt><a class="reference internal" href="_modules/alarmdecoder/messages.html#BaseMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.messages.BaseMessage" title="Permalink to this definition">¶</a></dt>
  990. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  991. <p>Base class for messages.</p>
  992. <dl class="attribute">
  993. <dt id="alarmdecoder.messages.BaseMessage.raw">
  994. <tt class="descname">raw</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.BaseMessage.raw" title="Permalink to this definition">¶</a></dt>
  995. <dd><p>The raw message text</p>
  996. </dd></dl>
  997. </dd></dl>
  998. <dl class="class">
  999. <dt id="alarmdecoder.messages.Message">
  1000. <em class="property">class </em><tt class="descclassname">alarmdecoder.messages.</tt><tt class="descname">Message</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/messages.html#Message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.messages.Message" title="Permalink to this definition">¶</a></dt>
  1001. <dd><p>Bases: <a class="reference internal" href="#alarmdecoder.messages.BaseMessage" title="alarmdecoder.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">alarmdecoder.messages.BaseMessage</span></tt></a></p>
  1002. <p>Represents a message from the alarm panel.</p>
  1003. <dl class="attribute">
  1004. <dt id="alarmdecoder.messages.Message.ready">
  1005. <tt class="descname">ready</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.ready" title="Permalink to this definition">¶</a></dt>
  1006. <dd><p>Indicates whether or not the panel is in a ready state.</p>
  1007. </dd></dl>
  1008. <dl class="attribute">
  1009. <dt id="alarmdecoder.messages.Message.armed_away">
  1010. <tt class="descname">armed_away</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.armed_away" title="Permalink to this definition">¶</a></dt>
  1011. <dd><p>Indicates whether or not the panel is armed away.</p>
  1012. </dd></dl>
  1013. <dl class="attribute">
  1014. <dt id="alarmdecoder.messages.Message.armed_home">
  1015. <tt class="descname">armed_home</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.armed_home" title="Permalink to this definition">¶</a></dt>
  1016. <dd><p>Indicates whether or not the panel is armed home.</p>
  1017. </dd></dl>
  1018. <dl class="attribute">
  1019. <dt id="alarmdecoder.messages.Message.backlight_on">
  1020. <tt class="descname">backlight_on</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.backlight_on" title="Permalink to this definition">¶</a></dt>
  1021. <dd><p>Indicates whether or not the keypad backlight is on.</p>
  1022. </dd></dl>
  1023. <dl class="attribute">
  1024. <dt id="alarmdecoder.messages.Message.programming_mode">
  1025. <tt class="descname">programming_mode</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.programming_mode" title="Permalink to this definition">¶</a></dt>
  1026. <dd><p>Indicates whether or not we&#8217;re in programming mode.</p>
  1027. </dd></dl>
  1028. <dl class="attribute">
  1029. <dt id="alarmdecoder.messages.Message.beeps">
  1030. <tt class="descname">beeps</tt><em class="property"> = -1</em><a class="headerlink" href="#alarmdecoder.messages.Message.beeps" title="Permalink to this definition">¶</a></dt>
  1031. <dd><p>Number of beeps associated with a message.</p>
  1032. </dd></dl>
  1033. <dl class="attribute">
  1034. <dt id="alarmdecoder.messages.Message.zone_bypassed">
  1035. <tt class="descname">zone_bypassed</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.zone_bypassed" title="Permalink to this definition">¶</a></dt>
  1036. <dd><p>Indicates whether or not a zone is bypassed.</p>
  1037. </dd></dl>
  1038. <dl class="attribute">
  1039. <dt id="alarmdecoder.messages.Message.ac_power">
  1040. <tt class="descname">ac_power</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.ac_power" title="Permalink to this definition">¶</a></dt>
  1041. <dd><p>Indicates whether or not the panel is on AC power.</p>
  1042. </dd></dl>
  1043. <dl class="attribute">
  1044. <dt id="alarmdecoder.messages.Message.chime_on">
  1045. <tt class="descname">chime_on</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.chime_on" title="Permalink to this definition">¶</a></dt>
  1046. <dd><p>Indicates whether or not the chime is enabled.</p>
  1047. </dd></dl>
  1048. <dl class="attribute">
  1049. <dt id="alarmdecoder.messages.Message.alarm_event_occurred">
  1050. <tt class="descname">alarm_event_occurred</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.alarm_event_occurred" title="Permalink to this definition">¶</a></dt>
  1051. <dd><p>Indicates whether or not an alarm event has occurred.</p>
  1052. </dd></dl>
  1053. <dl class="attribute">
  1054. <dt id="alarmdecoder.messages.Message.alarm_sounding">
  1055. <tt class="descname">alarm_sounding</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.alarm_sounding" title="Permalink to this definition">¶</a></dt>
  1056. <dd><p>Indicates whether or not an alarm is sounding.</p>
  1057. </dd></dl>
  1058. <dl class="attribute">
  1059. <dt id="alarmdecoder.messages.Message.battery_low">
  1060. <tt class="descname">battery_low</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.battery_low" title="Permalink to this definition">¶</a></dt>
  1061. <dd><p>Indicates whether or not there is a low battery.</p>
  1062. </dd></dl>
  1063. <dl class="attribute">
  1064. <dt id="alarmdecoder.messages.Message.entry_delay_off">
  1065. <tt class="descname">entry_delay_off</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.entry_delay_off" title="Permalink to this definition">¶</a></dt>
  1066. <dd><p>Indicates whether or not the entry delay is enabled.</p>
  1067. </dd></dl>
  1068. <dl class="attribute">
  1069. <dt id="alarmdecoder.messages.Message.fire_alarm">
  1070. <tt class="descname">fire_alarm</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.fire_alarm" title="Permalink to this definition">¶</a></dt>
  1071. <dd><p>Indicates whether or not a fire alarm is sounding.</p>
  1072. </dd></dl>
  1073. <dl class="attribute">
  1074. <dt id="alarmdecoder.messages.Message.check_zone">
  1075. <tt class="descname">check_zone</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.check_zone" title="Permalink to this definition">¶</a></dt>
  1076. <dd><p>Indicates whether or not there are zones that require attention.</p>
  1077. </dd></dl>
  1078. <dl class="attribute">
  1079. <dt id="alarmdecoder.messages.Message.perimeter_only">
  1080. <tt class="descname">perimeter_only</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.Message.perimeter_only" title="Permalink to this definition">¶</a></dt>
  1081. <dd><p>Indicates whether or not the perimeter is armed.</p>
  1082. </dd></dl>
  1083. <dl class="attribute">
  1084. <dt id="alarmdecoder.messages.Message.numeric_code">
  1085. <tt class="descname">numeric_code</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.Message.numeric_code" title="Permalink to this definition">¶</a></dt>
  1086. <dd><p>The numeric code associated with the message.</p>
  1087. </dd></dl>
  1088. <dl class="attribute">
  1089. <dt id="alarmdecoder.messages.Message.text">
  1090. <tt class="descname">text</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.Message.text" title="Permalink to this definition">¶</a></dt>
  1091. <dd><p>The human-readable text to be displayed on the panel LCD.</p>
  1092. </dd></dl>
  1093. <dl class="attribute">
  1094. <dt id="alarmdecoder.messages.Message.cursor_location">
  1095. <tt class="descname">cursor_location</tt><em class="property"> = -1</em><a class="headerlink" href="#alarmdecoder.messages.Message.cursor_location" title="Permalink to this definition">¶</a></dt>
  1096. <dd><p>Current cursor location on the keypad.</p>
  1097. </dd></dl>
  1098. <dl class="attribute">
  1099. <dt id="alarmdecoder.messages.Message.mask">
  1100. <tt class="descname">mask</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.Message.mask" title="Permalink to this definition">¶</a></dt>
  1101. <dd><p>Address mask this message is intended for.</p>
  1102. </dd></dl>
  1103. <dl class="attribute">
  1104. <dt id="alarmdecoder.messages.Message.bitfield">
  1105. <tt class="descname">bitfield</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.Message.bitfield" title="Permalink to this definition">¶</a></dt>
  1106. <dd><p>The bitfield associated with this message.</p>
  1107. </dd></dl>
  1108. <dl class="attribute">
  1109. <dt id="alarmdecoder.messages.Message.panel_data">
  1110. <tt class="descname">panel_data</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.Message.panel_data" title="Permalink to this definition">¶</a></dt>
  1111. <dd><p>The panel data field associated with this message.</p>
  1112. </dd></dl>
  1113. </dd></dl>
  1114. <dl class="class">
  1115. <dt id="alarmdecoder.messages.ExpanderMessage">
  1116. <em class="property">class </em><tt class="descclassname">alarmdecoder.messages.</tt><tt class="descname">ExpanderMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/messages.html#ExpanderMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.messages.ExpanderMessage" title="Permalink to this definition">¶</a></dt>
  1117. <dd><p>Bases: <a class="reference internal" href="#alarmdecoder.messages.BaseMessage" title="alarmdecoder.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">alarmdecoder.messages.BaseMessage</span></tt></a></p>
  1118. <p>Represents a message from a zone or relay expansion module.</p>
  1119. <dl class="attribute">
  1120. <dt id="alarmdecoder.messages.ExpanderMessage.ZONE">
  1121. <tt class="descname">ZONE</tt><em class="property"> = 0</em><a class="headerlink" href="#alarmdecoder.messages.ExpanderMessage.ZONE" title="Permalink to this definition">¶</a></dt>
  1122. <dd><p>Flag indicating that the expander message relates to a Zone Expander.</p>
  1123. </dd></dl>
  1124. <dl class="attribute">
  1125. <dt id="alarmdecoder.messages.ExpanderMessage.RELAY">
  1126. <tt class="descname">RELAY</tt><em class="property"> = 1</em><a class="headerlink" href="#alarmdecoder.messages.ExpanderMessage.RELAY" title="Permalink to this definition">¶</a></dt>
  1127. <dd><p>Flag indicating that the expander message relates to a Relay Expander.</p>
  1128. </dd></dl>
  1129. <dl class="attribute">
  1130. <dt id="alarmdecoder.messages.ExpanderMessage.type">
  1131. <tt class="descname">type</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.ExpanderMessage.type" title="Permalink to this definition">¶</a></dt>
  1132. <dd><p>Expander message type: ExpanderMessage.ZONE or ExpanderMessage.RELAY</p>
  1133. </dd></dl>
  1134. <dl class="attribute">
  1135. <dt id="alarmdecoder.messages.ExpanderMessage.address">
  1136. <tt class="descname">address</tt><em class="property"> = -1</em><a class="headerlink" href="#alarmdecoder.messages.ExpanderMessage.address" title="Permalink to this definition">¶</a></dt>
  1137. <dd><p>Address of expander</p>
  1138. </dd></dl>
  1139. <dl class="attribute">
  1140. <dt id="alarmdecoder.messages.ExpanderMessage.channel">
  1141. <tt class="descname">channel</tt><em class="property"> = -1</em><a class="headerlink" href="#alarmdecoder.messages.ExpanderMessage.channel" title="Permalink to this definition">¶</a></dt>
  1142. <dd><p>Channel on the expander</p>
  1143. </dd></dl>
  1144. <dl class="attribute">
  1145. <dt id="alarmdecoder.messages.ExpanderMessage.value">
  1146. <tt class="descname">value</tt><em class="property"> = -1</em><a class="headerlink" href="#alarmdecoder.messages.ExpanderMessage.value" title="Permalink to this definition">¶</a></dt>
  1147. <dd><p>Value associated with the message</p>
  1148. </dd></dl>
  1149. </dd></dl>
  1150. <dl class="class">
  1151. <dt id="alarmdecoder.messages.RFMessage">
  1152. <em class="property">class </em><tt class="descclassname">alarmdecoder.messages.</tt><tt class="descname">RFMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/messages.html#RFMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.messages.RFMessage" title="Permalink to this definition">¶</a></dt>
  1153. <dd><p>Bases: <a class="reference internal" href="#alarmdecoder.messages.BaseMessage" title="alarmdecoder.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">alarmdecoder.messages.BaseMessage</span></tt></a></p>
  1154. <p>Represents a message from an RF receiver.</p>
  1155. <dl class="attribute">
  1156. <dt id="alarmdecoder.messages.RFMessage.serial_number">
  1157. <tt class="descname">serial_number</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.RFMessage.serial_number" title="Permalink to this definition">¶</a></dt>
  1158. <dd><p>Serial number of the RF device.</p>
  1159. </dd></dl>
  1160. <dl class="attribute">
  1161. <dt id="alarmdecoder.messages.RFMessage.value">
  1162. <tt class="descname">value</tt><em class="property"> = -1</em><a class="headerlink" href="#alarmdecoder.messages.RFMessage.value" title="Permalink to this definition">¶</a></dt>
  1163. <dd><p>Value associated with this message.</p>
  1164. </dd></dl>
  1165. <dl class="attribute">
  1166. <dt id="alarmdecoder.messages.RFMessage.battery">
  1167. <tt class="descname">battery</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.RFMessage.battery" title="Permalink to this definition">¶</a></dt>
  1168. <dd><p>Low battery indication</p>
  1169. </dd></dl>
  1170. <dl class="attribute">
  1171. <dt id="alarmdecoder.messages.RFMessage.supervision">
  1172. <tt class="descname">supervision</tt><em class="property"> = False</em><a class="headerlink" href="#alarmdecoder.messages.RFMessage.supervision" title="Permalink to this definition">¶</a></dt>
  1173. <dd><p>Supervision required indication</p>
  1174. </dd></dl>
  1175. <dl class="attribute">
  1176. <dt id="alarmdecoder.messages.RFMessage.loop">
  1177. <tt class="descname">loop</tt><em class="property"> = [False, False, False, False]</em><a class="headerlink" href="#alarmdecoder.messages.RFMessage.loop" title="Permalink to this definition">¶</a></dt>
  1178. <dd><p>Loop indicators</p>
  1179. </dd></dl>
  1180. </dd></dl>
  1181. <dl class="class">
  1182. <dt id="alarmdecoder.messages.LRRMessage">
  1183. <em class="property">class </em><tt class="descclassname">alarmdecoder.messages.</tt><tt class="descname">LRRMessage</tt><big>(</big><em>data=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/messages.html#LRRMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.messages.LRRMessage" title="Permalink to this definition">¶</a></dt>
  1184. <dd><p>Bases: <a class="reference internal" href="#alarmdecoder.messages.BaseMessage" title="alarmdecoder.messages.BaseMessage"><tt class="xref py py-class docutils literal"><span class="pre">alarmdecoder.messages.BaseMessage</span></tt></a></p>
  1185. <p>Represent a message from a Long Range Radio.</p>
  1186. <dl class="attribute">
  1187. <dt id="alarmdecoder.messages.LRRMessage.event_data">
  1188. <tt class="descname">event_data</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.LRRMessage.event_data" title="Permalink to this definition">¶</a></dt>
  1189. <dd><p>Data associated with the LRR message. Usually user ID or zone.</p>
  1190. </dd></dl>
  1191. <dl class="attribute">
  1192. <dt id="alarmdecoder.messages.LRRMessage.partition">
  1193. <tt class="descname">partition</tt><em class="property"> = -1</em><a class="headerlink" href="#alarmdecoder.messages.LRRMessage.partition" title="Permalink to this definition">¶</a></dt>
  1194. <dd><p>The partition that this message applies to.</p>
  1195. </dd></dl>
  1196. <dl class="attribute">
  1197. <dt id="alarmdecoder.messages.LRRMessage.event_type">
  1198. <tt class="descname">event_type</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.messages.LRRMessage.event_type" title="Permalink to this definition">¶</a></dt>
  1199. <dd><p>The type of the event that occurred.</p>
  1200. </dd></dl>
  1201. </dd></dl>
  1202. </div>
  1203. <div class="section" id="module-alarmdecoder.zonetracking">
  1204. <span id="zonetracking-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">zonetracking</span></tt> Module<a class="headerlink" href="#module-alarmdecoder.zonetracking" title="Permalink to this headline">¶</a></h2>
  1205. <p>Provides zone tracking functionality for the <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> (AD2) device family.</p>
  1206. <dl class="class">
  1207. <dt id="alarmdecoder.zonetracking.Zone">
  1208. <em class="property">class </em><tt class="descclassname">alarmdecoder.zonetracking.</tt><tt class="descname">Zone</tt><big>(</big><em>zone=0</em>, <em>name=''</em>, <em>status=0</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/zonetracking.html#Zone"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.zonetracking.Zone" title="Permalink to this definition">¶</a></dt>
  1209. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  1210. <p>Representation of a panel zone.</p>
  1211. <dl class="attribute">
  1212. <dt id="alarmdecoder.zonetracking.Zone.CLEAR">
  1213. <tt class="descname">CLEAR</tt><em class="property"> = 0</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.CLEAR" title="Permalink to this definition">¶</a></dt>
  1214. <dd><p>Status indicating that the zone is cleared.</p>
  1215. </dd></dl>
  1216. <dl class="attribute">
  1217. <dt id="alarmdecoder.zonetracking.Zone.FAULT">
  1218. <tt class="descname">FAULT</tt><em class="property"> = 1</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.FAULT" title="Permalink to this definition">¶</a></dt>
  1219. <dd><p>Status indicating that the zone is faulted.</p>
  1220. </dd></dl>
  1221. <dl class="attribute">
  1222. <dt id="alarmdecoder.zonetracking.Zone.CHECK">
  1223. <tt class="descname">CHECK</tt><em class="property"> = 2</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.CHECK" title="Permalink to this definition">¶</a></dt>
  1224. <dd><p>Status indicating that there is a wiring issue with the zone.</p>
  1225. </dd></dl>
  1226. <dl class="attribute">
  1227. <dt id="alarmdecoder.zonetracking.Zone.STATUS">
  1228. <tt class="descname">STATUS</tt><em class="property"> = {0: 'CLEAR', 1: 'FAULT', 2: 'CHECK'}</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.STATUS" title="Permalink to this definition">¶</a></dt>
  1229. <dd></dd></dl>
  1230. <dl class="attribute">
  1231. <dt id="alarmdecoder.zonetracking.Zone.zone">
  1232. <tt class="descname">zone</tt><em class="property"> = 0</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.zone" title="Permalink to this definition">¶</a></dt>
  1233. <dd><p>Zone ID</p>
  1234. </dd></dl>
  1235. <dl class="attribute">
  1236. <dt id="alarmdecoder.zonetracking.Zone.name">
  1237. <tt class="descname">name</tt><em class="property"> = ''</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.name" title="Permalink to this definition">¶</a></dt>
  1238. <dd><p>Zone name</p>
  1239. </dd></dl>
  1240. <dl class="attribute">
  1241. <dt id="alarmdecoder.zonetracking.Zone.status">
  1242. <tt class="descname">status</tt><em class="property"> = 0</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.status" title="Permalink to this definition">¶</a></dt>
  1243. <dd><p>Zone status</p>
  1244. </dd></dl>
  1245. <dl class="attribute">
  1246. <dt id="alarmdecoder.zonetracking.Zone.timestamp">
  1247. <tt class="descname">timestamp</tt><em class="property"> = None</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zone.timestamp" title="Permalink to this definition">¶</a></dt>
  1248. <dd><p>Timestamp of last update</p>
  1249. </dd></dl>
  1250. </dd></dl>
  1251. <dl class="class">
  1252. <dt id="alarmdecoder.zonetracking.Zonetracker">
  1253. <em class="property">class </em><tt class="descclassname">alarmdecoder.zonetracking.</tt><tt class="descname">Zonetracker</tt><a class="reference internal" href="_modules/alarmdecoder/zonetracking.html#Zonetracker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker" title="Permalink to this definition">¶</a></dt>
  1254. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  1255. <p>Handles tracking of zones and their statuses.</p>
  1256. <dl class="attribute">
  1257. <dt id="alarmdecoder.zonetracking.Zonetracker.on_fault">
  1258. <tt class="descname">on_fault</tt><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker.on_fault" title="Permalink to this definition">¶</a></dt>
  1259. <dd><p>This event is called when the device detects a zone fault.</p>
  1260. <p><strong>Callback definition:</strong> <em>def callback(device, zone)</em></p>
  1261. </dd></dl>
  1262. <dl class="attribute">
  1263. <dt id="alarmdecoder.zonetracking.Zonetracker.on_restore">
  1264. <tt class="descname">on_restore</tt><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker.on_restore" title="Permalink to this definition">¶</a></dt>
  1265. <dd><p>This event is called when the device detects that a fault is restored.</p>
  1266. <p><strong>Callback definition:</strong> <em>def callback(device, zone)</em></p>
  1267. </dd></dl>
  1268. <dl class="attribute">
  1269. <dt id="alarmdecoder.zonetracking.Zonetracker.EXPIRE">
  1270. <tt class="descname">EXPIRE</tt><em class="property"> = 30</em><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker.EXPIRE" title="Permalink to this definition">¶</a></dt>
  1271. <dd><p>Zone expiration timeout.</p>
  1272. </dd></dl>
  1273. <dl class="attribute">
  1274. <dt id="alarmdecoder.zonetracking.Zonetracker.zones">
  1275. <tt class="descname">zones</tt><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker.zones" title="Permalink to this definition">¶</a></dt>
  1276. <dd><p>Returns the current list of zones being tracked.</p>
  1277. <table class="docutils field-list" frame="void" rules="none">
  1278. <col class="field-name" />
  1279. <col class="field-body" />
  1280. <tbody valign="top">
  1281. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">dictionary of <a class="reference internal" href="#alarmdecoder.zonetracking.Zone" title="alarmdecoder.zonetracking.Zone"><tt class="xref py py-class docutils literal"><span class="pre">Zone</span></tt></a> being tracked</td>
  1282. </tr>
  1283. </tbody>
  1284. </table>
  1285. </dd></dl>
  1286. <dl class="attribute">
  1287. <dt id="alarmdecoder.zonetracking.Zonetracker.faulted">
  1288. <tt class="descname">faulted</tt><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker.faulted" title="Permalink to this definition">¶</a></dt>
  1289. <dd><p>Retrieves the current list of faulted zones.</p>
  1290. <table class="docutils field-list" frame="void" rules="none">
  1291. <col class="field-name" />
  1292. <col class="field-body" />
  1293. <tbody valign="top">
  1294. <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">list of faulted zones</td>
  1295. </tr>
  1296. </tbody>
  1297. </table>
  1298. </dd></dl>
  1299. <dl class="method">
  1300. <dt id="alarmdecoder.zonetracking.Zonetracker.update">
  1301. <tt class="descname">update</tt><big>(</big><em>message</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/zonetracking.html#Zonetracker.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker.update" title="Permalink to this definition">¶</a></dt>
  1302. <dd><p>Update zone statuses based on the current message.</p>
  1303. <table class="docutils field-list" frame="void" rules="none">
  1304. <col class="field-name" />
  1305. <col class="field-body" />
  1306. <tbody valign="top">
  1307. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message</strong> (<a class="reference internal" href="#alarmdecoder.messages.Message" title="alarmdecoder.messages.Message"><tt class="xref py py-class docutils literal"><span class="pre">Message</span></tt></a> or <a class="reference internal" href="#alarmdecoder.messages.ExpanderMessage" title="alarmdecoder.messages.ExpanderMessage"><tt class="xref py py-class docutils literal"><span class="pre">ExpanderMessage</span></tt></a>) &#8211; message to use to update the zone tracking</td>
  1308. </tr>
  1309. </tbody>
  1310. </table>
  1311. </dd></dl>
  1312. <dl class="method">
  1313. <dt id="alarmdecoder.zonetracking.Zonetracker.expander_to_zone">
  1314. <tt class="descname">expander_to_zone</tt><big>(</big><em>address</em>, <em>channel</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/zonetracking.html#Zonetracker.expander_to_zone"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.zonetracking.Zonetracker.expander_to_zone" title="Permalink to this definition">¶</a></dt>
  1315. <dd><p>Convert an address and channel into a zone number.</p>
  1316. <table class="docutils field-list" frame="void" rules="none">
  1317. <col class="field-name" />
  1318. <col class="field-body" />
  1319. <tbody valign="top">
  1320. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  1321. <li><strong>address</strong> (<em>int</em>) &#8211; expander address</li>
  1322. <li><strong>channel</strong> (<em>int</em>) &#8211; channel</li>
  1323. </ul>
  1324. </td>
  1325. </tr>
  1326. <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">zone number associated with an address and channel</p>
  1327. </td>
  1328. </tr>
  1329. </tbody>
  1330. </table>
  1331. </dd></dl>
  1332. </dd></dl>
  1333. </div>
  1334. <div class="section" id="module-alarmdecoder.util">
  1335. <span id="util-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">util</span></tt> Module<a class="headerlink" href="#module-alarmdecoder.util" title="Permalink to this headline">¶</a></h2>
  1336. <p>Provides utility classes for the <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> (AD2) devices.</p>
  1337. <dl class="exception">
  1338. <dt id="alarmdecoder.util.NoDeviceError">
  1339. <em class="property">exception </em><tt class="descclassname">alarmdecoder.util.</tt><tt class="descname">NoDeviceError</tt><a class="reference internal" href="_modules/alarmdecoder/util.html#NoDeviceError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.util.NoDeviceError" title="Permalink to this definition">¶</a></dt>
  1340. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  1341. <p>No devices found.</p>
  1342. </dd></dl>
  1343. <dl class="exception">
  1344. <dt id="alarmdecoder.util.CommError">
  1345. <em class="property">exception </em><tt class="descclassname">alarmdecoder.util.</tt><tt class="descname">CommError</tt><a class="reference internal" href="_modules/alarmdecoder/util.html#CommError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.util.CommError" title="Permalink to this definition">¶</a></dt>
  1346. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  1347. <p>There was an error communicating with the device.</p>
  1348. </dd></dl>
  1349. <dl class="exception">
  1350. <dt id="alarmdecoder.util.TimeoutError">
  1351. <em class="property">exception </em><tt class="descclassname">alarmdecoder.util.</tt><tt class="descname">TimeoutError</tt><a class="reference internal" href="_modules/alarmdecoder/util.html#TimeoutError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.util.TimeoutError" title="Permalink to this definition">¶</a></dt>
  1352. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  1353. <p>There was a timeout while trying to communicate with the device.</p>
  1354. </dd></dl>
  1355. <dl class="exception">
  1356. <dt id="alarmdecoder.util.InvalidMessageError">
  1357. <em class="property">exception </em><tt class="descclassname">alarmdecoder.util.</tt><tt class="descname">InvalidMessageError</tt><a class="reference internal" href="_modules/alarmdecoder/util.html#InvalidMessageError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.util.InvalidMessageError" title="Permalink to this definition">¶</a></dt>
  1358. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">exceptions.Exception</span></tt></p>
  1359. <p>The format of the panel message was invalid.</p>
  1360. </dd></dl>
  1361. <dl class="class">
  1362. <dt id="alarmdecoder.util.Firmware">
  1363. <em class="property">class </em><tt class="descclassname">alarmdecoder.util.</tt><tt class="descname">Firmware</tt><a class="reference internal" href="_modules/alarmdecoder/util.html#Firmware"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.util.Firmware" title="Permalink to this definition">¶</a></dt>
  1364. <dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
  1365. <p>Represents firmware for the <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> devices.</p>
  1366. <dl class="attribute">
  1367. <dt id="alarmdecoder.util.Firmware.STAGE_START">
  1368. <tt class="descname">STAGE_START</tt><em class="property"> = 0</em><a class="headerlink" href="#alarmdecoder.util.Firmware.STAGE_START" title="Permalink to this definition">¶</a></dt>
  1369. <dd></dd></dl>
  1370. <dl class="attribute">
  1371. <dt id="alarmdecoder.util.Firmware.STAGE_WAITING">
  1372. <tt class="descname">STAGE_WAITING</tt><em class="property"> = 1</em><a class="headerlink" href="#alarmdecoder.util.Firmware.STAGE_WAITING" title="Permalink to this definition">¶</a></dt>
  1373. <dd></dd></dl>
  1374. <dl class="attribute">
  1375. <dt id="alarmdecoder.util.Firmware.STAGE_BOOT">
  1376. <tt class="descname">STAGE_BOOT</tt><em class="property"> = 2</em><a class="headerlink" href="#alarmdecoder.util.Firmware.STAGE_BOOT" title="Permalink to this definition">¶</a></dt>
  1377. <dd></dd></dl>
  1378. <dl class="attribute">
  1379. <dt id="alarmdecoder.util.Firmware.STAGE_LOAD">
  1380. <tt class="descname">STAGE_LOAD</tt><em class="property"> = 3</em><a class="headerlink" href="#alarmdecoder.util.Firmware.STAGE_LOAD" title="Permalink to this definition">¶</a></dt>
  1381. <dd></dd></dl>
  1382. <dl class="attribute">
  1383. <dt id="alarmdecoder.util.Firmware.STAGE_UPLOADING">
  1384. <tt class="descname">STAGE_UPLOADING</tt><em class="property"> = 4</em><a class="headerlink" href="#alarmdecoder.util.Firmware.STAGE_UPLOADING" title="Permalink to this definition">¶</a></dt>
  1385. <dd></dd></dl>
  1386. <dl class="attribute">
  1387. <dt id="alarmdecoder.util.Firmware.STAGE_DONE">
  1388. <tt class="descname">STAGE_DONE</tt><em class="property"> = 5</em><a class="headerlink" href="#alarmdecoder.util.Firmware.STAGE_DONE" title="Permalink to this definition">¶</a></dt>
  1389. <dd></dd></dl>
  1390. <dl class="staticmethod">
  1391. <dt id="alarmdecoder.util.Firmware.upload">
  1392. <em class="property">static </em><tt class="descname">upload</tt><big>(</big><em>dev</em>, <em>filename</em>, <em>progress_callback=None</em><big>)</big><a class="reference internal" href="_modules/alarmdecoder/util.html#Firmware.upload"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#alarmdecoder.util.Firmware.upload" title="Permalink to this definition">¶</a></dt>
  1393. <dd><p>Uploads firmware to an <a class="reference external" href="http://www.alarmdecoder.com">AlarmDecoder</a> device.</p>
  1394. <table class="docutils field-list" frame="void" rules="none">
  1395. <col class="field-name" />
  1396. <col class="field-body" />
  1397. <tbody valign="top">
  1398. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  1399. <li><strong>filename</strong> (<em>string</em>) &#8211; firmware filename</li>
  1400. <li><strong>progress_callback</strong> (<em>function</em>) &#8211; callback function used to report progress</li>
  1401. </ul>
  1402. </td>
  1403. </tr>
  1404. <tr class="field-even field"><th class="field-name">Raises :</th><td class="field-body"><p class="first last"><a class="reference internal" href="#alarmdecoder.util.NoDeviceError" title="alarmdecoder.util.NoDeviceError"><tt class="xref py py-class docutils literal"><span class="pre">NoDeviceError</span></tt></a>, <a class="reference internal" href="#alarmdecoder.util.TimeoutError" title="alarmdecoder.util.TimeoutError"><tt class="xref py py-class docutils literal"><span class="pre">TimeoutError</span></tt></a></p>
  1405. </td>
  1406. </tr>
  1407. </tbody>
  1408. </table>
  1409. </dd></dl>
  1410. </dd></dl>
  1411. </div>
  1412. <div class="section" id="module-alarmdecoder.panels">
  1413. <span id="panels-module"></span><h2><tt class="xref py py-mod docutils literal"><span class="pre">panels</span></tt> Module<a class="headerlink" href="#module-alarmdecoder.panels" title="Permalink to this headline">¶</a></h2>
  1414. <p>Representations of Panels and their templates.</p>
  1415. </div>
  1416. </div>
  1417. </div>
  1418. </div>
  1419. </div>
  1420. <div class="sphinxsidebar">
  1421. <div class="sphinxsidebarwrapper">
  1422. <h3><a href="index.html">Table Of Contents</a></h3>
  1423. <ul>
  1424. <li><a class="reference internal" href="#">alarmdecoder Package</a><ul>
  1425. <li><a class="reference internal" href="#module-alarmdecoder.decoder"><tt class="docutils literal"><span class="pre">decoder</span></tt> Module</a></li>
  1426. <li><a class="reference internal" href="#module-alarmdecoder.devices"><tt class="docutils literal"><span class="pre">devices</span></tt> Module</a></li>
  1427. <li><a class="reference internal" href="#module-alarmdecoder.messages"><tt class="docutils literal"><span class="pre">messages</span></tt> Module</a></li>
  1428. <li><a class="reference internal" href="#module-alarmdecoder.zonetracking"><tt class="docutils literal"><span class="pre">zonetracking</span></tt> Module</a></li>
  1429. <li><a class="reference internal" href="#module-alarmdecoder.util"><tt class="docutils literal"><span class="pre">util</span></tt> Module</a></li>
  1430. <li><a class="reference internal" href="#module-alarmdecoder.panels"><tt class="docutils literal"><span class="pre">panels</span></tt> Module</a></li>
  1431. </ul>
  1432. </li>
  1433. </ul>
  1434. <h4>Previous topic</h4>
  1435. <p class="topless"><a href="index.html"
  1436. title="previous chapter">Welcome to Alarm Decoder&#8217;s documentation!</a></p>
  1437. <h3>This Page</h3>
  1438. <ul class="this-page-menu">
  1439. <li><a href="_sources/alarmdecoder.txt"
  1440. rel="nofollow">Show Source</a></li>
  1441. </ul>
  1442. <div id="searchbox" style="display: none">
  1443. <h3>Quick search</h3>
  1444. <form class="search" action="search.html" method="get">
  1445. <input type="text" name="q" />
  1446. <input type="submit" value="Go" />
  1447. <input type="hidden" name="check_keywords" value="yes" />
  1448. <input type="hidden" name="area" value="default" />
  1449. </form>
  1450. <p class="searchtip" style="font-size: 90%">
  1451. Enter search terms or a module, class or function name.
  1452. </p>
  1453. </div>
  1454. <script type="text/javascript">$('#searchbox').show(0);</script>
  1455. </div>
  1456. </div>
  1457. <div class="clearer"></div>
  1458. </div>
  1459. <div class="related">
  1460. <h3>Navigation</h3>
  1461. <ul>
  1462. <li class="right" style="margin-right: 10px">
  1463. <a href="genindex.html" title="General Index"
  1464. >index</a></li>
  1465. <li class="right" >
  1466. <a href="py-modindex.html" title="Python Module Index"
  1467. >modules</a> |</li>
  1468. <li class="right" >
  1469. <a href="index.html" title="Welcome to Alarm Decoder’s documentation!"
  1470. >previous</a> |</li>
  1471. <li><a href="index.html">alarmdecoder documentation</a> &raquo;</li>
  1472. </ul>
  1473. </div>
  1474. <div class="footer">
  1475. &copy; Copyright 2013, Nu Tech Software Solutions, Inc..
  1476. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
  1477. </div>
  1478. </body>
  1479. </html>