HomeAssistant Support for Paradox Alarms using the Paradox Home Automation Integration Module (PRT3)
Note: You'll need Node.JS for this project to run. See: https://nodejs.org. You'll also need a MQTT broker. I use Mosquitto, however, the built-in mqtt broker in Home Assistant should work fine.
- Once downloaded, install this plugin using: npm install --unsafe-perm
- Update your configuration file. See bellow for a sample
- You do not need to update the name in the zone configuration - if left blank, it will autopopulate from the panel
- Note: This app must be run as a user with dial-out permissions or it won't be able to open the serial port
- Add mqtt section to your configuration.yaml. Use autodiscovery option
- Once this app is run, you should now see your paradox modules as sensors in HomeAssistant
Optional: You can use forever/forever-service to install this as a system service.
Configuration sample:
var configuration = {
mqttAddress: "mqtt://localhost",
mqttUsername: "username",
mqttPassword: "password",
baudRate: 57600,
device: "ttyUSB0",
areaCount: 1,
userCount: 3, // NOT CURRENTLY USED (just reads user names from the panel)
panelUserCode: "1234",
zoneConfiguration: {
1: {"name": "", "device_class": "motion"},
2: {"name": "", "device_class": "motion"},
3: {"name": "", "device_class": "door"},
4: {"name": "", "device_class": "motion"},
5: {"name": "", "device_class": "motion"},
6: {"name": "", "device_class": "door"},
7: {"name": "", "device_class": "door"},
8: {"name": "", "device_class": "problem"},
9: {"name": "", "device_class": "window"},
10: {"name": "", "device_class": "window"},
11: {"name": "", "device_class": "window"},
12: {"name": "", "device_class": "problem"}
},
pgmConfiguration: {
1: {"name": "TestPGM1", "device_class": "problem"} // Delete this line if no Virtual PGMs
},
virtualZoneConfiguration: {
1: {"panelZone": 12} // delete this line if no virtual zones
}
}
To get zone information, send an empty message to paradox_evo/alarm/status/zone
.
To get area (panel) information, send an empty message to paradox_evo/alarm/status/area
.
Configuration.yaml
# Sample MQTT Alarm Panel for Area 1
alarm_control_panel:
- platform: mqtt
state_topic: "paradox_evo/alarm/area/1"
command_topic: "paradox_evo/alarm/area/1/set"
name: "Paradox Evo"
payload_disarm: "DISARM"
payload_arm_home: "ARM"
# Sample MQTT Virtual Zone
switch:
- platform: mqtt
name: "Test Virtual Switch"
state_topic: "paradox_evo/alarm/virtual_zone/1"
command_topic: "paradox_evo/alarm/virtual_zone/1/set"
payload_on: "OPEN"
payload_off: "CLOSED"
# Sample state reload after HASS restart
automation:
- alias: "State reload on HA start-up"
trigger:
platform: homeassistant
event: start
action:
- service: mqtt.publish
data:
topic: "paradox_evo/alarm/status/zone"
payload: ""
- service: mqtt.publish
data:
topic: "paradox_evo/alarm/status/area"
payload: ""
Groups.yaml
paradox_overview:
name: Paradox Alarm
entities:
- alarm_control_panel.paradox_evo
- binary_sensor.motion_sensor_1
- binary_sensor.door_contact_1
Virtual PGMs entity name will be binary_sensor.paradox_vpgm