From 88c13f85d1fb3434a334f3ec7842be7ce89fa707 Mon Sep 17 00:00:00 2001 From: rleins Date: Mon, 26 Jan 2015 10:40:14 +0000 Subject: [PATCH] Sonos: Fix a bug according the handling of disabling the Sonos-Device git-svn-id: https://svn.fhem.de/fhem/trunk@7732 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_SONOS.pm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/00_SONOS.pm b/fhem/FHEM/00_SONOS.pm index 4ddff8ecc..4a8e6e895 100755 --- a/fhem/FHEM/00_SONOS.pm +++ b/fhem/FHEM/00_SONOS.pm @@ -47,6 +47,8 @@ # Changelog # # SVN-History: +# 26.01.2015 +# Beim Setzen von "disable" am Sonos-Device wurde der "state" und "STATE" der Player nicht korrekt gesetzt. # 24.01.2015 # Wenn man seine Player umbenannt hatte, wurde ein Attribut-Kommando (für das Model-Attribut) falsch aufgerufen und hat eine Fehlermeldung im Fhem-Log verursacht (z.B. "Please define Sonos_Wohnzimmer first") # 19.01.2015 @@ -1027,7 +1029,14 @@ sub SONOS_StopSubProcess($) { # Alle SonosPlayer-Devices disappearen for my $player (SONOS_getAllSonosplayerDevices()) { - SONOS_readingsSingleUpdateIfChanged($player, 'presence', 'disappeared', 1); + readingsBeginUpdate($player); + SONOS_readingsBulkUpdateIfChanged($player, 'presence', 'disappeared'); + SONOS_readingsBulkUpdateIfChanged($player, 'state', 'disappeared'); + SONOS_readingsEndUpdate($player, 1); + + if (AttrVal($player->{NAME}, 'stateVariable', '') eq 'Presence') { + $player->{STATE} = 'disappeared'; + } } } }