Paradox Alarm MQTT Hassio addon

Don’t have neither of those outputs I think… how can I confirm I do have the needed hardware installed? My alarm panel is the EVO192

Sorry not familiar with the EVO panels. on my SP6000, the main board has 5 pgm outputs out of which 2 are used for the bell and alarm strobe respectively. That leaves me 3 pgm outputs to play with. On my RTX3 panels I have 4 pgm outputs. So i have a total of 7 pgm.

It is also possible to add additional pgm outputs to the panels by addon card but i have not found a need to do that at this stage.

Interesting! Apparently I have 4 pgm outputs available, although I think I’m using two already (didn’t install the system myself and don’t have access to the keyboard just now). May I ask how you connect those outputs to HA and read the information off them? Any chance you could provide a detailed description and post the configuration?

I connect the PGMs to an optocoupler which then fed into the NodeMCU which in turn interfaced with HA via MQTT. Will post a video soon.

That’s just great. Please do!! :slight_smile:

That will be great to share your NodeMCU project!
I found another solution. Please check it here

I also create another topic here

Did you went somewhere with that issue? My alarm is getting locks after Alarm log. When i manually clear the log from the system keyboard with Mem > Clear the system start over again with transferring MQTT messages.

Maybe something from the code side is lacking. I was thinking and searching how to disable the event logging. Or may be we should Receiver configuration for reporting…

Hey kitus,

I recently installed this addon myself and I still have a few issues with it. I was getting the same log as you and couldn’t figure out what was wrong. I digged into the addon Python code and it’s simply trying to get your internal “sass” id. Then, I analyzed the Paradox’s HTML code to notice a redirection to the HTTPS version of the IP150 site (which I think is why the addon cannot recover the needed ID to login.)

tl;dr: I fixed it by giving directly the HTTPS IP: “https://192.168.2.xxx:443”.

Hey peter,

I read the Paradox documentation (found here: https://www.paradox.com/Downloader/?ID=7040) and what I think this does is simply reporting your WAN IP to a dyndns service. I kinda wish this was actually a true reporting feature so we could use it to parse the info instead of polling.

I myself have the same “lock” issue. I was able to poll the information once and since then it’s frozen. My status never updates. I’m still debugging it trying to figure out what’s wrong (MQTT, addon or my panel)

Hi @fliptoback, is that offer still open? :slight_smile:

I am also experiencing the “lock” issue. It may last minutes, hours, I really have no idea, but the device freezes the communication and the only way to make it work is unplug the IP module. Do you know a better way?

Hi Kunago,

I still haven’t found a workaround with the current addon but I’ve been experimenting with another avenue: a python script by Tertiush: https://github.com/Tertiush/ParadoxIP150v2. It uses the software port rather than the web version and it seems to be solid. I haven’t started an alarm to see if the lockup still occurs but it’s already working better than the addon for me so far. The sad part: Tertiush’s script doesn’t work on Home Assistant because as per my understanding this script is written for Python 2.7 and hassio only supports Python >3. I’ve tried to convert Tiertiush’s script to a compliant Python 3 script with the ultimate goal to convert it to a hassio addon but sadly it’s quite painful. 2.7 vs 3 is all about handling strings rather than bytes and we have to constantly do the conversion from bytes to string and vice-versa. I only had a few days of vacation and I thought I could get it to work within a day… no dice. :frowning: I didn’t give up on it but I just haven’t got much time (I work a lot…) https://github.com/alexricher/ParadoxIP150v2_Hassio

Long story short, I run the script on another machine and update the MQTT server on my hassio machine. I got a few zones to report their info properly but I still cannot get the alarm state working. Overall, it’s promising though. :slight_smile:

@alexricher Why couldn’t you create a virtualenv with python2, run mqtt with ParadoxIP150v2 there and still use python3 for Home assistant? I am running my Home assistant in hass distro and see the possibility there at least. Hassio was unstable in my case.

Everything is working fine for me but I can’t figure out why this plugin stops working every time my house loses internet connection?
That’s shouldn’t be related

Hi RKor,

There was an issue in the way errors were handled: if internet connection was lost, my addon would disconnect from the IP150 module, but not from the MQTT server. As a result, on HA the alarm would seem available, but neither the state was updated, nor commands could be issued.

This should now be fixed in the v 0.3 of the add-on, which is pushed on github. You still need to install it as a local add-on. Sorry for the inconvenience!

1 Like

Hi, I’d be interested in better understanding the issue you’re experiencing when the system enters into an alarm state. This is something I programmed based on my understanding of what happens when an alarm triggers, but can not test for practical reasons.

A useful debugging setup is to disable the hassio add-on, and instead run the code from a console. If you git pull the current repository and set up virtualenv, the following command:

python ip150_mqtt.py

runs the same code as the add-on, but you see any errors or exceptions on the command line.

I also like to run a mosquitto_sub on another shell, so I can see which messages are sent.

Also, it could be useful to see a screenshot of the web GUI when it’s in alarm (and a dump of its HTML code would be ideal). That should be a decent starting point to understand what goes wrong when the system goes in alarm.

Thanks!

Hi Alfredo,

Really glad you’re still updating/enhancing the plugin, I have now updated to 0.3 and only time will tell if it stays up and connected.
Thank you

One problem that I’ve always had with it, arming and disarming through hassio has never worked for me for some reason.
This is my config.yaml entry

alarm_control_panel:

  • platform: mqtt
    name: House Paradox
    state_topic: “paradox/alarm/state/1”
    command_topic: “Paradox/C/P1”
    code: ‘5555’
    payload_disarm: “DISARM”
    payload_arm_home: “ARM_HOME”
    payload_arm_away: “ARM_AWAY”

Hi RKor,

You’re totally right, only time will tell! If things work properly, the add-on should now report the alarm panel as unavailable as soon as the network connection goes down, and keep re-trying to connect to the IP150 every 20 seconds (this time was picked as it’s the shortest which ensures you’d be logged off from the IP150 module, so you can re-start the full process, including login).

Re: the configuration issue, you need to make sure that the MQTT topics in the config.yaml and the add-on config match exactly. In my case, in my config.yaml file I have, among others, the following lines:

    state_topic: "paradox/alarm/state/1"
    command_topic: "paradox/alarm/cmnd/1"
    name: "Paradox"
    qos: 1
    availability_topic: "paradox/ctrl/state"

in the add-on config, I have:

  "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"

you see how certain topics have to match, or it won’t work.

I appreciate this is a bit of a pain. Ideally, the code I wrote for the add-on would be embedded as an HA component, and all this MQTT nonsense would disappear. Sadly, at the moment I don’t have neither the time nor the experience to turn the existing code into an HA component, although I’d love to see that happen!

Hope this helps!

1 Like

My friend that worked perfectly!

For some reason it wouldn’t work with availability_topic: “paradox/ctrl/state” so I removed it and I can now arm & disarm my alarm through hassio

My internet got disconnected today and the plugin reconnected to alarm without any issues :smiley:

Happy days!
Thank you so much!

@alexricher how did you managed to connect to the MQTT?
I am using the built in MQTT server?
Can you write a basic installation and configuration instructions? I even can not connect to the MQTT server :slight_smile:

Here is my error log:
reading config
Traceback (most recent call last):
File “IP150-MQTTv2.py”, line 2063, in
client.connect(MQTT_IP, MQTT_Port, MQTT_KeepAlive)
File “/usr/lib/python3.6/site-packages/paho/mqtt/client.py”, line 768, in connect
return self.reconnect()
File “/usr/lib/python3.6/site-packages/paho/mqtt/client.py”, line 895, in reconnect
sock = socket.create_connection((self._host, self._port), source_address=(self._bind_address, 0))
File “/usr/lib/python3.6/socket.py”, line 724, in create_connection
raise err
File “/usr/lib/python3.6/socket.py”, line 713, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “IP150-MQTTv2.py”, line 2080, in
logging.error(“MQTT connection error (” + str(attempts) + ": " + e)
TypeError: must be str, not TimeoutError