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.

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