Help build binding for Paradox Alarm Panel with IP150

Hi

Both versions of the code has a MQTT topic to disable/enable the polling of
the IP module. You can use this to temporarily check the state and then
disable polling again, which will logoff from the ip module and allow other
applications to use it.

Thanks Tertius.
Iā€™m really a newbie with MQTT.
Iā€™ve got your py script working (I get all labels from alarm).
Now, if I want to have a script (python or other languages) just get the status of the alarm what should I do?
I understood how to to set the polling on/off and to set the status of the alarm.
But how to get the Alarm status?

Thanks very much

When you start the script (first time or after enabling it) it should update all the states, including the partition states (armed/disarmed, etc) via the payload in topic Paradox/AS/P1.

I suggest you leave the script running always, but disable it via MQTT (publish this topic: Paradox/C/Polling/Disable). Then when you want to check the state simply enable the code, give it some time to update the parition topics (e.g. Paradox/AS/P1) and then disable polling again.

Alternatively: If you leave the script running always, you can forcefully disconnect it remotely by sending a logout command to your alarm (e.g. smith-alarm.dyndns.org:8080/logout.html) which will disconnect the script. The /logout.html is important hereā€¦ Then use your own app to control the alarm. When you disconnect the script will re-connect (it will try indefinitely).

Thanks again Tertius.
So I should publish Topic Paradox/AS/P1 with what payload?
The suggestion of Disabling and Enabling the Polling is very useful, leaving the script running in a ā€œidleā€ state.
And also the the logout trick is nice!!!

I donā€™t know if itā€™s important, but I donā€™t have defined (as default) Paradox/AS/P1 in config.ini, is it correct?

No dont publish anything to Paradox/AS/P1. This topic is published (sent) from the script. You have to subscribe to it so that changes are received by openhab. When a change is detected you have to look at the payload to determine the new alarm state.

Also, you can leave the .ini fileā€™s defaults, only updating the connection settings, obviously :wink:

Thanks Tertius.
Iā€™ve just tried, subscribing to Paradox/AS/P1, started again the script, but I donā€™t get anything from the topic.
Iā€™ve tried to Arm and Disarm the alarm via Paradox/C/P1/Arm and Paradox/C/P1/Disarm, the alarm got the proper status, but nothing in the Paradox/AS/P1 topic.
Any suggestion?

Shoudl I be getting which zone has motion?
Event:Zone open;SubEvent:
Event:Zone OK;SubEvent:
Event:Zone OK;SubEvent:
Event:Zone open;SubEvent:
Event:Zone open;SubEvent:
Event:Zone OK;SubEvent:
Event:Zone OK;SubEvent:

I have an Magellen Spectra SP5500

Also not sure if you saw in github that Iā€™ve made some modifications to the script for when being a service, to write to a log file.

Iā€™ve also made further changes to allow for zone based notications (for use in openhab switches)
Eg Paradox/Zone/[zone name] pullled from chars 15 - 30 of the event notification.

Hi Tertius

I like to get hold of you to understand your code a bit better i might have found a document outlying the EVO communication and would like to add it in.

Regards

Hi Tertius,

As Arie Van Wyk mentioned, is there any way you can give us a bit more detail on how to help build a map for the EVO192?

On a related note: Have you heard of something called IPDOX SDK? See page 5 of this PDF: http://www.paradox.com/download/securitymatters/SecurityMatters5_np.pdf

It seems there is an SDK around this protocol. Just not sure how to get my hands on it. Iā€™ve seen a few references to the EVO manual but it does not look like the EVO manual gives anything in terms of the registers. How did you go about building those map and event files in your code?

Regards,
Jean

Last I checked the EVO192 is not supported by the SDK.

Where does one get any info on the SDK? I cant seem to find anything on it, let alone EVO192 support.

I received the SDK from Paradox. It does include the EVO192. Would that not be a better way of doing the communication versus reverse engineering? Itā€™s only for Windows though.

Well, thatā€™s news to me. Must be newer than the one I have. Yes, that would be ideal, however as you saw itā€™s only for windows. If you want to PM me I could look into it with the latest SDK.

Apologies but I dont know how to do a PM on here :slight_smile: I just see a general reply and no way to directly message you.

Jean, sorry, my mistake. The 192 can be used with the SDK. I donā€™t know why I keep thinking i have the evo192. I think itā€™s because I wish I had it. I have the EVO48 which cannot use the SDK. Sorry, wonā€™t be able to help :frowning:

Hi

Can you possibly share the SDK

Sure thing. Hereā€™s the link: http://www.paradox.com/Downloader/?T=URL&URL=/Documentation/SpecialDownloads/Paradox%20API%20-%20SDK%20V2.11.zip\

Please note this from Paradox:

ā€œThe Only available SDK we are handing out at the moment is the Paradox API-SDK v.2.11 [you can download it Here ] subject to these Terms and conditions.
The SDK is a Windows DLL. The package contains all documentation, as well as a Demo application ā€“ working with Windows OS only.
Please note that we do not offer further support in the SDK implementation.
If Bugs are find and validated ā€“ we may correct them, according to availability / priority, resulting in an SDK update, however ā€“ no update notifications will be sent to developers.ā€

The terms and conditions link:

http://www.paradox.com/terms/

After some reverse engineering of my own I manage to get the header for the EVO192, I have manage to locate the location of the zone, partitions and user labels but. To some extend i have manage to find some of the command details, but with this said with my lack of knowledge on python coding Iā€™m having some issues implementing this. :unamused:

The SDK does not help much either since it is .net as mentioned.

If the SDK was in pure .NET it would have been a lot easier. The SDK is simply a .NET wrapper around the Delphi DLLs. ParadoxAPI.dll, IPDOX.dll & ParadoxNetwork.dll are all Delphi DLLs. The core of everything sits in those files and without the source they wont be useful unless youā€™re wanting to write your software in .NET.