Python package for creating a client that talks with SIA-based alarm systems.
Project description
Python package for creating a client that talks with SIA-based alarm systems. Currently tested using a Ajax Systems alarm system. If you have other systems please reach out.
Description
This package was created to talk with alarm systems using the SIA protocal, it was tested using a Ajax system, but should support all defined SIA codes. It creates a new thread with a TCP Server or a asyncio coroutine running bound to a host and port, the alarm system acts a client that sends messages to that server and the server acknowledges the messages and call the supplied function.
Config
For threaded:
from pysiaalarm import SIAClient, SIAAccount
For asyncio:
from pysiaalarm.aio import SIAClient, SIAAccount
The SIAClient takes these arguments:
host: if there is a specific host to talk to, usually has ‘’ for localhost.
port: the TCP port your alarm system communicates with.
accounts: list of type SIAAccount that are to be allowed to send messages to this server
function: a function that will be called for every event that it handles, takes only a SIAEvent as parameter and does not pass back anything.
SIAAccount takes these arguments:
account_id: the account id as 3-16 ASCII hex characters.
[optional] key: encryption key specified in your alarm system 16, 24, or 32 ASCII characters
[optional] allowed_timeband: encrypted messages have a timestamp and those are checked against this timeband, by default the timestamp is allowed between -40 and +20 seconds comparing the timestamp in the message and the current timestamp of the system running the server.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pysiaalarm-2.0.9b4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbb26becd265c78a68730b4cbfa04f42260a9a3c8cf1e3c03b22b98be03dcd0f |
|
MD5 | c8902848ca0f5e4ab40c10d3bc61eae2 |
|
BLAKE2b-256 | aecfb0ad04db283952d10d373af2e399cd324bdcae3820be629e4ceac49eefa8 |