Enerwave Motor Controller (Model: ZWN-MCM-AC) recognized as Basic Relay Switch instead of Curtain Motor Controller/Shutter Relay by SmartThings Hub/App

(Chun Liew [SmartHomeDB Evangelist]) #1

I was able to connect an Enerwave Motor Controller (Model: ZWN-MCM-AC, http://www.enerwaveautomation.com/productshow.php?id=819) with my SmartThings Hub, but the SmartThings Hub/App is recognizing the Curtain Motor Controller/Shutter Relay as a normal Relay/Switch.

The result is that I am able to give On/Off instructions via the SmartThings App but the resulting actions are that the engine either turns right or left.

On = Turn Right
Off = Turn Left

So there is no ability to stop the engine from turning at the moment.

Any suggestions on how to resolve this issue are highly appreciated.

Video showing the problem:


(Tim Slagle) #2

Needs a custom device type.

Did it come with a whitesheet describing its different functions and which zwave bits it uses by any chance? I’ll see if I can find one online.

Should be able to write a device type for you.

(Chun Liew [SmartHomeDB Evangelist]) #3

Hi Tim,

I will connect with the supplier on Monday to request more details on the functions and zwave bits.

Already thank you for your input, highly appreciated.

(Tim Slagle) #4

Here’s a example of the stuff you are looking for:

(This is not actually one that will work just an example)

The command classes, config parameters, and association groups are what you need. You can do without the association groups but the command classes and config parameters are essential. But definitely try and get all three haha.

(Chun Liew [SmartHomeDB Evangelist]) #5

So I finally got a reply from the manufacturer.

They are not willing to give the depth of information you have requested but they sent their Installation Instructions document and it contains a bit of information which could be relevant, I just hope it is sufficient.

FILE: http://we.tl/KyJTvJmQmV

Delay Time for Stop Configuration
By default setting, once an Output is ON, it will stay ON. To protect some motor
from damage, ZWM-MCM-AC can turn OFF output after a configured delay time.
Configuration details
Parameter 13(0x0D)
Size of configuration value: 1 byte
Valid values are 0-60; 0: default value, no delay time; 1: one minute; 60: 60 minutes

Is there a way how I can download a LOG from the SmartThings Hub which could expose the command classes and config parameters by using the actions in real life? As said, I am able to turn the engine to the right and left via On/Off in the SmartThings App.

(Tim Slagle) #6

That doc doesn’t help too much.

So this is a zwave device. How do they expect you to control it? Is it built to work with a specific system?

As for logging you can try logging into the IDE. (graph.api.smartthings.com) and go to “Live Logging”. From there try to toggle the switch and see what kind of stuff comes back. Post it all to a paste bin and post it here.

In the morning I will do some more searching to see if I can find something. Maybe someone hacked this into another platform and I can see what they did.


Ask the manufacturer for the “Z-wave conformance statement.” There will be one for any certified z-wave device, nothing confidential there, they’re supposed to be published on the z-wave alliance site.

(Chun Liew [SmartHomeDB Evangelist]) #8

I believe they originally built it around Vera:

With regards to the Live Logging, I believe the information I am able to retrieve is of limited/no value:

46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:14:37 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:14:34 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:14:32 PM: info on
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:13:11 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:13:08 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:13:05 PM: info on
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:13:05 PM: debug Parse returned [Enerwave Shutter Relay is off]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:13:01 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:12:45 PM: debug Parse returned [Enerwave Shutter Relay is off]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:12:41 PM: debug Parse returned [Enerwave Shutter Relay is off]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:12:36 PM: info on
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:12:37 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:12:27 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:12:25 PM: debug Parse returned [Enerwave Shutter Relay is on, Enerwave Shutter Relay dimmed 99 %]
46f076a6-2cc2-444c-86b0-a3bbc15f0cbc 5:12:21 PM: info on

From graph.api.smartthings.com/device/list I can get:

Display Name: Enerwave Shutter Relay
Type: Dimmer Switch
Location: Home
Hub: Home Hub
Zigbee Id:
Device Network Id: 02
Last Activity: 8 minutes ago

Data: No data found for device
Raw Description: 0 0 0x1105 0 0 0 4 0x26 0x50 0x72 0x86

Current States:

switch: on
level: 99 %
indicatorStatus: when on

The manufacturer refuses to provide any further documentation (for now).

With regards to the z-wave alliance site I am able to find this:

Unfortunately the shutter relay we are talking about now (ZWN-MCM-AC) is not listed in their database.

Also for the Enerwave products that are listed only the Z-Wave Device Class is indicated, I question whether that’s sufficient to write a device type.

(Tim Slagle) #9

The raw description will help :smile:

We are going to have to hack something together. Might be a lot of trial and error but i have faith we can get it working.

I’ll try and have a new device type to you soon. (to test)


Enerwave is a legitimate company. If you scroll down a little further on the page for their conformance statements, you will see “supported command classes,” which should be what you need to create a device handler. So the statements that are published on the zwave alliance site that you linked to are fine. Unfortunately they don’t help us with this device.

Are you actually corresponding with Enerwave? Or with a third party?

The reason I ask is that in the pictures you showed, the writing is in English but there are none of the legally-required frequency or license information for US or European sales. So that leaves one of three possibilities:

  1. it’s a prototype or beta model
  2. it’s a counterfeit
  3. it was manufactured for sale in a country that uses English but does not require frequency information on the device

The fact that it’s not listed on the third party Zwave Alliance site and that the people you are corresponding with are being so unhelpful makes me think 1) or 2) is more likely than 3).

Are you corresponding directly with Enerwave?

(Tim Slagle) #11

Try something for me when you get a chance. I think these controllers just use the switch_multilevel command class… Try changing the device type to a “centralite dimmer” and mess around with it. Most importantly try to “dim” the device. Let me know what happens. (if anything lol)


I did a little more research.

These devices were shown at trade shows last year, but I don’t believe they received final certification for the U.S., which is why there’s no conformance statement. (I’d be curious to know where you bought this.)

As Tim says, shutter controls typically self identify as “multi level” switches, but please do NOT switch the device type to dimmer, it could burn out the motor.

The fact that instead it self identified as a relay implies that the left/right behaviour you are seeing is the intended effect, and that it is the physical shade itself that is the missing piece that gets it to stop in either direction. So that this has only two positions: all the way down, and all the way up.

That is how some inexpensive controllers work, so lacking further details, it seems possible.

I would try adding a physical shade and see what happens when the shade fully retracts.

(Tim Slagle) #13

Sure, if you leave it unattended. I guess i assumed he wouldn’t expect that to just “work”. I only need the info. Test purposes only. Also, be ready to unpower the rig. HAHA

Very possible. :smile:

At this point we are just grasping at straws unfortunately. Blind leading the blind.


It’s zwave. It self identifies with its device class. If it’s identifying as a relay, don’t switch the device handler class to multilevel switch. Attended or not.

If it’s smartthings that for some reason is misidentifying it, that’s a different story, but the fact that it spins in both directions makes that sound unlikely.

I think this is an issue of design, not communication. My guess is this thing spins until the shade is fully retracted, and because the OP never attached a shade, he’s seeing endless spin.

Think about the use case for a minute. Automated shade control. Does the manufacturer intend a human to hit the stop button every time? Unlikely.

Does the manufacturer create one device for shades of 10 inch length and another for shades of 20 inch length and another for shades of 24 inch length? Possible, but unlikely.

So how does the roller know when to stop? Probably when it gets to the end of the shade, however long that is. Hence the behaviour shown in the video. No shade attached, no stop.

There are expensive units that can stop a shade part way down, but also inexpensive ones that can’t. That’s where multi level switch commands come in. But only if the controller expects them.

(Tim Slagle) #15

Could be :smile:

Always a wealth of knowledge @JDRoberts. Love ya my friend :smile:


Love your coding creativity as well, Tim. You are an undisputed rockstar at solving code problems in new ways. Also–dig the hat. LOL!

(Mike Maxwell) #17

Hmmm, we have two bits at play here.
We have the motor unit, and the motor controller.
So far we’ve only got documentation on the motor controller, when we look at the available inputs, we have left, right and stop.
What I don’t see is how many connections the motor has, likely three correct?
So the motor itself has no limit switches built in (for the reasons that JD mentioned).
Presumably it has some sort of load initiated shutdown built into it, otherwise the thing would continue spinning once it reached the end of it’s travel. Super, that’s fine, so the motor won’t likely destroy itself, the problem with this approach when using the controller as shown in the documents, is that the controller itself has no idea what the motor is doing, there is no feedback path, no limit switches to let the controller know that it’s done moving, or even if it’s open of closed. This explains the timeout setting in the controller, that would need to be enabled in order for the curtain state to be updated in ST.
Were this my setup, I would install some limit switches at both ends of the rod, connecting these in a way to activate input 3 on the controller, even this may or may not work depending on the input state logic that is implemented. But playing around with input 3 would be easy without actually installing the switches in the track.

(Chun Liew [SmartHomeDB Evangelist]) #18

So I changed the device type to a “centralite dimmer” and unfortunately the result is that the actions ON/OFF in the SmartThings App do not result in the engine turning right OR left physically.

So I believe the hardware Enerwave Motor Controller (Model: ZWN_MCM-AC) is not compatible with the CentraLite Dimmer Device Type.

Just to make sure I followed the right process:

On https://graph.api.smartthings.com/ide/devices I clicked on [+ New SmartDevice]

I selected tab [From Template]

I selected [CentraLite Dimmer]

I clicked on [Create]

I clicked on [Set Location]

I selected for ‘Choose a device to test with’ [Enerwave Shutter Relay]

I clicked on [Install]

I clicked on [Publish] > [For Me]

I clicked on [Save]

I tested whether the hardware and updated software configuration would pair by unplugging and replugging the power to the SmartThings Hub and the Enerwave Motor Controller.

It unfortunately did not.

I created a New SmartDevice and followed the same above steps but now for Dimmer Switch (the original auto-selected Device Type initially).

After unplugging and replugging the power to the SmartThings Hub and the Enerwave Motor Controller I was able to control the Enerwave Motor Controller as per original configuration:

On = Turn Right
Off = Turn Left

As a side-remark, I believe I read user Aracaneshark experience the same problem as me, but with the Fibaro FGRM 222 - Roller Shutter:

(Chun Liew [SmartHomeDB Evangelist]) #19

I am mainly based in Asia and currently in Shanghai.

With regards to Enerwave, to my understanding it is a brand owned by the company MTLC (www.mtlcelec.com).

MTLC instructed us to obtain the Enerwave Motor Controller from their Shanghai-based partner trading company Emma Technology (http://www.emmatech.com.cn/)

Price: RMB 445 (= USD 72)

Valid point and I will be able to do so next week.

Curtain Rail is currently in a different city… :pensive:

Based on the above instruction in the Installation Manual I do believe it is not good for the engine to be forcefully blocked by the rails, but let me just test and see what happens next week.

By the way, I just received the Aeotec Zwave Micro Motor Controller DSC14104-ZWUS


So I will also try that Motor Controller out and let you guys know what happens. My expectation is that it will be the same result as I am experiencing now with the Enerwave Motor Controller.

(Chun Liew [SmartHomeDB Evangelist]) #20

So your suggestion set me in the right direction, thank you. =)

Basically the curtain engine stops and educates itself till which distance it can open itself due to the first time it gets physically blocked due to the rails.

I originally put the curtain engine on a 1 meter rail after which I put the engine on a 3 meter rail, which resulted in that each side stopped closing after 50 cm (2-sided curtain set).

I had to then click on the reset button of the curtain engine after which each side went all the way till it closed after 150 cm (also 2-sided curtain set).

Conclusion, no custom device type required, but I am sure I will need one in the near future for some of the other devices still in my queue for testing =)

By the way, I also installed an Aeotec Zwave Micro Motor Controller (Model: DSC14104-ZWUS) and the result is exactly the same as with the Enerwave Motor Controller (Model: ZWN-MCM-AC).

I created a video to fully clarify the outcome: