# \[APP\]\[Pro\] Sonos (LocalAPI)

**URL:** <https://community.homey.app/t/app-pro-sonos-localapi/147985>\
**Category:** Apps\
**Tags:** app, homey-pro\
**Created:** [December 28, 2025, 12:48pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985 "2025-12-28T12:48:49Z")\
**Posts on this page:** 20\
**Page:** 18

<div class="post-metadata">

**Author:** ![xiutit](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/xiutit/32/175860_2.png) [@xiutit](https://community.homey.app/u/xiutit)\
**Post date:** [July 28, 2026, 11:20am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/347 "2026-07-28T11:20:11Z")

</div>

Hi Joka, what’s your use case for changing the SonosNet channel? Sonos allows it through the Sonos app as a troubleshooting setting, but it isn’t exposed through the API used by this app. It’s normally a one-time network setting that should only be changed when troubleshooting interference.

---

<div class="post-metadata">

**Author:** ![Joka](https://avatars.discourse-cdn.com/v4/letter/j/7feea3/32.png) [@Joka](https://community.homey.app/u/Joka)\
**Post date:** [July 28, 2026, 12:11pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/348 "2026-07-28T12:11:58Z")

</div>

You are absolutely right and this is my usecase, sometimes the SonosNet interferences with my wifi. This results in delays between the grouped sonos players. Changing the channel solves this immediately. my idea was to say alexa to change the channel via a homey flow.

---

<div class="post-metadata">

**Author:** ![xiutit](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/xiutit/32/175860_2.png) [@xiutit](https://community.homey.app/u/xiutit)\
**Post date:** [July 28, 2026, 12:35pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/349 "2026-07-28T12:35:35Z")

</div>

I understand. Unfortunately, changing the SonosNet channel isn’t available through the API. I would recommend assigning fixed channels to your access points and SonosNet so they don’t overlap and cause interference if possible.

---

<div class="post-metadata">

**Author:** ![SunBeech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sunbeech/32/111391_2.png) [@SunBeech](https://community.homey.app/u/SunBeech)\
**Post date:** [July 28, 2026, 1:36pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/350 "2026-07-28T13:36:52Z")

</div>

To add to the above: changing WiFi-channels can also impact other devices/networks that use the 2.4GHz band, like Homey’s Zigbee network. Separation of channels is a key element to help ensure reliable coexistence of different networks on the 2.4GHz band. Whenever possible assign fixed non-overlapping channels.

---

<div class="post-metadata">

**Author:** ![Joka](https://avatars.discourse-cdn.com/v4/letter/j/7feea3/32.png) [@Joka](https://community.homey.app/u/Joka)\
**Post date:** [July 28, 2026, 2:53pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/351 "2026-07-28T14:53:02Z")

</div>

I appreciate your suggestions, thx. However, I think I have covered everything regarding the best WiFi and Zigbee practices. However, Sonos sometimes interferes with other things. Maybe routers in the neighborhood which change their channel dynamically. I chose to change the Sonos channel because it is the simplest solution, even if it isn’t the best one.

---

<div class="post-metadata">

**Author:** ![Peter\_Steinkuhler](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_steinkuhler/32/120806_2.png) [@Peter\_Steinkuhler](https://community.homey.app/u/Peter_Steinkuhler)\
**Post date:** [August 2, 2026, 10:24am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/352 "2026-08-02T10:24:59Z")

</div>

Hello everyone,

With this app, I can only add each speaker individually as a new device. How can I pair a set of speakers (left and right) so that I can hear the left and right channel?

I’ve noticed that the search mode only finds one speaker for me. I have to add the rest individually by entering their IP addresses. Also, the correct icon isn’t always displayed.

I’m using Sonos One, Sonos One SL, Sonos Port and Ikea Symfonisk.

Thanks.

---

<div class="post-metadata">

**Author:** ![SunBeech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sunbeech/32/111391_2.png) [@SunBeech](https://community.homey.app/u/SunBeech)\
**Post date:** [August 2, 2026, 2:09pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/353 "2026-08-02T14:09:44Z")

</div>

You can group speakers/rooms using the Group and Ungroup flowcards so that they play the same music in sync:

 ![Sonos LocalAPI Group](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/6/968429315e0eb3bb8824ac3a873fbd2d1bf13713.png)  
 ![Sonos LocalAPI Ungroup](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/3/83e9e039836ea2dd64ad1c9c3a4835ee7a353306.png)

Note that if you want to create a stereopair (left and right speaker) of two individual Sonos speakers, this must be set up in the Sonos mobile app.

---

<div class="post-metadata">

**Author:** ![Geronimo206](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/geronimo206/32/29921_2.png) [@Geronimo206](https://community.homey.app/u/Geronimo206)\
**Post date:** [August 17, 2026, 1:25pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/354 "2026-08-17T13:25:52Z")

</div>

Hi @xiutit

I’m seeing frequent `timeout of 5000ms exceeded` errors when starting Plex playlists through the Favorite flow card. See:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/b/0bdfb8cc5cb644df168ccc438ab35c73c38cae3d.png)

I ran into similar issues a while ago with larger playlists taking a long time to load, so I limited all of my Plex smart playlists to around **500 songs**. That made them usable enough in flows.

Since a more recent update, though — possibly around the time the 5-second timeout was introduced? — those playlists now seem to start successfully only about half the time, regardless of which speaker I use.

I did some testing, and starting a favourite containing one of these larger ±500-song playlists takes roughly **5 seconds** on my setup. So it looks like it’s right on the edge: sometimes it completes in time, and sometimes it hits the timeout shown above.

So just an open question — and maybe I’m an edge case here — would it make sense to increase the timeout for these cards a little? **5 seconds seems quite tight for larger playlists.**

I can of course reduce the playlist sizes further, and I’m not necessarily against that, but from a usability point of view it would be nice if larger playlists didn’t fail quite so inconsistently simply because there’s very little timing margin.

Thanks for looking into it!

---

<div class="post-metadata">

**Author:** ![xiutit](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/xiutit/32/175860_2.png) [@xiutit](https://community.homey.app/u/xiutit)\
**Post date:** [August 18, 2026, 7:21am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/355 "2026-08-18T07:21:07Z")

</div>

I’ve increased the Sonos request timeout from 5 to 10 seconds in version 2.6.4(test). Can you test if that’s enough?

> **[Sonos (LocalAPI) | Homey](https://homey.app/nl-nl/app/nl.xiut.sonoslocal/Sonos-(LocalAPI)/test/)**
>
> Locally control your Sonos system

---

<div class="post-metadata">

**Author:** ![Geronimo206](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/geronimo206/32/29921_2.png) [@Geronimo206](https://community.homey.app/u/Geronimo206)\
**Post date:** [August 18, 2026, 8:42am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/356 "2026-08-18T08:42:59Z")

</div>

> [@xiutit](#):
>
> [Sonos (LocalAPI) | Homey](https://homey.app/nl-nl/app/nl.xiut.sonoslocal/Sonos-(LocalAPI)/test/)

Wow, I forgot how fast you work! That seems to have done it:

 ![Schermafbeelding 2026-08-18 om 10.34.31](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/b/fb6b5220e2fa8c076f1588176a2bbb6ed042d955.png)

I’ve tested a bunch and it seems like the “first” one you try to start (after a while, or possibly switching from TV/Radio mode to playlist mode?) always needs a bit more time (see image), the other ones I tested after this one all hovered around 5 seconds again.

Thank you for the fix, lifesaver!!!

---

<div class="post-metadata">

**Author:** ![Gary\_Lane](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gary_lane/32/49965_2.png) [@Gary\_Lane](https://community.homey.app/u/Gary_Lane)\
**Post date:** [August 27, 2026, 11:05am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/357 "2026-08-27T11:05:16Z")

</div>

I love this TTS option and it’s made me switch from the regular app to yours: thank you. Can you explain more about the cache? How big is it and does it work by recognising “exact text” or flow cards? My text is almost always supplied as a variable or tag to the flow card so just trying to understand if that will cause a fetch each time which tends to delay the speech by a second or two.

Also, if for any reason the internet is down and an Azure request would fail, does the app fall back to the Homey/Sonos voice or will the card fail?

---

<div class="post-metadata">

**Author:** ![SCLS79](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scls79/32/160745_2.png) [@SCLS79](https://community.homey.app/u/SCLS79)\
**Post date:** [August 31, 2026, 5:13pm UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/358 "2026-08-31T17:13:48Z")

</div>

I’m a bit lost. I have a Port connected to my record player. If it starts playing it automatically plays on the Livingroom set. I want to group it with the diningroom and kitchen automatically as well. I have no idea how to start. Can anyone help me?

---

<div class="post-metadata">

**Author:** ![John\_William\_Brekke](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/john_william_brekke/32/111887_2.png) [@John\_William\_Brekke](https://community.homey.app/u/John_William_Brekke)\
**Post date:** [September 2, 2026, 6:35am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/359 "2026-09-02T06:35:56Z")

</div>

Select the speaker you want to group with diningroom and kitchen, select the “group with” flow card.

Then you select your diningroom and kitchen speakers and they will group.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/7/976db11ef013a879d56751d3adc35e1e1348bc74.png)

---

<div class="post-metadata">

**Author:** ![SCLS79](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scls79/32/160745_2.png) [@SCLS79](https://community.homey.app/u/SCLS79)\
**Post date:** [September 2, 2026, 6:49am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/360 "2026-09-02T06:49:50Z")

</div>

But with this flow it will do that always. I don’t want it to group while watching tv.

---

<div class="post-metadata">

**Author:** ![xiutit](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/xiutit/32/175860_2.png) [@xiutit](https://community.homey.app/u/xiutit)\
**Post date:** [September 2, 2026, 7:06am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/361 "2026-09-02T07:06:38Z")

</div>

Add an **AND** Logic card before the grouping card:

1. Select **Logic → Text contains**.
2. Use the **Track** tag from the Living Room speaker as the text value.
3. Enter `TV` as the value it should contain.
4. Connect the **No** output of this card to the grouping action. This prevents grouping while the TV input is active.

---

<div class="post-metadata">

**Author:** ![xiutit](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/xiutit/32/175860_2.png) [@xiutit](https://community.homey.app/u/xiutit)\
**Post date:** [September 3, 2026, 6:01am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/362 "2026-09-03T06:01:31Z")

</div>

The cache looks at the **final text after all variables and tags have been resolved** , together with the selected voice, speed and pitch. If a tag produces exactly the same text again, the cached audio is reused. The current cache is stored in memory for 30 minutes.

In a future version, I may add a small persistent disk cache, so frequently repeated messages won’t need to be generated again after the cache expires or the app restarts.

There is currently no fallback to Homey’s or Sonos’ built-in voice. If Azure or the internet is unavailable, a message can only be played if it is still cached; otherwise, the flow card will fail.

---

<div class="post-metadata">

**Author:** ![SCLS79](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scls79/32/160745_2.png) [@SCLS79](https://community.homey.app/u/SCLS79)\
**Post date:** [September 3, 2026, 7:25am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/363 "2026-09-03T07:25:22Z")

</div>

It shows HDMI/Optical, just like when watching tv. Tried a lot of flows. Nothing works…

Livingroom should show Line-In instead of HDMI.

---

<div class="post-metadata">

**Author:** ![Gary\_Lane](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gary_lane/32/49965_2.png) [@Gary\_Lane](https://community.homey.app/u/Gary_Lane)\
**Post date:** [September 3, 2026, 8:05am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/364 "2026-09-03T08:05:51Z")

</div>

A perfectly comprehensive and helpful answer: thank you. A persistent cache would be a great idea.

I realise also that the standard Homey/SONOS speak used the cloud too, so wouldn’t help as a fallback. Instead I shall upload to Homey some standard speech phrases using Soundboard and fallback to those if your speech card fails.

Thanks again for making this app.

---

<div class="post-metadata">

**Author:** ![SunBeech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sunbeech/32/111391_2.png) [@SunBeech](https://community.homey.app/u/SunBeech)\
**Post date:** [September 3, 2026, 8:14am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/365 "2026-09-03T08:14:10Z")

</div>

The ‘HDMI/Optical’ text is shown when the external source is active (typically the optical (SPDIF) or HDMI inputs on a soundbar, or the line input in your case).

Based on @xiutit 's [earlier post](https://community.homey.app/t/app-pro-sonos-localapi/147985/361): try to replace the suggested `TV` text with `HDMI` in step 3.

---

<div class="post-metadata">

**Author:** ![SCLS79](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/scls79/32/160745_2.png) [@SCLS79](https://community.homey.app/u/SCLS79)\
**Post date:** [September 3, 2026, 9:13am UTC](https://community.homey.app/t/app-pro-sonos-localapi/147985/366 "2026-09-03T09:13:53Z")

</div>

But then it also groups when watching tv. That’s the whole problem.

[Previous page](https://community.homey.app/t/app-pro-sonos-localapi/147985.md?page=17)

[Next page](https://community.homey.app/t/app-pro-sonos-localapi/147985.md?page=19)
