Paradox SP6000 integration (without IP150)

I recently decided to integrate my 10+ year old Paradox SP6000 based alarm system into Home Assistant.

Marageli’s ParadoxRs232toMqtt code is the base of this integration. It is relatively well documented but some key things to note:

  • You will need ArduinoJson lib v5.x (in addition to the other libraries). V6.xx does not work.
  • The “subcode” to disarm my SP6000 was 2 instead of 3.

I made a small PCB that would connect to the serial header on the alarm’s PCB. I used a LD33CV for the 3.3v rail and then added a voltage divider (2k2ohm and 4k7ohm) onto the RX line from the alarm to get the 5v logic down to about 3.4v as shown here:
Drawing1

After downloading, compiling and uploading the code onto a generic ESP 8266, I put the ESP onto the daughterboard that I made and connected it onto the connector labeled “serial” on the top right hand side of the alarm PCB.

On first boot, the ESP will boot into AP mode so you’ll need to connect to the “paradoxdCTL” network and feed it your WiFi and MQTT server details. Once this is complete, I used MQTT Explorer to confirm that it was communicating with the MQTT broker.

Woohoo! We have communication!
index

Then, all that was left was to setup the alarm in HA. I setup six zones (including their names) and added a switch to arm/disarm the alarm. I managed to arm the alarm from HA but could not disarm it. Thanks to MQTT Explorer, I noticed that the subcommand 2 was sent back to the broker when I manually disarmed the alarm so I updated that (from 3) and it worked!

switch:
  - platform: mqtt
    unique_id: alarm_control
    name: "Alarm Status"
    state_topic: "paradoxdCTL/hassio/Arm"
    command_topic: "paradoxdCTL/in"
    payload_off: '{"password":"1234","Command":"disarm","Subcommand":"2"}'
    payload_on: '{"password":"1234","Command":"arm","Subcommand":"0"}'
    state_on: "armed_away"
    state_off: "disarmed"

sensor:
  - platform: mqtt
    name: "Alarm Status"  
    state_topic: "paradoxdCTL/hassio/Arm"
  - platform: mqtt
    name: "Front Door"  
    state_topic: "paradoxdCTL/hassio/zone1"
  - platform: mqtt
    name: "Lounge Beam"
    state_topic: "paradoxdCTL/hassio/zone2"
  - platform: mqtt
    name: "Bedroom Beam"    
    state_topic: "paradoxdCTL/hassio/zone3"
  - platform: mqtt
    name: "Balcony Door"
    state_topic: "paradoxdCTL/hassio/zone4"
  - platform: mqtt
    name: "Bedroom windows"
    state_topic: "paradoxdCTL/hassio/zone5"
  - platform: mqtt
    name: "Balcony Beam"
    state_topic: "paradoxdCTL/hassio/zone6"

The money shot!

2 Likes

Hi There

Thank you for sharing this post, I am following to try and integrate into my own Paradox-SP6000 at my house.

The problem is I am very new to Home Automation. (My HA has only been running for 2 weeks :smiley:

I got myself a NodeMCU ESP32 development board, and noticed there is an updated repository from the developer of the code (GitHub - maragelis/ParadoxMqtt32: Paradox events and control using ESP32).

So I got Visual Studio Code up with Platform.io up and thought it was going to be easy to just do the flashing, but I have been battling.

From what I could gather (from my limited knowledge) was that the wifimanager library no longer existed. tzapu/WiFiManager@^2.0.4-beta. So what I see now on github is version 0.16.0 being the latest so I changed it to in the platformio.ini file.
Now I get this error “.pio/libdeps/esp32doit-devkit-v1/WiFiManager/WiFiManager.h:16:25: fatal error: ESP8266WiFi.h: No such file or directory” and for the life of me, I dont know how to fix it.

Any advise would be appreciated.