Philips Hue Tap Dial Switch - ZHA

Nope I did not, the fourth button was to disable the selected light. I changed the blueprint to work with Zigbee2MQTT however some update (either Z2M or HomeAssistant) changed how the Hue Tap Dail was working. So the above became useless and I didn’t got any time to sort out what happened.

I switched over to switch manager (HACS plugin). It works, it has a nice GUI to setup things, me happy. It works for me so far, so check that one out :).

Nope, see my post above. Some update (either Z2M or HA) changed the way how the Hue Tap Dail is working.

Allright, I’ll check this one out and see what it can do :slight_smile: Thanks

I haven’t tested it yet but I ported it to mqtt triggers.

Let us know if it works as hoped :wink:
If not mistaken I see that you are chosing the light which is being dimmed by a short press. Same as turing on/off the light. Will that not have an effect if the lights (for example 1&2) are already on and you want to dimm the first one that it is being switched off when selecting it?

I’m not the original author but yes you are right, I will see if that irritates me or not :grinning:

Just the blueprint I was looking for! Nice work, @apollo1220!

The only thing I run into is the helper. Fairly new to this HA game and still reading into all the things you can do with HA. It’ll take me some years to figure it all out :stuck_out_tongue:

What helper do I need to make and what should it contain?

Again, great blueprint! Thanks!

A text helper

Great help. Thank you so much.

So did anyone get the text helper working in ZHA? Mine does not change when pressing a button. If i manually change the value i can use the dial to dim the “selected” light.

Nope. No help to find here.

I tried everything that came to my mind to try and access the brightness level of the current_light but to no avail:

        sequence:
          - choose:
              - conditions: 
                    - "{{ current_light != none }}"
                    - "**{{lights[states.light.current_light.attributes.brightness] | int + (-step_size * dim_scale) >= min_brightness}}**"
                sequence:
                  - service: light.turn_on
                    target: "{{ lights[states(current_light)] }}"
                    data:
                      brightness_step_pct: "{{ -step_size * dim_scale }}"
                      transition: 1

Hardcoding it works, but makes no sense:

"{{state_attr('light.tischlicht_zha_group_0x0002','brightness') | int + (-step_size * dim_scale) >= min_brightness}}"

Do you happen to know what syntax we need to use? This would enable the possiblity to set a min brightness value in the blueprint.

Yes, it works well.

Settings → Devices/Services → Helpers (upper right hand corner) → Create Helper → Text → name it whatever you’d like, and then import your newly created text helper into the automation, which is at the bottom of the blueprint labeled: (OPTIONAL) Current Light.

I named mine “Master Bedroom Last Selected Light Helper.”

I have the same issue. I get the log message:

2024-02-14 20:45:11.139 ERROR (MainThread) [homeassistant.helpers.template] Template variable error: 'dict object' has no attribute 'entity_id' when rendering '{{ states(first_light.entity_id) == 'off' }}'
2024-02-14 20:45:11.139 WARNING (MainThread) [homeassistant.helpers.script] Error in 'choose[0]' evaluation: In 'template' condition: UndefinedError: 'dict object' has no attribute 'entity_id'

Thanks for this great blueprint. My tap dial is connected to 2 plugs and 1 light bulb, and the fourth button toggles all 3 devices.

Since the only dimmable device is the bulb, how can I set the dial to only work with the dimmable device (rather than the ‘current’ device)? I’m completely new to Home Assistant, so would greatly appreciate any guidance. Thank you!

@victorhooi, @_Xander, @timothi, @helge137, @AnderssonPeter: What solution have you settled on for using the Tap Dial with Z2M? Have you all moved to HACS Switch Manager or does someone have a blueprint that’s currently working fine? I’m trying to figure out if I shall buy the Tap Dial or some other remote for controlling a Hue light (brightness, on/off, color, scenes) in a kids room (without having a Hue Bridge). Thanks!

I’m using this excellent blueprint on which this ZHA one is based with instant results.

Full disclosure - I hacked the blueprint a bit to support double click events instead of release since I had no use for release. It’s working solidly for whatever I’ve thrown at it so far, with one minor exception. Sending multiple rotate events in a row seems to be swamping out zigbee messages, leading to a little latency.

Other than that, both the tap dial device as well as the blueprint have been rock solid.

1 Like

Did anyone manage to successfully modify the blueprint so that the lowest brightness is 1% (rather than off or 0%)? That would be awesome.

I’m always accidentally turning the light off whenever I try to reduce the brightness level with the dial.

1 Like

If the tap dial supports it in ZHA, it should only be a matter of replacing command == 'step_with_on_off' with command == 'step' in the blueprint.

Both are valid zigbee commands, but it would depend on the device cluster and whether it was implemented with the quirks.

1 Like

Sorry for the late reply, I’m using the following:

So far it works great, it can control 4 different lightgroups and also dim them separately!!