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 VolumeZitat von: Prof. Dr. Peter Henning am 17 Januar 2026, 18:29:15Natürlich, jedoch müsste man das dann immer wieder machen, wenn man den Container aktualisiert.Zitat von: passibe am 17 Januar 2026, 18:22:44Nix cpanDas darf wohl jeder selbst entscheiden?
Can't locate Text/Levenshtein.pm in @INC (you may need to install the Text::Levenshtein module) (@INC entries checked: ./FHEM/lib ./lib fhem.p/lib fhem.p/FHEM/lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /usr/src/app/core/lib/perl5/5.38.5/aarch64-linux-gnu /usr/src/app/core/lib/perl5/5.38.5 /usr/src/app/core/lib/perl5/aarch64-linux-gnu /usr/src/app/core/lib/perl5 /usr/src/app/3rdparty/lib/perl5/5.38.5/aarch64-linux-gnu /usr/src/app/3rdparty/lib/perl5/5.38.5 /usr/src/app/3rdparty/lib/perl5/aarch64-linux-gnu /usr/src/app/3rdparty/lib/perl5 /usr/local/lib/perl5/site_perl/5.38.5/aarch64-linux-gnu /usr/local/lib/perl5/site_perl/5.38.5 /usr/local/lib/perl5/vendor_perl/5.38.5/aarch64-linux-gnu /usr/local/lib/perl5/vendor_perl/5.38.5 /usr/local/lib/perl5/5.38.5/aarch64-linux-gnu /usr/local/lib/perl5/5.38.5) at ./FHEM/95_Babble.pm line 48.
BEGIN failed--compilation aborted at ./FHEM/95_Babble.pm line 48.
root@raspberrypi:/opt/fhem# apt-get install libtext-levenshtein-perl
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
libtext-levenshtein-perl
0 upgraded, 1 newly installed, 0 to remove and 40 not upgraded.
Need to get 11.6 kB of archives.
After this operation, 28.7 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 libtext-levenshtein-perl all 0.15-1 [11.6 kB]
Fetched 11.6 kB in 0s (284 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libtext-levenshtein-perl.
(Reading database ... 47972 files and directories currently installed.)
Preparing to unpack .../libtext-levenshtein-perl_0.15-1_all.deb ...
Unpacking libtext-levenshtein-perl (0.15-1) ...
Setting up libtext-levenshtein-perl (0.15-1) ...
Zitat von: Prof. Dr. Peter Henning am 17 Januar 2026, 17:57:34Kann es sein, dass Du das JavaScript-File nicht installiert hast? Das sorgt für die richtige Reihenfolge der Buttons.Hmm, wie macht man das?

Das ist ein richtig spannender Fall und ehrlich gesagt ein Paradebeispiel dafür, wie aktive PV‑Haushalte mit unregelmäßigen Lastspitzen ein Modell wie v1_common_active_pv an seine Grenzen bringen können.
🔍 1. Was ist hier passiert?
Du hast gleich mehrere starke, schwer vorhersehbare Lastspitzen im Tagesverlauf:
🚗 EV‑Laden: zwei harte Peaks à ~4 kWh
Zeitlich eng begrenzt (10–11 und 14–15 Uhr)
Hohe Leistung, kurze Dauer
→ Für ein Modell ohne explizite EV‑Features sind das quasi Nadelstiche.
🌀 Wäschetrockner zwischendurch
Ebenfalls ein starker, aber unregelmäßiger Verbraucher
→ Erhöht die Varianz im Verbrauchsprofil.
☀️ PV‑Erzeugung deutlich höher als an den Vortagen
Das Modell hat offenbar nicht gelernt, wie sich höhere PV‑Erzeugung auf den Eigenverbrauch auswirkt (z. B. mehr EV‑Laden bei Sonne, mehr Haushaltsaktivität).
Diese Kombination erzeugt ein Verbrauchsprofil, das semantisch nicht stabil ist — und das sieht man im RMSE‑Rating sofort.
📉 2. Warum ist das RMSE‑Rating ,,very bad"?
Die harten Fakten:
RMSE: 237 Wh
RMSE relativ: 57 %
R²: 0.76 → Modell erklärt nur 76 % der Varianz
MAE: 178 Wh, aber MedAE: nur 54 Wh
→ Das Modell ist meistens okay, aber bricht bei Peaks komplett weg.
Das Muster ist typisch:
Medianfehler klein → Grundlast wird gut getroffen
RMSE hoch → einzelne große Fehler (EV, Trockner) dominieren
Slope = 0.9 → Modell reagiert zu schwach auf steigende Last
Bias = +109 Wh → leichte systematische Überschätzung
Das Modell ist also unterangepasst für Lastspitzen und überangepasst für Grundlast.
🧠 3. Warum hilft GAUSSIAN als Aktivierung hier nicht?
GAUSSIAN‑Aktivierungen sind:
gut für glatte, kontinuierliche Muster
schlecht für harte, diskrete Peaks
anfällig für ,,Vergessen" bei seltenen Ereignissen
EV‑Laden ist kein glattes Muster.
Es ist ein binäres Ereignis: an oder aus.
Damit kämpft GAUSSIAN naturgemäß.
⚙️ 4. Warum RPROP + Momentum hier ebenfalls suboptimal ist
RPROP ist:
stabil
robust
aber schlecht bei nicht‑stationären Mustern
und schlecht bei Feature‑Interaktionen, die selten auftreten
EV‑Laden + PV‑Erzeugung + Haushaltsaktivität ist genau so ein Fall.
🧪 5. Warum das Training ,,Retrain" empfiehlt
Die Trainingsmetriken zeigen:
Validation MSE deutlich höher als Training MSE
→ leichte Überanpassung
Validation MSE StdDev extrem klein
→ Modell ist stabil, aber falsch stabil
BitFail = 2
→ einzelne Validierungsbeispiele werden massiv verfehlt
Best epoch = 79
→ Modell lernt schnell, aber stagniert sofort
Das Modell hat also:
die Grundstruktur gelernt
aber keine semantische Robustheit gegenüber seltenen Peaks
🚀 7. Was wäre die richtige Richtung?
Ich würde dir — basierend auf deiner Erfahrung und deinem modularen Workflow — drei klare Schritte empfehlen:
A) Peak‑aware Feature Blocks einführen
EV‑Heuristik (z. B. Ladefenster, PV‑Überschuss‑Trigger)
Trockner‑/Waschmaschinen‑Semantik
PV‑Erzeugungs‑Gradienten
Du hast das ja bereits mehrfach erfolgreich umgesetzt.
B) Aktivierung auf SIGMOID oder ELLIOT umstellen
stabiler
monotone Reaktion
keine ,,Vergessenslöcher" wie bei GAUSSIAN
Du hast das in deinen letzten Projekten schon perfekt durchgezogen.
C) RPROP evtl. durch INCREMENTAL ersetzen
besser für nicht‑stationäre Muster
bessere Konvergenz bei seltenen Peaks
stabilere Gradienten
Zitat von: dora71 am 30 Oktober 2025, 20:23:18Ich nutze allerdings nicht die GTags, sondern die Smart Tag Pro von Maginon.
Zitat von: Fabiango am 21 Dezember 2025, 11:07:05Das kommt direkt vom Sonos ModulUnd das soll man installieren, um die Frage zu beantworten? Wie wäre es denn, den Output des Aufrufs einfach mal mitzuliefern?
- direkt das Erste hat einwandfrei funktioniert. Kannst Du mir eine Kurzerklärung zu Vor / Nachteilen bzw Unterschied beider Lösungen geben? Oder ist es quasi egal?