Skip to content
SIA alarm systems integration into Home Assistant
Branch: master
Clone or download
Pull request Compare This branch is 25 commits ahead of Cheaterdev:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode mapped to hacs blueprint Sep 5, 2019
custom_components/sia fixes for #8 and #9 Jan 7, 2020
.gitattributes Initial commit Feb 28, 2019
.gitignore fix for #3 Sep 23, 2019 mapped to hacs blueprint Sep 5, 2019
LICENSE mapped to hacs blueprint Sep 5, 2019 small readme fix Sep 15, 2019
SIA Codes.xlsx major updates to the component, with breaking config changes Sep 9, 2019
SIA_code.pdf v1 with control panel, so you can use the visuals Sep 5, 2019
codes.csv black and changed logging Sep 5, 2019
codes.pdf black and changed logging Sep 5, 2019
hacs.json added hacs.json Sep 5, 2019 update to beta version Sep 26, 2019


Component to integrate with SIA, based on CheaterDev's version.

This component will set up the following platforms.


This integration may be unsecure. You can use it, but it's at your own risk. This integration was tested with Ajax Systems security hub only. Other SIA hubs may not work.

Platform Description
binary_sensor A smoke or moisture sensor.
alarm_control_panel Alarm panel with the state of the alarm.
sensor Sensor with the last heartbeat message from your system.


  • Alarm tracking with a alarm_control_panel component
  • Optional Fire/gas tracker
  • Optional Water leak tracker
  • AES-128 CBC encryption support

Hub Setup(Ajax Systems Hub example)

  1. Select "SIA Protocol".
  2. Enable "Connect on demand".
  3. Place Account Id - 3-16 ASCII hex characters. For example AAA.
  4. Insert Home Assistant IP adress. It must be visible to hub. There is no cloud connection to it.
  5. Insert Home Assistant listening port. This port must not be used with anything else.
  6. Select Preferred Network. Ethernet is preferred if hub and HA in same network. Multiple networks are not tested.
  7. Enable Periodic Reports. The interval with which the alarm systems reports to the monitoring station, default is 1 minute. This component adds 30 seconds before setting the alarm unavailable to deal with slights latencies between ajax and HA and the async nature of HA.
  8. Encryption is on your risk. There is no CPU or network hit, so it's preferred. Password is 16 ASCII characters.


  1. Click install.
  2. Add at least the minimum configuration to your HA configuration, see below.

Minimum config

This is the least amount of information that needs to be in your config. This will result in a sensor.hubname_last_heartbeat being added after reboot. Dynamically any other sensors are added.

  port:  port
    - name: hubname
      account: account

Full configuration

  port:  port
    - name: hubname
      account: account
      encryption_key: password
      ping_interval: pinginterval
        - zone: 1
          name: zonename
           - alarm
           - moisture
           - smoke

Configuration options

Key Type Required Description
port int True Port that SIA will listen on.
hubs list True List of all hubs to connect to.
name string True Used to generate sensor ids.
account string True Hub account to track. 3-16 ASCII hex characters. Must be same, as in hub properties.
encryption_key string False Encoding key. 16 ASCII characters. Must be same, as in hub properties.
ping_interval int False Ping interval in minutes that the alarm system uses to send "Automatic communication test report" messages, the HA component adds 30 seconds before marking a device unavailable. Must be between 1 and 1440 minutes.
zones list False Manual definition of all zones present, if unspecified, only the hub sensor is added, and new sensors are added based on messages coming in.
zone int False ZoneID, must match the zone that the system sends, can be found in the log but also "discovered"
name string False Zone name, is used for the friendly name of your sensors, when you have the same sensortypes in multiple zones and this is not set, a _1, _2, etc is added by HA automatically.
sensors list False a list of sensors, must be of type: alarm, moisture (HA standard name for a leak sensor) or smoke

ASCII characters are 0-9 and ABCDEF, so a account is something like 346EB and the encryption key is the same but 16 characters.

You can’t perform that action at this time.