Sonos devices not responding at all

Hi. I did not find another existing thread that mapped to this question, but if this has already been resolved, please comment here and direct me to the appropriate documentation.

I'm new to HE as of the last month (former Wink user) and really love it. Local control is just so much better. It's given me an excuse to refresh a bunch of my devices and go fully local (Zigbee focus). The notable exception is Sonos. I own a number of Sonos devices, but only 2 of them are relevant for this question. Maybe there's a simple solution here that I'm missing. I appreciate any guidance.

I am trying to perform basic music control functionality for my Sonos using a 5-button Pico Remote (the lighting one, not the audio-specific one). Using Rule Machine, I have attempted to map these basic actions to each button when pushed: Next Track (1), Raise volume (2), Toggle play/pause (3), Lower volume (4), Previous Track (5).

Nothing fancy, nothing for hold/release, just button push.

Unfortunately, nothing happens with the Sonos devices when any of these buttons are pressed. In the logs, it seems like everything works fine with button press, trigger, and action all registering. But once the action is registered, I notice an error in the logs for "No route to host (Host unreachable)." It's trying to route to 2 Sonos devices, both of which are Sonos One SL speakers (fully updated firmware).

I also receive this error when working on the Sonos devices directly in the devices page, toggling play/pause, mute, etc. At one point, I was able to have a sentence spoken over these speakers, but even that does not work anymore.

It may also be worth noting that if I map this pico remote to one of the Sonos speakers in the Lutron app, it works just fine (can't customize the buttons, but the speaker responds).

Am I missing something?

Separate Note: I do not have a local audio library and only stream my music via spotify. I have a Spotify premium account with offline content, but I don't have a dedicated media server or separate volume with MP3s. I recognize that limitation and will work on creating a local library to stream from. For now, I'm focused on figuring out how to solve the unreachable host issue which impacts all functionality incl. volume, TTS, etc.

@aaiyar - don't you do something like this?

1 Like

Yup, I do.

@Marvinyx

Please post a screenshot of your rule.

Edit: First thing - make sure your Pico remote is in a room by itself in the Lutron app and not assigned to any devices in the Lutron app.

2 Likes

@aaiyar - Not sure why, but this site won't let me submit with photos attached. I will attempt to contact someone about that.

While easier to see in a screenshot, the RM rule is exactly as written below. The trigger is a "Button Device" (the Pico) and I have 5 button "push" actions defined as follows (list no. corresponds to button no.):

  1. "Sonos A, Sonos B: Next Track"
  2. "Sonos A, Sonos B: Raise volume"
  3. "Sonos A, Sonos B: Toggle play/pause"
  4. "Sonos A, Sonos B: Lower volume"
  5. "Sonos A, Sonos B: PreviousTrack"

The pico is currently in a room with another Pico (meaning, only 2 pico remotes in that room in Lutron). And, it is currently not assigned to anything in particular. In fact, the only reason I have Lutron at all is for the picos... :slight_smile:

I can easily move it into a separate room.

EDIT: For some reason, I can now add photos! Here you go.

My RM setup:

What I see in the logs (dev:68 and 69 are the two Sonos devices)

More logs...

BTW, the actions are defined from "Control Music Player, Volume, Sounds" --> "Control Music Player" --> etc.

Sonos A and Sonos B are the two speakers.

The issue is not your rule then.

This means exactly what it says. So how are your Sonos connected? Sonos net or your WiFi? Have you fixed their IP address using the address reservation tool in your router? If not this is your issue :wink:.

4 Likes

@BorrisTheCat - These speakers are connected over WiFi. Re your IP address question, I have not done anything special to them in that regard. If there's documentation somewhere on this, I'm happy to try it!

BTW, thank you guys for the quick replies!

2 Likes

You will want to setup a dhcp reservation as @BorrisTheCat has pointed out. If you provide your router model number someone may be able to provide additional assistance.

4 Likes

Shouldn't cause a issue as long as your WiFi is strong but connecting one to Ethernet is always going to be better.

Your issue is that the devices have moved then. Your need to find out how to reserve their IP (you should do this for all equipment that is connected to the hub and the hub needs to to be fixed). Once this is done I would delete the SONOS devices from your hub and remove the SONOS integration app from the hub (it sometimes hangs onto old information I have found) then re install it and discover your devices.

4 Likes

@Brandon and @BorrisTheCat - It's an Apple Airport Extreme (A1521). There is also an Airport Express extending the network wirelessly.

The main base station is connected to a DSL modem/router for internet (long story and don't get me started LOL) but everything else (HE hub, Lutron SmartBridge Pro2, and Philips Hue Bridge) are plugged directly into the base station router. Unfortunately, due to the room layout and port availability, it's not really possible to hardline any of the devices, incl. Sonos, to the router via ethernet (which would obviously be preferable).

The Airport is set to Bridge Mode and the modem is set to NOT broadcast as a router in order to avoid NAT issues. So not sure how to create IP reservations here. Everything is grayed out unless I choose one of the other options.

EDIT: I suppose I could try fixing them on the modem directly, which would be less than ideal as I would have to redo all of that if I'm ever able to change modems...

It has to be done on what ever devices is your DHCP server. It is usually under network and advanced.

2 Likes

@BorrisTheCat I just realized that my network bridge seems to be going backward. I suspect the last time I had a technician come out to fix issues with the DSL line and change the modem, they set my Airport to bridge to the other router vs the other way around. I'll switch them so I can use the Airport as my DHCP server. Which is how I remember setting it up originally.

Thanks for the help. I will post back once complete to let everyone know if it fixes the issue!

1 Like

Once you have the airport set as your dhcp server you should easily be able to set the reservation. If needed this Link provides instructions for setting the reservation.

2 Likes

@Brandon - Thanks. I have made the network changes and now have everything set up correctly. I will knock out the rest of it this evening and let you guys know.

Thanks for sending that link!

2 Likes

Your welcome. Let us know how it goes and Welcome to the community!

1 Like

@Brandon and @BorrisTheCat - Oddly, I think this change has caused an issue with the HE hub. After changing the bridge settings, I decided to reboot the hub (using the app console option, not physical reset). The hub is clearly online and working with all my devices, but I am now unable to actually access it via direct IP address. The cloud dashboards work from my phone, but I cannot get direct access at all.

Any ideas? It’s clearly working and accessible, just not from a browser IP url...

Same issue as you haven't locked it's IP it has now moved to a new location. This is why you need to reserve it's MAC to a particular IP, then it will stay in the same place.

3 Likes

@BorrisTheCat, @Brandon, and @aaiyar - Okay, so I would like to thank everyone for their help here.

Looks like things are working smoothly for now. I've assigned DHCP reservations and re-added the Sonos devices. My Pico is able to control the playback exactly as was stated in the original rule, which is awesome. However, I noticed a couple of things that I'll mention here in case anyone is interested:

First, volume actions (raise/lower) and track actions (back/forward) seem to work all the time, but play/pause actions only seem to work when the Sonos speakers are grouped to match the selection of speakers specified in the RM action. Meaning, if your RM action is to "play" on speaker A and B, then nothing will happen unless speakers A and B are ALREADY grouped in playback in Sonos directly. It took me a while to figure this one out and I'm not sure if there's a better implementation to address this or if it's a limitation in the Sonos integration where the playback group has to already exist.

Obviously, for those of us who like to change up our playback setup across many Sonos devices and rooms, this is really problematic. I will experiment a little more to see if I figure out a workaround and will post my findings.

Also, another thing to note is that for some reason, "Toggle play/pause" only pauses. I cannot get it to actually toggle. So, my temporary workaround was to up a button push for pause and button hold for play. Then it worked just fine (subject to the group limitations above).

EDIT: Upon further testing, my grouping comment wasn't exactly correct. It's not about the group existing. it has to do with which speaker in Sonos is acting as the primary speaker for that playback group. So, for example, if Sonos A and B are together, but the actual playback in the Sonos App is coming from A (with B added), then just including Sonos A in the RM Action selection will work for both speakers. But, if the queue that is being played in Sonos is sitting for Sonos B (with A added), then using Sonos A in the RM action will do nothing.

So....yah.... :roll_eyes:

1 Like

Yes this is correct, that is the current limitation of the SONOS. You can send a track to A and B if there not grouped but this doesn't group them, it will just play individually and so will be out of sync.

2 Likes

@BorrisTheCat - Any ideas as to why toggle only pauses, but doesn’t play? Play and pause work individually, but toggle play/pause only pauses...

It’s really bugging me as there doesn’t seem to be an obvious answer lol

1 Like