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:
https://community.getvera.com/t/paradox-alarm-with-ip150-interface-integration/187692/50
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.