Help build binding for Paradox Alarm Panel with IP150

That’s awesome. If you have reseller access to their website, is there any more detailed documentation on their website related to communication protocols? I’m specifically interested in any technical documentation on the EVO192 and IP150 modules. The standard documents you can find (without a login) are all related to programming and using it from the keypads. We need a bit more detailed documentation on the communication protocol used. The more technical the better. At some point on the web i stumbled across an EVO_UDSProtocol document. Something along the lines of documents like those that detail the packets sent, what the different bytes mean, etc. ANYTHING more than just a user and programming guide :slight_smile:

Unfortunately… no… :frowning:

Only generic technical manuals for their systems exist in their download sections for documentation…

Have you tried to do something with SP 7000 Serial connector on the board? Now I am trying to read info from SP 7000 through USB-TTL converter, but everything I get isn`t useful (heard about 37-byte protocol, but from serial connector I get random number of bytes (sometimes I can find date in those bytes)).
Also want to ask you about PRT3, know that it isnt compatible with SP 7000, but maybe you know how it can be used with SP 7000.
P.S Can you send me WinLoad and BabyWare? (I dont see how I can send PM to you -_-)

No, not directly.
I am planning to use the IP150S module and the python (MQTT) solution and see how it goes.

It basically uses the web interface of the IP150 to pull (limited) info.
I don’t think that anyone has implemented a full featured integration using the Serial over IP protocol of Paradox in a binding (I hope that someone will, although there is very limited documentation on the API).

I don’t have experience with the PRT3.
I uploaded some pdfs that I found on the Paradox web site here:

Ps: I will send you a PM :slight_smile:
Ps2: Another option is: GitHub - Tertiush/ParadoxIP150v2: Python-based IP150 'middle-ware' that uses the IP module's software port for monitoring and control of the alarm via an MQTT Broker.

1 Like

Wish me luck…
I finally installed the Paradox IP150S module on the serial port of the Spectra 7000 and I am starting my journey with the IP150 integration :slight_smile: (I hope that the security company will not pay me a visit at 4am in the night because I triggered an emergency alarm on the system) :stuck_out_tongue:

I will type up a nice tutorial after I get this working…

Making good progress with https://github.com/Tertiush/ParadoxIP150v2 ! Great stuff @Tertius_Hyman (also your Android app rocks!)

Deployed the python script, got connected to the IP150S module on the serial port of the Spectra 7000 and started publishing the info on my Mosquitto (opened up also a new issue to enable MQTT auth)

Next steps: Fix my MQTT items with REGEX & MAP xformations, put them on a sitemap, then HABPanel and finally write a HowTo :wink:

State Machine 1, Connected to MQTT Broker
State Machine 2, Connecting to IP Module...
State Machine 2, Connected to IP Module, unlocking...
State Machine 2, Logged into IP Module successfully
State Machine 3, Reading labels from alarm
1:;2:;3:;4:;5:;6:;7:;8:
1:;2:;3:;4:
1:
1:;2:
1:;2:
1:;2:;3:;4:;5:;6:;7:;8:;9:;10:;11:;12:;13:;14:;15:;16:
1:;2:;3:;4:;5:;6:;7:;8:;9:;10:;11:;12:;13:;14:;15:;16:;17:;18:;19:;20:;21:;22:;23:;24:;25:;26:;27:;28:;29:;30:;31:;32:;99:Any zone
1:;2:;3:;4:;5:;6:;7:;8:;9:;10:;11:;12:;13:;14:;15:;16:;17:;18:;19:;20:;21:;22:;23:;24:;25:;26:;27:;28:;29:;30:;31:;32:
1:;2:;3:;4:;5:;6:;7:;8:;9:;10:;11:;12:;13:;14:;15:
State Machine 4, Listening for events...
Event:Zone open;SubEvent:
Event:Zone OK;SubEvent:

Fully implemented with v1 (lighting fast control of Alarm System)
Now, I will try to switch to v2 (have some issues with the Zone descriptions but I will fix it :slight_smile:)

2017-06-03 20:22:27.837 [DEBUG] [inding.mqtt.internal.MqttItemBinding] - Publishing command Arm to Paradox/C/P1/Arm
2017-06-03 20:22:27.838 [TRACE] [t.mqtt.internal.MqttBrokerConnection] - Message with id 44 delivered.
2017-06-03 20:22:27.838 [DEBUG] [t.mqtt.internal.MqttBrokerConnection] - Publishing message 44 to topic 'Paradox/C/P1/Arm'
2017-06-03 20:22:29.665 [TRACE] [t.mqtt.internal.MqttBrokerConnection] - Received message on topic 'Paradox/AS/P1' : Exit Delay
2017-06-03 20:22:33.374 [DEBUG] [inding.mqtt.internal.MqttItemBinding] - Publishing command Disarm to Paradox/C/P1/Disarm
2017-06-03 20:22:33.375 [TRACE] [t.mqtt.internal.MqttBrokerConnection] - Message with id 45 delivered.
2017-06-03 20:22:33.375 [DEBUG] [t.mqtt.internal.MqttBrokerConnection] - Publishing message 45 to topic 'Paradox/C/P1/Disarm'
2017-06-03 20:22:35.719 [TRACE] [t.mqtt.internal.MqttBrokerConnection] - Received message on topic 'Paradox/AS/P1' : Disarmed

Full documentation soon…

Does your lose connection after a couple of days? I think I lose name resolution or something, bu tthe net effect is it quits out. I haven’t been able to code a reconnection.

Also do you have a new mapping file, or is everyone still using the default one?

I haven’t tested it for that long (yet). I have it running as a system service and I will monitor it. So far, IP150-MQTT.py runs smoothly.

I want to transition to v2 but I need to fix the Zone labels.

Default (MG5050)

Have you tried my one? Psyciknz on GitHub. I push each zone as a new topic, and the arm disarm state.

I read the label for the zone if a different way it uses the name from the device. It’s a fork of the original code.

No I haven’t !
I will use yours to test v2, thanx!
When I tried the original code, I couldn’t get it to read my Spectra 7000 Zones.

The IP150v1 is working fine. The script has been running for 5 days now continuously and it is stable.
I will start now playing with the IP150v2 from @psyciknz and report back

First alpha version of my HABPanel layout (yes, sensors turn red when motion is detected and I can use the events in my rules)

1 Like

Hi @psyciknz, I see lots of activity on your branch :slight_smile:

I will try it out soon and give you feedback.

Yeah I’m hoping I’ve fixed my connection error I was getting. It went fine under windows, but under linux it’d die about about 3 days (possible when teh machine did a backup). But it wouldn’t reconnect.

1 Like

I’m just starting to try your script - (first testing on Windows before moving to RasPi) first problem I ran into was the message below:
Z:\ParadoxIP150v2-master>IP150-MQTTv2.py
Traceback (most recent call last):
File “Z:\ParadoxIP150v2-master\IP150-MQTTv2.py”, line 84, in
log_handler = logging.handlers.WatchedFileHandler(LOG_FILE)
File “C:\Python27\lib\logging\handlers.py”, line 379, in init
logging.FileHandler.init(self, filename, mode, encoding, delay)
File “C:\Python27\lib\logging_init_.py”, line 889, in init
StreamHandler.init(self, self.open())
File "C:\Python27\lib\logging_init
.py", line 908, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 2] No such file or directory: ‘Z:\var\log\openhab\paradoxip.log’

Created the folder Z:\var\log\openhab\ and the script runs ok.
Will let you know how testing goes

Whoops. Sorry about that. I’ll make the directory configurable.

When you run t by yourself for so long you forget things like that when you make it public.

1 Like

Hi I am a dotnet developer and i might be able to reverse engineer the sdk. Is it possible for you to send it to me? I am trying to get this to a point where this can work without the ip150 based on this project: https://github.com/liaan/paradox_esp8266/blob/master/paradox_mg5050.ino

I tried reverse engineering already. The SDK is nothing more than a wrapper around the Delphi source code. In fact the .NET SDK has full source, which is just a bunch of unmanaged calls to the Delphi DLLs. Those Delphi DLLs cannot be reverse engineered.

1 Like

Yes i came to the same conclusion :frowning:

I went and bought a IP150 lastweek, but it came with version 4.10.000 of the firmware.

So this Guy managed to downgrade IP150 firmware: https://www.youtube.com/watch?v=O0ekO1h2I_8&t=399s
He is using version 4.9.10 of the Infield upgrade software
and he is downgrading from version: 4.00.004 of the IP150 firmware to earlier versions without a problem.

It did not work for me but I have version 5.05 of the Infield upgrade software and version 4.10.000 of the IP150 firmware.
not sure which of these is prohibiting me from downgrading.

I also tried the following

  • tried to modify the version number in the puf binary file, but i could not find it in there :frowning:
  • I setup a proxy and routed my android phone trafic through fiddler on my PC. The communication between the “Insite Gold” app and swan server is going here: api.insightgoldatpmh.com:443 but it is encrypted. If i try to decrypt it with fiddler certificate, the app stops working.
  • if i do a Man in the Middle attack between the traffic of the Ip150 and my router the app stops working, and Babyware also cant connect anymore.

so I am starting to run out of ideas…
If anybody have copy of Babware 4.9.10, that wont mind sharing it with me, please PM me! I would love to give it a bash and see if I can downgrade my firmware.