Ikea SYMFONISK (i.e. Sonos) supported?

Hi,
My wife is pressing me to buy one of this:

immagine

It’s a new Ikea lamp with an integrated Sonos speaker…

Anyone knows if it would work with OH ?

It certainly requires a fix to add the new device but it is easy to add if someone is able to provide the expected XML file describing the device.

I recently bought 2 of the symfonisk speaker (not the lamp, but the normal stands).
If you could introduce me in how to get that xml file i am happy of doing so.

Cheers,

Use this URL with the appropriate IP address: http://192.168.xx.xxx:1400/xml/device_description.xml

Here you go - thank you. This is the white speaker as a bookstand.

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
<friendlyName>192.168.1.x - Sonos SYMFONISK</friendlyName>
<manufacturer>Sonos, Inc.</manufacturer>
<manufacturerURL>http://www.sonos.com</manufacturerURL>
<modelNumber>S21</modelNumber>
<modelDescription>Sonos SYMFONISK</modelDescription>
<modelName>Sonos SYMFONISK</modelName>
<modelURL>http://www.sonos.com/products/zoneplayers/S21</modelURL>
<softwareVersion>51.1-66240</softwareVersion>
<swGen>1</swGen>
<hardwareVersion>1.20.3.3-2</hardwareVersion>
<serialNum>34-xx-xx-xx-xx-xx:B</serialNum>
<MACAddress>34:7E:xx:xx:xx:xx</MACAddress>
<UDN>uuid:RINCON_347E5C316D3201400</UDN>
<iconList>
<icon>
<id>0</id>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/img/icon-S21.png</url>
</icon>
</iconList>
<minCompatibleVersion>50.0-00000</minCompatibleVersion>
<legacyCompatibleVersion>36.0-00000</legacyCompatibleVersion>
<apiVersion>1.13.2</apiVersion>
<minApiVersion>1.1.0</minApiVersion>
<displayVersion>10.3</displayVersion>
<extraVersion/>
<roomName>Wohnzimmer</roomName>
<displayName>SYMFONISK</displayName>
<zoneType>23</zoneType>
<feature1>0x00000000</feature1>
<feature2>0x00403336</feature2>
<feature3>0x0001010e</feature3>
<seriesid>A100</seriesid>
<variant>0</variant>
<internalSpeakerSize>5</internalSpeakerSize>
<bassExtension>75.000</bassExtension>
<satGainOffset>6.000</satGainOffset>
<memory>512</memory>
<flash>256</flash>
<flashRepartitioned>0</flashRepartitioned>
<ampOnTime>10</ampOnTime>
<retailMode>0</retailMode>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
<controlURL>/AlarmClock/Control</controlURL>
<eventSubURL>/AlarmClock/Event</eventSubURL>
<SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
<serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
<controlURL>/DeviceProperties/Control</controlURL>
<eventSubURL>/DeviceProperties/Event</eventSubURL>
<SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
<serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
<controlURL>/SystemProperties/Control</controlURL>
<eventSubURL>/SystemProperties/Event</eventSubURL>
<SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
<controlURL>/ZoneGroupTopology/Control</controlURL>
<eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
<SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
<serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
<controlURL>/GroupManagement/Control</controlURL>
<eventSubURL>/GroupManagement/Event</eventSubURL>
<SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
</service>
</serviceList>
<deviceList>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>Wohnzimmer - Sonos SYMFONISK Media Renderer</friendlyName>
<manufacturer>Sonos, Inc.</manufacturer>
<manufacturerURL>http://www.sonos.com</manufacturerURL>
<modelNumber>S21</modelNumber>
<modelDescription>Sonos SYMFONISK Media Renderer</modelDescription>
<modelName>Sonos SYMFONISK</modelName>
<modelURL>http://www.sonos.com/products/zoneplayers/S21</modelURL>
<UDN>uuid:RINCON_347E5C316D3201400_MR</UDN>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
<eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
<SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
</service>
</serviceList>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/img/icon-S21.png</url>
</icon>
</iconList>
</device>
</deviceList>
</device>
</root>

I will add this model next week.

That’s weird, service AVTransport is not listed !

Oh thank you!
I will be more inclined to be robbed by Ikea now :rofl:

I doubt the control by openHAB could work without the most important UPnP service… We will see.
I guess the device should already be discovered by the binding but as a Zone Player. Is it ?

sorry del. please

yes that is correct. It is auto discovered but still as a group player.
Thanks a lot for your integration

I created a PR to add the discovery of the SYMFONISK speaker.
But does it work when you use it with “Gruppen Player” thing type ? If not, it will not work better with the new SYMFONISK thing type.

I would be very much interested in knowing whether it works or not as I will buy a few of them if it does!

The change is now available in the 2.5 snapshots. Can we have a feedback if these devices are fully supported?

I have the Symfonisk wifi speaker (not the lamp) and using 2.5M3.
It is discovered as symfonisk decive (not group player).
image

I also have a Play:5.
For both, I have an item file with control, vaforit and currentalbumart items.

// Symfonisk
Player Kueche_control	   	"Controller"               {channel="sonos:SYMFONISK:RINCON_347E5C35CDE801400:control"}
String Kueche_favorit	      "Favorit" 			<text>           {channel="sonos:SYMFONISK:RINCON_347E5C35CDE801400:favorite"}
Image  Kueche_art              "Cover"          {channel="sonos:SYMFONISK:RINCON_347E5C35CDE801400:currentalbumart"}
// Play:5
Player Wohnzimmer_control	   	"Controller"               {channel="sonos:PLAY5:RINCON_000E5864200601400:control"}
String Wohnzimmer_favorit	      "Favorit" 			<text>           {channel="sonos:PLAY5:RINCON_000E5864200601400:favorite"}
Image  Wohnzimmer_art              "Cover"          {channel="sonos:PLAY5:RINCON_000E5864200601400:currentalbum"}

In my sitemap, I have the items with Default.

   Text label="Wohnzimmer"  icon="soundvolume"  {
			Default item=Wohnzimmer_control icon="switch" label="Player"
			Default item=Wohnzimmer_favorit label="Favoriten" icon="favorit"
			Default item=Wohnzimmer_art
		}
		Text label="Küche"  icon="soundvolume" {
			Default item=Kueche_control icon="switch" label="Player"
			Default item=Kueche_favorit label="Favoriten" icon="favorit"
			Default item=Kueche_art
		}

The strange thing is, that when I change the favorit on the Play:5, it is also changed on the Symfonisk. But for example the cover art is only changed on Symfonisk, not on the Play:5
I have a couple of other boxes (Play:1), same configuration there, and everything is working as expected.

Here what I see in the log file:
13:56:36.356 [INFO ] [smarthome.event.ItemCommandEvent ] - Item ‘Wohnzimmer_favorit’ received command ANTENNE BAYERN Top 40
13:56:36.432 [INFO ] [arthome.event.ItemStatePredictedEvent] - Wohnzimmer_favorit predicted to become ANTENNE BAYERN Top 40
13:56:36.604 [INFO ] [smarthome.event.ItemStateChangedEvent] - Wohnzimmer_favorit changed from 80er Rock to ANTENNE BAYERN Top 40
13:56:37.704 [INFO ] [smarthome.event.ItemStateChangedEvent] - Wohnzimmer_Titel changed from Jump to ANTENNE BAYERN Top 40
13:56:37.736 [INFO ] [smarthome.event.ItemStateChangedEvent] - Kueche_Titel changed from Lass die Musik an to ANTENNE BAYERN Top 40
13:56:37.783 [INFO ] [smarthome.event.ItemStateChangedEvent] - WohnzimmerStop changed from OFF to ON
13:56:37.817 [INFO ] [smarthome.event.ItemStateChangedEvent] - szStop changed from OFF to ON
13:56:37.830 [INFO ] [smarthome.event.ItemStateChangedEvent] - KuecheStop changed from OFF to ON
13:56:38.086 [INFO ] [smarthome.event.ItemStateChangedEvent] - Kueche_art changed from raw type (image/jpeg): 67144 bytes to raw type (image/png): 4126 bytes
13:56:42.676 [INFO ] [smarthome.event.ItemStateChangedEvent] - Wohnzimmer_control changed from PAUSE to PLAY
13:56:42.691 [INFO ] [smarthome.event.ItemStateChangedEvent] - WohnzimmerStop changed from ON to OFF
13:56:42.728 [INFO ] [smarthome.event.ItemStateChangedEvent] - Kueche_control changed from PAUSE to PLAY
13:56:42.742 [INFO ] [smarthome.event.ItemStateChangedEvent] - szStop changed from ON to OFF
13:56:42.755 [INFO ] [smarthome.event.ItemStateChangedEvent] - KuecheStop changed from ON to OFF
13:56:44.118 [INFO ] [smarthome.event.ItemStateChangedEvent] - Kueche_Titel changed from ANTENNE BAYERN Top 40 to Lass die Musik an
13:56:44.931 [INFO ] [smarthome.event.ItemStateChangedEvent] - Kueche_art changed from raw type (image/png): 4126 bytes to raw type (image/jpeg): 67144 bytes

Wohnzimmer_favorit (Play:5) get an event. Favorit and title are changed.
But for some reason, Kueche_Titel (Symfonisk) is also changed. And szStop (a Play:3 box) is called. The cover art of the Symphonisk (Kueche_art) is changed, but never the one of the Play:5.

All players are not grouped and no stereo configurations.

Any idea what’s going on?

It looks like the binding considers there is a group with your 3 devices. It does not explain why the image is updated only for one device.
Can you restart the binding while you are sure no group is set in the Sonos App ?
Maybe something has changed with the zone group topology with the introduction of Symfonisk devices, but that would be a surprise.
If the problem is still present, can you enalbe the DEBUG logs (log:set DEBUG org.openhab.binding.sonos) and see if you find something when redoing the same scenario ?
Finally, this could require the adding of a new log in the binding so that I can see what is the zone group typology returned by the Play:5 device.