Sweet Spot – Speaker Balance Card: drag your listening position, the speakers adjust

Hi everyone,

I have four speakers spread around my living room and kitchen, and depending on where I sit, one of them is always too loud or too quiet. Adjusting four volume sliders every time got old quickly, so I built a card for it.

Sweet Spot Card demo

How it works: you draw your room, place the speakers, and drag a dot to where you sit. Speakers close to you get quieter, the ones further away louder. The average volume stays the same – only the ratio between the speakers changes.

Features

  • Drag the listening position – volumes follow live
  • Saved places (sofa, dining table, …) with their own balance. With the included blueprint, switching places also works from voice assistants, HomeKit or automations, without the dashboard
  • Quick setup in the card editor creates the helpers and the automation for you
  • Overall volume slider that keeps the balance
  • Level correction per speaker, for speakers of different size
  • Grouping: speakers outside the playing group are shown and can be added with a tap, or automatically when the place changes
  • Visual editor with rectangle or L-shaped rooms, drag & drop for speakers and places
  • Uses your theme colours, English and German

Works with any media_player that supports volume_set. I’ve tested it with Sonos so far – feedback from other systems (HEOS, Cast, Music Assistant, …) is very welcome.

Installation

Until it’s in the HACS default list, add it as a custom repository:

Open in HACS

or HACS → ⋮ → Custom repositories → https://github.com/T-o-n-i/sweet-spot-card, type Dashboard.

Requires Home Assistant 2024.10 or newer.

GitHub: GitHub - T-o-n-i/sweet-spot-card: Balance the volume of several speakers in one room around your listening position – drag a dot, nearer speakers get quieter (Sonos and other multi-room speakers) · GitHub

This is a hobby project, so I’d love to hear how it works in your rooms – ideas and bug reports are welcome here or in the GitHub issues.

1 Like