Hi all,
Over the last couple of days I’ve been experimenting with Roon, Sonos Streaming, AirPlay2 endpoints, and grouped playback behaviour across a mixed Sonos setup.
What started as simple room grouping experiments ended up revealing some interesting behaviours and inconsistencies that may be useful both to other users and potentially to the Roon engineering team.
My setup includes:
-
Sonos Amp driving KEF LS50 Meta speakers + Sub Mini
-
Sonos Five group
-
Sonos Era 100
-
Sonos Play:1
-
Apple TV / Sonos home theatre zones
-
Mixed Sonos Streaming and AirPlay2 endpoint exposure inside Roon
The main findings were:
• Some Sonos devices expose themselves to Roon as native “Sonos Streaming” endpoints, while others appear only as AirPlay2 endpoints.
• My Play:1 appeared as:
while my Era 100 appeared as:
• Attempting to create grouped playback behaviour between these mixed protocol endpoints inside Roon produced inconsistent results.
• In some cases:
• Existing speaker groups already created inside the Sonos app could also separate once playback was initiated directly from Roon.
• Through testing, it appears Roon handles:
as fundamentally different endpoint architectures.
• The practical workaround appears to be:
• Volume management in this hybrid scenario is also more reliable through the Sonos app rather than Roon.
I’m not posting this as a complaint — more as a detailed behavioural observation report after a fairly deep testing session.
The behaviour may already be known internally, but I thought the findings could potentially help:
Interested to hear whether others have seen similar behaviour.
Attached screenshots showing:
-
Sonos Streaming vs AirPlay2 endpoint discovery
-
Stereo pair behaviour in Sonos
-
Roon zone separation during playback tests
A couple of observations:
- Older Sonos devices, including the Play:1, don’t support Airplay. See here: Stream AirPlay audio to Sonos | Sonos
- Era100 should offer itself as a Sonos streaming endpoint (as well as Airplay2). In fact I believe that every Sonos device should be available for Sonos streaming, assuming UPnP hasn’t been disabled through the Sonos app.
The streaming mechanisms used by Sonos streaming and Airplay are quite different. The former doesn’t reliably support transport directives (stop, next, etc) initiated from the Sonos end, but is a more solid streaming experience; the latter can sometimes be a little bit flaky when the queue advances to the next track.
All of my Sonos devices show up in Roon as Sonos endpoint’s and only some of them support AirPlay which I pretty much never use. Some of them are not officially flagged as Roon Tested and others sit in the Other Network Devices section, but they all still work perfectly well.
A few times I tried to do mixed AirPlay groups and it was a bit of a disaster as they all played with slightly different times delays. The wife said stop that now 
Thanks Giles, that’s very helpful.
The point about the Era 100 is particularly interesting, as throughout my testing the Era 100 only appeared in Roon as an AirPlay2 endpoint, while the Play:1 appeared as a Sonos Streaming endpoint.
I was able to create a Sonos group consisting of the Play:1 and Era 100 within the Sonos app, but when playback was initiated from certain Roon endpoints, the grouping was separated again on track changes.
Based on my testing I’ve currently settled on using the Play:1 as the Roon endpoint and then grouping the Era 100 from within the Sonos app when required. It’s a workable solution, but it does leave me wondering whether there is something that could be improved either on the Sonos side or the Roon side.
If the Era 100 should normally present itself as both a Sonos Streaming and AirPlay2 endpoint, as you suggest, then perhaps there’s an underlying discovery or endpoint-selection issue at play. Equally, if Roon were able to handle these mixed Sonos Streaming/AirPlay2 scenarios more gracefully, it might prevent the group separation behaviour I observed during testing.
In any case, it’s reassuring to know that what I’m seeing isn’t necessarily the expected behaviour for an Era 100.
If any Roon team members happen to review this thread, I’d be interested to know whether the behaviour I’m seeing is expected, or whether the mixed Sonos Streaming/AirPlay2 endpoint presentation might indicate a discovery issue or an opportunity for improvement in how grouped Sonos devices are handled.
Thanks again for taking the time to comment, Giles.
Thanks Michael, that’s really useful feedback.
What’s interesting in my case is that my Play:1 appears in Roon as a Sonos Streaming endpoint, while my Era 100 only appears as an AirPlay2 endpoint. From what Giles and you have both said, it sounds as though the Era 100 should really be presenting itself as a Sonos Streaming endpoint as well.
During my testing I found that I could successfully group the Play:1 and Era 100 in the Sonos app, and I also achieved the same result using Sonosequencr. In both cases the speakers grouped correctly and played together. However, as soon as Roon changed tracks, the group was automatically split and playback continued only on the Play:1.
That makes me wonder whether the underlying issue is less about Sonos grouping itself and more about the fact that Roon appears to be treating the two speakers as different endpoint types.
If the Era 100 should indeed be appearing as a Sonos Streaming endpoint, then perhaps that’s the real clue here. It would certainly be interesting to know whether anyone from the Roon team considers this expected behaviour or whether there may be something unusual going on in my setup.
More broadly, I wonder whether there might be scope for either Roon or Sonos to improve interoperability in situations like this. The Sonos app itself has no difficulty grouping the speakers, but Roon appears to reassert control of the Sonos Streaming endpoint whenever a track changes, causing the group to break apart. It would be fascinating to hear whether that limitation is architectural, or whether there might be opportunities for improvement in the future. Also if the Mrs has said stop! Carry on at your peril! 
Thanks again to both of you for taking the time to reply.
The Era100 should definitely offer itself as a Sonos Streaming endpoint, but as I noted it does need to be discoverable via UPnP. Since you already have a number of other Sonos rooms successfully enabled for Sonos Streaming it doesn’t sound as though there’s a system-wide issue. I take it you’re running the most up to date Sonos firmware. Is there anything peculiar about your network topology which could be affecting UPnP discovery broadcasts to that Era100?
As for grouping Sonos Streaming and AirPlay2 endpoints in Roon I suspect that the differences between the two streaming protocols, buffering strategies, format support and so forth make such an idea a non-starter.
Paul I do not have any Era 100 to check.
I wonder whether a factory reset might help or whatever is stuck in the Room cache.
I have an Era100 stereo pair which I use daily with Roon, interchangeably between Sonos Streaming and AirPlay2. The only move that spoiled the party was when I temporarily disabled UPnP in the Sonos app as an experiment.
Factory reset of Paul’s Era100 would be a desperate move, and I suspect unlikely to help. Simply power-cycling ought to restore any functionality that’s broken unless, as remarked, there’s something in the network blocking UPnP discovery. IGMP snooping can sometimes cause problems.
In this same space - I have observed that gapless to Sonos is finicky if using the Sonos speakers as endpoints. To solve this, I have to connect via AirPlay, then gapless is flawless
Everything points to a Sonos issue and how all the streams flow etc.
And yes if you want to group you have to connect Sonos Roon endpoints to each other OR connect AirPlay endpoints - easy enough to activate & label it within Roon
Gapless appears to be seamless for me. Maybe it depends on which Sonos speaker and/or the strength of its network connection?