Zwave Power Strip from AEON

post 184 and 190.

You should be able to do what you want with the mini mote if you use the virtual switch sync. just have the mini mote toggle the virtual switch. Personally I use ask alexa to toggle the virtual switches that are synced with my smart strip.

1 Like

Thank you for the confirmation and suggestions!

I like the Echo/Alexa suggestion, but I am using it to turn on and off pumps for my home brew system.

I am looking for something a little more fool proof that allows anyone using the system to hit a simple button/switch. I would hate for it malfunction and then find myself yelling at that spinning blue circle. :slight_smile:

Ironically, I was listening to music on an Echo Tap, but forgot to try it out.

It was rather frustrating for myself and others, who were doing their own batch, to depend on my phone to turn on and off the pumps, in the ST App. Also, as you may know, the ST App doesn’t always highlight the socket properly when it is on or off.

If anyone else has tried this and it has been successful, please let me know, and if you are using v1 or v2 of the remote. If anyone has a better suggestion rather the Aeotec remote, I would love to hear it. I would make a Zwave switch box, but the costs of each switch deters me from this approach when a simple remote can accomplish the same thing.


My apologies, but if you could offer some help, it would be greatly appreciated.

I installed the device handler and replaced the standard Aeotec smart strip code with your code.

I then installed the following SmartApp to sync the Aeotec Smart Strip and controllable sockets to my virtual switches… erocm123/SmartThingsPublic/blob/master/smartapps/erocm123/virtual-physical-switch-sync.src/virtual-physical-switch-sync.groovy

My problem is that when I configure the SmartApp, and assign the 4 different switches to the virtual switches, it doesn’t allow to pick Aeon SmartStrip 1, 2, 3, or 4. It only gives me the option of Aeon SmartStrip.

Could you offer a suggestion of what I am doing wrong?

Thank you!!

Have you gone into the IDE and hit “+New Device” and created the 4 virtual switches manually? This might be the step you are missing.

Thank you @erocm1231

LOL… um… calling Mr. obvious. Sorry, I was stuck on slow there.

Thank you for the jump start and obvious step I missed. I can now control each virtual switch separately.

One thing I don’t understand is how my virtual switch shows up under things, compared to yours. Where you have energy figures, I have an on and off button. The main trigger button looks the same and indicates green when on, and grayed out when off. I am using Android, and I assume this is what you were referring to as a bug, earlier in the thread.

Now for a not so obvious question, is there any way to collect the energy use in one place opposed to going into the logs?

Any suggestions? Thank you!

For the virtual switches to have energy readings use the device handler named “Simulated Energy Switch” in my Virtual / Physical Sync thread.

Collecting the energy info is a little tricky. I have a logstash server that I locally send things to. I know there are others out there doing different things. Do a few searches in the forums and I’m sure some stuff will pop up. Here is a reference the logstash setup:

I’m completely unable to get this to work whether I use the custom device type or not.

I’ve created 4 simulated switches called switch1 switch2 etc

I created the new aeon device using the posted code and that works although the interface is ugly.

I created the smartapp using the posted code and it compiles and creates allright.

When I finally go to add the smartapp to my aeon smart strip, I select the template aeon smart strip, then I select which outlets I want to use. I hit next and get a blank screen. If I hit next again, I get a red error at the top and can’t go further. “Error - bad state. Unable to complete page configuration”

The only way I can get the smart app to add is if I use the template but select no switches. But then that defeats the purpose of adding it. If I select any switch at all, I get the error hitting next.

All I want to do is control 2 of the outlets in my smart strip using echo or any aeon minimote. I would never in a million years have thought it would be so difficult and several hours of time wasted, trying to make something that should have been built in, work.

Any help would be much appreciated and sorry I’m so grumpy. I’m very frustrated right now.


I finally found a smartthings app that works and lets me control the switches individually.

Most of the info in this thread is from before there was an official device for the Aeon Smart Strip so disregard it.

  1. Add and pair your Aeon Smart Strip to the hub just like any other Zwave device and use the default SmartThings device type. No need to make any custom devices or paste in any code.

  2. Create a new smartapp on the IDE site which is at and past the code in you will find here Then save and publish it.

  3. Create 4 virtual switches using the IDE website
    a. Add new device
    b. Name and description whatever you want but unique
    c. network id can be anything you want but be unique
    d. type should be simulated switch
    e. select home and your hub
    f. do 3 more times until you have 4 simulated switch devices added and showing up in your things list.

  4. Go to the market place in the smart things app and the smartapps tab and scroll to the bottom where it says +my apps. Select the "AEON Power Strip Binder"
    a. Select your smart strip
    b. Select your virtual switches you created in step 3. Switch 1 is 1, 2 is 2 etc. Whatever you decided to call them in step3.
    c. Give the virtual device a name. This is the name that will show up under smartapps.

enjoy a 5 minute, frustration free exercise in making it work.


Which code were you using? I have a much more current and functional option that has been listed somewhere in this thread. If you are referring to my handler and app I’d like to know so I can figure out what is happening. Hopefully you don’t think my design is “ugly”. It isn’t like SmartThings has support for advanced layouts.

1 Like

I don’t mean to seem ungrateful and I wasn’t calling your app ugly. I think it’s great that you are helping by contributing to the community and I thank you for that.

I wasn’t able to get it to work though. The resulting device had duplicated switches arranged out of order with some working and others not and it was a step down from the default device type. I am guessing it’s because it was older code but it was the most current I could find. I assume it was from before official support was added for the smart strip.

I ended up using someone elses smartapp with the virtual switches and that worked right away. I spent several hours trying to make this work and had to read through pages of internet posts to gleam the information so I made a post showing step by step how to get it to work in just a few minutes so the next person won’t waste time going over several years of posts.

I’m glad you found something that worked for you. I don’t think you were using my handler and SmartApp. The reason that I build it was because of the things you are complaining about. These other handlers are referenced throughout this thread. Also, as you mentioned, when I built it the SmartThings official handler was not working correctly. Maybe they have worked out the bugs since then.

I still think my handler and SmartApp are superior and are not difficult to setup or problematic. I don’t want people to get confused by your post and be afraid to try a better solution. The tiles are all arranged correctly, and there are not duplicate switches. The SmartApp works flawlessly for me and many others. On top of that mine has:

  • Power and energy readings for the two outlets.
  • Cumulative power and energy readings.
  • Temperature reading (although it seems to be more of an internal temperature).
  • Multi-tile design to match other modern SmartThings 2.0 device types.
  • Virtual switches have individual power and energy readings.
  • Control with the virtual switches does not leave a bunch of unnecessary static in the devices “Recently” tab.

So like I said, I’m glad you found something that worked, but your experience is not the experience that most users have with my release.


good day,

would like to ask if the smart power strip is compatible for 220v?

@erocm1231 Maybe you can help me out. I updated my code to this:

I was using older code of yours and it worked great. However, I wanted to update the code because one of my strips was a little more chatty then the other.

After updating my code, I set the device type to Simulated Switch and the virtual / physical smartapp was able to see the Aeon strip, but I’m not able to control it. Looks like I’m turning it on, but it does not respond.

I did do a zwave repair and no go. Do I need to delete the old smart app instance and create a new one?


Hi Eric,
I’ve been using your DHs and apps for a while now, so thank you for that.
Your code and others are what makes this whole platform worthwhile.
Quick question on Aeon SmartStrip, is there any way in your DH to modify how often it sends energy measurements? It’s super noisy and as my Z-Wave network keeps growing I want to minimize some of the transmissions that are not useful to me. Not a developer but not scared to hack around a little bit if you point me in the right direction.

So you have to edit the configuration parameters of the device to adjust the reporting interval. If you want to take a stab at it you can look at the “configure()” section of the code.

def configure() {
    state.enableDebugging = settings.enableDebugging
    sendEvent(name: "checkInterval", value: 2 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
	def cmds = [
        // Configuration of what to include in reports and how often to send them (if the below "change" conditions are met
        // Parameter 101 & 111: Send energy reports every 60 seconds (if conditions are met)
        // Parameter 102 & 112: Send power reports every 15 seconds (if conditions are met)
		zwave.configurationV1.configurationSet(parameterNumber: 101, size: 4, configurationValue: [0,0,0,127]).format(),
		zwave.configurationV1.configurationSet(parameterNumber: 102, size: 4, configurationValue: [0,0,127,0]).format(),
        zwave.configurationV1.configurationSet(parameterNumber: 111, size: 4, scaledConfigurationValue: 60).format(),
		zwave.configurationV1.configurationSet(parameterNumber: 112, size: 4, scaledConfigurationValue: 15).format(),
	[5, 6, 7, 8, 9, 10, 11].each { p ->
        // Send power reports at the time interval if they have changed by at least 1 watt
		cmds << zwave.configurationV1.configurationSet(parameterNumber: p, size: 2, scaledConfigurationValue: 1).format()
	[12, 13, 14, 15, 16, 17, 18].each { p ->
        // Send energy reports at the time interval if they have changed by at least 5%
		cmds << zwave.configurationV1.configurationSet(parameterNumber: p, size: 1, scaledConfigurationValue: 5).format()
	cmds += [
        // Parameter 4: Induce automatic reports at the time interval if the above conditions are met to reduce network traffic 
		zwave.configurationV1.configurationSet(parameterNumber: 4, size: 1, scaledConfigurationValue: 1).format(),
        // Parameter 80: Enable to send automatic reports to devices in association group 1
        zwave.configurationV1.configurationSet(parameterNumber: 80, size: 1, scaledConfigurationValue: 2).format(),

	delayBetween(cmds, 1000) + "delay 5000" + refresh()

The best I could find for a list of parameters is here:

I haven’t verified if these are correct or not. I don’t use this device anymore.

1 Like

Thanks for pointing me to the parameters page, makes more sense now. Looks like it’s working so much appreciated.

1 Like