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.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9330d129a2199ae7d18a25fba81318383a0775717068864eb9988997e29a8144 |
|
MD5 | 7b79891afc1047d8754967857cfa00ce |
|
BLAKE2b-256 | 32e80fff72fd17dccb93c3959d73bc2b9d5fff8b15d2dcda2561d8a368736361 |