Philips Hue Tap Dial button - potential music (Sonos) controller?

I've added the dial with the new driver but don't seem to get any response from it, no button presses/dial movements are showing up in HE logs/device page. There is an error in the log though

I don't think this is being run, when I go to the button controller it's showing 10 buttons for the dial.


If I comment out those 'runIn' calls then click configure in the device it correctly shows 5 buttons. Still no response from the dial itself though.

image * << the pushed is from clicking 'push' on the device page

1 Like

Yup, it works in CocoHue
5 = dial anti-clockwise
6 = dial clockwise
held seems to work on all 4 buttons


Here's how I've set it up with the button controller for a Sonos speaker. Volume control is okay if you move the dial slowly. I guess there needs to be 2 extra commands, eg held = start raising volume, released = stop raising volume.

There's a post here on the smooth volume issue Advanced Button Controller (ABC) - #173 by SmartHomePrimer


Based on that catchall output, it looks like the device is sending out different data with the new firmware.

I’ll have it updated after the weekend and will fix my driver then. But it seems like someone else also has a working driver. Wish I had found that before writing this one.

I’m very hopeful the new firmware really does fix the held button issue. The out of the box firmware sent identical messages regardless of button held.


1 thing to note with the held command is that it does the pushed first, at least on the Coco driver

For what it's worth, I treat all my drivers as a chance to learn something new, with the idea that either someone else will develop something better, or the premise behind my work will be surpassed, taking what I can from my work on the driver. That said, I could imagine that for some, having a potentially leaner interaction with the Hue bridge for a dedicated purpose may be appealing....

Yeah, I would prefer the dedicated driver. Seems overkill installing cocohue just for this.

The updated firmware hasn’t seemed to change anything. Still only receiving data that there was a held button. It looks like the previous issue was with how I am configuring the device. This is my first driver for hubitat, and the first time dealing with zigbee, so YMMV.

The way I had it working before, I didn’t have the fingerprint in there, so when it did it’s initial registration, it seems to have detected as a philips dimmer button controller v2. Then I set the driver to my custom driver. That remains the most consisten method to get this working.

I’ve been working on the configure method, and it now “works”.

1.) Reset tap dial - holding setup button for 10 seconds.
2.) add device -> manual zigbee device.
3.) Detects device. Name it, add it to a room if you like
4.) At this point, it seems to go into a loop of disconnecting/reconnecting.
5.) Go bac to add device->manual zigbee
6.) when it says detecting already added device, when the tap dial blinks green, I then hit stop zigbee pairing.

I’m mostly happy with how the driver is working, and less so with how the configuration works. I’ve looked at a lot of documentation, but it is immense. Happy to get feedback or direction on what’s going wrong. I couldn’t find the code for the built-in dimmer button controller driver v2, which would be great to see how that configure/binding is working so well.

1 Like

With your driver does holding down a button trigger the push first and then the held command? That seems to be the issue with the Coco driver, rendering held pretty useless.

@bertabcd1234 - it feels you are likely best to comment on how the Coco-Hue drivers work with the Tap Dial device.....

1 Like

I tested a few button devices and can't remember what this one did specifically, but the general trend was that they'd send an even on an initial push/tap, then keep sending additional events if the button is held. There is nothing for release. CoCoHue just takes these events and makes "pushed" or "held" out of it, so the above sounds normal. This is in line with what the devices actually report.

It's not the only way this data could be dealt with, but the only other thing I can think of is to add some timer and fake a "released" event if there isn't any additional data for a certain amount of time after a hold. This is risky in general but probably particularly so with a chain of Zigbee (Hue network) to LAN (Hue Bridge) to Hubitat (over a still-in-development API, at that). Separately, there could be something that suppresses "pushed" unless it knows a "held" isn't happening, which would also involve a timer and I think is a bad idea for two reasons, the one I just mentioned and the fact that this would delay "pushed" for users who only care about that event (solvable with a separate "fast" driver, I suppose, but this is all more complex than I'd like it to be).


Yeah I see what you mean, for myself I'm not really bothered about held, a 4 button controller with a dial is perfect for my Sonos!

I was thinking though, I have a 'Sonoff ZigBee Button Controller', just a single button but that handles push/held/double-click.

If I get some spare time I'll look into how it does it and see if I can work it out, I'm a driver virgin though :rofl:

I did look at the cocoa hue driver, but it appears to be a bridge driver, where mine is for direct connect.
In my version, you don't get an initial tap, just the held. But again, the actual message that comes over is identical, regardless of which button is held.

I'm not sure how the cocoa hue is getting an initial tap, since looking at the zigbee traffic shows nothing. But perhaps there is something different with the registration/binding but that would be between the hue bridge and the button. So if someone that has a hue bridge and this dial wants to capture those registration messages, I could look into it.

Or if anyone has more insight on the zigbee registration stuff in general. But, the driver is working enough for me at the moment, and without a direction or better example zigbee drivers, I'll likely not be messing with it anymore. The code is in GitHub, so anyone with an urge to tweak it is welcome, and I'd be interested to see what I'm not doing right.


Yeah I can do that. What do I need to do, I guess it's enable logging on the device then check the logs whilst I click each button?

How is this configured with a Sonos? Particularly using the dial for volume. I tried the mirror app but the device wasn’t in the list.

I am using it with the coco-hue drivers. Volume does work but not very well, you have to move the dial slowly step by step. I don't fully understand the issue as to why Hubitat doesn't play well will rotary dials, maybe it's more to do with the Sonos Integration part not supporting what it needs, eg stop/start raise volume. I have read elsewhere that the dial work well for HA users though

Saying this though, I have had some failures where button clicks haven't responded. I've tried so many options with HE for Sonos but I'm gonna try the new IKEA sound remote gen 2, out March in the UK, with an IKEA hub (reluctantly)

FWIW, I installed your driver before pairing the Hue Tap Dial. I don't have a Hue bridge, so I'm using it directly. HE recognized it immediately upon pairing has a Hue Tap Dial.

I set it up using Button Controller and all buttons to be "held" based on what I'd skimmed from this thread. I had no joy, so checked the logs, and it was registering as pushes, not held. Changed everything over to pushes and it does a nice job of turning two remote lamps with Hue bulbs on and off. 1 & 3 for the on/off on the left bulb, 2&4 for on/off on the right.

It'd be great if you got "held" working so it could also be used as a dimmer. Maybe some day? :crossed_fingers:

Mine is working straight out of the box, no firmware updates.

  • firmwareMT: 100B-0121-02003B13
  • manufacturer: Signify Netherlands B.V.
  • model: RDM002
  • softwareBuild: 02003B13

Thanks so much for this driver!

I don't know, it seems to be the same for other devices, eg the hue dimmer etc. Holding down the button doesn't gradually increase volume.

I looked on the home assistant website and the hue dial works fine with that. Maybe it's a limitation of HE, or maybe home assistant has better media player integration?

1 Like

Not that I think it would be useful here, but you can define variables on the Hue bridge, but they are essentially controlled either through the API or within rules on the bridge you can define through third-party apps. Now that I think about it.... Maybe that would be an option..... But you would need to poll for change in these I expect, unless the streaming of changes from the bridge would also include these... I think I have seen them come through as sensors in CocoHue and Advanced HBI. I used to use the Android App All4Hue to control these variables on the bridge, before getting my HE C-4.

See, I learned something today! THANKS bro'.

Now, if you also could tell a fellow where or how to access those hidden gems, I'm all ears.

1 Like

@andywebs thanks for the dedicated Tap Dial driver! I'm probably asking the obvious, but is it intended solely for a Dial that has been paired directly with Hubitat? (as opposed to thru the Philips Hue hub)