Philips Hue Tap Dial - Media Controls (Native Hue Hub)

Philips Hue Tap Dial - Media & Light Controls (Native Hue Hub)

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Control your media players and lights with the Philips Hue Tap Dial Switch (RDM002) using the native Philips Hue integration (via Hue Bridge/Hub). No ZHA or Zigbee2MQTT required.

Features

Buttons

All 4 buttons support short press and long press custom actions (the long press action fires once when the button is released).

Default button layout:

Button 1 - Play/Pause Button 2 - Custom
Button 3 - Previous Track Button 4 - Next Track

The default short press behavior for buttons 1, 3, and 4 can be overridden by defining a custom action.

Dial - Three Modes

  • Volume Only β€” Dial always controls media player volume
  • Light Only β€” Dial always controls light brightness
  • Smart β€” Dial controls volume when media is playing, and light brightness when stopped/paused

Separate Volume & Light Configuration

Volume and Light have independent dial settings:

  • Small / Medium / Large rotation thresholds
  • Small / Medium / Large rotation increments (%)
  • Maximum volume / brightness cap

This lets you fine-tune the dial sensitivity for volume and brightness separately.

Separate Volume & Transport Players

You can assign different media players for:

  • Volume Player β€” the speaker whose volume the dial controls (e.g., Google Home, Sonos)
  • Transport Player β€” the player that handles play/pause and track navigation (e.g., Spotify, SpotifyPlus)

This is ideal for setups where Spotify casts to a separate speaker.

HomePods & other players without volume reporting

Some media players (notably HomePods) don't report their current volume to Home Assistant, so the dial can't compute "current volume + increment". The blueprint handles these automatically:

  • By default the dial falls back to the device's own volume up/down steps β€” the number of steps per rotation size (Small/Medium/Large) is configurable, and 0 means "ignore that rotation size"
  • For precise percentage-based control, create an input_number helper (range 0–100) and select it as the Volume Helper in the Dial Controls - Volume section β€” the blueprint then tracks the assumed volume itself, and the %-increments and Maximum Volume cap work just like on a Sonos

Logbook Logging

Enable debug logging to see every event from the Hue Tap Dial in your HA Logbook, including button presses and rotation step values. Useful for tuning your rotation thresholds.

Requirements

  • Home Assistant 2024.8.0 or newer
  • Philips Hue Bridge (v2) with the native Hue integration
  • Philips Hue Tap Dial Switch (RDM002)

Setup

  1. Import the blueprint using the badge above
  2. Create a new automation from the blueprint
  3. Select your Hue Tap Dial Switch device
  4. Choose your Volume Player and Transport Player (can be the same device)
  5. Optionally select a Light Entity for dial brightness control
  6. Set the Dial Behaviour to Volume Only, Light Only, or Smart
  7. Expand the Dial Controls - Volume and Dial Controls - Light sections to fine-tune rotation sensitivity if needed
  8. Customize button actions in the Button 1-4 sections as desired

Note: This blueprint is specifically for the native Philips Hue integration (Hue Bridge/Hub). If you use ZHA or Zigbee2MQTT, this blueprint will not work β€” look for a ZHA-specific version instead.

Version History

Version Date Changes
1.00 Mar 04, 2026 Initial Release
1.01 Mar 05, 2026 Single device selector; all 4 buttons now have customizable short press actions
1.02 Mar 05, 2026 Removed model filter from device selector to fix empty device list
1.03 Mar 05, 2026 Fixed device selector model filter (Hue integration uses product name as model)
1.04 Mar 05, 2026 Added light dimming support with three dial modes: Volume Only, Light Only, Smart
1.05 Mar 05, 2026 Fixed Smart dial mode; added max volume/brightness limits; increased default rotation thresholds
1.06 Mar 06, 2026 Moved Dial Behaviour to general config; split Volume/Light dial settings; fixed logbook logging
1.07 Mar 09, 2026 Fixed event filter condition showing as "Unknown condition" in automation traces
1.08 Mar 16, 2026 Fixed long press actions never firing; now uses long_release event instead of unreliable repeat; removed redundant long_release inputs
1.09 Jun 05, 2026 Fixed dial volume on players that don't report volume_level (e.g. HomePods via HomeKit Controller): falls back to the device's relative volume_up/volume_down (scaled by rotation size) instead of setting an absolute level; precise %-control kept for players that do report it (Sonos, etc.)
1.10 Jun 12, 2026 Finer dial volume control for players that don't report volume_level (e.g. HomePods): optional Volume Helper (input_number) restores precise %-increments and the Maximum Volume cap; fallback device-step counts per rotation size are now configurable (0 = ignore)

Source

GitHub Gist

1 Like

Sensational Blueprint, thank you! Like the clear instructions that you have written into the Blueprint, makes it really easy to use.

I’m having an issue with this blueprint, specifically in trying to control volume on HomePods. Rather than registering the amount to increase by, it seems to take the value as what it should set the volume to. As a result a rotation that should increase the volume by 10% seems to set it to 10%.

As soon as I switch the media player in the blueprint to a Sonos speaker it works as expected. Any suggestions?

@vidricaire.arnaud I don't have a HomePod for testing, so can you please verify in Developer Tools -> States the value stored at "volume_level" when playing some music on your HomePod ?
I guess it's empty, but on your Sonos there is a curernt volume level.

In the meanwhile I'll check how to implement it in the blueprint to make the volume-control also avialbel to HomePods (and other media device who don't store the current volume level ) :slight_smile:

I updated the blueprint in the meanwhile, but as mentioned, I can't test it.
So please let me know your findings. Thanks

Thank you so much for taking the time to look at this. The change you implemented makes the dial work as expected. The only thing I have noticed is the tolerances for how much to rotate are quite tight, so even what feels like a small rotation creates a pretty big change in volume, but as expected a larger rotation will create an even larger volume change, is this something that can be adjusted for speakers like HomePods that don’t report a volume level attribute?

@Tuxx tagging you in case it didn’t notify you

sorry, didn't have time before now to check on it
I've implemented a flexible option, which I can't test as you know, so please inform back your findings.

Please also read the notes carefully as there are some boundaries to take in mind and some additional steps for devices like HomePods

Will do, thank you

@Tuxx the new adjustable options work perfectly, thank you

1 Like