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.8-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef1d11d9d01635d9dbb490c889bfa5c0f647201fff77d19cfaad2290cd4e375f |
|
MD5 | 8cdba1c9be9f83106a5430c4cd454d2a |
|
BLAKE2b-256 | 438cb9fba84f10969391b1b6ef930c1a4812942782ba14f32ee7ef8da142b3a0 |