Skip to content

Conversation

@bradkeifer
Copy link

Initial work to support a seperate cli binary for AirPlay2 devices.

Comment on lines 160 to 162
await self.mass.config.save_player_config(
player_id, {CONF_AIRPLAY_VERSION: disc_airplay_version}
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not allowed, you should instead simply provide a default value in the config entry, not save it yourself from the provider to the config controller.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok. Can you please help me with how to do that? I have created a helper function to identify devices which should default to ap2 is_airplay2_model(). It takes the same approach as the broken_raop_model() helper. I suspect that ultimately, we should use one of the txt properties from the _airplay._tcp discovery info to determine whether to use raop or ap2.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once the missing arguments are in place so that sync works, I would simply default to airplay 2 if the airplay mdns record is found

@marcelveldt marcelveldt changed the title Airplay2 support Add (initial) support for AirPlay 2 to the AirPlay player provider Oct 18, 2025
@marcelveldt marcelveldt marked this pull request as draft October 21, 2025 16:29
@marcelveldt
Copy link
Member

Marked as draft because this is still a wip and not yet functional

content_type=ContentType.from_bit_depth(16), sample_rate=44100, bit_depth=16
)

BROKEN_RAOP_MODELS = (
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should maybe combine this list with the airplay2 models so we by default enforce them to AP2

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

at some point we can rename this constant to "ENFORCE_AIRPLAY_2"

)

BROKEN_RAOP_MODELS = (
# A recent fw update of newer gen Sonos speakers block RAOP (airplay 1) support,
Copy link

@kenyonj kenyonj Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if it’s appropriate now, but “Juke Audio” amplifiers only work with Airplay 2 and not RAOP so perhaps we should add them here as well?

Suggested change
("Juke Audio", "*"),
# A recent fw update of newer gen Sonos speakers block RAOP (airplay 1) support,

@bradkeifer
Copy link
Author

Superseded by #2571

@bradkeifer bradkeifer closed this Oct 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants