[RELEASE] zooZ Power Strip ZEN20

Hi Phil,

We posted a detailed guide on how to install custom device handlers here: http://www.thesmartesthouse.com/blogs/the-smartest-blog/how-to-install-a-custom-device-handler-in-smartthings

The only thing you’ll need to change is the source code since the above instructions refer to a different product.

The Aeon Labs strip has only 4 Z-Wave outlets (and 2 regular outlets constantly powered), while the Zooz has 5 Z-Wave outlets and 2 USB ports (no Z-Wave functionality here). The Zooz power strip does NOT report energy use, while the Aeotec does. Another difference is that the Zooz device is Z-Wave Plus while the Aeotec strip still has the older Z-Wave chip.

Feel free to contact us with additional questions!

Hi Tim,

Did you try general exclusion?

If not, please try this first:

  1. Tap the menu icon in your SmartThings app
  2. Tap Hub is online
  3. Tap Z-Wave Utilities
  4. Tap General Device Exclusion
  5. The app will show this message: “Please follow the manufacturer’s instructions to remove the Z-Wave device from My SmartThings.” There will also be a spinning circle next to the message “Exclusion Mode Active”
  6. While Exclusion Mode is active, click the CH1 Power Button 3 times very quickly (sometimes it takes more than 3 clicks if the first 3 were not fast enough)
  7. The app will confirm device exclusion
  8. Tap Done

Then re-including the strip again AFTER installing Eric’s handler.

Let us know if it helped!

1 Like

Hi TheSmartestHouse,

Thanks for the quick response. I’ve tried doing a general exclusion, using multiple clicks. Nothing registers. It basically behaves the same as when I try to include it.

I’ve also tried installing the DH. Still no response.

I’ve tried doing the factory reset as well.

  • Tim

Hi Tim,

We’re sorry to hear that. Please get in touch with our customer service to have the item replaced since it may be a defective unit. Thanks for working with us to troubleshoot!

I did what was in the blog and still only got one plug to work! At this point its junk to me! Why should a person have to jump through hoops of fire just to get this power strip to work right! Anyone want to buy a power strip? I am soooooo over this stupid thing its not even funny! I read every thing there was on this and still can’t get it to work. I am very disappointed that someone would even need to go through this just to get 5 plugs to work what a joke! This is not as simple as they lead on to believe! There is no real link to the things you actually need to make it work. I will be returning the zen20 back to amazon and getting devices that actually work and pair with no issues. And not this build code bull crap! KEEP IT SIMPLE STUPID!

I understand that you are frustrated, but find it a little immature in how you are expressing your feelings in this thread. It really isn’t that hard to set this device up, but of course, everyone has a different technological background that may make things easier or harder. There are a couple things that you are complaining about that I feel need clearing up. 1) Getting a device type officially published with SmartThings is not the easiest task. That is why you will find most devices are community supported. When this is the case, the device code has to be manually added. 2) SmartThings doesn’t really support multi-channel devices. You can view a “multi-channel” device as one that has more than one controllable “plug”. Again, the community has stepped up to provide a work around.

All the resources needed are in the first post of this thread. It seems like you are blaming this device for the shortcomings of the SmartThings platform with this kind of device. Lots of people have given a lot their time to provide the community with these types of solutions. They also spend a lot of time helping people in similar situations as you.


Thank You for the DTH and Virtual switch smartapp. Everything works great!

Here are the steps I took:

  • Load Power Strip DTH - I used erocm1231’s listed at the beginning of the thread. To add new device handler:
  1. Click on link to Github
  2. Click on “Raw” when in Github
  3. Copy all code (CTRL+A, or CMD+A)
  4. Log into IDE, add “New Device Handler”
  5. Click to “From Code” tab
  6. Paste code to terminal window (CTRL+V or CMD+V)
  7. Save
  8. Publish - “For Me”

-Put the ST Hub in “Add Thing”

  • Plugged in the Power Strip
  • Pressed CH1 a few times. Which didn’t work, then I pressed CH2 a few times and the Hub found the power strip
  • Validated that the outlets were controllable from ST App
  • Created 5 Virtual Simulated Switches naming “ZEN20-1” - “ZEN20-5”. To add the virtual switches:
  1. In IDE, add “New Device”
  2. Name and Label (ie. ZEN20-1)
  3. Zigbee ID can be anything (ie, V-011, V-012)
  4. Device Network ID can also be anything, but I used the Zigbee ID created above
  5. For Type, find “Simulated Switch” from the dropdown

-Load the “Virtual / Physical Device Sync” Smartapp (found at the beginning of thread).

  1. Click on Smartapp Github link,
  2. Click on RAW (upper right hand corner),
  3. Copy complete code (CMD-A or CTRL-A),
  4. Log into IDE,
  5. Go to My Smartapps and create a “New Smartapp” (upper right corner)
  6. Paste code into terminal on “From Template” tab
  7. Save
  8. Publish - “For Me”

-In ST App, add new Smartapp; find “Virtual/ Phyical Device Sync” in “My Apps”
-Open Smartapp.

  1. Set to 5 outlets, and rename to something meaningful (i.e. ZEN20_F.Room)
  2. On the next page, choose the Physical power strip, then populate with the Virtual Switches previously created.

-Test the Virtual Switches, and listen for the relay on the power strip.

1 Like

I manged to get the ZEN20 to mostly work. In the app I can control the individual outlets but what I can’t find a way to do is automate turning on and off the individual outlets. I would like to be able to set different schedules for different outlets. Right now I can only automate the whole strip as one unit. All on or all off. Is this possible? If not, I’ll have to find a different solution than the ZEN20.

Create Virtual switches, and use the “Virtual/Physical device sync” app for association of virtual switch1-5 to outlet 1-5.

Thanks, I got it working! What happened was that as I was going through the instructions I ended up with the wrong sync SmartApp and a missing device handler. Now that all the versions are correct I got the missing virtual switches and was able to automate them.

The DTH is working but getting error when running the smart app to rename the switches.

There are device handlers listed in the Virtual Device Sync post that need to be installed. They all start with “Simulated” in their names.

I dont know if it is possible but I have my cable modem and my smart things hub on this, is there anyway to send a restart on an outlet for the cable modem?

That would be tough because of the dependence that SmartThings has on the cloud. I’m assuming you want to restart it if your internet connection goes down?

Actually I want to restart the cable modem weekly.

@pmjoen I use a plug that has 2 outlet and lets you remote reboot router and cable modem etc. The plug is here. I like it because I can use it outside of my home automation.

Can you add the additional functions in the virtual switch for toggle?

Let me check that out.

Nice app and Thanks !!!
I was wondering if you could help me with something very simple (I think)

I am using the Zooz strip to control Router, 2 WAP, and a modem

Is there a way to change the Labels from “switch1” “switch2” … to lets say “Router” “Modem”
Thanks a million in advance

SmartThings does not provide a simple way to allow this to happen. You could go into the code and change the “label” for each tile to reflect the name you want. The code you are looking for is toward the top.

You would essentially need to delete the loop that creates the switches:

(1..5).each { n ->
			standardTile("switch$n", "switch$n", canChangeIcon: true, width: 2, height: 2) {
				state "on", label: "switch$n", action: "off$n", icon: "st.switches.switch.on", backgroundColor: "#79b821"
				state "off", label: "switch$n", action: "on$n", icon: "st.switches.switch.off", backgroundColor: "#ffffff"


And add them individually back as:

			standardTile("switch1", "switch1", canChangeIcon: true, width: 2, height: 2) {
				state "on", label: "Router", action: "off1", icon: "st.switches.switch.on", backgroundColor: "#79b821"
				state "off", label: "Router", action: "on1", icon: "st.switches.switch.off", backgroundColor: "#ffffff"
standardTile("switch2", "switch2", canChangeIcon: true, width: 2, height: 2) {
    				state "on", label: "Modem", action: "off2", icon: "st.switches.switch.on", backgroundColor: "#79b821"
    				state "off", label: "Modem", action: "on2", icon: "st.switches.switch.off", backgroundColor: "#ffffff"

It is kind of tedious which is why I just prefer to rename the virtual switches created with Virtual Device Sync.