I got the code installed and can view sensor status and arm/disarm, but I can work out how to trigger a panel PGM to open my gate. Can anyone share sample setup code?
Updated the project. Just added unique_id, device registration entries. Paradox alarm will show as a device in MQTT config and you should now be able to customize entities from the HASS GUI.
Hi,
@DaveOke great script, thanks for it.
here are my steps to run nodeJS ParadoxHassMQTT app on hass.io ( in my case on RPI4)
-
first step is to install portainer addon
GitHub - hassio-addons/addon-portainer: Portainer - Home Assistant Community Add-ons -
create a portainer image
portainer:
add container
name: pdx_for_image
image: alpine
commands&logging: interactive&tts
restart policy: always
runtime&resources.add devices: /dev/ttyUSB0 /dev/ttyUSB0
=> deploy
container.exec console
/bin/ash
root
=>connect to container
- test & run the app
apk add --update npm
adduser root dialout
cd tmp
apk add --no-cache nodejs
apk add --no-cache make gcc g++ python2 linux-headers udev
wget https://github.com/DaveOke/ParadoxHassMQTT/archive/master.zip
unzip master.zip
cd ParadoxHassMQTT-master
npm install --unsafe-perm
edit settings in app.js
node app.js
now, the app should starts and shows something like this:
Serial Port: ttyUSB0 opened.
Registering Zone: home_door with HA with payload: {ânameâ:âPDX2_DOORâ,âdevice_classâ:âdoorâ,âstate_topicâ:âhomeassistant/binary_sensor/dvere/stateâ,âunique_idâ:âdvereâ,âdeviceâ:{âidentifiersâ:[âParadox_EVO_0x123abcâ],ânameâ:âParadox Alarm Panelâ,âmanufacturerâ:âParadoxâ,âmodelâ:âEVO 192â}}
MQTT Connected!
Sending default status for: home_door, Status: C
done
troubleshooting hints, testing serialport library:
npx @serialport/list
npx @serialport/terminal -p /dev/ttyUSB0 (here you should see commands from Paradox)
- last step: how to start the script when hass restarts
container stop
in container detail â create image
give it a name like pdx_image
->create
add container
image: pdx_image (our alpine image with the installed app)
name: pdx
command: node /tmp/ParadoxHassMQTT-master/app.js
this line starts the app when container starts
commands&logging: interactive&tts
restart policy: always
runtime&resources.add devices: /dev/ttyUSB0 /dev/ttyUSB0
=> deploy
thatâs all
go to logs and there you can see console output
What is the process to update when we already have the setup working on an older version?
Thank you!
Thanks for this nice script and the update.
Unfortunately the log stops always after registering the zones and sending the default status without connecting to MQTT.
I have the following message between registering the zones and sending the default status
,Unknown message from panel: UL001Philippe
,Unknown message from panel: AL001
Any advice?
Same here, only with the « arm home ».
With « arm » or « arm away » it report correctly.
Hello,
I need some advice from you guys!
I want to pair the system so that it works together. Paradox with PRT3 module with HA on Pi3.
So I connect both systems with usbA-usbB cable.
From paradox âBabywareâ settings:
From HA PAI settings:
And I get communication error from PAI logs:
2021-08-24 16:39:40,938 - INFO - PAI.paradox.connections.serial_connection - Connecting to serial port /dev/ttyUSB0
2021-08-24 16:39:40,951 - INFO - PAI.paradox.connections.serial_connection - Serial port open
2021-08-24 16:39:40,957 - INFO - PAI.paradox.paradox - Connecting to Panel
2021-08-24 16:39:45,983 - ERROR - PAI.paradox.paradox - Timeout while connecting to panel. Is an other connection active?
2021-08-24 16:39:45,986 - ERROR - PAI - Unable to connect to alarm
2021-08-24 16:40:16,016 - INFO - PAI - Starting...
2021-08-24 16:40:16,017 - INFO - PAI.paradox.paradox - Disconnecting from the Alarm Panel
2021-08-24 16:40:16,026 - INFO - PAI.paradox.paradox - Clean Session
2021-08-24 16:40:16,030 - INFO - PAI.paradox.paradox - Cleaning previous session. Closing connection
2021-08-24 16:40:16,060 - ERROR - PAI.paradox.connections.protocols - Connection was closed: None
2021-08-24 16:40:16,064 - ERROR - PAI.paradox.connections.serial_connection - Connection to panel was lost
2021-08-24 16:40:16,071 - INFO - PAI.paradox.paradox - Disconnected from the Alarm Panel
2021-08-24 16:40:16,073 - INFO - PAI.paradox.paradox - Connecting to interface
2021-08-24 16:40:16,078 - INFO - PAI.paradox.connections.serial_connection - Connecting to serial port /dev/ttyUSB0
2021-08-24 16:40:16,091 - INFO - PAI.paradox.connections.serial_connection - Serial port open
2021-08-24 16:40:16,097 - INFO - PAI.paradox.paradox - Connecting to Panel
What Iâm doing wrong?
Do I need USB-TTL adapter?
Maybe my PRT configuration is incorrect?
I try with different baud rate settings and change different protocols, try with disabled LAN on IP150âŠ
I also had communications issues at first and it turned out that the settings that I was entering into the alarm system through the software wasnât actually applying on the system.
It finally worked when I entered them directly on the control panel.
FYI, Iâm also using a USB cable A-B and itâs working correctly.
Iâm currently running Home Assistant Core on a Pi4, but I also runned with success on a Pi3 in the past.
Also, see bellow my config in app.js file for serial communication.
Good luck!
Hey guys, Iâm noob at this and was wondering if I could use Shelly UNI to connect it to serial (EVO192) and then connect it to HA by mqtt or regular shelly integration. Found few other solutions by using official IP150+ which is very expensive or building up Eth/USB with Arduino dmylnka/Paradox-Ethernet-USB-Interface: Paradox Ethernet - USB Interface(github.com)
worked perfectly! Great Manual.
Only thing that is not working: any arm or disarm from the Blue Eye App or at the panel does not refresh the status in HA. Any idea?
npx @serialport/terminal -p /dev/ttyUSB0 (here you should see commands from Paradox)
what kind of commands do you see?
same problem here. Any idea?
Hello [GiZMoSK], when I activate the serial port I cannot listen parallel npx @serialport/terminal -p /dev/ttyUSB0. It says the serial port is already connected. Any idea?
One more thing: I have figured out that activation and deactivation my BlueEye or by Babyware is done by a User âSoftwareâ I think this leads to a different message, such as âdisarmed by Softwareâ. I guess this is the reason.
I git it working with well with the setup from [GiZMoSK] in Portainer, some minor adjustments.
- I use normal Hassio setup on RPi4 and Hassio Image.
- you need to install Node and npm in your Docker otherwise ânpm install --unsafe-permâ won`t work. I used this https://www.instructables.com/Install-Nodejs-and-Npm-on-Raspberry-Pi/
- for the final Container I used instead of âcommand: node /tmp/ParadoxHassMQTT-master/app.jsâ following âcommand: /usr/bin/node /tmp/ParadoxHassMQTT-master/app.jsâ
My app.js (i only got mqtt working with full server link, no localhost):
var configuration = {
mqttAddress: "mqtt://core-mosquitto.local.hass.io",
mqttUsername: "xxx",
mqttPassword: "xxx",
baudRate: 57600,
device: "ttyUSB0",
areaCount: 2,
userCount: 10, // NOT CURRENTLY USED (just reads user names from the panel)
panelUserCode: "xxxx",
zoneConfiguration: {
1: {"name": "", "device_class": "moisture"},
2: {"name": "", "device_class": "moisture"},
4: {"name": "", "device_class": "smoke"},
8: {"name": "", "device_class": "tamper"},
10: {"name": "", "device_class": "door"},
11: {"name": "", "device_class": "motion"},
12: {"name": "", "device_class": "motion"},
13: {"name": "", "device_class": "motion"},
14: {"name": "", "device_class": "motion"},
15: {"name": "", "device_class": "motion"},
16: {"name": "", "device_class": "smoke"},
17: {"name": "", "device_class": "smoke"},
18: {"name": "", "device_class": "moisture"},
19: {"name": "", "device_class": "moisture"},
20: {"name": "", "device_class": "window"},
21: {"name": "", "device_class": "window"},
22: {"name": "", "device_class": "window"},
23: {"name": "", "device_class": "window"},
25: {"name": "", "device_class": "smoke"},
26: {"name": "", "device_class": "smoke"},
26: {"name": "", "device_class": "moisture"},
},
pgmConfiguration: {
1: {"name": "Haus (Area1)", "device_class": "safety"},
2: {"name": "Wasser/Feuer (Area 2)", "device_class": "safety"},
3: {"name": "Trouble", "device_class": "problem"},
4: {"name": "vZone30", "device_class": "motion"},
},
virtualZoneConfiguration: {
1: {"virtuelle Zone": 30} // delete this line if no virtual zones
}
}
// Start the paradox bridge
var connector = new ParadoxConnector(configuration);
great work from GiZMoSK.
glad to hear, that manual still works. However it is interesting Iâm not able tu run it on rpi4 with hassio in container. Hassio refuses using USB port.
So iâm using this approach on dedicated rpi4 for paradox