Paradox IP150 web page scraper plugin

WARNING: do not update to IP150 firmware version 4.0 or later. Paradox have moved to a subscription model that apparently disables the web page to be scraped by this plugin. See GitHub for more details.

Download the code from here:

The plugin logs into the IP150 web page and extracts miscellaneous info the page provides. Along the lines of method 4) here:

This plugin has been tested using Vera UI7 and openLuup with Paradox EVO192 only. It may work with other panels. If not, it could probably be made to work. PGMs cannot be controlled.

The plugin creates a variable for each zone. It does not make ‘security sensor’ children, as most alarm plugins would typically do. To use the plugin you would place a watch on the zone variable of interest. A watch can be set up very easily using ALTUI plugin (which you use of course) to trigger a scene. Note that devices such as PIRs will present multiple triggers in short succession.

The plugin polls the panel web page every second. The whole concept of scraping a web page to do this job is very suspect and fragile (but it’s been working well for three years). Regardless, I don’t like it a whole lot.

There is 45 second delay before the plugin starts polling, after a Vera Luup engine restart. This ensures any previous connections are terminated by the IP150, ready for logging in. It also allows time for Vera to ‘get going’ before polling is started.

After this initial delay, a bunch of debug info is output. You can use ALTUI to look at the log file or the infoviewer plugin. This can be done by setting the variable ‘DebugEnabled’ to ‘1’ using ALTUI / UI7. If things work out, it is highly recommended that debugging is turned off.

Please provide a log file with any bug reports, otherwise queries may go unanswered.

The plugin uses the Linux command ‘md5sum’, which may not be present on some hardware eg the Vera Lite??

The use of HTTPS with the IP150 is not catered for and will result in a plugin error.

Ver 0.51
Before installing the plugin you need to set up these variables in the file ‘L_Paradox_IP150_wps1.lua’ to suit your alarm before uploading the file to Vera. Make sure to use a text editor, such as Notepad++ or similar:

m_IP150pw
m_keyPadCode

WARNING: the codes are unlikely to be secure. Some hacker could potentially get hold of you alarm codes. They will also probably end up on the mios servers.

The installation using UI7 follows:

Insert your passwords into the Lua file as described above.
Go to UI7–>Apps–>Develop Apps–>Luup files
Uncheck the ‘Restart Luup after upload’ checkbox
Upload the five files by dragging them on to the ‘Upload’ button.
Select the ‘Create device’ button on the same page.

In the entry boxes:
Enter ‘D_Paradox_IP150_wps1.xml’ into the ‘Upnp Device Filename’ entry box.
Enter the IP address of the IP150.
Select a ‘Room’ for the device.
Select the “Create device” button immediately below.

Do a luup engine reload using the ‘Reload’ button and a browser refresh (generally F5). Once the device can be seen in the User Interface and after sufficient “Reloads” and browser refreshes, the ‘Alarm Info’ tab should show the following or similar:

Alarm name: Your Paradox System
Zones total: 192
Zones in use: 56

The ‘Advanced’ tab, under ‘Variables’, should have a variable for each Zone eg ‘Zone_xyz’ where zyz is the zone number.

Ver 0.52
The plugin now allows control of the arming state. See also the Device’s control panel:

Ver 0.53
Hardened the code, so if the IP150 closes the session for any reason, the the plugin will attempt to log back in again. Added small web page to show the zones’ “friendly” labels. Changed the order of the parameters of the arming state service - see below.

Don’t forget to enter in your values for ‘m_IP150pw’ and ‘m_keyPadCode’ as described above. Upload all the attached files and restart all.

mode (upper or lower case):
r = Regular arm All zones within the protected area must be closed.
f = Force arm Open zones will arm themselves if subsequently closed.
s = Stay arm Only perimeter zones are armed, allowing you stay inside.
i = Instant arm Same as Stay but all entry delays are set to instant (zero delay).
d = Disarm Disarms the panel.

area: optional - defaults to zero

local PARADOX_SID = "urn:a-lurker-com:serviceId:Paradox_IP150_wps1"
local PARADOX_ID  = yourParadoxDeviceNumber

-- force the arming of area 0
luup.call_action(PARADOX_SID, "Arming", {mode='f', area='0'}, PARADOX_ID)

Ver 0.54
Minor fixes

Ver 0.55
Added hardware/firmware version info to web page.

Updated plugin to allow arming of panel. See first post.

I are closed to be able to put the login and password encrypt in the plug-in, nstead of a file?

@aunpixel

Good question. Passwords are not considered secure in the Vera environment. About the best you can do is perhaps obfuscate them in some way. Maybe someone out there has a good suggestion. Further reading:

http://forum.micasaverde.com/index.php?topic=17139.0

Thankyou Lurker for your work.

I was waiting for this plugin to Buy my first smarthome hub. Just to be sur, i’ll will be able to do scene or action if one of my contact is trigger ?

Thanks again.

Yes. Each contact or motion sensor has its own variable that updates once a second. You would use the ALTUI plugin to set up a watch of the appropriate variable and that would then be used to trigger a scene. I use it to turn lights on and off and to provide announcements when one of the outside doors opens. Keep in mind this plugin is somewhat experimental but seems to be working out OK so far. Likewise the one second poll rate is a little slow for my liking but it will stay that way.

Hardened the code, so if the IP150 closes the session for any reason, the plugin will attempt to log back in again. Added small web page to show the zones’ “friendly” labels.

Hi everyone.

i’m finaly in the big familly of Vera. I just got my VeraPlus. I was looking to integrat my Paradox Alarm with my IP150, but i have the SP6000 and for now the new scraper plugin dosn’t seems to work. I have no information show and when i click “Alarm info page” i get the error : ERROR:Module not found:port_3480

It’s possible to modified the code to get my SP6000 work ?

Sorry for my english…

Looks like you are accessing your Vera remotely rather than locally via your local LAN. You need to access your Vera locally.

Make sure you install the “Alternate UI” (AltUI) plugin, as it allows easy access to the Vera log file.

Hi i need some help

I’m triing to get the plugin to work with my system, but i have just no information. No error, but blank. I don’t know how to find the log.

Alarm name:
Zones total:
Zones in use:
Alarm info page


Do i have to fill out something else then the " m_IP150pw " and " m_keyPadCode " ?

I really don’t know what is wrong :frowning:


local PLUGIN_NAME = ‘Paradox_IP150_wps’
local PLUGIN_SID = ‘urn:a-lurker-com:serviceId:’…PLUGIN_NAME…‘1’
local PLUGIN_VERSION = ‘0.53’
local THIS_LUL_DEVICE = nil

local m_IP150pw = ‘xxxxxxxxx’ – IP150 defaults to ‘paradox’
local m_keyPadCode = ‘xxxx’ – alarm panel defaults to ‘1234’

local PLUGIN_URL_ID = ‘al_paradox_wps_info’
local URL_ID = ‘./data_request?id=lr_’…PLUGIN_URL_ID
local m_busy = false

local m_md5Pw = ‘’
local m_ipAddress = ‘’ – the IP150 IP address
local m_PollEnable = ‘’ – set to either: ‘0’ or ‘1’
local m_PollInterval = 1 – seconds
local m_TEST_POLL_COUNT = 0


I have attach some printscreen.

Thanks for your help !!

i am having the same problem, i do not see anything under alarm info

First thing to note: do not update to IP150 firmware version 4.0 or later. Paradox have moved to a subscription model that apparently disables the web page to be scraped by this plugin.

Assuming you have earlier firmware - can you view the alarm’s web page? Note the IP150 only allows one device to log into it at a time. That means you have to disable the plugin by setting the PluginEnabled variable to 0 and restarting the Luup engine. Don’t forget to reenable it.

In recent Vera firmwares they have chamged how port 3480 works. So to view the plugin’s web page you may need to change the URL to suit as done by @aunpixel like so: http://<Vera_IP_address>/port_3480/data_request?id=lr_al_paradox_wps_info Refer to aunpixel’s post above: image 2017-01-23 13.58.15.png

Finally provide logs - pretty much impossible to provide useful feedback otherwise. See the infoviewer plugin.

Hi A-lurker

What is the firmware version of your ip150?

I’m tring to find what’s wrong with my configuration because i’m still getting “wrong keypad”

Thanks

Hi Martin

Can’t remember what version but it’s 3.x something. Keep in mind my previous warnings re: Do not update to version 4 or above. Make sure you can view the paradox web page before enabling the plugin. Remember only one device can access the alram panel at any one time. Not sure what you mean by:

i’m still getting “wrong keypad”

The log files should give an indication of what is going on.

Hi yatagx

Did you ever found the solution about this problem ?

Thank

@a-lurker
where I can find files needed for adding Paradox with IP150 in my VeraEdge Controller?

Regards
Dimitar

@dpope

Previously the files were attached to this thread but during a forum upgrade a while back, they disappeared. I have to-day put the files into GitHub - see 1st post above for the GitHub link.

So latest version is now Ver 0.55

@a-lurker
Thanks for update version 0.55. I try it but is not working for me. At alarm info page i get this message:
Paradox_IP150_wps: plugin version: 0.55
Panel info:
IP module info:
Zones in use = 15
Not ready - try again in a minute or so.

Version 0.53 works, I can get info for zones and to use them in scenes, but very frequently lose connection with IP150. When I restart engine will work again but not for long.
Can you give me a link for version 0.54 to test that one?

Kind regards