Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysiaalarm-2.0.9b4-py2.py3-none-any.whl (24.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pysiaalarm-2.0.9b4-py2.py3-none-any.whl.

File metadata

  • Download URL: pysiaalarm-2.0.9b4-py2.py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7

File hashes

Hashes for pysiaalarm-2.0.9b4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dbb26becd265c78a68730b4cbfa04f42260a9a3c8cf1e3c03b22b98be03dcd0f
MD5 c8902848ca0f5e4ab40c10d3bc61eae2
BLAKE2b-256 aecfb0ad04db283952d10d373af2e399cd324bdcae3820be629e4ceac49eefa8

See more details on using hashes here.

Supported by

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