[Release] Visonic / Interlogix / Networx / Elk Alarm Bridge

I have had an Alarm integration for my Visonic alarm in ST for a few years now, and I have finally moved it over to Hubitat properly (now that I have a device to test with!). At the same time I have merged all changes to support the following:

  • Powermax / Powermaster Visonic alarms, this was the starting point, and it supports most of these models fine apart from the newest Powermaster models. If you have a really old Powermax+ alarm then you may need an Arduino addition (see the ST post below for more information)
  • Elk alarm integration (I know there is already an alternative integration, but this version would allow you to integrate without the M1XEP since it can interface with the serial directly).
  • Interlogix / Networx Alarm integration that was built by LeeFL on top of the integration that I had for Visonic (since there was less ST development needed then).

All should install cleanly with two device handlers and I have tested it to be working well. It includes the following features:

  • Ability to control HSM if you enable it in the settings (it is only one way, so changing HSM will not change the alarm)
  • All zones broken out to separate child devices, which are easy to integrate with
  • All outputs (if your alarm supports them) are broken out to separate child devices
  • Three child devices are created allowing you to arm/disarm the alarm using these devices. They appear as switches, but they act like buttons (i.e. you turn it on and it turns itself back off a few seconds later, and triggers an action at the same time) - done this way so if something doesnt refresh properly you can be confident that the alarm will act on your action even if it thinks it is is the wrong state.
  • Key alarm status messages are stores as easy access attributes, so they can be displayed on a dashboard (see screenshot below - create an 'Attribute tile' for the alarm device and then choose the attribute you want to display in the dropdown)
  • All commands can be run through button events - you can create a 'button tile' in Hubitat dashboards, then in the 'button number' field you should enter the command you want to run (e.g. AlarmArmAway or refresh or ESPRestart ....etc. Now when pushing this button it will call the relevant function.

I have stored the device handler on Github with instructions on setup here - Github Link.

I have also set up the device handlers on the excellent Hubitat Package Manager so it is a super quick installation from there, followed by creating a virtual device and adding the IP address.

As with ST I am still selling pre-programmed devices here, so you can setup the integration yourself super quickly - Online shop

Finally here is a link to my original ST thread, since there is loads of useful debugging/setup help there.


These are contact/switch template tiles for each of the zones, switch template tiles for the arm/disarm controls, and attribute template tiles (of the parent alarm device) for the status messages. HSM tile is the default HSM template.

Thoughts, improvements, requests and feedback welcome! Also donations link, as requested.

6 Likes

Reserved post just in case I need some extra content space.

Hello!
I spent the past 3 hours trying to figure this out lol. Here is where I am at:

Installed your bridge using the package installer, configured it using all the steps in the read me. Made sure the IPs match in both directions.

Currently HE will see that the alarm is arming and disarming, so they are talking to each other. But hitting refresh/config/create child zones does nothing. Ive narrowed the issue down to the password input. which I made sure is 100% accurate and it just does not seem to work. In LeeFLs debug code, no commands come thru. So LeeFLs bridge is talking to HE, but HE is not talking to it. The password its asking for is the same one I use to log into LeeFLs bridge at the local IP right? Tried that to no avail. I even tried "admin" and "password" and still nada.

Thats why im fairly certain its a password issue, because no matter what I input into the password box, the logs remain the same = commands sent to the bridge but the bridge sees nothing

Help?

Abe :slight_smile:

Is this is a password to the ESP device webpage from Lee? If so can you turn that off for now? That's one area that I don't think it's supported at the moment (I always figured wi-fi was more secure than any dodgy password implementation on the ESP (which is rarely powerful enough to do a proper Https process) hence wasn't worth doing)

Hey
I compared the DHT code from yours to Lees and noted at the very bottom, the password code was changed from Lees code GET to your code POST. For fun, I changed your code to GET and boom, now I have control over the alarm system and the logs show communication both ways. The logs show that it is getting the child zone names from the bridge, and I can arm and disarm the system from within your device settings.

HOWEVER, no child zones are ever actually created, the alarm is still the only device listed in the HE device list and I cant create any tiles in the dashboard

LeeFLs bridge does not support turning off the password

:frowning:
Abe

Ah gotcha, I never actually saw Lee's interface or code so was just going off his messages. Glad that part is working.

As for creating child devices, what do you see if you go to http://IP/getzonenames ? And do you see anything in live logging when you click create child devices in the Hubitat devices page? (I did advise Lee to make one small change but perhaps he hasn't done it yet, so I can tweak this code to support it)

The live logging shows all the names and such populated for the child zones, but the child zones never actually get created within HE

Also, it doesnt seem that changing the alarm states updates the HSM even though that option is toggled on

Here is a snippet (i have a lot of zones, so this is just a few of them) from the live logging when the create child zones command is sent

{zone_id=49, zonename=Master Bed Win , zonetype=Contact}, {zone_id=50, zonename=Master Bed Win , zonetype=Contact}, {zone_id=51, zonename=Master Bed Win , zonetype=Contact}, {zone_id=52, zonename=Master Bath Win, zonetype=Contact}, {zone_id=54, zonename=Master Closet , zonetype=Contact}]}

dev:22021-01-12 01:08:51.242 am debuguri /getzonenames

dev:22021-01-12 01:08:51.227 am debugRequesting List of Alarm Zones

Bah, looks like he has used a different formatting to what I thought he said he was using. I'm going to need a full copy and paste of that page please (can PM me if you'd prefer).

I expect updating HSM might be something similar, I'll check another location to see if I can work it out

Just following up on this? You're all sorted now and it's working smoothly?

Takes a bit of time to get used to Hubitat after switching, in my experience at least!

Just recently moved to Hubitat from ST and tried out this awesome package but having some issues getting my dashboard to look like yous.

Looks like you are using the switch templates for the disarm and arm actions but not sure what templates you are using for everything else.

I do have the Interlogix and it was already setup so using the packagemanager with the virtual device was so simple, the button to create all the child zones was :laughing:

Anyways if you could post the templates you use I would greatly appreciate it, I am looking for a very similar dashboard to what you have shown above.

I did already install HSM and flipped the toggle if that helps. (guessing some of these tiles are from that)

Sorry for the noob questions, great work this was so much easier than ST and it works so much more reliably too!

Well maybe I spoke too soon, none of the tiles work when I click on them, odd because the commands work when I hit them under the alarm bridge device.

So the control toggles are just switch profiles/templates connected to the relevant child device, meanwhile the contact/motion sensors are contact/motion sensor templates of the child devices.

The complexity is probably:

  1. Showing attributes of the main alarm panel device (parent) - see screenshot. Some of these attributes may not get fully populated by Lee's ESP code (Im not totally sure as Ive not got one) but hopefully most will work out of the box.

  2. Linking with HSM (which is a standalone tile/template that you can add on its own). HSM is only updated by the alarm (one-way-sync), changes in HSM do not get synchronised back to the alarm by default. You can easily create a little Rule Machine rule like this, which will ensure the sync is two way

1 Like

@cjcharles I have all of the child devices built as well as the zones and everything working when I use the commands from within the main bridge device.

However when I try to use the switches on the relevant child devices to arm and disarm nothing happens, also any of those attributes don't ever change their corresponding tiles whenever i change their status through the bridge itself or through the commands under the bridge device.

Any ideas why this would be happening?

Can you pm me some live logging information when you press the child buttons and when a child sensor detects motion or open/close.
Also are you on the latest firmware of Lee's device?

Cjcharles, which visonic alarm do you have?

I have a Powermax complete, though the whole Powermax range is well supported (some of Powermaster range).

Has anyone tested this solution with a PowerMaster-10 Triple G2?

Not sure about the triple G2 but I know some people are using the Powermaster 10. It looks like it is possible to get most features working according to online logs (perhaps requiring some tweaks/debugging, I dont know)

Hi cjcharles, I've got a Visonic Powermax Express, and these are the outputs from the pcb.. can you see any issues with your pre-flashed wemos chip? I think this is a U.K. version.