Skip to main content

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

Project description

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, 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.10.1.tar.gz (297.2 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for alarmdecoder-0.10.1.tar.gz
Algorithm Hash digest
SHA256 44e11f932d912b6bad976b11adafb6cabe1749c5be6086d9edde498a82377d4b
MD5 976c5ad13ea47f3991d8a82454464d45
BLAKE2b-256 6327e2333dfe6f172a154f4489fca0c54531209646ffb5bfc1de07b28517615a

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