ParadoxMqtt32Paradox events and control using ESP32

联合创作 · 2023-09-26 09:30

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



  1. Added datetime to E0 message

  2. code cleanup and bug fixes


20210208



  1. Swaped out for tzapu/WiFiManager as ESP_Wifimanager was causing wifi dorps

  2. Added support for 6 digit codes.


202101



  1. Added ACFailure topic. Can be used to get ACfailure events.


202012



  1. Fixed partition reporting

  2. Fixed bypass command not bypassing zones above 10

  3. Fixed Setdate command, uses NTP to get date and sets panel date time.

  4. Moved Status messages command to new topics under topic/status

  5. Added partition to topics

  6. Many bugs squashed.

  7. Fixed OTA (over the air) updating.


20200126:



  1. Added ArmStatus: pending when exit delay

  2. 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



  1. Add homekit support

  2. Add support for sim700 GSM so project can be used as gsm dialer.

  3. Add ademco signaling for reporting station support.

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报