Ezlo - DSC Alarm Panel Plugin is on the Marketplace!

Hi everyone,

We have created the DSC Alarm Panel Plugin for Ezlo Controllers with the new framework and now you can download it from the marketplace and start using it easily.

Select the Edge Plugins Menu item from the left and click on Marketplace Tab
You will see “Ezlo DSC alarm panel plugin” in the list.

Click on “Copy to my Ezlo” button and then you will be taken to your private plugin list and see the DSC plugin copied there

Click on the “Manage Installations” icon and you will see a list of your controllers

Click on “Install” to install it on your desired controller. You will see a success message and you will see “Uninstall” and " Configure" buttons now

Now you can click “Configure” and create devices which will represent your alarm panel items.

Please pay attention to entering correct values for your active partitions and zones if you configured them on your DSC panel.

After configureing your plugin, you should see success messages and see the number of devices created on top of the “Devices” Icon

You can check your devices on the “Devices” section from the Left Menu


You can also get the full source code of the plugin here:
ezlo_dsc.tar.gz (9.3 KB)
Feel free to use it as an example and create your own plugins.

Please feel free to get the plugin also from the marketplace and check it with your devices. We are waiting for your feedback.


Initial feedback, after just a few minutes of poking around.

The good

  • Install and initial setup using the configure button went smoothly
  • Alarm Panel, partition, and zone devices were created as expected
  • Partition and Zone devices can be set as triggers in MeshBots, with most of the relevant options exposed (missing: disarmed by code xxxxx, to run different scenes depending on which code was used to disarm the partition. For example, I only want to unlock the front door if the system was disarmed by me or my wife - not a keyfob, which uses a different disarm code)

The Bad

  • it doesn’t actually work, at least not on the dashboard (not tested yet: scene triggered off of zone). None of the zones in the dashboard show activation
  • While you can use the Partition arm/disarm status as a trigger, apparently you can’t use the partition in an action, i.e. to arm the system.

Who should I contact about troubleshooting why my install appears to be non-functional? It could be a simple typo on my part.

The Ugly

  • All the zones show up as motion zones. I can work with this - an active zone is an active zone - but it would be more elegant if you could specify (and have separate tiles for) motion, door, and smoke zones (The vera plugin had this capability)
  • While the partition and Main Panel show up under devices, neither one shows up in the dashboard (apparently), so there is no way to view the arm/disarm status of the partition
  • I can change the active partition and active zone configuration for the Alarm Panel under the devices tab, but apparently not other configuration options, such as IP address, password, or PIN. Apparently I have to delete the install and try again if any of those need to change?

Good start though, and if we can figure out why it’s not working for me, it should fill about 75% of my needs for the DSC plugin (i.e. the triggering needs, but not the action needs)

1 Like

What automation interface is required for this plug-in is it the Eyezon Envisalink DSC module?

I don’t have an ezlo device (yet), to test this plugin, but I do have the DSC IT-100 interface card connecting my current PowerSeries with Vera.

Is that supported too?

Agreed, the existing Vera plugin, allows you to specify which zones are door and which are Motion.

Like @ibrewster, I installed the plugin (v. 1.0.10) and found the none of the zones were activating. I did some digging to find out why…

Enabling debug and tailing the logs, I found that my motion detector on zone 5 was correctly sending the zone open and zone restored commands from the panel and the plugin was receiving and decoding them.

Zone Open:
DEBUG: ezlo_dsc: Command: 609, data: 005, checksum: 34

Zone Restored:
DEBUG: ezlo_dsc: Command: 610, data: 005, checksum: 2C

Looking at the code for processing the zone open/restored, it’s looking up the device using the following lookup: local device = GetDevice("zone_" .. data)

Following the original setup instructions, I listed my zones as “1,2,3,4,5,6,7,8,9,10,17,18”. Using the API Tool, I can see that the devices created are named “zone_#”. So my zone 5 device is named “zone_5”.

Reading the code, between the debug message indicating “data = 005” and the GetDevice lookup, the “data” variable is not manipulated. When the code does the GetDevice lookup, the queried device is “zone_005” which is not found and that explains the first problem with no status updates.

The quick fix is to delete the device and re-create it with your zones left padded with zeros:

Now I’m seeing the expected zone open and restored logs:
INFO : ezlo_dsc: Zone 005 is open
INFO : ezlo_dsc: Zone 005 is restored

After all that, it still doesn’t trigger a MeshBot scene. :frowning: More digging…

Looking at the TpiZoneOpen and TpiZoneOpen functions, they’re simply calling _core.update_ready_state(). That doesn’t make a lot of sense, they should be updating the device’s item value using _core.update_item_value(). That’s the “value” MeshBot uses to trigger actions. A couple lines of code modified and I’ve got a working DSC plugin with MeshBot.

Two updates are required to the plugin:

  1. Convert the “data” from a zero padded string to an integer so that the zone configuration does not need the extra padding.
  2. Update the TpiZoneOpen and TpiZoneOpen functions to update the item value.

Ezlo Team - let me know when the next version of the plugin is ready for testing. :wink:

Hi , @dgdev , @ibrewster

We have an updated version in the marketplace 1.0.11
You can install and try it.

Also have the source code here :
dsc.tar 1_0_11.gz (9.7 KB)

1 Like

I tried installing the new version. After clicking the “Copy to my ezlo” button, I wound up with (apparently) two versions installed on my ezlo:

Also, I didn’t see any change in behavior/appearance/etc with the existing devices.

So I went ahead and deleted the old version. Which apparently left the new version installed on my controller, but removed the devices created by the old version:

So now I have to re-set up my system. I’ll work on that later, but this is not a good update experience. Did I do something wrong, or is the plugin update system not working properly (yet)?

I’ve seen the same thing happen with the Ezlo Protocols plugin. When I saw a newer version had been released in the marketplace I tried to update and also ended up with two versions then of the same plugin.

Seems like a bug to me.

1 Like

Ok, much better - the plugin actually functions now, and setting the arm state is possible from MeshBot actions. Yay!

One thing I just noticed is missing still - for triggers, a partition state of “Exit Delay” is not an option.

This is nearly critical for one of my scenes, as I need to arm the system and wait for it to be in an Exit Delay state before opening the garage door. I can work around this for now by simply using a delay and assuming the arm command will go through quickly, but I’d rather wait for positive indication that yes, the system is in exit delay mode.

One quibble about the new ability to set the IP address, password, and pin: the popups to change these values do not show the current value. This probably makes sense for the password change dialog, but I’m not so sure about the PIN change dialog, and the IP address change dialog should certainly show the current value.

Other than that, for now the rest of my initial feedback stands:

  • Still no partition object on the dashboard indicating the current status of the system
  • All zones show up as motion zones

It looks like I can work with this for now though. I’ll have to start moving devices and logic over from my Vera to give it a real test. I’ll probably wait until I have confirmation I won’t have to re-do everything again with the next update though! :grinning_face_with_smiling_eyes:

Thanks for the update, and keep up the good work!

Just discovered another issue: you apparently can’t assign the plugin created devices to rooms. Of course, from what I can tell, you can’t assign devices to rooms at all from the ezlogic web interface, but you can from the Vera app, and devices show up under the appropriate rooms when configuring meshbots.

However, this doesn’t appear to work for plugin created devices, at least not the DSC plugin created devices. While I can go into the device in the Vera iOS app and set the room, upon leaving and going back into the device the room is unset again, and viewing the device in the ezlogic web interface similarly shows “Room: unassigned”. :slightly_frowning_face:

I suspect this is a general plugin issue, and not specific to the DSC plugin, however.

Hi @ibrewster , thanks for trying out quickly and sharing feedback. I will comment on those:

We will add it in next version.

We will add it to next version.

Those are dashboard related missing points, since we still dont have a corresponding default device tile for partition types. We will add it to upcoming releases. Also we will change tile for dsc zones. You can comment on how the design should be by the way if you have a suggestion.

This is happening because assigning rooms to child devices is not permitted and you need to change the room for the parent device. And the problem is you cannot see the parent device now since the main device for DSC does not have any capability so that it does not appear in the mobile app. Like In aeotec multisensor one of the capabilities (motion or humidity or … ) is assigned to the parent device. So it appears on the device list.
This we need to consider and decide on which capabiltiy to assign to the parent device. then we can make the change. Do you have any suggestions ?

1 Like

Nothing overly particular. Mainly just that door zones should show open/closed rather than motion/no motion - as is, I set up meshbots such that they trigger on when a door detects motion, which just feels a little odd :slight_smile: By the same token, smoke zones should show alarmed/not alarmed.

It’s just terminology, really.

Hmmm…good question. Perhaps an “all partition” arm/disarm? With the current status showing the state of each partition? Of course, that information would be slightly redundant if the various partitions were already present showing their individual states, but it might be nice for setups with multiple partitions to be able to see the state of all of them at one glance.

That said, the main point of this was to be able to change the room for the parent device, but here there is a larger issue:

…which simply doesn’t work for something like a security system. The only system I can imagine where all the sensors would be in the same room would be for something like a Mission Impossible vault, where you have numerous sensors all protecting one thing. In my case, the various sensors are spread through the house. If I can’t assign individual sensors to individual rooms, it makes little sense to assign them to a room at all - perhaps a “security system” room, just to segregate them from everything else, but that’s about it.


Once that is developed and released, how do I properly update to it without having to set up everything again like I did this time?

Thanks again - exciting developments!

This is exciting, but sounds like there is still a ways to go until it works in the same manner that it does on Vera. I would really like to try Ezlo and get it all on prem. The outages and latency are a bit much at times, and make for a less than ideal situation with Vera., but I think it needs to mature a bit more until I’m ready to jump in.

To second what iBrewster said, for it to work in the same manner, I would need the following:

Room assignments for sensors
Correct icons for smoke, door, window, glass break, flood sensors (any type of sensor in DSC should have a corresponding sensor type in Ezlo)
Alarm state and armed/disarmed by (needed for logic actions)
Easy/automatic way to update the plugin through the marketplace.

1 Like

Installed and tested. I don’t have anything further to add at this time other than I second all of @ibrewster’s feedback. Let me know when another update is available for testing. :slight_smile:

1 Like

My DSC Alarm Panel connection to Vera 3 is the DSC IT-100 interface with a RS232->WiFi converter. At the time, this was a much cheaper solution than buying the Envisalink card with a RJ45->WiFi converter. Is anyone working on implementing the RS-232 protocols for this plugin?

I have the same setup and so far I can’t get it working even though I was told by tech support it would.
IT-100 and Wiznet Ethernet adapter.

Hi everyone, we have updated the DSC plugin with 1.0.17 version on the marketplace and have fixes:

You still have to delete the old version and recreate your devices for now, we are on the progress to make it more streamlined.

We keep working on improving all the plugins so feel free to share your feedback.



Out of curiosity, does the Ezlo Alarm plugin support Honeywell Vista panels / is there planned support? It is the same hardware module.