Help build binding for Paradox Alarm Panel with IP150

Tags: #<Tag:0x00007fe06362a8e0> #<Tag:0x00007fe06362a610> #<Tag:0x00007fe06362a480>

(Rtaxerxes) #81

Hi, I’m on mobile so excuse the brevity.

First, this isn’t an actual binding yet, just an interface via MQTT to Openhab.
You need to have an MQTT broker set up to use it. If you search for Mosquitto and how to install it, that’s the first step. Should take a few minutes, it’s pretty simple and you don’t need to worry about all the extra options, a basic install should work. Also install Mosquitto tools which includes programs mosquitto_pub and mosquitto_sub. This is not crucial, but helps for testing.

Then set up mqtt in openhab.cfg to use your new broker. Info on that is in the Openhab Mqtt binding wiki.

Then you’ll need to install this interface. I think directions are on the github page. Once it is running, you can optionally check if you are receiving input by running mosquitto_sub -v -t “#” which subscribes to all topics on mqtt and displays them. Triggering a passive should show a message.

Then you set up items for each zone in as per my example above, an item for status, and if you want, an item for connect/disconnect.

That should work.

Good luck.

(Johan S.) #82

Hi there, please can you share the SDK?

(Tertius Hyman) #83

Hi all

A bit off the OH topic:

So after the scripts I thought where else can I go with this. I’ve never created any smartphone app so that’s what I did (Android).

Its still early days, and a bit limited in what it can do, but for the basic things it seem to work. I decided to use the web login as it should be inter-operable with most if not all panels. At a later stage I’ll look into control of PGMs using the software port method. However I am working on getting the IP modules IOs to work which I guess you can link into existing PGMs outputs to override them (with some form of electrical isolation…). Anywho, I’d appreciate it if anyone wants to give it a go and email me some feedback. Here’s the link:


(Johan S.) #84

Hi Tertius,

Thanks, will take a look. Can you perhaps share a link to the SDK?


(Psyciknz) #85

Great work. Also I’ve checked and with this running, it looks like you can still access your panel via the normal IP web connection. Something that I didn’t find possible with the SDK.

Anyway, I’ve got a SP5500, so i left all the options as default in the config.

With the script running I can see the odd item scroll up with some of my zone names.

Eg Multiple data: [’\xe1\x14\x10\x07\x1b\x08\x07\x01\x02\x00\x00\x00\x00\x00\x00Family Rm \x00\x00\x00\x00\x00Z’, ‘\xe1\x14\x10\x07\x1b\x08\x07\x01\t\x00\x00\x00\x00\x00\x00Main Door \x00\x00\x00\x00\x00Y’]

I’ve also subscribed to teh Paradox/Events mqtt channel - which is where I believe I should see something. Should the script be posting activity on zones (ie motion detection) or only things like arm/disarm?

Initially I’d just be quite keen to get zone motion detection triggered just to see it working.

EDIT: Ahh, seems being connected to the web page was suppressing events.

How does that Polling command work?

(Gavin Hill) #86

Is there any chance someone could hare the .NET SDK please? I’m .NET dev and have been trying to use the PRT3 for a while, but it’s flaky and inconsistent. A proper SDK would be a huge help.

(Kobuki) #87

@Tertius_Hyman: great! What you have done is awesome, including the phone app, which is IMO better off the bat than the joke Paradox provides for a surprisingly expensive price. I think the Python solution is even better than the dodgy C# API tailored for Windows. Definitely more portable, though I miss a simple standalone usage scenario where it just outputs events on stdout for easy command-line application processing and filtering. I’ll try it with our SP5500 next week and report back.

@beerygaz: look here.

(fra_molf) #89

Hello guys,
anyone has the mapping for EVO 192 ?


(Max) #90


Small demand, may you share the rule that update your string value?
I’m a beginner with all this…

Thanks for your help. Nice job!!!


(Johan S.) #91

@Tertius_Hyman Is there a way to check the Partition Status with V2? I see AlarmStatus is supported in V1.

(valdemaras) #92

Hi All,

I’m also interested in integration of EVO192.
It seems that nobody has map for it, but maybe someone could give tiny howto create one?
Are you logging and analyzing communication between oficial paradox mobile software and ip150?

BTW IP100 vs IP150. Are protocols similar on both of the devices?

(fra_molf) #93

Hi Valdemaras,
for the creation of the map you can use a network monitor tool (Wireshark for Example) or you can check the documentation:

IP100 and IP150 for my experience use same protocols.

(Tertius Hyman) #94


Sorry I’ve been a bit quiet of late, very busy at work. Since the last update to the Android app I’ve been able to get the EVO’s bypass and PGM (1->5) to work. The app now basically uses the http port for bulk of its data and then the software port just to do the PGM and bypass. My plan is to make a new rev 3 of the code, which might then work for ‘all’ alarms. The software port functions will only be active when needed, so as to allow others apps to still connect (e.g. iParadox). The http port can also force-ably be logged out by a 3rd party so I will exploit that with a timer to make space for others apps (like Alarmin) to temporarily connect.

When I will have time is the question. The majority code already exist in the android app, but is in Nodejs/javascript. I will like use that for rev3, which I tend to prefer above python these days. Gimme a month, I’ll see if I can get it done by then.


(valdemaras) #95

Thank you Francesco, but it seems that it will be faster to wait for a new commit from Tertius then to reinvent bicycle.

(Psyciknz) #96

Having just been through daylight savings, and noticing the alarm was out, is there any way openhab could update the panel time?

(Lalamper) #97

I have found your comments regarding Paradox alarm system equipped with IP150, MQTT and ParadoxIP150v2 setup (Tertiush)
I just want to know if you could connect it to homebridge/HAP-NodeJS to control the system with Siri.
Thank you for your kind help.

(Dirk) #98

Hi All

Just started playing with this nice toy. Thanks goes to Tertius_Hyman.

Anyone know how I can get the status of my MG5050 partitions? I can control them, but struggling to figure out how to get the status information…

In case it is helpful to others, this is what I have:


/* Paradox Alarm */
String	Control_Paradox_Alarm_P1	"Alarm Partition 1 State [%s]"		(Control)		{mqtt=">[mosquitto:Paradox/C/P1:command:*:default]"}
String	Control_Paradox_Alarm_P2	"Alarm Partition 2 State [%s]"		(Control)		{mqtt=">[mosquitto:Paradox/C/P2:command:*:default]"}

Number P1 "Alarm Partition 1 Control"
Number P2 "Alarm Partition 2 Control"

String Alarm_Zone_1 "Living Space [MAP(]" (Alarm) {mqtt="<[mosquitto:Paradox/Events:state:REGEX(.*\\:(.*);.*):.*SubEvent.Zone 01]"}


Text label="Inside Alarm" icon="key" {
	Text item=Alarm_Partition_1
	Switch item=P1 label="" mappings=[1=Arm, 2=Sleep, 3=Stay, 4=Disarm]
Text label="Outside Alarm" icon="key" {
	Text item=Alarm_Partition_2
	Switch item=P2 label="" mappings=[1=Arm, 2=Sleep, 3=Stay, 4=Disarm]


rule "Control Partition 1"
		Item P1 received command
		switch(receivedCommand) {
			case 1 : sendCommand(Control_Paradox_Alarm_P1,"Arm")
			case 2 : sendCommand(Control_Paradox_Alarm_P1,"Sleep")
			case 3 : sendCommand(Control_Paradox_Alarm_P1,"Stay")
			case 4 : sendCommand(Control_Paradox_Alarm_P1,"Disarm")
rule "Control Partition 2"
		Item P2 received command
		switch(receivedCommand) {
			case 1 : sendCommand(Control_Paradox_Alarm_P2,"Arm")
			case 2 : sendCommand(Control_Paradox_Alarm_P2,"Sleep")
			case 3 : sendCommand(Control_Paradox_Alarm_P2,"Stay")
			case 4 : sendCommand(Control_Paradox_Alarm_P2,"Disarm")

On my Samsung Galaxy S6, this results in neatly spaced “Arm Sleep Stay Disarm” over the width of the screen and makes controlling the partitions a breeze.

Now if I can only get the statuses… no point controlling the alarm remotely if you don’t know what state it is in.

Looking forward to your response(s)!

(Rtaxerxes) #99

I use this:

String Alarm_State "House Status [%s]" <siren> (Alarm) {mqtt="<[mattsplace:Paradox/AS/P1:state:default]"}

And on the sitemap:
Text item=Alarm_State

(Dirk) #100

Thanks moment, but that is with V1. Right?

I’m using V2. It doesn’t seem to have thE /AS/ topics

(Woody4165) #101

Hi all

Thanks Tertius first of all for sharing.
What I would like to do is to check whether the Alarm is Armed (in any kind of arming) or not.
I cannot leave the python script running because otherwise I cannot use Android App or other method to login to the Paradox.
Is there a way to open the connection with the alarm, get the status and close the connection?