Liebe FHEM Gemeinde,
mit readingsGroup habe ich noch keine Erfahrung und komme beim Anzeigen eines Icons einfach nicht weiter.
Weder im Forum noch im CommandRef habe ich was dazu gefunden und schon viel versucht :-)
Vermutlich ist die Lösung ganz einfach?
Ich möchte gerne das Icon "icoSONOSPLAYER_icon-S45.png" bei dem readingsGroup "Sonos_WohnzimmerRG_Favourites"
anzeigen lassen. Dabei soll das Icon den Namen / Text in der ersten Zeile vor den Covern "Sonos Wohnzimmer" ersetzen
Internals:
DEF Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>
FUUID 693c0c46-f33f-c1dd-14e9-c36786d9349f46bf
NAME Sonos_WohnzimmerRG_Favourites
NR 371
NTFY_ORDER 50-Sonos_WohnzimmerRG_Favourites
STATE Initialized
TYPE readingsGroup
changed 0
mayBeVisible 1
CONTENT:
Sonos_Wohnzimmer 1
CONTENT2:
DEVICES:
ARRAY(0x6e33e50)
fhem:
lastDefChange 2
last_update 1765991373.19959
helper:
DEF
hmccu:
Attributes:
alias Favoriten - Wohnzimmer
group Multimedia
room Wohnzimmer
sortby 03
Danke für eure Hilfe im voraus.
Gruss, Fabian
Falls meine Idee gar nicht Umsetzbar ist, wäre ich trotzdem um ein Feedback Dankbar :-)
Feedback: Eine Antwort auf die Frage erfordert vom Beantworter, dass er genau weiß, was
{SONOS_getListRG($DEVICE,"Favourites",1)}zurückliefert. Meine Glaskugel ist aber gerade in der Werkstatt, also kann ich nicht helfen.
pah
Hallo pah,
danke für dein Feedback.
Das kommt direkt vom Sonos Modul und erzeugt die Favoriten welche es im Bild vom ersten Post dann anzeigt.
Wie ich Dir das genau raus ziehen kann weiss ich leider nicht.
Dachte zwecks Icon reicht das List vom readingsGroup.
Jemand noch eine Idee?
Zitat von: Fabiango am 21 Dezember 2025, 11:07:05Das kommt direkt vom Sonos Modul
Und das soll man installieren, um die Frage zu beantworten? Wie wäre es denn, den Output des Aufrufs einfach mal mitzuliefern?
pah
Hallo pah,
Wie kann ich Dir genau den Output des Aufrufs raus ziehen und mitteilen?
Es geht mir drum ein Geräte Icon vor die Anzeige zu bekommen. Eine Aktion gibt es ja nicht.
Hier noch ein Auszug (List) vom eigentlichen Sonos Gerät.
Vielleicht hilft das weiter?
Internals:
DEF RINCON_74CA60aaaaa7201400_MR
FUUID 693c0aaa-f33f-c1dd-5943-efc2e4ca107d4cca
NAME Sonos_Wohnzimmer
NOTIFYDEV Sonos_Wohnzimmer
NR 319
NTFY_ORDER 50-Sonos_Wohnzimmer
STATE disappeared ~ 0.0% (0:00:00 / 0:00:00)
TYPE SONOSPLAYER
UDN RINCON_74CA60aaaaa7201400_MR
eventCount 113029
READINGS:
2026-01-12 19:38:37 AlarmList {}
2026-01-12 19:38:37 AlarmListIDs
2026-01-12 19:38:37 AlarmListVersion RINCON_74CA607EF9E001400:0
2025-12-12 13:36:33 AlarmRunning 0
2025-12-12 13:36:33 AlarmRunningID
2025-12-12 13:38:20 AudioDelay 0
2025-12-12 13:38:20 AudioDelayLeftRear 0
2025-12-12 13:38:20 AudioDelayRightRear 0
2026-01-06 19:14:26 AvailablePlayer ['Sonos_Flur']
2025-12-12 13:36:22 Balance 0
2025-12-12 13:38:20 Bass 3
2025-12-12 13:36:33 CrossfadeMode 0
2025-12-12 13:38:20 DailyIndexRefreshTime
2025-12-12 13:38:20 DialogLevel 1
2025-12-12 13:36:33 DirectControlAccountID
2025-12-30 20:48:44 DirectControlClientID
2025-12-30 20:48:44 DirectControlIsSuspended 0
2025-12-17 17:06:43 Favourites {'FV:2/6' => {'Position' => '1','Typ' => 'audioBroadcast','Cover' => 'https://cdn-profiles.tunein.com/s96141/images/logog.png?t=1','Title' => 'baden.fm','Ressource' => 'x-sonosapi-stream:s96141?sid=333&flags=8292&sn=4','Description' => 'TuneIn (New)'},'FV:2/7' => {'Position' => '3','Typ' => 'audioBroadcast','Cover' => 'https://cdn-profiles.tunein.com/s24896/images/logog.png?t=1','Title' => 'SWR3','Ressource' => 'x-sonosapi-stream:s24896?sid=333&flags=8292&sn=4','Description' => 'TuneIn (New)'},'FV:2/8' => {'Position' => '2','Typ' => 'audioBroadcast','Cover' => 'https://cdn-profiles.tunein.com/s15445/images/logog.jpg?t=162318','Title' => 'Energy Basel','Ressource' => 'x-sonosapi-stream:s15445?sid=333&flags=8292&sn=4','Description' => 'TuneIn (New)'},'FV:2/9' => {'Position' => '0','Typ' => 'audioBroadcast','Cover' => 'https://cdn-profiles.tunein.com/s134003/images/logog.png?t=2','Title' => '95.5 Charivari Party-Hitmix','Ressource' => 'x-sonosapi-stream:s134003?sid=333&flags=8292&sn=4','Description' => 'TuneIn (New)'}}
2026-01-12 19:38:37 FavouritesVersion RINCON_FFFFFFFFFFFF99999,0
2026-01-13 17:55:24 GroupMute 0
2026-01-16 23:46:10 GroupVolume 6
2025-12-12 13:36:33 HeadphoneConnected 0
2025-12-12 13:36:22 IsBonded 0
2025-12-23 22:15:47 IsMaster 1
2025-12-12 13:36:22 IsZoneBridge 0
2026-01-17 07:21:18 LastActionResult DeleteProxyObjects: Success!
2026-01-17 07:15:44 LastSubscriptionsRenew MusicServices: 2026-01-17 07:15:44
2025-12-28 15:26:40 Loudness 1
2025-12-23 22:15:47 MasterPlayer Sonos_Wohnzimmer
2026-01-13 17:55:24 Mute 0
2025-12-12 13:38:20 NightMode 0
2025-12-12 13:38:20 Orientation 0
2025-12-12 13:38:20 OutputFixed 0
2026-01-12 19:38:37 PlaylistsVersion RINCON_FFFFFFFFFFFF99999,0
2025-12-23 22:15:47 QueueHash 4129136a6fb8aef13ac255cc21000424
2025-12-23 22:15:47 QueueVersion 8
2025-12-17 17:06:01 Radios {}
2026-01-12 19:38:37 RadiosVersion RINCON_FFFFFFFFFFFF99999,0
2025-12-12 13:36:33 Repeat 0
2025-12-12 13:36:33 RepeatOne 0
2025-12-12 13:36:33 Shuffle 0
2026-01-06 19:12:16 SlavePlayer []
2026-01-06 19:12:16 SlavePlayerNotBonded []
2025-12-12 13:36:33 SleepTimer off
2025-12-12 13:36:33 SleepTimerVersion
2025-12-12 13:38:20 SubEnable 1
2025-12-28 15:28:07 SubGain 6
2025-12-12 13:38:20 SubPolarity 0
2025-12-12 13:38:20 SurroundEnable 1
2025-12-12 13:38:20 SurroundLevel 15
2025-12-12 13:38:20 Treble -1
2025-12-12 13:38:20 TruePlay 1
2026-01-16 23:46:10 Volume 6
2025-12-12 13:38:20 WifiEnabled 1
2025-12-12 13:38:20 WirelessMode 0
2025-12-23 22:15:47 ZoneGroupID RINCON_74CA60aaaa7201400:__
2026-01-06 19:14:26 ZoneGroupName Wohnzimmer
2026-01-06 19:14:26 ZoneGroupNameDetails
2026-01-06 19:14:26 ZonePlayerUUIDsInGroup RINCON_74CA60aaaa7201400
2026-01-17 01:43:50 currentAlbum
2026-01-17 01:43:50 currentAlbumArtURL /fhem/sonos/cover/empty.jpg
2026-01-12 19:36:40 currentAlbumArtist
2025-12-26 20:16:18 currentArtist
2026-01-06 19:14:26 currentEnqueuedTransportHandle |
2026-01-06 19:14:26 currentEnqueuedTransportURI
2025-12-12 13:36:33 currentFavouriteName
2025-12-25 12:30:39 currentNormalAudio 1
2025-12-12 13:36:33 currentOriginalTrackNumber
2025-12-12 13:36:33 currentPlaylistName
2025-12-12 13:36:33 currentRadioName
2025-12-23 22:15:46 currentSender
2025-12-12 13:36:33 currentSenderCurrent
2025-12-23 22:08:18 currentSenderInfo
2026-01-06 19:14:41 currentSource
2026-01-16 19:41:02 currentStreamAudio 0
2026-01-17 01:43:50 currentTitle
2026-01-17 01:43:50 currentTrack 0
2026-01-17 01:43:50 currentTrackDuration 0:00:00
2025-12-26 20:16:18 currentTrackDurationSec 0
2026-01-17 01:43:50 currentTrackHandle |
2026-01-17 01:43:55 currentTrackPosition 0:00:00
2026-01-17 01:43:55 currentTrackPositionSec 0
2026-01-17 01:43:51 currentTrackPositionSimulated 0:00:00
2025-12-26 20:16:18 currentTrackPositionSimulatedPercent 0.0
2026-01-17 01:43:51 currentTrackPositionSimulatedSec 0
2026-01-17 01:43:50 currentTrackProvider
2026-01-17 01:43:50 currentTrackProviderIconQuadraticURL
2026-01-17 01:43:50 currentTrackProviderIconRoundURL
2026-01-17 01:43:50 currentTrackURI
2025-12-12 13:36:22 fieldType LF_RF
2026-01-17 01:43:50 infoSummarize1 [Keine Musikdatei]
2026-01-17 01:43:50 infoSummarize2 STOPPED => [Keine Musikdatei]
2026-01-16 23:46:22 infoSummarize3 Lautstärke: 6 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
2025-12-12 13:36:33 infoSummarize4
2025-12-12 13:36:22 location http://192.168.169.50:1400/xml/device_description.xml
2025-12-25 12:30:33 nextAlbum
2025-12-25 12:30:39 nextAlbumArtURL /fhem/sonos/cover/empty.jpg
2025-12-12 13:36:33 nextAlbumArtist
2025-12-25 12:30:33 nextArtist
2025-12-12 13:36:33 nextOriginalTrackNumber
2025-12-25 12:30:33 nextTitle
2025-12-26 20:16:18 nextTrackDuration
2025-12-26 20:16:18 nextTrackDurationSec
2025-12-26 20:16:18 nextTrackHandle |
2025-12-24 11:35:47 nextTrackProvider
2025-12-24 11:35:47 nextTrackProviderIconQuadraticURL
2025-12-24 11:35:47 nextTrackProviderIconRoundURL
2025-12-26 20:16:18 nextTrackURI
2026-01-17 01:43:50 numberOfTracks 0
2025-12-12 13:36:22 playerType S45
2026-01-17 07:21:18 presence disappeared
2025-12-12 13:36:22 roomName Wohnzimmer
2025-12-12 13:36:22 roomNameAlias Wohnzimmer - Mitte
2025-12-12 13:36:22 saveRoomName Wohnzimmer
2025-12-12 13:36:22 serialNum 74-aa-aa-66-aa-72:6
2025-12-12 13:36:22 softwareRevision 17.7
2025-12-12 13:36:22 softwareRevisionAvailable 17.7
2026-01-11 13:38:46 softwareRevisionInternal 92.0-72171
2025-12-12 13:36:22 softwareRevisionInternalAvailable 92.0-71170
2026-01-17 07:21:18 state disappeared
2026-01-17 01:43:50 transportState STOPPED
helper:
simulateCurrentTrackPosition 0
hmccu:
Attributes:
VolumeStep 2
alias <br>Sonos <br> Wohnzimmer
devStateIcon appeared.*:audio_volume_low@green \
disappeared.*:audio_volume_low@grey \
initialized:audio_volume_low@orange \
~~NotLoadedMarker.*:audio_volume_low@grey
generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
generateVolumeEvent 1
generateVolumeSlider 1
getAlarms 1
getTitleInfoFromMaster 1
group Multimedia
icon icoSONOSPLAYER_icon-S45.png
minVolume 0
model Sonos_S45
room Wohnzimmer
simulateCurrentTrackPosition 1
sortby 02
stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
verbose 1
webCmd Volume
Zitat von: Fabiango am 17 Januar 2026, 18:38:28Hier noch ein Auszug (List) vom eigentlichen Sonos Gerät.
Soll ich vielleicht ein Sonos-Gerät kaufen, oder was bitte?
Was ist denn so schwer daran, das Kommando
Zitat{SONOS_getListRG($DEVICE,"Favourites",1)}
einzutippen und das Ergebnis hier zu posten?
pah
Es verlangt keiner das jemand zur Hilfe kaufen muss :-)
Nur wenn man selbst nicht weiter kommt und noch Anfänger ist sind genau solche Hilfestellungen für mich persönlich sehr hilfreich.
Wenn ich das Eingebe bekomme ich folgende Rückmeldung
Global symbol "$DEVICE" requires explicit package name (did you forget to declare "my $DEVICE"?) at (eval 4467331) line 1.
Meine Güte, ist es denn zuviel verlangt, den String $DEVICE durch den Namen des Sonos-Devices zu ersetzen?
pah
Der Ton im Forum war auch schon mal besser......
Natürlich ist das nicht zu viel verlangt und zur schwer.
>> {SONOS_getListRG(Sonos_Wohnzimmer,"Favourites",1)}
Hatte ich jedoch auch schon probiert und auch diverse andere Sonos Devices.
Endet auch immer gleich
Bareword "Sonos_Wohnzimmer" not allowed while "strict subs" in use at (eval 6239093) line 1.
Was sollte den da raus kommen? Etwas ähnliches wie beim List?
Ist meine Frage den so spezifisch zu Sonos. Dachte das ist eher etwas was das Allgemeine ReadingsGroup betrifft?
Gruss, Fabian
"quotes in Perl" wäre dein Such-Anfrage.
Zitat von: Fabiango am 20 Januar 2026, 08:07:38Der Ton im Forum war auch schon mal besser......
Damit ist klar: Von mir gibt es hier keine weitere Hilfe.
Zitat von: Fabiango am 20 Januar 2026, 08:07:38Natürlich ist das nicht zu viel verlangt und zur schwer.
Offenbar doch.
pah
Sorry wenn ich auf dem Schlauch stehe, aber sonst würde ich nicht um Hilfe fragen
Falls jemand Interesse hat mir zu helfen gerne melden.
Habe nun vorerst mal den ganzen Namen vorne einfach gelöscht, so dass erstmal gar nichts angezeigt wird.
Gruss, Fabian
Zitat{SONOS_getListRG($DEVICE,"Favourites",1)}
Versuche es mit
{SONOS_getListRG("Sonos_Wohnzimmer","Favourites",1)}
Hallo ergerd,
mit den ergänzten Anführungszeichen klappt es auch mit der Ausgabe.
Danke für deine Hilfe dafür.
Hier der Auszug:
<ul style="margin-left: 0px; padding-left: 0px; list-style-type: none; display: inline;"><li style="list-style-type: none; display: inline;"><div style="display: inline-block; border: solid 1px lightgray; margin: 3px; width: 70px; height: 70px; background-image: url(https://cdn-profiles.tunein.com/s96141/images/logog.png?t=1); background-repeat: no-repeat; background-size: contain; background-position: center center;" onclick="FW_cmd('/fhem?XHR=1&cmd.Sonos_Wohnzimmer%3Dset%20Sonos_Wohnzimmer%20StartFavourite%20baden.fm')"/></li><li style="list-style-type: none; display: inline;"><div style="display: inline-block; border: solid 1px lightgray; margin: 3px; width: 70px; height: 70px; background-image: url(https://cdn-profiles.tunein.com/s24896/images/logog.png?t=1); background-repeat: no-repeat; background-size: contain; background-position: center center;" onclick="FW_cmd('/fhem?XHR=1&cmd.Sonos_Wohnzimmer%3Dset%20Sonos_Wohnzimmer%20StartFavourite%20SWR3')"/></li><li style="list-style-type: none; display: inline;"><div style="display: inline-block; border: solid 1px lightgray; margin: 3px; width: 70px; height: 70px; background-image: url(https://cdn-profiles.tunein.com/s15445/images/logog.jpg?t=162318); background-repeat: no-repeat; background-size: contain; background-position: center center;" onclick="FW_cmd('/fhem?XHR=1&cmd.Sonos_Wohnzimmer%3Dset%20Sonos_Wohnzimmer%20StartFavourite%20Energy%2520Basel')"/></li><li style="list-style-type: none; display: inline;"><div style="display: inline-block; border: solid 1px lightgray; margin: 3px; width: 70px; height: 70px; background-image: url(https://cdn-profiles.tunein.com/s134003/images/logog.png?t=2); background-repeat: no-repeat; background-size: contain; background-position: center center;" onclick="FW_cmd('/fhem?XHR=1&cmd.Sonos_Wohnzimmer%3Dset%20Sonos_Wohnzimmer%20StartFavourite%2095.5%2520Charivari%2520Party-Hitmix')"/></li></ul>
Lässt sich damit nun beantworten wie ich den Namen durch ein Icon ersetzt bekomme wie bei anderen Devices auch?