Skip to main content

Python interface for the AlarmDecoder (AD2) family of alarm devices which includes the AD2USB, AD2SERIAL and AD2PI.

Project description

.. _AlarmDecoder: http://www.alarmdecoder.com
.. _ser2sock: http://github.com/nutechsoftware/ser2sock
.. _pyftdi: https://github.com/eblot/pyftdi
.. _pyusb: http://sourceforge.net/apps/trac/pyusb
.. _pyserial: http://pyserial.sourceforge.net
.. _pyopenssl: https://launchpad.net/pyopenssl
.. _readthedocs: http://alarmdecoder.readthedocs.org
.. _examples: http://github.com/nutechsoftware/alarmdecoder/tree/master/examples

============
AlarmDecoder
============

-------
Summary
-------

This Python library aims to provide a consistent interface for the
`AlarmDecoder`_ product line. (AD2USB, AD2SERIAL and AD2PI).
This also includes devices that have been exposed via `ser2sock`_, which
supports encryption via SSL/TLS.

------------
Installation
------------

AlarmDecoder can be installed through ``pip``::

pip install alarmdecoder

or from source::

python setup.py install

* Note: ``python-setuptools`` is required for installation.

------------
Requirements
------------

Required:

* An `AlarmDecoder`_ device
* Python 2.7
* `pyserial`_ >= 2.7

Optional:

* `pyftdi`_ >= 0.9.0
* `pyusb`_ >= 1.0.0b1
* `pyopenssl`_

-------------
Documentation
-------------

API documentation can be found at `readthedocs`_.

--------
Examples
--------

A basic example is included below. Please see the `examples`_ directory for
more.:

import time
from alarmdecoder import AlarmDecoder
from alarmdecoder.devices import SerialDevice

def main():
"""
Example application that prints messages from the panel to the terminal.
"""
try:
# Retrieve the first USB device
device = AlarmDecoder(SerialDevice(interface='/dev/ttyUSB0'))

# Set up an event handler and open the device
device.on_message += handle_message
with device.open(baudrate=115200):
while True:
time.sleep(1)

except Exception as ex:
print ('Exception:', ex)

def handle_message(sender, message):
"""
Handles message events from the AlarmDecoder.
"""
print sender, message.raw

if __name__ == '__main__':
main()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alarmdecoder-0.12.1.0.tar.gz (306.6 kB view details)

Uploaded Source

File details

Details for the file alarmdecoder-0.12.1.0.tar.gz.

File metadata

File hashes

Hashes for alarmdecoder-0.12.1.0.tar.gz
Algorithm Hash digest
SHA256 74e61ea4b5ef8b75789211ec814933ae31e216ffd8246a9c6a6c2e5bb63de76e
MD5 f05f28365f9a03e0b5833e8d624aa7f7
BLAKE2b-256 1211df8884749d855c92f2a367e929c6e8e9c651defba405205502d42a31e0fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page