pyatv
pyatv copied to clipboard
Stream to Homepod Stereo Pair
What feature would you like?
When streaming to a homepod stereo pair, I see both as individually addressable homepods, but not as a stereo pair. I'd like to be able to stream (and control) the stereo pair, rather than individuals.
Describe the solution you'd like
When scanning for devices, detect a pair and show as an additional device.
Any other information to share?
I'm attempting (unsuccesfully) to get around this via an apple TV paired to the homepods, but I imagine there are users without an apple tv that would want to do the same.
There has been some work and success with this in OwnTone: https://github.com/owntone/owntone-server/issues/1413
When comparing my two homepod mini's (set up as stereo pair) I have seen two service discovery outcomes for my actively playing stereo pair:
- complete: differences as expected
- incomplete: visible that it is a pair, but does not have all the expected settings
What they have in common:
-
gpn
(group name) is set on both devices (same as the name of the group leader) -
flags
has bit 13 set for the group leader -
gid
(group UUID) is the same for both devices - can be "single" UUID, or can be a "concatenated" UUID.
Comparing the two situations in detail:
complete:
-
gpn
(group name) same on both (same as name for the group leader) -
flags
for group leader has bit 13 set:TightSyncIsGroupLeader
-
gid
(group UUID) same UUID on both devices (consist oftsid
UUID and a 2nd one) -
tsid
(?) set to same UUID on both devices -
gcgl
(group contains group leader): set to 1 on both -
pgid
(parent group UUID) only set on the non-group-leader, has same value asgid
-
pgcgl
(parent group contains discoverable leader ) only set on non-group-leader, set to 1 -
igcl
(is group leader) set to 1 for the group leader, 0 for the other device
Format for gid
/pgid
: <tsid-UUID>+0+<some-other-UUID>
incomplete:
Only gpn
and flags
are different between group leader and the non-group-leader. The flags are different than the complete example, but here as well: the group leader has bit 13 set.
-
gid
: same on both devices (format: single UUID, not the same astsid
) -
tsid
: same on both devices (not used ingid
orpgid
) - and same as for complete example above -
gcgl
: 0 on both -
pgid
: same on both devices, same asgid
-
pgcgl
: 0 on both -
igl
: 0 on both
Diffs for both situations:
After updating from 16.1 to 16.2 all values are still the same, except:
srcvers=670.6.2
osvers=16.2
any news / plans regarding support for homepod stereo pairs?
any news / plans regarding support for homepod stereo pairs?
No updates on that I'm afraid. It's a low priority for me right now, but certainly an interesting feature. At some point I might feel ready for it.