Hassio add-on, Python and MQTT bindings for controlling a Paradox alarm via the IP150 web interface V3.
For best results, requires a Paradox IP150S with a firmware below 4.x. 1.x seems to work the best. It is worth considering to have your IP150S use the DNS from your router and then block access to 54.165.77.37 and upgrade.insightgoldatpmh.com as IP150's have been known to upgrade their firmware automatically.
https://community.home-assistant.io/t/paradox-alarm-mqtt-hassio-addon/38569
This add-on will run an mqtt interface for the Paradox ip150 module, via the ip150 web interface.
You can try it out by getting ssh access to your hassio installation, then
cd /addons
git clone https://github.com/alfredopironti/Paradox_IP150.git paradox_ip150_mqtt
If installing in the /addons directory does not work, please try using the /addons/local directory, as different users seem to have different mileage on this.
Then go to the homeassistant home page: click on Hass.io in the menu; then on the add-on store tab. The add-on should appear in the local add-ons list.
Configure the IP address of your mqtt broker and ip150 module, set panel code and password, and you should be good to go.
There is currently no logging displayed from the hass.io addon when the addon is working correctly. Errors for the hass.io addon are only displayed when the addon is configured incorrectly.
Make sure you have an MQTT broker running, for instance by using Hass.io integrations. Also, the IP150 module only works with a self-signed certificate, which offers little protection over plaintext. Hence, the recommended setup is to:
- Disable remote access to the IP150 module on your router
- Configure the IP150 module to work via HTTP (port 80)
- You can still arm, disarm and see if the alarm triggered via the Home Assistant interface, which can be securely accessed remotely
Then:
{
“IP150_ADDRESS”: “http://[IP-OF-IP150]”,
“PANEL_CODE”: “[mastercode]”,
“PANEL_PASSWORD”: “[webpassword]”,
“MQTT_ADDRESS”: “mqtt://[IP-OF-MQTT-BROKER]”,
“MQTT_USERNAME”: “MQTT_user”,
“MQTT_PASSWORD”: “MQTT_pwd”,
“ALARM_PUBLISH_TOPIC”: “paradox/alarm/state”,
“ALARM_SUBSCRIBE_TOPIC”: “paradox/alarm/cmnd”,
“ZONE_PUBLISH_TOPIC”: “paradox/zone/state”,
“CTRL_PUBLISH_TOPIC”: “paradox/ctrl/state”,
“CTRL_SUBSCRIBE_TOPIC”: “paradox/ctrl/cmnd”
}
alarm_control_panel:
- platform: mqtt
name: "House Paradox"
state_topic: “paradox/alarm/state/1”
command_topic: “paradox/alarm/cmnd/1”
qos: 1
availability_topic: "paradox/ctrl/state"
payload_available: "Connected"
payload_not_available: "Disconnected"
payload_disarm: “DISARM”
payload_arm_home: “ARM_HOME”
payload_arm_away: “ARM_AWAY”
#ARM_HOME = Arm_sleep @Line48 ip150.mqtt.py -- this will change in future releases
type: alarm-panel
states:
- arm_home
- arm_away
entity: alarm_control_panel.house_paradox
name: Alarm
binary-sensor:
- platform: mqtt
state_topic: “paradox/zone/state/2”
name: “Study”
qos: 1
payload_on: “on”
payload_off: “off”
availability_topic: "paradox/ctrl/state"
payload_available: "Connected"
payload_not_available: "Disconnected"
#Repeat for other Zones/Openings in your setup