Plugin for Caddx/GE/Networx NX-584/NX-8E security system

This plugin is available for UI5 on the Micasaverde marketplace ( See for latest source and installation instructions for UI5 and UI7.

Recent revisions:
@60: Updated for UI5. Basic functionality should work. Scenes cannot designate a PIN so cannot Arm With PIN or Disarm. Hopefully I didn’t break anything for UI4.
@55: Users tab lets you see user PINs and authorizations, and set user PINs. See this important caveat about PIN privacy.
@50: New Event Log History tab, fetches last ten events from the panel’s log.
@37: New tab Configuration shows how you’ve programmed the NX-8E/NX-584 and lets you enable/disable panic modes.
@35: New tab Zones for scanning zones and setting their types. The experiment with automatic zone detection is declared a failure.

Original post follows:

I’d like to share a Luup plugin that I’ve been working on for the last few weeks. It’s for the security system interface variously sold around the world as the Caddx or GE or Networx NX-584.

It’s been working well for me for several days now, so I’m looking for additional testers, particularly people who use the NX-8E which has this interface build into the main board.

Instructions for installation: Edit: See the page for instructions.

The plugin has support for Quick Arm, Quick Stay, and Disarm/Arm/Stay with PIN. It’s also possible to toggle a zone’s bypass state.

Congrats @futzie! I suspect this will be quite popular. Let me know if you’d like additions to either the service or device defn’s as I’d like to get something standardized across all alarm panels so we can drive the Control Point integration (iVera, SQRemote, Android etc)

The only liberty I’ve taken with the Partition device is to add a “lastUser” variable, which identifies the user who last armed or disarmed the partition. I use this for remote notifications of events (“Partition 1 disarmed by Bill”).

The Networx panels have some additional modes that a partition can be in, on top of “Armed”, “Disarmed”, “Stay” (or “partial” as the docs call it) and “Breached” (“Siren on” in Networx-speak):

[ul][li]Chime: zones don’t trigger the alarm; instead they cause the keypad to “ding-dong”. A typical use case would be the door sensor on the front door of a retail shop. By day, mild-mannered customer alert. By night, vicious instant alarm.[/li]
[li]Entry delay and Exit delay: perhaps just a sub-mode of Armed or Stay, but the interface reports them in their own right, and it might be useful to distinguish them from Armed (say, to activate a camera that watches the entry area).[/li]
[li]Exit error: if a zone was tripped when the exit delay finished, that zone will be automatically bypassed. An event that informs someone to go back and try arming again would use this state.[/li][/ul]

There are more than a dozen other esoteric modes for partitions: Tamper, Fire, Silent Exit Enabled, Zone Bypassed, and other things that I can think of few reasons for Vera to want to know.

To support some of these modes, I would expect to need some extra actions: RequestChimeOn(), RequestChimeOff() for Chime mode, for instance. It also looks like there’s a command to silence a breached alarm without disarming the partition, which I can see being useful in a remote-control situation. And Networx has commands for the previously-suggested Fire, Emergency and Medical panic buttons.

Thanks mcvflorin for creating a separate subforum for this alarm panel plugin.

Forum members: please create new topics instead of replying here. All of the replies that were here are now broken out into their own topics, for easier searching.

I have been using the plug in that futzle developed for a while now and it works great connected on the NX8e panel with the RS232 to USB connection.

I found the interface cable that I purchased from Future Electronics (as recommended by Mi Casa Verde) has worked perfectly. A couple of key pointers to consider when making the connection is that the RS232 ribbon pins are aligned pin 1 to pin 1 otherwise no way of making a connection as well as getting a female to female null modem adapter between the RSR232 interface and the USB/RS232 cable. After that as long as the key programming codes are set properly in the alarm panel all should work well.

For all users out there, the IOS app Veramate is now fully supporting the various functions that this plug in supports i.e.

Arm, Stay, Disarm as well as invoking Fire, Medical, Police buttons as well

It’s also capable of setting itself to Stay if the Arm button is pressed and an exit from the doors has not occurred, essentially avoiding to trigger the motions, however if one sets the alarm to Arm and exits it properly arms even the motion detectors.

the app is a great way to leverage the alarm system just like have a key pad on your iPhone.

Highly recommend for those using this particular alarm solution from GE.

I have moved the source for this plugin from Subversion at to GitHub at

The code is identical to the latest version on, which will no longer be updated.

The GitHub repository is open source (GPL) and anyone is welcome to fork it there.

Where are the plugin installation instructions?

Looks like they were not migrated to GitHub properly. Here are the old instructions on


New to Vera and trying to get this working on my Vera Edge with UI7.

I downloaded all the files from here - and used the instructions from here - (Couldn’t find anything for UI7).

After creating the Luup Devices, i know get the following error - Device: 54. Fail to load implementation file D_CaddxNX584Security.xml

Any help would be greatly appreciated.


[quote=“Entity”]I downloaded all the files from here - and used the instructions from here - (Couldn’t find anything for UI7).

After creating the Luup Devices, i know get the following error - Device: 54. Fail to load implementation file D_CaddxNX584Security.xml[/quote]

Implementation files start with I_ not D_. Are you sure that you’ve put the right strings in the right boxes? Also double check that you haven’t put leading or trailing spaces in the device fields. Finally, check the list of installed Luup files and make sure that the spelling and case are identical.