[DRIVER] Zooz Smart Plugs Advanced (ZEN04, ZEN05, ZEN14, ZEN15, ZEN20, ZEN25)

Yes, agreed, it is not normal for there to be a delay. I sent an email to Zooz to let them know about it. I have some Sengled ones as well and they report very quick when the attached devices turns off. I am using one of them to monitor my Sump Pump which only runs for about 10 seconds then turns off.

On the other hand, speed wise, it seems to me the high/low setting might capture inrush (power, in this case). My oil boiler just started and the high reading said 400 while steady state is around 200 Watts. That could seem about right, or is inrush even more?
Edit: This was on a Zen15, not Zen04, sorry.

I timed it several times. Pretty consistent 30 seconds.

I just got this response from Zooz. They're working on a firmware update:

Thank you for reaching out!

We have identified this as an issue with the current firmware. We are working on a firmware update for the device, and we will reach out as soon as it is available.

Please don't hesitate to reach out with any questions in the meantime.

I know I may be stretching it, but I just plugged in a Zen04 on a garage door opener. So far, so good. I have to say, the high/low value capability is nice.



Big news is that I have set this driver up such that it should work universally with any Z-Wave power metering plug that follows the standards! Please let me know if it works on your device and I can update the main post with a list.

Thanks to @velvetfoot for helping to test the ZEN15 support on this driver.

[1.1.0] - 2023-01-08


  • Support for ZEN15
  • energyDuration as an attribute so it can display on dashboard
  • Over limit checking with Warn log and warnings count attribute


  • Probing device for power metering support instead of hard coded by model
  • Reworked the meter lists to implement the limits
  • Reworked switch event handling to catch BasicReport and SwitchBinaryReport

Is there a way to check for warnings? I'd like to get a notification when there's a out of bounds reading even if it's filtered out.

Is it somehow connected with EnergyDuration? I noticed that it seems to be a text field, rather than number. What the heck is EnergyDuration, anyway, lol.

Thanks for you efforts.

Edit: Never mind. I scrolled down further and found warnings!
edit2: Is that a number? So to test if there's been a warning, do you test for "changed"? "increased"?

Interestingly, as I was putting a rule together, on my third trigger event, it showed two warnings. The log had, like, a gazillion volts. So, I'd guess every time the warnings count changed would be good, no?

Yes if you want an alert set it to alert when warnings increases or changes. It just counts up how many there has been since the last reset.

energyDuration is how many days the energy meter has been running since the last reset. I originally had it as a string including the word "days" but I decided to change the attribute to be just the number and forgot to change the type. I will change it for the next version.

EDIT: Decided to just push a minor fix, no version change. If you already updated run a repair to grab the fix.

1 Like

Is this the auto driver update thing? I'm not doing that yet. I'm not really using EnergyDuration, yet anyway.

Check out the new tile, lol:


Pushed the update to Github, so yes if using HPM a repair would grab the new code. Otherwise old fashioned importing works as well. Seriously though, go get HPM.

This for sure looks like a corrupted message. There should be 8 values, the first two for voltage should always be 161, 66 which gives a precision of 2 and a size of 2 among other things. The next two values are usually the voltage, then two for the delta time, and two for the previous meter. There is not a good way to know if the message came from the device like this or if it got corrupted along the way somehow. I might have to try putting some more load on mine and see if I can reproduce these issues.

Or less. This one is less than 30 watts, as well as the other, I believe.

Right now mine has one of those little air freshers plugged into it. Barely registers anything :smile:. I am just using it as a repeater at the moment.

If the Zen04 on the water softener, which I replaced, again, along with the little transformer powering the Zen16, locks up one more due to bogus overcurrent, I'll replace it with a Zen15 power switch, which doesn't seem to be acting up so far, and this 'feature' can be disabled.

Oh, what do you have for the ZEN16? Is it just a 1A phone charger or did you wire it direct with the 5V DC?

I sure wish i had the order numbers for the 2x zen16, 2x zen25, 2x zen20 i have purchased.
Overall good experiance with the products, but i wish they would not report the same thing 10 times in a row!
Then again the aeotec sp7's do the same thing.

If you are just trying to register the products to get firmware updates, if you open a support ticket I am sure they can get your registered another way. Maybe they can look up your order with your email? Check the advanced settings docs from Zooz as well, some of the devices have settings that can reduce reporting which are not exposed by the Hubitat drivers.

Good advice, i did find the order number for the zen16's.

I'm having an odd problem with the Monoprice 27481. When I go to turn the plug on or off, the physical plug does respond properly (turns on or off) but the device doesn't update. As a result, I get an indefinite wait glass in the tile.

I have to manually go into the device and hit refresh before it updates.

* deviceId: **10**
* deviceModel: **UNK00**
* deviceType: **257**
* firmwareVersion: **1.02**
* inClusters: **0x5E,0x25,0x32,0x27,0x2C,0x2B,0x70,0x85,0x59,0x72,0x86,0x7A,0x73,0x5A**
* manufacturer: **520**
* zwNodeInfo: **D3 9C 00 04 10 01 5E 25 32 27 2C 2B 70 85 5C 59 72 86 7A 73 5A 68 23**