Paradox EVO Alarm binding using IP150

Hello, is there anything i can use in order to get my EVO controlled via OH3.0 ? All the posts i’ve seen are like 4y old and do not work for me (for instance, doesn’t succesfully connect to my panel). Many thanks ! Regards, Abel

The Paradox Alarm binding works very well.

Hello Mark, I’m new to bindings…
I’ve used the examples provided and made some progress but i’m hitting this problem :

2023-08-21 18:24:00.608 [INFO ] [doxalarm.internal.model.ParadoxPanel] - Paradox system is supported. Panel data retrieved=ParadoxInformation [panelType=EVO48, serialNumber=030278B1, applicationVersion=Version: 2.16.12, hardwareVersion=Version: 0.0, bootloaderVersion=Version: 2.5.0]
2023-08-21 18:24:00.611 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: Cannot load from byte/boolean array because “zonesLowBattery” is null

Any idea how to fix this ?
Thanks a lot

Hi Abel,

I have developed the Paradox binding. Currently I’m implementing a fix([paradoxalarm] Fix Paradox EVOHD zone parsing fail #10572 by theater · Pull Request #15441 · openhab/openhab-addons · GitHub) for this but to be clear for the issue, I wanted to double check. Is your system EVOHD or EVO192?
Are you willing to test the fix (it’s in the 4.x codeline though which is not compatible with 3.0)?


P.S. As per Jacob’s comment on the PR it seems you’re running Evo48 which should not be affected by the bug as far as I see. Could you please upload some logs in debug level here so I can have a look?

Ok. I checked the coding again. There is a copy/paste issue, related to all systems in the 3.x codeline.
I would recommend you try with the latest 4.x release where the issue with Evo48 should have been fixed.
Please let me know if any issues…

Konstantin, thanks very much for your quick reply. Yes, i have a EVO48.
Just to be clear, are you suggesting i upgrade OH to 4.0 ?

Konstantin, i have upgraded to OH4.0 but i don’t know how to upgrade the paradoxalarm binding to 4.1… I guess i need to download the jar file and manually install it, right ?

Btw I checked the release notes of 4.0, 4.0.1 and 4.0.2… it seems my change is not there and will probably be in 4.1. I guess best bet now is to do a test setup with a 4.1 snapshot builds so you can see if you still experience the issue or not…

Konstantin, i’m happy to test 4.1 but i simply need to understand how to install the 4.1 binding… The UI doesn’t allow you to select the version… Not sure where i can get the jar file eventually…

My proposal is to have a separate OH installation with snapshot.
It’s installed the same way as the normal system but you need to download the “snapshot” version from here: Download openHAB | openHAB
If you want to have it in the current system there is danger to have not tested regression, so that’s why I would create a separate installation if I’m you…


The other option is to download some of my pre-release .jars from the time when I was developing the new features.
This one should be the last one I’ve built

You just put it into the addons folder and it should run.

Super. I’ll revert with my conclusions shortly? Thanks a lot

I see no error anymore in the logs ! Thanks a lot Konstantin !

Do you still have the issues with latest 4.0.2 release?
The fix should have been merged with this PR:

Not sure if it’s in 4.0 or in the 4.1 branch though… :frowning:

From what I can see it is in the 4.1 branch.

Konstantin, i can now see all the measurements from the EVO48 so that is a great start. However, now, i’d like to be able to send a command to arm the alarm. How do you do this (with the options to force and bypass) ? Thanks again. Regards

Are you trying to do this from a Widget?

Basically you have to send the relevant command to the Area/Partition THING Communicator Command Channel ITEM

I have a full widget that allows a lot of functionality that was added. The button I use to ARM in STAY mode looks like:

  - component: oh-button
      action: command
      actionCommand: STAY_ARM
      actionItem: =vars.selectedPartitionP + "_CommunicatorCommand"

This requires some groups to be setup and specific naming which I have not had time to document.

This is based on my previous Caddx version, so some functions are not implemented as they are no supported.

Also, not e that you have to enable Disarm Command on each Area/Partition that you want to be able to disarm via OH.


Thanks Mark. I’ll dig into this and revert ! Great support guys !

This is very well documented. You need to send the proper commands to the commands channel. Have you read the examples?

Sorry Konstantin, i don’t see any documentation outside of the binding one… I have tried creating a widget and not progressing much i must admit… Happy to get pointed to where the doc resides or getting some widget examples… Thanks again guys