Skip to content
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

[sonos] Full support for SONOS arc features #9874

Closed
TomMarg opened this issue Jan 19, 2021 · 60 comments · Fixed by #10759
Closed

[sonos] Full support for SONOS arc features #9874

TomMarg opened this issue Jan 19, 2021 · 60 comments · Fixed by #10759
Labels
enhancement An enhancement or new feature for an existing add-on

Comments

@TomMarg
Copy link

TomMarg commented Jan 19, 2021

The newer soundbar Sonos Arc is recognized and controls work correct. However some channels are not exposed that are available for older soundbars like the PLAYBAR or PLAYBASE. I am specifically interested in support for the channel / switch for the nightmode and speechenhancement.

I am currently using OH3 on OpenHabian on a RPi 4 2GB.
....and I love it. :)

@TomMarg TomMarg added the enhancement An enhancement or new feature for an existing add-on label Jan 19, 2021
@lolodomo
Copy link
Contributor

The support for this new model was apparently not yet added.
I assume it is discovered with a zoneplayer thing type?

@TomMarg
Copy link
Author

TomMarg commented Jan 19, 2021

Yes. It‘s a ZonePlayer thing.

@lolodomo
Copy link
Contributor

To support this new model, I will need few information. I will tell you later how to retrieve them.

@TomMarg
Copy link
Author

TomMarg commented Jan 20, 2021

I'm happy to help. :)

Having the options for a soundbar with Nightmode and SpeechEnhancement would be a cool option for the ARC.

I'm using the Arc together with the Sub and 2x Sonos One's as a 5.1 System. The full list of features that would be the 100% solution for such configurations would be: (I guess it would be the same for surround systems using the PLAYBASE or PLAYBAR; however there could be configurations without surround speakers as well as with 2 subs as far as I know):

  • System - Sonos (+Sub+LS+RS) Arc:
    --> Equalizer - Bass (Slider -10..10)
    --> Equalizer - Treble (Slider -10..10)
    --> Equalizer - Loudness (Switch)
    --> Trueplay-Settings (Switch)
    --> Surround-Audio - surround Speakers (On/Off)
    --> Surround-Audio - TV level (Slider -15..15)
    --> Surround-Audio - Music level (Slider -15..15)
    --> Surround-Audio - Music playback (Switch: Background or Full)
    --> Sub-Audio - Sub Speaker (On/Off)
    --> Sub-Audio - Sub level (Slider -15..15)

There's even more with LipSync settings etc. but I try to divide into features that I use regularly where I use OpenHAB instead of opening the App. The other options are things I rarely use and could get back to the app (other people may consider them as essential).

@lolodomo
Copy link
Contributor

Please run this URL using the IP of your ARC device: http://192.168.x.xx:1400/xml/device_description.xml
And please let me know what is the value for the tag modelName.
I will set channels linein, nightmode and speechenhancement like for few other models.

Other additional features could require more reverse engineering, which is something more or less impossible without owning the model.

@TomMarg
Copy link
Author

TomMarg commented Jan 20, 2021

Here we go.

<manufacturerURL>http://www.sonos.com</manufacturerURL>
<modelNumber>S19</modelNumber>
<modelDescription>Sonos Arc</modelDescription>
<modelName>Sonos Arc</modelName>
<modelURL>http://www.sonos.com/products/zoneplayers/S19</modelURL>

Get the other point. Coding with no testing possibilities is totally annoying. If I can provide any more data (XML etc.) just let me know.

@TomMarg
Copy link
Author

TomMarg commented Jan 20, 2021

As well as a list of all the other settings that could be changed: http://192.168.x.x:1400/xml/RenderingControl1.xml
Would it be possible to somehow trigger changes here without using the binding if it won't support this? Sorry to ask.

RenderingControl1.zip

@lolodomo
Copy link
Contributor

Bass, trebble and loundness are settings available on all models. I could try to add them as new channels.

@TomMarg
Copy link
Author

TomMarg commented Jan 22, 2021

Thank you so much!

I reviewed the device as well through DeviceSpy and the other options are there as state variables only with no get or set methods.

Was playing around and saw that I could invoke commands quite easily through Device Spy.
SetEQ / GetEQ with String "SubEnabled" / "SurroundEnabled" / "SurroundMode" (0 = Background, 1 = Full), "Sub Level" worked as desired. :)
Is it possible to trigger these through HTTP binding?

Capture

@lolodomo
Copy link
Contributor

lolodomo commented Jan 22, 2021

If methods are there, the binding could be certainly enhanced. What has to be found is how to retrieve the data from SSE events too. With your help, it should be doable.
We will do it in several steps:

1.Add the support of Arc with already implemented channels
2. Add general settings like bass/trebble (something I can check myself).
3. Add specific settings with your help

I will propose a PR for 1 tomorrow.

@TomMarg
Copy link
Author

TomMarg commented Jan 22, 2021

Let me know what I can help you with and I'll try to do my best. E.g. I could collect the envelope's for the get / set commands of the respective components I guess. :) Assuming what you would need to know:

From what I could see it's using the following types all following the same function (GetEQ / SetEQ)

The variables are:

  • SubEnabled (Boolean, 0 = OFF/ 1 = ON)
  • SubGain (String, -15 to 15)
  • SurroundEnabled (Boolean, 0 = OFF/ 1 = ON)
  • SurroundMode (String, 0 = Background / 1 = Full)
  • SurroundLevel (String, -15 to 15)
  • MusicSurroundLevel (String, -15 to 15)

Get-EQ:

Origin: OpenSource.UPnP.HTTPSession [49212206]
Time: 22.01.2021 13:50:39

POST /MediaRenderer/RenderingControl/Control HTTP/1.1
HOST: 192.168.XXX.XXX:1400
SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#SetEQ"
CONTENT-TYPE: text/xml; charset="utf-8"
Content-Length: 417

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <u:SetEQ xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
         <InstanceID>0</InstanceID>
         <EQType>SurroundMode</EQType>
         <DesiredValue>1</DesiredValue>
      </u:SetEQ>
   </s:Body>
</s:Envelope>

Set-EQ:

Origin: OpenSource.UPnP.HTTPSession [49212206]
Time: 22.01.2021 13:50:39

HTTP/1.1 200  OK
EXT:  
CONTENT-TYPE:  text/xml; charset="utf-8"
SERVER:  Linux UPnP/1.0 Sonos/61.1-83220 (ZPS19)
CONNECTION:  close
Content-Length: 247

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetEQResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetEQResponse></s:Body></s:Envelope>

@lolodomo
Copy link
Contributor

lolodomo commented Jan 22, 2021

Please link your channel named "URI Transport AV" to an item and select with the Sonos app as input your TV.
Let me know what is the full value on the channel ? It should either start with x-rincon-stream: or x-sonos-htastream:

@TomMarg
Copy link
Author

TomMarg commented Jan 22, 2021

With HDMI in on TV:
x-sonos-htastream:RINCON_48A6B8B86FA001400:spdif

@lolodomo
Copy link
Contributor

lolodomo commented Jan 22, 2021

In DeviceSpy, do you see a service named AudioIn or HTControl ?
Right click on each and select "Subscribe to Events". Let me know if you see a key LineInConnected or TOSLinkConnected and its value

@lolodomo
Copy link
Contributor

x-sonos-htastream:RINCON_48A6B8B86FA001400:spdif

Ok it was the most probable and the one expected.

@TomMarg
Copy link
Author

TomMarg commented Jan 22, 2021

In DeviceSpy, do you see a service named AudioIn or HTControl ?
Right click on each and select "Subscribe to Events". Let me know if you see a key LineInConnected or TOSLinkConnected.

TOSLinkConnected is 1 in the HTControl and no AudioIn found.

interesting. I am only on HDMI.

@lolodomo
Copy link
Contributor

TOSLinkConnected is 1 in the HTControl and no AudioIn found.

Perfect.

I submit the PR...

@TomMarg
Copy link
Author

TomMarg commented Jan 22, 2021

Thank you so much!! :)

lolodomo added a commit to lolodomo/openhab-addons that referenced this issue Jan 22, 2021
Related to openhab#9874

Signed-off-by: Laurent Garnier <[email protected]>
lolodomo added a commit to lolodomo/openhab-addons that referenced this issue Jan 22, 2021
Related to openhab#9874

Signed-off-by: Laurent Garnier <[email protected]>
lolodomo added a commit to lolodomo/openhab-addons that referenced this issue Jan 22, 2021
Related to openhab#9874

Signed-off-by: Laurent Garnier <[email protected]>
lolodomo added a commit to lolodomo/openhab-addons that referenced this issue Jan 22, 2021
@lolodomo
Copy link
Contributor

From what I could see it's using the following types all following the same function (GetEQ / SetEQ)

The variables are:

* SubEnabled (Boolean, 0 = OFF/ 1 = ON)
* SubGain (String, -15 to 15)
* SurroundEnabled (Boolean, 0 = OFF/ 1 = ON)
* SurroundMode (String, 0 = Background / 1 = Full)
* SurroundLevel (String, -15 to 15)
* MusicSurroundLevel (String, -15 to 15)

How did you determine the different values of EQType parameter ?

In DeviceSpy, can you right click on the RenderingControl service and then click on "Subscribe to Events". Then copy/paste the event to see how it looks. I assume I will find inside all your key SubEnabled , SubGain, ...

@TomMarg
Copy link
Author

TomMarg commented Jan 22, 2021

Basically I tried to invoke the method for GetEQ and SetEQ with the variable names and parameters and watched what happened in the Sonos App.

I subscribed and went to the App. Then I enabled/disabled SurroundEnabled, switched SurroundMode back and forth and changed volumes for SurroundLevel, as well as MusicSurroundLevel.

Here are the results:

21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/></InstanceID></Event>
21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="-4"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/></InstanceID></Event>
21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/></InstanceID></Event>
21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="2"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/></InstanceID></Event>
21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/></InstanceID></Event>
21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="0"/></InstanceID></Event>
21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/></InstanceID></Event>
21:57	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="0"/><SurroundMode val="1"/></InstanceID></Event>
21:56	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="15"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/><Mute channel="Master" val="0"/><Mute channel="LF" val="0"/><Mute channel="RF" val="0"/><Bass val="-1"/><Treble val="-2"/><Loudness channel="Master" val="1"/><OutputFixed val="0"/><HeadphoneConnected val="0"/><SpeakerSize val="10"/><SubGain val="1"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/><SonarEnabled val="1"/><SonarCalibrationAvailable val="1"/><PresetNameList val="FactoryDefaults"/></InstanceID></Event>
```

Regarding the values / ranges. Besides looking them um in the App I found them in the XML: http://192.168.x.x:1400/xml/RenderingControl1.xml

@TomMarg
Copy link
Author

TomMarg commented Jan 22, 2021

Here are the events when changing the SubEnable and SubGain:

22:05	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><SpeakerSize val="10"/><SubGain val="1"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/></InstanceID></Event>
22:05	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><SpeakerSize val="10"/><SubGain val="2"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/></InstanceID></Event>
22:05	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><SpeakerSize val="10"/><SubGain val="-3"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/></InstanceID></Event>
22:05	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><SpeakerSize val="10"/><SubGain val="-4"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/></InstanceID></Event>
22:05	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><SpeakerSize val="10"/><SubGain val="1"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/></InstanceID></Event>
22:05	Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl	LastChange	<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><SpeakerSize val="10"/><SubGain val="1"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="0"/></InstanceID></Event>

@lolodomo
Copy link
Contributor

So yes it is doable to add these controls as new channels. It just require some time. I will try to do it during the weekend

@lolodomo
Copy link
Contributor

@TomMarg : the new settings for the Arc are now all implemented in the Arc PR. As I have two different PRs, a "fusion" will be required to have bass/treble/loudness controls for the Arc.

Do you know if the surround/sub settings are available for other models ? I guess they are probably on few other models.

Do you have a setting to set the output level to "fixed" ? If you have, can you tell me what of all these controls are disabled in the Sonos app when you set it to "fixed" ?
I have already disabled bass/treble/loudness controls when it is set to "fixed" as it is how it behaves on one of my models for which I have this output level setting.

@lolodomo
Copy link
Contributor

lolodomo commented Jan 26, 2021

The fix is unfortunately not yet merged but with the snapshot built this morning, you can now test bass/treble/loudness.

@lolodomo
Copy link
Contributor

lolodomo commented Jan 26, 2021

Regarding the surround level, maybe the problem is not the UPnP action but the handling of the item command.
Is your item of type Number?
Can you try sending the command with a console commamd:
send youritemname 3

cpmeister pushed a commit that referenced this issue Jan 26, 2021
Related to #9874

Signed-off-by: Laurent Garnier <[email protected]>
@TomMarg
Copy link
Author

TomMarg commented Jan 26, 2021

Regarding the surround level, maybe the problem is not the UPnP action but the handling of the item command.
Is your item of type Number?
Can you try sending the command with a console commamd:
send youritemname 3

Bass / Treble / Loudness work!!!

You are right. The Number Item worked; I had it configured as Dimmer item... So my fault.

Will upgrade to snapshot and will provide detailed testing results.

@lolodomo
Copy link
Contributor

The last fix is now merged so normally everything should be ok for you in the next snapshot... tomorrow morning.

@lolodomo
Copy link
Contributor

Dimmer is for range 0℅ - 100℅, not really adapted to our ranges -15 / 15 or -10 / 10.

@lolodomo
Copy link
Contributor

Unfortunately the build of bindings failed this night.

@lolodomo
Copy link
Contributor

Snapshot 1269 should include all the last changes.

@TomMarg
Copy link
Author

TomMarg commented Jan 28, 2021

I can hereby confirm all switches are working - feedback is directly represented in the App.
The Dimmer was really the issue with the sound settings but I have now built my page and checked every switch as seen in the photo. It's purely AWESOME - with this method I can control settings way faster than navigating back and forth through the App.

Sonos

@TomMarg TomMarg closed this as completed Jan 28, 2021
@stjx79
Copy link

stjx79 commented Jan 30, 2021

@TomMarg Your settings page looks very good.
I have just opened a new issue so that it is possible to read the current audio format. Maybe this is also interesting for you and you can contribute more codes. E.g. Dolby Atmos?

themillhousegroup pushed a commit to themillhousegroup/openhab2-addons that referenced this issue May 10, 2021
…und speakers (openhab#9916)

* [sonos] Add support for Sonos Arc/Arc SL + new controls for sub/surround speakers

Related to openhab#9874

Signed-off-by: Laurent Garnier <[email protected]>

* Use OnOffType.from

Signed-off-by: Laurent Garnier <[email protected]>
Signed-off-by: John Marshall <[email protected]>
themillhousegroup pushed a commit to themillhousegroup/openhab2-addons that referenced this issue May 10, 2021
* [sonos] Add bass/treble/loudness controls

Related to openhab#9874

Disable these controls when the output level is fixed

* Review suggestion: use OnOffType.from
* Add bass/treble/loudness channels to Arc and Arc SL models
* Review comment: remove usage of keySet

Factorize code
Define constants

* Use Map.of to simplify the code
* Review comments considered

Signed-off-by: Laurent Garnier <[email protected]>
Signed-off-by: John Marshall <[email protected]>
themillhousegroup pushed a commit to themillhousegroup/openhab2-addons that referenced this issue May 10, 2021
Related to openhab#9874

Signed-off-by: Laurent Garnier <[email protected]>
Signed-off-by: John Marshall <[email protected]>
@TomMarg TomMarg reopened this May 25, 2021
@TomMarg
Copy link
Author

TomMarg commented May 25, 2021

I hope it is okay to re-open this thread; otherwise I could start a new one. However - every information required would be here.
Background: Around 1 - 2 weeks ago SONOS added a new feature for the SONOS ARC in the S2 App to control the HightChannel (which really has an impact on the sound when controlling it in an Atmos movie). Sooo cool...

In DeviceSpy I subscribed to the RenderincControl Events and whatched the new value change when I controlled it in the App:

07:46 Sonos - Sonos Arc Media Renderer/urn:upnp-org:serviceId:RenderingControl LastChange <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><DialogLevel val="0"/><SurroundLevel val="0"/><MusicSurroundLevel val="0"/><AudioDelay val="0"/><AudioDelayLeftRear val="0"/><AudioDelayRightRear val="0"/><NightMode val="0"/><SurroundEnabled val="1"/><SurroundMode val="1"/><HeightChannelLevel val="4"/></InstanceID></Event>

In this post I listed the level in the menus. The new one is here (added on the end)

  • System - Sonos (+Sub+LS+RS) Arc:
    --> Equalizer - Bass (Slider -10..10)
    ...
    --> Sub-Audio - Sub level (Slider -15..15)
    --> Height Audio - Height level (Slider -10..10)

The value is set through the SetEQ method with variable name HeightChannelLevel and a value between -10 and 10.

Maybe it's as easy as before to add this one value/channel? I am frequently using these channels you added before - so thanks again for the implementations in this thread. It's really way easier to build an own interface than jumping around in the Sonos App.

lolodomo added a commit to lolodomo/openhab-addons that referenced this issue May 26, 2021
kaikreuzer pushed a commit that referenced this issue May 28, 2021
computergeek1507 pushed a commit to computergeek1507/openhab-addons that referenced this issue Jul 13, 2021
frederictobiasc pushed a commit to frederictobiasc/openhab-addons that referenced this issue Oct 26, 2021
thinkingstone pushed a commit to thinkingstone/openhab-addons that referenced this issue Nov 7, 2021
…und speakers (openhab#9916)

* [sonos] Add support for Sonos Arc/Arc SL + new controls for sub/surround speakers

Related to openhab#9874

Signed-off-by: Laurent Garnier <[email protected]>

* Use OnOffType.from

Signed-off-by: Laurent Garnier <[email protected]>
thinkingstone pushed a commit to thinkingstone/openhab-addons that referenced this issue Nov 7, 2021
* [sonos] Add bass/treble/loudness controls

Related to openhab#9874

Disable these controls when the output level is fixed

* Review suggestion: use OnOffType.from
* Add bass/treble/loudness channels to Arc and Arc SL models
* Review comment: remove usage of keySet

Factorize code
Define constants

* Use Map.of to simplify the code
* Review comments considered

Signed-off-by: Laurent Garnier <[email protected]>
thinkingstone pushed a commit to thinkingstone/openhab-addons that referenced this issue Nov 7, 2021
thinkingstone pushed a commit to thinkingstone/openhab-addons that referenced this issue Nov 7, 2021
marcfischerboschio pushed a commit to bosch-io/openhab-addons that referenced this issue May 5, 2022
…und speakers (openhab#9916)

* [sonos] Add support for Sonos Arc/Arc SL + new controls for sub/surround speakers

Related to openhab#9874

Signed-off-by: Laurent Garnier <[email protected]>

* Use OnOffType.from

Signed-off-by: Laurent Garnier <[email protected]>
marcfischerboschio pushed a commit to bosch-io/openhab-addons that referenced this issue May 5, 2022
* [sonos] Add bass/treble/loudness controls

Related to openhab#9874

Disable these controls when the output level is fixed

* Review suggestion: use OnOffType.from
* Add bass/treble/loudness channels to Arc and Arc SL models
* Review comment: remove usage of keySet

Factorize code
Define constants

* Use Map.of to simplify the code
* Review comments considered

Signed-off-by: Laurent Garnier <[email protected]>
marcfischerboschio pushed a commit to bosch-io/openhab-addons that referenced this issue May 5, 2022
marcfischerboschio pushed a commit to bosch-io/openhab-addons that referenced this issue May 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An enhancement or new feature for an existing add-on
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants