Skip to main content

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

Project description


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.


AlarmDecoder can be installed through pip:

pip install alarmdecoder

or from source:

python install
  • Note: python-setuptools is required for installation.





API documentation can be found at readthedocs.


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.
        # 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
            while True:

    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__':

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-1.13.11.tar.gz (314.9 kB view hashes)

Uploaded Source

Built Distribution

alarmdecoder-1.13.11-py3-none-any.whl (48.5 kB view hashes)

Uploaded Python 3

Supported by

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