Home - ParadoxAlarmInterface/pai GitHub Wiki
Paradox Alarm Interface (PAI)
Requirements
- Your panels PC Password
- Serial or IP150 connection.
- Check user reported compatibility.
Structure
-
Panels : Represents a generic panel that is realized by classes adequate to the specific model (MG/SP/EVO)
-
Paradox: Object that interfaces with the panel and keeps some internal state. Accepts commands to control partitions, zones and outputs. Exposes states, changes and events
-
Interfaces: Expose interfaces to the outside world. Currently, MQTT (with Homekit support), Signal, Pushbullet and IP (IP150 emulation) are supported, but others are planned and almost any other is supported.
-
Connections: Handle communications with the panel, at a lower level. Currently, both Serial and IP connections are supported.
Interfaces
Interfaces provide the means to interact with PAI and the alarm panel.
MQTT
This is main interface for communication with other systems. Details: MQTT Interface
Homebridge and Homekit through MQTT
This interface also provides an integration with Homebridge, when using the homebridge-mqttthing plugin. See Homebridge
Home Assistant
Home Assistant with MQTT autodiscovery supported. See Home Assistant
OpenHAB via MQTT
See OpenHAB
MQTT Dash
This interface will publish a simple dashboard to metrics/exchange/pai
in a format that is readily parsed by MQTT Dash. This will happen after the interface knows at least two Partitions. If you have only one partition, nothing will be published. If you have more than 2, only the first two will be used.
To have this dashboard, install MQTT Dash, create a connection, select the connection and click the two arrows on the top right corner. Then select the topic metrics/exchange/pai
and subscribe for changes. The screen should update as shown:
Signal Interface
The Signal Interface allows accessing major state changes and arming/disarming partitions through the WhisperSystems Signal service. You will require the corresponding mobile application in your smartphone. As this interface will produce notifications to other devices, and are destined to users, only a subset of the events are sent.
To send a command to the alarm use the format: type object command
. One example would be: partition outside arm
. If the object
is all, the command will be sent to all objects of the same type (e.g., all partitions, all zones).
Interface with Signal is made through Signal-CLI running in system dbus mode. Follow the instruction to enable Signal-CLI
and it should work automatically. You will require a valid phone number to be allocated to this service.
The configuration setting SIGNAL_CONTACTS
should contain a list with the contacts used for signal notifications. If the list is empty, the Signal module is disabled.
Pushbullet Interface
See Pushbullet
Pushover Interface
See Pushover
GSM SIMXXX Interface
The GSM Interface will notify users of major events through SMS and will accept commands through the same method.
In order to use this interface, please et the relevant configuration settings. The GSM_CONTACTS
setting should contain a list of contacts used for notifications and commands. Only these contacts will be allowed to control the alarm.
To send a command to the alarm use the format: type object command
. One example would be: partition outside arm
. If the object
is all, the command will be sent to all objects of the same type (e.g., all partitions, all zones).
IP Interface (For Legacy Connections to Panel)
The IP Interface mimics an IP150 module, allowing the use of standard alarm management tools to interact with the panel. It supports plain sessions or encrypted session as found in later versions of the IP150 module.
This works in the Following Manner Software to Configure Alarm => PAI:10000 (port configured on container) named "For IP connection from Babyware" => Alarm Panel Conditions
- PAI needs to have an established connection to panel ( see log )
- Configuration Options need to be raised ( see advance configuration options ) (https://github.com/ParadoxAlarmInterface/pai/blob/4885439bbf80d1f168b8c95bc71494479ac32a33/config/pai.conf.example#L232) <- these are native and need to be padded into the config file type you use in Home Assistant:
IP_INTERFACE_ENABLE: true
IP_INTERFACE_PASSWORD = 'paradox'
and in the network section
The port used there for entry into the software you use.
When a client is connected to this interface, PAI will operate as a proxy. Most features and interfaces will be disabled until the client disconnects