Skip to content

esp8266, serial bus to mqtt for Paradox alarm systems

License

Notifications You must be signed in to change notification settings

kocsisj/ParadoxRs232toMqtt

 
 

Repository files navigation

ParadoxRs232toMqtt

This project uses a WEMOS ESP8266 to read the events of the serial bus on Paradox alarm systems and send them to an MQTT server

Making a connection

There are 2 ways to connect the devices together:

  • Alarm system serial to WEMOS through RX/TX
  • paradoxTX into GPIO15 (WEMOS D8), paradoxRX to GPIO13 (WEMOS D7), using serial_swap 1

Arduino IDE settings

Edit the PubSubClient.h header file and change MQTT_MAX_PACKET_SIZE to 256

Libraries:

  • Arduino Core 2.4.1
  • WifiManager by tzapu 0.12.0
  • PubSubClient by Nick O`Leary 2.6.0

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 WEMOS board, connect to it's Wi-Fi (paradoxdCTL), 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
paradoxdCTL/out All alarm event messages
paradoxdCTL/status The program messages
paradoxdCTL/in Input topic

HomeAssistant MQTT Topics

Topic Notes
paradoxdCTL/hassio/Arm/zoneX Where x is zone number from 1-32
paradoxdCTL/hassio/Arm/zoneX Gives values ON/OFF
paradoxdCTL/hassio/Arm Gives values: disarmed, armed_home, armed_away, triggered

Sending commands

The command payloads are in JSON. Template:

{
 "password":"1234",
 "Command":"arm",
 "Subcommand":"0"
}

The password is the user's 4 digit password.

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 partition
bypass The zone number from 0 to 31
panelstatus panel data
panelstatus panel voltage and battery data

Release Logs

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.

About

esp8266, serial bus to mqtt for Paradox alarm systems

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 100.0%