I won’t be converting the EVA LOGIK (ZW31) / MINOSTON (MS11Z) In-Wall Dimmer DTH into an Edge Driver so it will stop working once the Groovy platform is retired, but it probably doesn’t need a custom driver.

This DTH supports all the functionality of the following devices:



  • Dimmer

  • Button with actions pushed, down, down_2x, up, and up_2x which can be used as a trigger in Smart Lighting for both apps, Automations in the new mobile app, and Routines in the Classic mobile app.

  • Fully functional with the new mobile app and the Classic

  • Supports all of the device’s configuration parameters


New Mobile App Screenshots



Classic Mobile App Screenshots


1 Like

Hi Kevin,

I installed your DTH for two Minoston MS13Z Smart Toggle Dimmer Switches and a Minoston MS11Z Smart Paddlle Dimmer Switch. For each of them on my iPhone I see in the classic app the screen titled Ministon Dimmer that begins with Paddle Control but I don’t see the screen titled Button action. In the New Mobile App I see the screen titled Minoston Dimmer that starts with Off but do not see the screen titled Minoston Dimmer that starts with On or Off.

The Classis App indicates the Minoston firmware is Version 2 not 2.02 as shown on your screenshot. Perhaps this is an issue of updating the firmware. I will contact Minoston at ask@minoston.com about getting newest firmware and how to install it.


Andrew Morris

If you added the handlers after you joined the device then you’ll need to open those devices in the IDE and change their “Type” field to my handlers which will be at the very bottom of the list.

Minoston didn’t mention that there was a MS13Z Dimmer so the handler has only been tested with the MS11Z and I can’t offer any support for the toggle version.

I was under the impression that the 2.0 firmware for the MS11Z didn’t go into production because it had a bunch of bugs so the DTH only supports firmware 2.02.

They might send you the latest firmware, but you’ll need to download an app like Z-Wave PC Controller to install it and you’ll also need a z-stick because ST doesn’t have any type of firmware update feature for z-wave devices.

Let me know what Minoston support says because if they’re response isn’t helpful I’ll talk to my contact.

Regarding Firmware here’s the reply I received from Minoston (ask@minoston.com):

After we checked that all firmware version of our Z-Wave switch is 2.0.

You can check it on the bottom of the switches, the number below the “Made in China”.

Regarding the DTH I did change the Type to EVA LOGIK In-Wall Smart Dimmer. The problem/question re: the DTH is that I’m not seeing the second screen you show in the screenshots for both the Classic APP and the New Mobile App. I am seeing (and have used successfully) the first screen in each app.

The screen I don’t see in the Classic App is the one titled Button Action and has:

  • Pushed
  • Down
  • down_2x
  • up
  • up_2x

The screen I don’t see in the New Mobile App is the one titled Minoston Dimmer and has:

  • On or off
  • Pressed
  • Toggled down
  • Toggled down 2 times
  • On
  • Off
  • Dimmer

Thanks for the response and support.

Andrew Morris

Sorry, I probably should have labeled those screenshots better because those aren’t part of the device details screen, they’re the options you’ll see when you select the device as a button in a SmartApp of either mobile app and the Automations section of the new mobile app.

That being said, they sent me an old device with firmware 1.02 and the 2.02 firmware file. They didn’t mention that there’s a 2.0 version so I only tested the DTH with the 2.02 version which is the same version they tested it with.

If central scene isn’t fully implemented in firmware 2.0 then the button feature in this DTH won’t work. You might want to also keep live logging open when saving the settings because the settings might be different which would prevent them from syncing.

Let me know if you run into any issues like that.


Thank you so much for your device handler. SmartThings is not very friendly to customize and - once I figured out how to assign a new handler to my device - your code let me change the critical settings I couldn’t access previously. I have a Minoston MS11Z, so I had to guess at what your parameter names meant (the Minoston documentation isn’t very friendly, either) and was able to reset them to better values. Minoston didn’t even document Parameter 10, which is used to control the duration you have to hold the switch to change the dimmer through its full brightness range. You’re awesome!

1 Like

Thanks for this DTH for the ZW31. For some reason I couldn’t get the hub to select your DTH on inclusion. Fortunately I was able to change it afterward in the IDE. One thing I still have problems with is the dimming function. The new app gives me “A network or server error occurred. Try again later” message when I use the slider to turn the dimmer up to 100%. At the same time, the LED lights on that switch go to about 10% and flicker rapidly. In fact, settings of 90%-95% result in dimming and above 95% results in flickering and/or “network or server” errors. Simple up or down toggles can cause the lights to flash twice before staying on/off. Do you have any insight into this behavior?

flickering sounds like a wiring issue or defective device so you should contact the manufacturer…


Thanks for responding, but I don’t think that is it. When I exclude the device from my hub, it turns off/on and dims perfectly. When I add it again using the new Smartthings app, it always automatically selects a Zooz DTH, which works terribly. Then I change the DTH to yours, using the device page in the IDE. Your DTH definitely works better than the Zooz DTH, but the resilt is always the same as I described above: strange blinking of the lights near the extremes of the dimming range.

Does the dimming rate appear to be the same when physically turning it on/off without it being joined to the hub?

All the handler does is send a single command to the device telling it to turn on, off, or change to a specific level so it’s not possible for the handler to make it flicker.

I suspect it has something to do with the dimming speed so set it to the lowest value and see if that makes a difference.

Some bulbs don’t play well with certain dimmers so if lowering the dimming speed doesn’t work then I recommend trying a different brand bulb if you have one.

It’s a good idea to switch out the LEDs. I’ll update here after I do. In the mean time I can report the results of changing the dimming speed (“push dimming duration” and “hold dimming duration”).

set up: I excluded and then re-added the switch using the new Smartthings app, changed the DTH to yours in the IDE, then independently varied the “push dimming” and the “hold dimming” durations after verifying that all other parameters were set at the “default” values (all the settings start out saying “tap to set” so I set them to the option labeled “default”).

(push: 1 s [default], hold : 4 s [default]) Initial condition. One physical toggle down results in lights (starting on) blinking twice in ~1-2 second and staying off. One physical toggle up results in lights (starting off) blinking twice and staying on.
(push: 2 s, hold : 4 s [default]) no change relative to initial condition
(push: 3 s, hold : 4 s [default]) One physical toggle down results in rapid flickering for ~3 seconds then led stays off. One physical toggle up results in rapid flickering for ~3 seconds and then led stays on.
(push: 4 s, hold : 4 s [default]) One physical toggle down results in rapid flickering for ~4 seconds then led stays off. One physical toggle up results in rapid flickering ~4 seconds and then led stays on.
(push: 8 s, hold : 4 s [default]) One physical toggle down results in rapid flickering for ~8 seconds then led stays off. One physical toggle up results in rapid flickering for ~8 seconds and then led stays on.
(push: 1 s [default], hold : 1 s) no change relative to initial condition
(push: 1 s [default], hold : 8 s) no change relative to initial condition
Therefore, the “Push Dimming Duration” parameter clearly controls the duration of the supposed dimming. Values above 2 seconds cause rapid flickering, while values 2 and below only cause several much slower blinks.

Also notable is that the manual (https://nie-tech.com/wp-content/uploads/2020/06/ZW-31-ManualV4.0-2020.6.22.pdf?x34464) does not appear to allow manual adjustment of (“Push Dimming” or “Hold Dimming” duration.

Also, could any of these problems be related to Parameter 7 (association setting)? I have the switch connected to a STH-ETH-200 smartthings hub and in a 3-way switch configuration (with a standard switch on the other side).

Another issue I am having is that double pressing up on the physical wall switch causes a “Toggled down 2 times” message to appear in the button status indicator within the new Smartthings app, while double pressing down on the switch results in a “Toggled up 2 times” message to appear. The event list in the IDE confirms that double pressing up on the paddle results in a “down_2x” event. I hope this helps us get to the bottom of the problem (fingers crossed). Thanks again for your great work!

Open the device in the IDE and post what’s shown next to raw description.

Hi Kevin,
Thanks again for agreeing to help!
Here is the Raw Description:
zw:Ls2 type:1101 mfr:0312 prod:BB00 model:BB02 ver:1.00 zwv:7.13 lib:03 cc:5E,55,9F,6C sec:86,26,70,5B,85,8E,59,72,5A,87,73,7A

Your prod and model don’t match the MINOSTON or EVA LOGIC models I wrote the handler for…

What region is your device?

Hi Kevin,
Purchased on Amazon in the US, but I don’t know how I can be sure what region it is from beyond that.
Here is a photo of the information on the unit, if that could help.

You have the ZW31S which is their new model and that explains why the fingerprints didn’t match and why it’s not working with this handler.

I won’t be adding support for that model because this manufacturer recently took a handler I wrote for a different company, removed the license, and moved blocks of code around in an attempt to hide the fact that they stole it.

Sorry, but you’ll need to either use the built-in handler or contact the manufacturer to see if they have a handler for it.


A couple years ago I purchased a MINOSTON Smart Dimmer Switch and used Kevin’s DTH to handle scene control through SmartThings new app. Thinking I could do this again, I recently purchased what I thought was the same switch / model. However, this time when I applied the custom DTH, the scenes were reversed. I.e. When I double pressed up, it registered as a down_2x and vice versa.

I found this to be a change in the cmd.sceneNumber coming from the device. I’ve updated the DTH to check the device mfg and prod to conditionally change the cmd.sceneNumber mapping to down from 1 to 2. This way both my old a new switches work as expected.

The 3 changes I made. YMMV

1/ [Optional] Added a new fingerprint:

fingerprint mfr: "0312", prod: "0004", model: "EE02", deviceJoinName: "Minoston In-Wall Smart Dimmer" // MS11ZS - ZW31S

2/ Added the following method

private isZw31s() {
	return zwaveInfo?.mfr == "0312" && zwaveInfo?.prod == "0004"

3/ updated the method void zwaveEvent(physicalgraph.zwave.commands.centralscenev1.CentralSceneNotification cmd). Replace with the following:

void zwaveEvent(physicalgraph.zwave.commands.centralscenev1.CentralSceneNotification cmd){
	if (state.lastSequenceNumber != cmd.sequenceNumber) {
		state.lastSequenceNumber = cmd.sequenceNumber
		Integer downSceneNumber = (isZw31s()) ? 2 : 1
		String paddle = (cmd.sceneNumber == downSceneNumber) ? "down" : "up"
        logDebug "cmd.sceneNumber ${cmd.sceneNumber} mapped to ${paddle}"
		String btnVal
		switch (cmd.keyAttributes){
			case 0:
				btnVal = paddle
			case 3:
				btnVal = paddle + "_2x"
				logDebug "keyAttributes ${cmd.keyAttributes} not supported"

		if (btnVal) {

I hope this helps!

I won’t be converting the EVA LOGIK (ZW31) / MINOSTON (MS11Z) In-Wall Dimmer DTH into an Edge Driver so it will stop working once the Groovy platform is retired, but it probably doesn’t need a custom driver.