How to get a Z-Home Control ZHC5010 Z-Wave switch module to work? (DTH link in post 26)

Hi guys, I tried your code on my (3) ZHC 5010 at home. I somewhat confused about why there is no button to turn on or off my lights? It seems there is only a label and a refresh button. What’s with that? :slight_smile:

Hi Michael and @MadsE
You dont use the Thing it the app for anything, besides perhaps change some of the few settings that Darwin included.

You use CoRE to program what each button should do.
Lets call the Thing “Multicontact”, then I have a piston saying
IF Multicontact button #1 is pushed
THEN do what you want

That simple. Hope that makes sense.

Note: It has button 1-4, for single click, and then it also has button 5-8 for double click, but as described in this thread, my issue is that a double click sometimes also executes a single click action.
If you make a double click, then the device should ignore the single click (the first of the two clicks).

I cannot remember anylonger if there is also a button 9-12 for long press?!
I never godt really program it as I wanted because I wanted to wait to see if @Darwin would succeed in suppressing the single click issue, when doing a double click

I can confirm that 5-12 is tripple click and long press is also supported by webcore which is also what I use.
If you want to control lights with it I suggest you use SmartApp Smart Lightning it support the ZHC5010 and all buttons.

Have you checked your firmware version? One of them says this in the changelog:

 Improved button driver; button double-press is now interpreted as only one event (not first a single-press and then a double press).

I did buy a Z-wave USB stick and successfully updated one of my switches, so that’s definitely possible.

I would still love to see someone make a “normal” controller for the ZHC5010 so that I can control the 4 buttons and the LEDs.

By the way I’ve tried to run a scene so that when I turn the light on by pressing the switch then it also turns on other lights. However, it takes 1-30 minutes :o) Seems there is some 30 minute pulling going on.

No, where do you mean I can check the firmware version.

But I think I will try to buy a USB z-wave stick and update the firmware.

I dont understand the 30 min delay.
What SmartApp do you use to program what each button should do?
I dont do much with it right now because of my double-click issue, but everything is executed within a couple of seconds after I press a button.

About the 30 minutes.

I just use the switch to turn my lights on and off. Then I added the smartApp “big things” I believe it was called. It is very simple, when it detects that you e.g. turn on something, then I also have it turn on two other lights in the living room.

It works whenever I turn the main living room light on or off using the APP, then a second later the two other lights go on/off.

However, when I press the ZHC5010 switch then my light turns on. But only about 30 minutes later do the two other lights turn on / off.

That’s the issue.

Hey @Darwin would you be willing to work with me on the ZHC5010 to make a standard device handler for it that allows the user to turn it on / off, control the LEDs, etc?

I once nearly had it all working but I never quite got there.

I used to program a LOT but that was ages ago.

To me if the ZHC5010 turns on the one light that you have programmed it to turn on, that I would say it’s not a problem with the ZHC5010, but rather the link/app between that one light and the two other bulbs.

I dont know your setup, but I would consider to program everything that needs to happen when to turn on a switch in ONE program/app, instead of kinda splitting it up which creates more steps/links, meaning greater risk of one of those links not working.

I would prefer not to program trivial stuff. I’d rather configure it. I am certain that’s the intention of “SmartThings” as well -otherwise they should be called “ProgrammedThings” :o)

I can only agree :slight_smile:

I’ve written a device handler for the ZHC5010 as the other code didn’t work with the latest firmware and when I tweaked it to, was very very slow.

My handler can also set the relay mode on the device. I don’t have any switches with the LEDs so haven’t added handling/config for those.

If anyone’s interested we can expand the handler.

Here’s my gist:


Very nice. I will tests it out asap :wink: Thanks

I have installed the DH and huge thanks for the support built in relay. Very very nice.
But how can I use the buttons 5-12 - double click or triple click don’t seem to work as before?

Hi again,

Would you be able to tweak the device handler a bit? :slight_smile:

Did anyone by any chance get the ZHC5010 to work properly with all 12 buttons on the most recent firmware version?

Thanks :slight_smile:


Logic Group just released their ZDB5100 - anyone up for the challenge regarding a handler for it?

Info about the switch here:

And the manual:

Four buttons and a relay just like the ZHC5010 but this time each button has full RGB LED lights as well. They are honestly not needed in my opinion but it would be cool getting the four buttons and the relay working. :slight_smile:

Nix :frowning: I don’t think so. The stable DTH I have been using for years now only supports 4 buttons.

I agree. Support for the new 5100 and better support for the old 5010 would be lovely.



Great thread, as I have bought a ZHC5010. I have been using the thread to get what I need to get it up and run. I have been using the ZHC5010 DRS device handler form Daniel Sim, thank you for that. I use it together with webCoRE, and think it runs well. But I have also been looking for some more functionality, like double click or triple click. But I only want to use native commands from the ZHC5010, then I started by looking in the manual:

This is the Danish manual, and I could only find the information I needed in the Danish manual. On page 12, there are an overview over the native commands send by the ZHC5010. And double click is a native command. To ensure everything is supported in my ZHC5010, I did update to the newest firmware (v2.03 at this moment). It can be found here:

Then between line 207 and 208 in the ZHC5010 DRS device handler I did add:

} else if (cmd.keyAttributes == 3) {
	action = "double-pushed"  

Now I can see in the webCoRE log a “double-pushed”, when I double click one of the buttons. Then from webCoRE when I add a Button, I then compare it to an Expression instead of a value. I compare it to:


The “” must also be there.


I have purchased the ZDB5100 replacing an ZHC5010, and using the same device handler (ZHC5010 DRS by Daniel Sim), but the simple light on/ light off (button 1) simply turns the button 1 RGB light on/off instead of the actual ceiling lamp connected to it. It worked well with the ZHC5010 I had (without LED lights), but I wanted to check if I could use the dimmer functionality for my ceiling lamp.

Any idea if this can be changed in some parameters in the device handler or if I have to wait for an updated device handler - if it will ever happen?

Smartthings is a pretty big platform, so it should be in the manufacturer’s (Logic Group) interest to develop such a device handler.