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.
Scott Petersen 2aa5a5bd07 Renamed README. 11 years ago
alarmdecoder Product name tweaks. 11 years ago
bin Added support for baudrate on the command-line. Disabled reader thread by default. 11 years ago
docs Product name tweaks. 11 years ago
examples Product name tweaks. 11 years ago
test Updated module paths. 11 years ago
.gitignore Moved doc build directory. 11 years ago
LICENSE Added license details. 11 years ago
MANIFEST.in Added missing items. 11 years ago
README.rst Renamed README. 11 years ago
setup.py Product name tweaks. 11 years ago

README.rst

AlarmDecoder
=============
#### Interface for the [AlarmDecoder](http://www.alarmdecoder.com) (AD2) device family ####


This Python library aims to provide a consistent interface for the [Alarm
Decoder](http://www.alarmdecoder.com) product line. (AD2USB, AD2SERIAL and AD2PI)
This also includes devices that have been exposed via [ser2sock](http://github.com/nutechsoftware/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
------------
* An [AlarmDecoder](http://www.alarmdecoder.com) device
* Python 2.7
* [pyftdi](https://github.com/eblot/pyftdi) >= 0.9.0
* [pyusb](http://sourceforge.net/apps/trac/pyusb/) >= 1.0.0b1
* [pyserial](http://pyserial.sourceforge.net/) >= 2.7
* [pyopenssl](https://launchpad.net/pyopenssl)

Documentation
-------------
API documentation can be found [here](http://alarmdecoder.readthedocs.org).

Examples
--------
A basic example is included below. Please see the [examples](http://github.com/nutechsoftware/alarmdecoder/tree/master/examples) directory for more.


```python
import time
from alarmdecoder import AlarmDecoder
from alarmdecoder.devices import USBDevice

def main():
"""
Example application that prints messages from the panel to the terminal.
"""
try:
# Retrieve the first USB device
device = AlarmDecoder(USBDevice.find())

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

except Exception, ex:
print 'Exception:', ex

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

if __name__ == '__main__':
main()
```