New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS 11.4 Speaker Service? #36
Comments
I'd be curious to know if iOS 12 has brought any improvements to this even beyond 11.4. |
According to the HomeKit Deep Dive session at WWDC, iOS 12 does bring support for Speakers as an official accessory type. https://developer.apple.com/videos/play/wwdc2018/231/ I have not installed the beta, but it might be worth checking out. |
@leoneleone, no changes in iOS 11.4. The Speaker service only works in conjunction with a Video Doorbell, just as the Microphone service. @jonathansimmons, I haven't tried the iOS 12 beta yet, but I seriously doubt this will change, in iOS 12 or ever. @michaelsaul, where in the video did you see this? I watched the video, but only found mention that they introduced support for Airplay 2 speakers in the Home app in iOS 11. This has nothing to do with HomeKit, nor with the HomeKit Speaker service over the HomeKit Accessory Protocol, which homebridge uses. |
@ebaauw Yes, going back and listening again, it does say support in the Home App. It's a bit misleading as this was under the section on HAP and is intermixed with all of the other accessories supported. |
@ebaauw |
I watched the video and did some digging myself and agree it looks like the service itself is unchanged. I was hopeful because of their emphasis on Airplay 2 that the "Speaker" service would be updated. ¯_(ツ)_/¯ |
Yeah, but only for the newer, touch-controlled speakers. I don't have any of those, and I doubt that adding a single Sonos One will automagically enable Airplay 2 for my other speakers. I fear, they'll only airplay when grouped with the Sonos One. I would be very interested to hear the experiences from folks with a mixed old and new Sonos speaker setup. |
@ebaauw I suspect I’ll still be using your plugin to switch Sonos speakers on based on motion alerts though. If you can afford it, I’d say purchased a Sonos ONE and just sell the one you already have 😊 |
On top of my wish list is a Sub for my PlayBar; I'd better start winning the lottery... Look what I found in the UPnP description for the Device Properties service of all my zone players (PlayBar, Play:1, Play:3 and Connect), see <stateVariable sendEvents="yes">
<name>AirPlayEnabled</name>
<dataType>boolean</dataType>
</stateVariable> No commands to set or change it, though. |
@ebaauw |
As I mentioned, there’s no command to set or clear this variable, but since |
Just got an email from Sonos that they released Airplay2 with v9.0 of their app and firmware. Indeed, the older zone players are only supported when grouped with a newer zone player, see: https://www.sonos.com/en-us/airplay. Would appreciate if some-one could post a screenshot of the Sonos app when playing Airplay2 source (to see what controls are available, and whether you can select Airplay2 as input). I'll need some detailed logs to figure out how to recognise when Airplay2 is selected for homebridge-zp. I'd really appreciate if some-one could uncomment this line homebridge-zp/lib/ZPAccessory.js Line 322 in 0493bb0
|
I’ve been testing my Sonos with AirPlay2. The implementation is very limited. Will try to get you the logs you mention. Won’t have time until the weekend. Things I’ve noticed:
|
@ebaauw |
@leoneleone You are correct, but just to clarify your inputs based on my experience:
The Sonos app controls only Sonos devices. Airplay 2, for Sonos, is an added feature, i.e., Sonos players can now be used as Airplay 2 targets; that's it. The only "control" over Airplay 2 streams it has is the start and stop of the stream (it uses the Airplay 2 stream as any other content source). Using the Sonos app, one tells the Sonos speakers which is the source, and the Speakers are now independent, and linked to the source, e.g. directly connected connected to Spotify. If your phone dies, or you leave home, it doesn't matter, as the speakers are streaming directly from Spotify. Using Airplay 2 from the phone, for instance, the speakers are mere targets of the Airplay 2 stream of the phone. In this case, it would be the Spotify app of the phone, and if you leave home, Sonos will loose the stream and stop playing.
Exactly. Sonos didn't put their speakers entirely in the Airplay 2 ecosystem (I'm not sure if this is a limitation of Apple or of Sonos). Therefore they are only targets, functioning just like Airplay 1 targets, but that can be grouped by the iOS/Mac content sources. HomePods / Apple TVs show up as independent content sources on iOS/Macs that can be Played/Paused from, say, the iPhone, and that can use other Airplay 2 devices as targets too. E.g. I can start a HomePod from my iPhone and choose it to play to the HomePod itself as well as to other Airplay 2 targets. But Sonos speakers are mere Airplay 2 targets, so what one does with the HomePod is not possible with Sonos speakers.
True - the single utility of the Sonos speakers in the Home.app is that they allow one to inform Siri the physical location of the Speakers. Then, if one says "Hey Siri, play Podcast XYZ on the Living Room Sonos", Siri will know which speaker it is and use it as an Airplay 2 target for the Podcast Player. It is not setting a music source in the Sonos system, as, for example, Alexa would do. Other than that, a Sonos Speaker on Home does not function as a Play/Pause switch, has no volume control, nor does it even give any status information (playing/paused), unlike the HomePod. I'll mostly be away from home in the coming weeks, but if I manage, I'll try to get the log info. |
See https://www.macrumors.com/2018/08/28/airport-express-firmware-airplay-2/, the 2012 Airport Express (with dual 2.4GHz/5GHz radio) now supports Airplay 2. I updated mine: it looks very much like the Sonos implementation: you can add the Express to the Home app (not to HomeKit!), so Siri knows it can stream audio to it. However, no control of the volume or even turning it on/off. I now connect the Airport Express to my Sonos Connect line in, instead of my macMini using Airfoil Speakers. Still hoping Rogue Amoeba will add Airplay 2 support to Airfoil, though. |
@ebaauw The problem with using an Airport Express wired to a Sonos Connect is the audio delay that occurs. Sonos (AirportExpress/AirPlay2) stream suffers a lag when played in conjunction with HomePods in the same Room. I think ’s implementation of AirPlay2 within HomeKit is seriously lacking. We need control over AirPlay2 grouping and playing/pausing music (even music controls) from inside HomeKit. I don’t think iOS 12 or the Shortcuts.app will do the trick. In the meantime, I can only attempt to simulate some sort of audio automation using your plugin. Thanks for continuing to work on it 🙏🏼 |
Yes, ~5 secs at least. This is due to the Sonos Connect compressing the line-in input. You can disable this compression in the Sonos app under Settings|Advance|General, but I find my Sonos mesh network cannot handle streaming the uncompressed line-in feed to multiple zones (grouped with the Connect).
There is no Airplay2 within HomeKit. The Airplay 2 support in the Home app has nothing to do with HomeKit.
Nor do I; you need a way to control the Airplay 2 device before you can include it in a shortcut.
I'm afraid that could be a very long meantime... |
I've seen no changes in iOS 12 and tvOS 12. Closing this issue for now, but feel free to continue to add other info. |
I've integrated AirSonos in beta v0.2.34-0, see https://github.com/ebaauw/homebridge-zp/releases. Now all my Sonos zone groups show up as AirTunes speakers. |
@ebaauw
I know this has been discussed before, but I’m wondering if anything has changed under iOS 11.4
Has anyone managed to get the Speaker Service working in the native Home app?
In the past people reported the Home app tiles showing as Unsupported if Service.Speaker HomeKit Accessory Type was used. Do they show up as Speakers under iOS 11.4?
Many thanks for your continued support of this plugin 😀
The text was updated successfully, but these errors were encountered: