Icons for newer speakers

Is there a way to add icons for Sonos One’s or Sonos Beam?
They seem to use the default logo icon.

@cranb provided a change for the newer generation One (two different IDs used for two different hardware revisions, apparently). That’s in the latest Github stable branch.

Can you request the following URL using your Beam’s IP address and post the output: http://device-ip-addr:1400/xml/device_description.xml ?

Well, I ended up taking a different approach. Stable branch release now derives its icon from the device directly (the device actually has Sonos’ official icon image stored in its firmware and we can use it). You really only need to download I_Sonos1.xml by right-clicking the link and choose “Save Link As…” (or your browser’s equivalent) and install it on your Vera (via uploader at Apps > Develop apps > Luup files).

If this works as expected, a code change should never again be required for a new Sonos device type.

These changes are still in development for openLuup.

Hi Patrick,
Have installed the latest files from Github, but several of my Sonos devices are still displaying the generic icons. Is there something I need to do to get it to pull icons from the devices based on your latest code?
The icons are working for:
Connect: Series ID: C100 ZP90.png
Connect:AMP Series ID: P100 ZP120.png
Not working for:
Connect: Series ID: D102 S15.png
Sonos One: Series ID: A200 S18.png
Sonos AMP: Series ID: A101 S16.png

The 2 that are working are pulling the old icons, not the ones embedded in the device.
I am seeing that additional icon files are being generated in /etc/cmh-ludl/ folder though not all are being compressed with .lzo extension.
Is this something that will take some time to show up in the UI?

Let me know if you need any additional information
Here is a list of all the SONOS png files on my vera:
/etc/cmh-ludl/Sonos.png
/etc/cmh-ludl/Sonos.png.lzo
/etc/cmh-ludl/Sonos_0.png
/etc/cmh-ludl/Sonos_0.png.lzo
/etc/cmh-ludl/Sonos_100.png
/etc/cmh-ludl/Sonos_100.png.lzo
/etc/cmh-ludl/Sonos_125.png
/etc/cmh-ludl/Sonos_125.png.lzo
/etc/cmh-ludl/Sonos_150.png
/etc/cmh-ludl/Sonos_150.png.lzo
/etc/cmh-ludl/Sonos_25.png
/etc/cmh-ludl/Sonos_25.png.lzo
/etc/cmh-ludl/Sonos_50.png
/etc/cmh-ludl/Sonos_50.png.lzo
/etc/cmh-ludl/Sonos_75.png
/etc/cmh-ludl/Sonos_75.png.lzo
/etc/cmh-ludl/Sonos_S15.png
/etc/cmh-ludl/Sonos_S16.png
/etc/cmh-ludl/Sonos_S18.png
/etc/cmh-ludl/Sonos_ZP120.png
/etc/cmh-ludl/Sonos_ZP90.png
/www/cmh/skins/default/icons/Sonos.png
/www/cmh/skins/default/icons/Sonos_0.png
/www/cmh/skins/default/icons/Sonos_100.png
/www/cmh/skins/default/icons/Sonos_125.png
/www/cmh/skins/default/icons/Sonos_150.png
/www/cmh/skins/default/icons/Sonos_25.png
/www/cmh/skins/default/icons/Sonos_50.png
/www/cmh/skins/default/icons/Sonos_75.png
/www/cmh/skins/default/img/devices/device_states/Sonos.png
/www/cmh/skins/default/img/devices/device_states/Sonos_0.png
/www/cmh/skins/default/img/devices/device_states/Sonos_100.png
/www/cmh/skins/default/img/devices/device_states/Sonos_125.png
/www/cmh/skins/default/img/devices/device_states/Sonos_150.png
/www/cmh/skins/default/img/devices/device_states/Sonos_25.png
/www/cmh/skins/default/img/devices/device_states/Sonos_50.png
/www/cmh/skins/default/img/devices/device_states/Sonos_75.png
/www/cmh/skins/default/img/devices/device_states/Sonos_S15.png
/www/cmh/skins/default/img/devices/device_states/Sonos_S16.png
/www/cmh/skins/default/img/devices/device_states/Sonos_S18.png
/www/cmh/skins/default/img/devices/device_states/Sonos_ZP120.png
/www/cmh/skins/default/img/devices/device_states/Sonos_ZP90.png

Roger

Make sure you reload Luup and hard refresh your browser.

I have done that several times.

Unfortunately it didn’t fix the icons for me either. I did a hard refresh and rebooted the vera plus also.

In the Attributes tab under Advanced in your Sonos devices, what is the name in the device_json attribute?

D_Sonos1.json

Yes, D_Sonos1.json

And what is the value of PluginVersion on the Variables tab?

1.4.3-19188

OK. I see it. Download this linked version of I_Sonos1.xml (version 1.4.3-19191, develop branch on Github–right-click the link and choose “Save link as…”), install it, reload Luup, and let me know how it goes. Hard refresh will still absolutely be necessary, but wait until the system settles down. Based on your comments above, both of you will need to sit through several automatic reloads–one per zone player. When those finish, then hard-refresh.

If this works, I’ll promote it to stable branch.

That fixed all my icons.
Thanks, Roger

1 Like

Patrick, my icons are updated, but I get Luup : Downloading Luup Plugins more than I have ever seen it before. Any chance it was caused by your latest update?

Roger

Doubtful. If you look in your LuaUPnP log, you should find similar messages that will you which plugin or files it is attempting to download.

I am seeing the same behaviour as @RogerO. Every luup restart seems to trigger this in my case. Will check the logs and report back

There is a plugin #9092 that Vera firmware attempts to load periodically. It is something of theirs that they have not yet published, but I guess intend to make part of the force-installed suite of plugins that all Veras will have. The plugin does not yet exist, but that does not keep it from trying. It will try at every restart, and periodically otherwise. Everybody on the latest firmware has this littered throughout their logs.

Could this be what you are seeing?

I do see errors in the log concerning plugin #9092, but like RogerO said never noticed the “downloading luup plugins”

Another entry in logging is about downloading the icons for the sonos models. Guess this is the last change you made concerning the icons. Could this be the cause?

02	07/11/19 21:35:45.316	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download 
 ./../www/cmh/skins/default/icons/Sonos_150.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.317	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos_150.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.317	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download ../../www/cmh/skins/default/icons/Sonos_100.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.317	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos_100.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.318	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download ../../www/cmh/skins/default/icons/Sonos_75.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.318	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos_75.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.318	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download ../../www/cmh/skins/default/icons/Sonos_50.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.318	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos_50.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.319	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download ../../www/cmh/skins/default/icons/Sonos.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.319	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.319	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download ../../www/cmh/skins/default/icons/Sonos_125.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.320	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos_125.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.320	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download ../../www/cmh/skins/default/icons/Sonos_25.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.320	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos_25.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.321	e[33;1mJobHandler_LuaUPnP::FetchMissingFiles need to download ../../www/cmh/skins/default/icons/Sonos_0.pnge[0m <0x77a9e320>
02	07/11/19 21:35:45.321	e[33;1mJobHandler_LuaUPnP::m_sMissingFile_set ../../www/cmh/skins/default/icons/Sonos_0.pnge[0m <0x77a9e320>`

Well, logs do help! OK. Run this in your Luup test page:

os.execute('cp /etc/cmh-ludl/Sonos*.png /www/cmh/skins/default/icons/')

That should quiet those messages down.