-
Notifications
You must be signed in to change notification settings - Fork 17
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
bonob missing after Sonos 80.00 update #205
Comments
My phone hasn't updated yet, so I've not experienced this yet. Will be interesting to see what experience others have. |
here to confirm the same problem :( turns out there are new requests (endpoints?) done by the new app. |
I'm going to let the dust settle a little before considering upgrading. |
yep, it's gone with the new app for me too. Sonos mentioned they were dropping HTTP & SMBv1 support. I tried creating a new service using HTTPS just in case, but it doesn't appear in the new app either. As mentioned above, it still work fine with the desktop app (until it gets updated too I guess). |
same here, updated to the new app and Bonob is gone.... |
Unfortunately this is not a bonob issue, it is fully sonos fault. Their community forum is full of issues with missing sources, missing features, missing everyhting. |
Got the update too… Don't update, and I guess it would be wise to turn off automatic firmware updates for the time being. |
Perhaps it's time to look into WiiM and what is required to get a similar experience. |
@simojenki I hadn't seen WiiM, looks interesting! I have BluSound Node device and another NAD device that has the option of a BluOS addon board. I'm not recommending them, but wanted to raise that as another possible streamer hardware platform. If there is a good way to navidrome -> bluos then I can avoid buying more hardware in case sonos is really dead and done for this use case. Would love to hear about options for that. The timing of this sucks: I only just discovered bonob in the past week or so and have been really enjoying it! |
I'm still optimistic that Sonos will update their app in the coming weeks/months in such a way that this type of service works, however I'm also aware of the fact that the bonob/subsonic use case is not a large part of their user base so it may also never work again... in which case I'll look for alternatives to continue to self host which may require porting bonob to another platforms api. |
Someone asked the support about subsonic and here's a copy of the reply... I am afraid the days of the bonob/subsonic solution are counted :( Got a response to my email, similar to other ones posted. To their credit, the directly addressed my comments about last.fm and Subsonic, but I can’t say the responses make sense: ”In the new Sonos app, you won't be able to setup new music libraries or configure existing libraries. You can utilize the Sonos desktop controller to set up and manage your music library. The sleep timer feature is not currently available in the Sonos app, but will return in a future update. Last.fm is used for scrobbling. Scrobbling is a system that tracks your listening habits and uploads them to your Last.fm account. Every time you play a track it is added, or scrobbled, to your Last.fm account. Subsonic doesn't show on the services on Sonos. I believe we never supported Subsonic since they do not work the way a normal music service would.” |
I found that a little confusing. They never officially supported the manual style of integration that subsonic and later bonob used. That doesn't necessarily mean the new updates have broken it forever, as someone on this thread mentioned bonob is still registered, it just doesn't show in the app, however as I understand it there are other missing services that also do not show in the app. I suspected this might happen when they said they were going to remove http as a protocol, perhaps using https and implementing whatever missing api routes the new app requires will be enough to get it going again?? Their new web app is unlikely to work with bonob however as their servers have no api access to bonob. I have no idea at this point, I'm just being optimistic. There were other ominous signs;
|
@Jypy when you tried https did you use a self signed cert or a cert signed by a public auth ie LetsEncrypt? |
I tried both actually. With my own CA I couldn't pass the first service configuration step when you need to login. Which was expected as sonos doesn't trust my CA. But I had no issues with Let's Encrypt cert, I can browse, play, etc... same as using HTTP only, on the old or desktop app only ofc. |
@simojenki in my case the setup is: a possible future solution would be to create a mock-plex server, like a bridge to translate plex requests to navidrome/subsonic otherwise Sonos might never allow external integrations show up in their app/web interface. (the reason I don't use Plex as a source for music is due to the fact it does a crappy job organizing my media even though it's properly tagged, as it's just randomly merging albums together 😤) |
I can confirm this. As mentioned in my other comment, when you downgrade to the previous Android app version everything works as before. Same for using noson. |
@peterbuga I actually have both TLSv1.2 & 1.3 enabled, but with 1.3 only it wasn't connecting. So your endpoint may also support both?! |
It sounds like plex still works? As I understand it you require a plex account? However presumably plex don't proxy all data from the private network through their servers and back into the private network for Sonos? Maybe there is a solution that allows for https for the auth section, then http within the LAN? |
Yes, plex still works, but it requires you to enable external access and a plex pass. More details here. I wanted to try it, but having to enable external access for me was a deal breaker. |
Taken from that link; "...something such as manually forward a port in your router/modem. I'm also unhappy with the 'relay' feature. The entire point of self hosting is to not have a dependency on a 3rd party service. |
FWIW: https://www.theverge.com/2024/5/9/24152675/sonos-new-app-bad-reviews-response-statement "...broken local music library management..." |
I have Plex working with my Sonos. I had to create a Plex account and sign in and then I used the Enable Remote Access button but didn’t set up any forwarding on the router. The Plex now says “Not available outside your network” but shows up in Sonos.
I don’t really like Plex, but it’s at least an option for now.
Simon.
|
Unfortunately, it does not necessarily mean services like subsonic (with bonob) because even the "old" music library feature (with the old samba version) is broken. I am still puzzled how releasing an app "update" like this could happen. In the android ecosystem you have beta release channels and I assume there is something similar for iOS. Imagine having an update like this on your smartwatch. "Your alarm is set to 6:00. Now deal with it because you can't change it in the following months. It is always at 6:00. No, you can't disable it, please just wait." Crazy. I also got a response from sonos support about the "classic search" feature, which they stated 2 months ago will remain. Now:
I do not believe them. Even if they are fully doing agile development, the reduced android version did not suddenly change within the last 8 weeks. It was in review before without the classic search function. And in addition, they did not address my main concern, the privacy feature as mentioned e.g. by @simojenki. |
Another data point here. Due to this whole mess, I spun up a Plex server in Docker on the same NAS where Navidrome and Bonob were (still are) running. I have not forwarded any ports. Remote access is enabled yet not available from outside of my network. It's working with the new Sonos app. I'd rather have Navidrome and Bonob. |
Exactly, so using plex, even if you don't open the port on your router (which plex will try using UPNP anyway), still requires you to have an online connection, rely on their servers, and at least the search traffic goes through plex relays (maybe the tracks are played locally though). And if your plex is setup to use SSL only with your own CA, then you probably won't be able to play your tracks on sonos. I've tried Music Assistant, and it's not perfect, but connect to open subsonic api and sonos without any 3rd party. It still needs improvements, but at least I can search and play my music without relying on 3rd party services or online connection. |
Presumably you are running MA over https? If that is working then that's a good sign, might mean bonob just needs a valid cert and perhaps a new api or two implemented |
sorry, my bad for not being clearer about this. MA have it's own interface, which sort of replace the sonos app. MA doesn't appear in sonos as a service at all. |
I see, well at least it works, that's a good start! |
FWIW, I think that something like MA is probably the right way to go in the long term; I'm skeptical that we can rely on any vendor's own internal service API in the long term, because of their own financial machinations and interests, so having a self-hosted solution that can drive casting/air-play/dlna to a device via an industry standard protocol is probably going to be the most stable integration. |
You may well be right, as it currently stands we don't know if Sonos has simply blocked all non 'official' sources in their UI with a simple 'if' statement. However the nice thing about the bonob/subsonic style integration was the native Sonos expeeience, that was the reason I bought the expensive Sonos hardware. Without the Sonos app then I no longer need to stay within the sonos ecosystem. |
Isn't that Symphonium only support uPnP to the speaker? So playing requires a phone? |
yep your are right, it's only support uPnP and playing requires a phone also it's lack group speaker. |
I'm also guessing that it won't work for a stereo pair? |
What do you means ? You can't group 2 speakers if it's your question. |
It does not, unfortunately. If I send it to the left speaker it only plays from the left speaker 🙃 |
That's what I was guessing would happen. The stereo pairing is voodoo within the Sonos app(s). I've put a WiiM amp in one of the rooms where I had a stereo pair. It's a nice upgrade. |
What is the WiiM app experience like? |
WiiM natively support DLNA, so I've been using my Serviio instance as the backend in the WiiM app. It also works with Bubble UPnP with no issues. As the stereo is handled in hardware there is not the same issue with DLNA streaming to a stereo pair as there is with Sonos. You can also simulcast to multiple devices. There is a public roadmap and Trello board that sees stories moving. So I'm pretty convinced it's not a PR stunt. I'm going to be recommending the in-laws move over to WiiM. |
Thanks, WiiM sounds like it could be the way forward. |
Looks like Navidrome is a no to adding DLNA natively. I'm not sure @simojenki if you'd want to undergo changing Bonob into a DNLA transport layer for Navidrome. It feels like quite a lot of work. |
I thought the whole point of bonob was as a Sonos SMAPI implementation, which can adapt for different backend sources such as Subsonic. DLNA or WiiM would be a different project, no? |
It was certainly this. However, I guess as Sonos are deciding that such things are undesirable there is a choice between pivoting or archiving this project and starting a new one. Only @simojenki is able to make that decision, and did throw it out there #205 (comment) |
Yeah, the WiiM comment was partly what motivated my reply. The project still has worth - I haven't dropped it as a proxy for music services in Sonos. I haven't worked out why Sonos don't send credentials post-authorisation yet but I haven't had another go on it for a few weeks... |
It looks like Navidrome supports DLNA through some other 3rd party plugin here I am yet to try that, or for that matter yet to order a WiiM device to see what the experience is like. I had considered the possibility of changing bonob so it can start up with either sonos/SMAPI or DLNA support in order to achieve similar functionality on the WiiM. Though I suspect that will take a considerable amount of effort. I'd probably be reluctant to just start an entire new project as there is quite a bit of work in bonob just to map the various Subsonic API endpoints into typescript etc, doing all that again from scratch doesn't appeal. First I will probably try and get bonob working again on the new sonos app, even though I'm unlikely to ever use it that way as I'm not interested in opening firewall ports. |
I just wanted to update this thread with my own progress, as I haven't shared anything publically on Github yet and likely won't if it's not useful to others. My aim is to use bonob, deployed online, as an adapter between a Sonos music service and a Subsonic server. I don't use bonob to integrate with any Sonos devices. After several tweaks I have managed to get this working with the new apps, firmware etc. A summary of what I've done:
There's more to do but it basically works - I can browse and stream from a Subsonic server via a Sonos service. It's still in sandbox mode. Edit: I realised I wanted to save my work anyway, so I went ahead and forked. It's here: https://github.com/Astiga/bonob/tree/bonob-astiga but note it has some changes which call non 1.x Subsonic methods. |
Awesome news! Thanks @gravelld ! |
@gravelld do you have some instructions on how to get your fork up and running? I have a similar setup with airsonic running on a server. That has built in sonos support but it stopped working so I was hoping to put bonob in between. |
Great work @gravelld! I see getArtists uses a custom endpoint, maybe you could lobby opensubsonic to add 'getArtistList' to their spec? It would be in keeping with other subsonic APIs, ie. getAlbumList2 so doesn't seem unreasonable. Other than that we could look to get these changes merged in, though until the above is resolved you would need to maintain a fork for the custom endpoint that will not be present in ND, gonic etc. Although there is another option there that could be explored. |
I have already opened that issue - the key is supporting
Agree about the merge, no point until it becomes official API. @sjol Note you need to create a Sonos "music service" via https://developer.sonos.com/s/?language=en_US . I'm not sure if there's some sort of generic service you can re-use. Other than that it works like bonob - |
@gravelld, |
The key issue is that the login token is shared in a different way now - in the HTTP headers - and only the token, so you must record the token and combine it with the private key when making authenticated calls to the Subsonic layer. I don't think my service configuration is in any way special - the real changes are in bonob, basically it's in my fork above. |
@gravelld, |
@ianwebster7713 I'm maxed out with Christmas atm but will try to look at this when I can. |
@ianwebster7713 I succeeded in making a docker image with the changes of @gravelld and pushed it to docker hub. I am not going to maintain this for long, so only for testing purposes. |
@mvanduijker The image is functioning partially for me. I can't browse the Navidrome library, but searching and playing tracks work fine. |
what is your start command? |
Which start command? I am running it as a container. |
Have been using bonob flawlessly for a few months now but as expected, Sonos dropped an app update this week and the bonob service looks to have just disappeared from my list of services on both iOS and the new web app.
Interestingly I can still access it on the Desktop App (which I believe is being retired)
Is this the experience for everyone else or have I broken something in the process of tinkering?
The text was updated successfully, but these errors were encountered: