This project uses an ESP32 to read the events of the serial bus on Paradox alarm systems and send them to an MQTT server
Connect the panel:
-Connect Alarm system serial to ESP32 using RX2/TX2 of ESP32
Set the Hassio flag to 1 for Home assistant, and check out the wiki (Home Assistant in V2)
The 37 byte message is broken down into a json message with "Event Group" and "Sub-group", and one more dummy attribute which is the zone/partition label.
See the wiki for more info on Groups and Sub-groups
After flashing the ESP board, connect to it's Wi-Fi (paradox32CTL password: configParadox32), open the 192.168.4.1 IP address in your browser, input your Wi-Fi credentials and MQTT server address. That's all.
Topic | Notes |
---|---|
paradox32CTL/out | All alarm event messages |
paradox32CTL/status | The program messages |
paradox32CTL/status/ACFailure | ACFailure if true there is a ACFailure |
paradox32CTL/in | Input topic |
Topic | Notes |
---|---|
paradox32CTL/hassio/y/zoneX | Where x is zone number from 1-32 |
paradox32CTL/hassio/y/zoneX | Gives values ON/OFF |
paradox32CTL/hassio/Arm/y | Gives values: disarmed, armed_home, armed_away, triggered |
y is the partition always 0 in single partition systems
The command payloads are in JSON. Template:
{
"password":"1234",
"Command":"arm",
"Subcommand":"0"
}
The password is the user's 4/6 digit password. set USE6DigitCode true in main.h file
A command can be any of the following:
- arm
- disarm
- sleep
- stay
- bypass
- armstate
- panelstatus
- setdate
- PGM_ON
- PGM_OFF
Main Command | Subcommand |
---|---|
arm,sleep,disarm | 0-1 partition |
bypass | 0-31 zone number -1 |
panelstatus | '0' panel data |
panelstatus | '1' Partition state & zone status |
20210210
- Added datetime to E0 message
- code cleanup and bug fixes
20210208
- Swaped out for tzapu/WiFiManager as ESP_Wifimanager was causing wifi dorps
- Added support for 6 digit codes.
202101
- Added ACFailure topic. Can be used to get ACfailure events.
202012
- Fixed partition reporting
- Fixed bypass command not bypassing zones above 10
- Fixed Setdate command, uses NTP to get date and sets panel date time.
- Moved Status messages command to new topics under topic/status
- Added partition to topics
- Many bugs squashed.
- Fixed OTA (over the air) updating.
20200126:
- Added ArmStatus: pending when exit delay
- Added Event 29 (because of change pending status to arm_away after exit delay)
20190212:
- Added retain message on hassio/Arm topic
- Added the ability to add credentials to mqtt.
- Added Homekit topic for Homebridge plugin. (comming soon).
20190130: added PGM support (command "PGM_ON" subcomand "0-31)
20190114: V2 Live (Homeassistant)
20190104: Added wiki Node-red v2 flow
20190103: Added v2 test branch (stable working)
20180804: Wiki added Home Assistant Config (works with node-red)
20180721: Changed to user based password, use the same 4 digit code used on panel for control.
Continue reading the wiki for more information.
- Add homekit support
- Add support for sim700 GSM so project can be used as gsm dialer.
- Add ademco signaling for reporting station support.