ParadoxMqtt32Paradox events and control using ESP32
ParadoxMqtt32
This project uses an ESP32 to read the events of the serial bus on Paradox alarm systems and send them to an MQTT server
Making a connection
Connect the panel: -Connect Alarm system serial to ESP32 using RX2/TX2 of ESP32
Arduino IDE settings
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.
MQTT Topics
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 |
HomeAssistant MQTT Topics
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
Sending commands
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
Subcommands depending on the main command
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 |
Release Logs
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.
Next Steps
- Add homekit support
- Add support for sim700 GSM so project can be used as gsm dialer.
- Add ademco signaling for reporting station support.