The music follows you (presence sensors, multiroom speakers)

A dream I’ve had all my life has been to walk around the house and have whatever is playing following me around the house. Not hard to come up with scenarios where this would/should not work, but in an ideal world (that is between 08:00 and 17:00 on workdays when the kids are out and wife at work and I’m at the home office), it would be uber cool to have the sound following me around.

I have SONOS speaker in all major rooms. I even have Google Home Minis in all major rooms, but for this scenario, SONOS would be best suited as bringing speakers in and out of groups is usually gapless. With the Minis, not so much.

Implementation 1.0 would be to expand the group the SONOS speakers are in to include the zone I walk into and just play with the volumes of the speakers in the group. For this implementation I would need a sensor in each location with a speaker, a lot of coffee and a firm grasp of how to program this :- )

Have anyone done this? Can you propose the best sensors to use or just the sensors that made it work :- )

Thank you!

I love this idea. You should abstract it more so it could be lights, ac temps, etc

1 Like

You’re right: This could be expanded on, but personally I just need the music. Using variables/virtual devices on what you want to follow you could be a solution. Pseudo code:
followSound = True
followLight = False
followTemp = False

Looks like Aqara Presence Sensor FP2 could be a great (and expensive :slight_smile: ) solution to this:

Hey, i have done this, with music and my Google Public Announcement system.
But i just use normal motion sensors: when there is movement in a room (and i have put music Follow mode), it will include that room into the playing Sonos group.
When there is no motion for 10 minutes, the room/sonos-speakers are removed from the sonos playing group.

It works pretty well, but my living room is considert the main-sonos-group and will always play: i dont have motionsensors there and i could be sitting still on the couch. It also makes grouping easier since i know the main-sonos-group.

1 Like

Can you share some of the setup: Sensors, flows and more?

(meanwhile I’m reading this :slight_smile: ):

1 Like

Well, tbh: it’s partly a big mess of normal flows still.
Let me update the flows next week and turn it into an Advanced Flow, than you can import the complete flow as TEF with the device capabilities app.


I use ESPresense for my room detection, still working on the flows, but already have a basic setup that makes my music follow me. With motion sensors you can also accomplish this ofcourse, but then you only know someone is in a room and not WHO is in that room, which would make it even better if you live with multiple people.


Can’t wait to see Arie’s automation. I suppose you might be able to slowly increase the sound on the new speaker to the same level as the others have. The time to fade in could be anything from 0 to (think of a reasonable number).

And opposite when removing a speaker. Instead of removing it, I was thinking just to fade volume to 0. Then if you revisit the zone, you just have to fade the sound in again.

Looking forward to the day when I’m smart enough to figure this stuff out on my own. Right now I’m fully dependent on you guys! Thanks… :slight_smile:

Someone whispered in my ear that using Apple Airtags would be great here as then you would also know who was lurking around. There are no direct integration with airtags, is there, and there might be other challenges as well. Is it still a possibility?

Nope, find my iphone/tags are not accessible through API, although some users apparently found ways around it on Home Assistant (Never tested it, so no clue if it actually works). But that is for use outdoors, based on your original question, you want to use them indoors. I think Airtags doe send out a Bluetooth (BLE) signal, and if not there are other tags that do.

In my ESPresense setup I use a similar method to detect an apple watch. Never had a look if Airtags work too, but I could have a look later this week if you are interested.

(doesn’t work apparently with Airtags: Beacons | ESPresense )

1 Like

Hi Arie, is it next week already? :slight_smile: :+1:

Yeah it is, i just havent had time yet.
Also, my homey being overloaded dossn’t help :wink:
I have some time from wednesday, so i hope to complete it this week.

1 Like

Here’s a quick couple of screenshots of my follow-me setup for Sonos. There’s two flows:

The first triggers on motion in other rooms and joins the lounge. The lounge is also my office and where i spend most of the day. I will ultimately always end up back in the Lounge so it provides the constant all the other rooms will group and ungroup themselves from.

[EDIT: Simplified the flow. Thanks @mrPilloft ]
The second flow is passed an input which is the name of the room that’s just been triggered. It’s job is to ungroup the speaker from whatever room I just came from.



I wish do the same with google products but the option “join the group” is no available…
If someone have an idea?

It’s a “Then” option in your flow for you Sonos speakers:

This is beautiful, nagero. Can you simplify flow #2 a little by just having one of these for each room? Why do you have 3x per room?

Yeah you absolutely could use just one of each. There’s no special reason why i’ve done it that way :+1:

1 Like

Love the solution, nagero. Great work!!! :slight_smile: :+1: :musical_note: :footprints: :notes:

1 Like

Guess it’s not that easy with Google products, and currently there are no way to synchronize playback between SONOS and Google products. I do not think that is what you meant, just wanted to mention it. One day… :slight_smile: :notes:

The idea: There is however a poor mans solution to Google and that is to pre create different groups of Google speakers and move playback to the different groups as you move through your house. Have not tried this myself but use groups orally constantly by saying stuff like “Ok Google, play music on {group_name}”. If you try and find it to work, please share your experience here, Ewen! :wink: :+1: