Sonos: Neue Version vom 20.6.2017

Begonnen von Reinerlein, 20 Juni 2017, 14:02:19

Vorheriges Thema - Nächstes Thema

Reinerlein

Hallo zusammen,

soo, die neue Variante der SubProzess-Überprüfung lief bei mir nun ein paar Tage ohne Probleme durch, sodass ich diese einchecken konnte.
Zusammen mit der Überprüfung sind einige Features hinzugekommen.

Eine wichtige Änderung ist, dass Cover standardmäßig nun nicht mehr lokal heruntergeladen werden. Dadurch geht keine Zeit für etwas verloren, was die wenigsten noch nutzen dürften. Wer es noch braucht, kann es über ein Attribut wieder aktivieren.

Es gibt nun vier neue Attribute in Zusammenarbeit mit "getListsDirectlyToReadings": "getFavouritesListAtNewVersion", "getPlaylistsListAtNewVersion", "getRadiosListAtNewVersion" und "getQueueListAtNewVersion".
Mit diesen Attributen werden die Notifies zum Aktualisieren der entsprechenden Listen bei Änderung im Sonos-System obsolet (und sollten bei Aktivierung auch gelöscht werden).

Komplette Liste aller Änderungen:

  • Die Verarbeitung des Notify-Events für die Anzeigeaktualisierung ist in das SONOSPLAYER-Modul umgezogen (wo es auch logisch hingehört).
  • Die Zeitkonvertierung hatte einen Sekundenfehler.
  • Durch eine fehlerhafte IF-Verschachtelung in der ControlPoint.pm gab es komische Log-Augaben.
  • Die lokalen Cover werden nur noch heruntergeladen, wenn das Attribut "getLocalCoverArt" am Sonos-Device gesetzt ist. Normalerweise merkt man davon nichts, da die eingebauten Coveranzeigen diese nicht verwenden. Wenn man diese heruntergeladenen Cover selbst noch verwendet werden, dann muss dieses Attribut gesetzt werden!
  • Das Problem mit den Wide-Character bei der Hashwert-Berechnung von ProxyCache und SpeakBuffer wird abgefangen, und ein Versuch mit einem dazwischenliegenden Konverter durchgeführt.
  • Das Subscribing für Rendering-Events wird in einem Eval durchgeführt, sodass eine abgefangene Fehlermeldung bei nicht-Erfolg ausgegeben wird. Das passiert z.B. bei einem Sub- oder Surroundlautsprecher.
  • Die Simulation der aktuellen TrackPosition lief weiter, wenn der Player vor einem disappeared nicht gestoppt wurde.
  • Bei der Verarbeitung eines Befehls im SubProzess wurde in einigen Fällen die Befehlsqueue nicht korrekt verringert, was zu Folgefehlern führte.
  • Wenn der RestoreThread einen ungültigen Datensatz in der RestoreQueue vorfindet, überspringt er ihn...
  • Bessere Behandlung der TrackProviderermittlung
  • Bei MakeCoverURL gab es Logausgaben mit dem falschen Level.
  • Es gibt vier neue Attribute am Sonosdevice: "getFavouritesListAtNewVersion", "getPlaylistsListAtNewVersion", "getRadiosListAtNewVersion" und "getQueueListAtNewVersion". In Zusammenarbeit mit "getListsDirectlyToReadings" wird dann bei Änderung der entsprechenden Liste automatisch das entsprechende Reading aller Sonosplayer-Devices aktualisiert. Hierbei entfallen dann etwaige eigene Notifies, die eine Aktualisierung der Readings veranlassen. Diese sollten dann natürlich auch entfernt werden.
  • Die Überprüfung, ob der SubProzess noch lebt, wird nun über die bereits bestehende Verbindung abgewickelt. Dadurch entfallen die ständigen Verbindungsversuche zum SubProzess. Dazu wird ein Reading 'LastProcessAnswer' am zentralen Sonos-Device geführt.
  • Bei Verlust der Verbindung zum SubProzess wird nun keine 100% Systemlast mehr verursacht.
Mal schauen, ob mit dieser Variante die Probleme behoben sind :)

Wie immer ab sofort im SVN oder ab Morgen per Update...

Grüße
Reinerlein

Hotbird

Hallo Reinerlein,

vielen Dank schon mal für die neue Version. Ist hier auch das update der SonosApp von gestern "integriert" ? Ich hatte mein Modul auf eine alte Rev.  gebracht, da mein Radiosender nicht mehr automatisch nach einer stromlosen Zeit geladen wurde. Seit dem update von Sonos auf Version 7.3 funktioniert dies wieder nicht :-( . Ich werde morgen mal die neue Version testen

gloob

Ich habe jetzt öfters im Log folgende Nachricht:

2017.06.21 11:20:54 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...

Was muss ich denn darunter verstehen?
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Reinerlein

Hi Gloob,

da hat sich der SubProzess beendet. Davor sollte im Idealfall ein Fehler aufgetaucht sein, der uns weiterhilft...

Grüße
Reinerlein

gloob

#4
Hier ist ein Log mit Verbose = 5.

Ich hoffe es hilft dir. Ich habe im Moment 4 Play1 eingebunden.
2017.06.21 13:16:02 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2017.06.21 13:16:04 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
2017.06.21 13:16:10 3: Opening Sonos device localhost:4711
2017.06.21 13:16:10 3: SONOS0: Connection accepted from localhost:38692
2017.06.21 13:16:10 5: SW: 45737461626c69736820636f6e6e656374696f6e0d0a
2017.06.21 13:16:10 3: Sonos device opened
...
2017.06.21 13:17:11 5: SONOS0: Received: 'StartThread'
2017.06.21 13:17:11 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 2017-06-21 13:15:26)... try to restart the process and connection...
2017.06.21 13:17:11 3: SONOS1: UPnP-Thread gestartet.
2017.06.21 13:17:11 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, bookmarkSaveDir, .) -> DEFAULT
2017.06.21 13:17:11 4: SONOS1: Calling SONOS_LoadBookmarkValues("undef", "undef") ~ SaveDir: "."
2017.06.21 13:17:11 4: SONOS2: SONOS_Client_Data_Retreive(SONOS, def, INTERVAL, 0) -> 30
2017.06.21 13:17:11 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
2017.06.21 13:17:11 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
2017.06.21 13:17:11 5: SONOS0: Received: 'DoWork:undef:refreshProcessAnswer:'
2017.06.21 13:17:12 4: SONOS1: SONOS_Client_Notifier(rePing:undef::)
2017.06.21 13:17:12 5: SONOS0: Received from UPnP-Server: 'rePing:undef::'
2017.06.21 13:17:12 5: SONOS1: Discover-Event: Description-Document: <?xml version="1.0" encoding="utf-8" ?>
<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.21 - Sonos PLAY:1</friendlyName>
    <manufacturer>Sonos, Inc.</manufacturer>
    <manufacturerURL>http://www.sonos.com</manufacturerURL>
    <modelNumber>S1</modelNumber>
    <modelDescription>Sonos PLAY:1</modelDescription>
    <modelName>Sonos PLAY:1</modelName>
    <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
    <softwareVersion>35.3-39010</softwareVersion>
    <hardwareVersion>1.8.3.7-2</hardwareVersion>
    <serialNum>B8-E9-37-E3-4F-78:5</serialNum>
    <UDN>uuid:RINCON_B8E937E34F7801400</UDN>
    <iconList>
      <icon>
        <id>0</id>
        <mimetype>image/png</mimetype>
        <width>48</width>
        <height>48</height>
        <depth>24</depth>
        <url>/img/icon-S1.png</url>
      </icon>
    </iconList>
    <minCompatibleVersion>34.0-00000</minCompatibleVersion>
    <legacyCompatibleVersion>25.0-00000</legacyCompatibleVersion>
    <displayVersion>7.2</displayVersion>
    <extraVersion>OTP: </extraVersion>
    <roomName>Kinderzimmer</roomName>
    <displayName>PLAY:1</displayName>
    <zoneType>9</zoneType>
    <feature1>0x00000000</feature1>
    <feature2>0x00403332</feature2>
    <feature3>0x0001000e</feature3>
    <variant>0</variant>
    <internalSpeakerSize>5</internalSpeakerSize>
    <bassExtension>75.000</bassExtension>
    <satGainOffset>6.000</satGainOffset>
    <memory>128</memory>
    <flash>64</flash>
    <ampOnTime>10</ampOnTime>
    <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:MusicServices:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
        <controlURL>/MusicServices/Control</controlURL>
        <eventSubURL>/MusicServices/Event</eventSubURL>
        <SCPDURL>/xml/MusicServices1.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>
      <service>
        <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
        <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
        <controlURL>/QPlay/Control</controlURL>
        <eventSubURL>/QPlay/Event</eventSubURL>
        <SCPDURL>/xml/QPlay1.xml</SCPDURL>
      </service>
    </serviceList>
    <deviceList>
      <device>
  <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
  <friendlyName>192.168.1.21 - Sonos PLAY:1 Media Server</friendlyName>
  <manufacturer>Sonos, Inc.</manufacturer>
  <manufacturerURL>http://www.sonos.com</manufacturerURL>
  <modelNumber>S1</modelNumber>
  <modelDescription>Sonos PLAY:1 Media Server</modelDescription>
  <modelName>Sonos PLAY:1</modelName>
  <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
  <UDN>uuid:RINCON_B8E937E34F7801400_MS</UDN>
  <serviceList>
    <service>
      <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
      <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
      <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
      <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
      <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
    </service>
    <service>
      <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
    <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
    <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
    <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
  </service>
</serviceList>
      </device>
      <device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
  <friendlyName>Kinderzimmer - Sonos PLAY:1 Media Renderer</friendlyName>
  <manufacturer>Sonos, Inc.</manufacturer>
  <manufacturerURL>http://www.sonos.com</manufacturerURL>
  <modelNumber>S1</modelNumber>
  <modelDescription>Sonos PLAY:1 Media Renderer</modelDescription>
  <modelName>Sonos PLAY:1</modelName>
  <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
<UDN>uuid:RINCON_B8E937E34F7801400_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>
  <service>
    <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
    <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
    <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
    <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
  </service>
  <service>
    <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
    <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
    <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
    <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
  </service>
  <service>
    <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
    <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
    <controlURL>/MediaRenderer/Queue/Control</controlURL>
    <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
    <SCPDURL>/xml/Queue1.xml</SCPDURL>
  </service>
          <service>
            <serviceType>urn:schemas-upnp-org:service:GroupRenderingControl:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
            <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
            <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
            <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
          </service>
</serviceList>
        <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
          <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_B8E937E34F7801400</deviceID>
            <deviceCapabilities>
              <interactionPattern type="real-rhapsody-upnp-1-0"/>
            </deviceCapabilities>
        </X_Rhapsody-Extension>
        <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
        <iconList>
          <icon>
            <mimetype>image/png</mimetype>
            <width>48</width>
            <height>48</height>
            <depth>24</depth>
            <url>/img/icon-S1.png</url>
          </icon>
        </iconList>
      </device>
    </deviceList>
  </device>
</root>

2017.06.21 13:17:12 4: SONOS1: RoomName: 'Kinderzimmer', SaveRoomName: 'Kinderzimmer', ModelNumber: 'S1', DisplayVersion: '7.2', SerialNum: 'B8-E9-37-E3-4F-78:5', IconURI: '/img/icon-S1.png', IconOrigPath: 'http://192.168.1.21:1400/img/icon-S1.png', IconPath: 'icoSONOSPLAYER_icon-S1.png'
2017.06.21 13:17:12 2: SONOS1: Discover Sonosplayer 'Kinderzimmer' (S1) Software Revision 7.2 with ID 'RINCON_B8E937E34F7801400_MR'
2017.06.21 13:17:12 5: SW: 73687574646f776e0a
2017.06.21 13:17:12 5: SONOS0: Received: 'shutdown'
2017.06.21 13:17:12 3: SONOS0: Disconnecting client and shutdown server...
2017.06.21 13:17:12 3: SONOS0: Trying to kill Sonos_Thread...
2017.06.21 13:17:12 3: SONOS0: Trying to kill IsAlive_Thread...
2017.06.21 13:17:12 3: SONOS0: Trying to kill PlayerRestore_Thread...
2017.06.21 13:17:12 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
2017.06.21 13:17:12 4: SONOS1: ControlPoint is successfully stopped!
2017.06.21 13:17:12 3: SONOS1: Controlpoint-Listener wurde beendet.
2017.06.21 13:17:21 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2017.06.21 13:17:23 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711

jump to the top


Da ein paar Zeilen zu lang sind für den Beitrag habe ich es mal als Datei angehängt.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Reinerlein

Hi Gloob,

da scheint etwas sehr langsam zu sein... hmmm, mal schauen, ob ich da noch einen RePing dazwischen bekomme :)

Als Sofortmaßnahme kannst du das Prüfinterval hochsetzen. z.B.:

define Sonos SONOS localhost:4711 60
oder auch 120...

Letztendlich startet er den SubProzess neu, wenn die letzte Antwort vom SubProzess (Reading "LastProcessAnswer" am Sonosdevice) mehr als drei Intervalle her ist...

Grüße
Reinerlein

Phiolin

#6
Die neue Version hat aktuell wohl das Problem, dass sie sich öfters mal selber erschießt.
Habe gerade ein Update gemacht und neu gestartet:

2017.06.21 14:15:49 3: Opening Sonos device localhost:4711
2017.06.21 14:15:49 3: SONOS0: Connection accepted from localhost:45280
2017.06.21 14:15:49 3: Sonos device opened
2017.06.21 14:16:43 1: withings.Andreas: APPLIVER ERROR
2017.06.21 14:16:50 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 2000-01-01 00:00:00)... try to restart the process and connection...
2017.06.21 14:16:50 3: SONOS1: UPnP-Thread gestartet.
2017.06.21 14:16:50 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
2017.06.21 14:16:50 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
2017.06.21 14:16:51 2: SONOS1: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.2 with ID 'RINCON_949F3E85047601400_MR'
2017.06.21 14:16:51 3: SONOS0: Disconnecting client and shutdown server...
2017.06.21 14:16:51 3: SONOS0: Trying to kill Sonos_Thread...
2017.06.21 14:16:51 3: SONOS0: Trying to kill IsAlive_Thread...
2017.06.21 14:16:51 3: SONOS0: Trying to kill PlayerRestore_Thread...
2017.06.21 14:16:51 3: SONOS1: Controlpoint-Listener wurde beendet.
2017.06.21 14:16:51 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
2017.06.21 14:17:00 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2017.06.21 14:17:01 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9924.

2017.06.21 14:17:01 0: SONOS0: Retries left (wait 30s): 9
2017.06.21 14:17:08 3: Opening Sonos device localhost:4711
2017.06.21 14:17:08 3: Can't connect to localhost:4711: Connection refused
2017.06.21 14:17:31 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9924.

2017.06.21 14:17:31 0: SONOS0: Retries left (wait 30s): 8
2017.06.21 14:18:01 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
2017.06.21 14:18:09 3: SONOS0: Connection accepted from localhost:45438
2017.06.21 14:18:09 1: localhost:4711 reappeared (Sonos)
2017.06.21 14:18:21 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 2017-06-21 14:16:50)... try to restart the process and connection...
2017.06.21 14:18:21 3: SONOS1: UPnP-Thread gestartet.
2017.06.21 14:18:21 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
2017.06.21 14:18:21 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
2017.06.21 14:18:21 2: SONOS1: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.2 with ID 'RINCON_949F3E85047601400_MR'
2017.06.21 14:18:22 3: SONOS0: Disconnecting client and shutdown server...
2017.06.21 14:18:22 3: SONOS0: Trying to kill Sonos_Thread...
2017.06.21 14:18:22 3: SONOS0: Trying to kill IsAlive_Thread...
2017.06.21 14:18:22 3: SONOS0: Trying to kill PlayerRestore_Thread...
2017.06.21 14:18:22 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
2017.06.21 14:18:31 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2017.06.21 14:18:32 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9924.

2017.06.21 14:18:32 0: SONOS0: Retries left (wait 30s): 9
2017.06.21 14:18:39 3: Opening Sonos device localhost:4711
2017.06.21 14:18:39 3: Can't connect to localhost:4711: Connection refused


Beim ersten Start des Prozesses war wohl LastProcessAnswer nicht gesetzt, das wurde als "zu alt" gewertet und direkt der Prozess neu gestartet.
Dann kann der Prozess für 1-2 Minuten offenbar nicht mehr an Port 4711 binden, was dann aber irgendwann wieder geht. Dabei vergeht jedoch wieder so viel Zeit, dass dann LastProcessAnswer schon wieder zu alt ist - und dann geht das ganze von vorne los.
So läuft das jetzt schon eine ganze Weile. :D
Anscheinend beendet sich der 00_SONOS.pm Prozess nicht sofort, zumindest nicht so schnell, wie das Sonos Modul das wohl gerne hätte. Ich kann den Prozess selbst nach "Das Lauschen auf der Schnittstelle wurde beendet" noch für einige Sekunden in der Prozessliste sehen. Deshalb schlägt wahrscheinlich der erste Bind Versuch dann auch immer fehl und es vergeht zu viel Zeit.

Davon ab scheint, wenn man das erst mal in den Griff bekommen hat, ansonsten bisher alles zu funktionieren. :)

Hotbird

2017.06.21 14:16:51 2: SONOS1: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.2 with ID

hast aber auch noch nicht die 7.3 drauf. Darum auch meine Frage ganz oben, ob die 7.3 schon in der neuen Version kompatibel ist..

Reinerlein

Hallo zusammen,

ich habe für das Reading "LastProcessAnswer" noch eine Initialisierung vor dem Start des Intervall-Checkers eingebaut (Wert liegt in der Zukunft).
Damit sollte die erste Überprüfung nach 30 Sekunden keinen veralteten Wert vorfinden :)

Gerade eingecheckt, also ab sofort per SVN oder ab Morgen per Update...

Grüße
Reinerlein

Phiolin

Prima, danke. Wird morgen getestet. :)

gloob

Hab noch ein Problem. Hab leider Verbose wieder auf 0 gestellt aber vielleicht hilft es ja trotzdem:
2017.06.21 15:19:46 1: readingsUpdate(Sonos_Kueche,currentTrackPosition,0:00:00) missed to call readingsBeginUpdate first.
2017.06.21 15:19:46 1: stacktrace:
2017.06.21 15:19:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1226)
2017.06.21 15:19:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.21 15:19:46 1:     main::CallFn                        called by fhem.pl (686)
2017.06.21 15:19:46 1: readingsUpdate(Sonos_Kueche,currentTrackPositionSec,0) missed to call readingsBeginUpdate first.
2017.06.21 15:19:46 1: stacktrace:
2017.06.21 15:19:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1226)
2017.06.21 15:19:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.21 15:19:46 1:     main::CallFn                        called by fhem.pl (686)

Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Nobby1805

#11
Hallo Reiner,

was ,muss ich tun damit currentAlbumArtURL wieder gesetzt wird?

getLocalCoverArt habe ich schon auf 1 gesetzt ... aber der Wert bliebt auf /fhem/sonos/cover/empty.jpg

:-[ :-[ :-X ich gebe mir die Antwort mal selbst>: einen Titel bzw. ein Album verwenden wo ein Cover vorhanden ist  :-[ :-[
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hallo Nobby,

currentAlbumArtURL wird immer gesetzt, das Attribut "getLocalCoverArt" hat darauf keinen Einfluss.
Das bedeutet, dass er das Cover aus irgendeinem Grund nicht laden konnte. Als Fallback (damit auch immer etwas enthalten ist) wird dann das leere Cover verwendet...

Unter Umständen sagt das Log etwas in dieser Richtung aus...

Grüße
Reiner

Nobby1805

Hallo Reiner,

danke für die Antwort ...aber wie schon gesagt, die Hitze hier macht mir wohl zu schaffen ... ich höre gerade alte eigene Aufnahmen und die haben gar kein Cover ... da ich gleichzeitig die neue SONOS-Version in Betrieb genommen habe sucht man immer erst den Fehler woanders  ::)

Gruß Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Phiolin

Dachte eigentlich, mit dem neuen Update läuft es jetzt, aber ich bin wieder beim ursprünglichen Problem angekommen:

2017.06.22 07:55:30 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
2017.06.22 07:56:08 3: SONOS0: Connection accepted from localhost:45262
2017.06.22 07:56:08 1: localhost:4711 reappeared (Sonos)
...etwa 20 Minuten später...
Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9960, <$client> line 3.


War heute wieder fast unmittelbar nach dem FHEM Restart mit der neuen Version des Moduls. Hat also keine 30 Minuten gehalten.
Scheint aber auch wieder nicht jedes Mal aufzutreten. Werde gleich noch mal einen Reboot machen und dann noch mal beobachten.

peter0255

Hallo,

ich bekomme jetzt die Meldung

Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1
2017.06.22 12:24:07 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at (eval 106876) line 1.


Gruß
Peter

ThiemoSt

#16
Ich habe zum Testen mal ein neues FHEM aufgesetzt da ich mein Produktives (auf Pi3) nicht dafür nutzen möchte.
Dieses läuft auf einem frisch installiertem Pi2 mit Jessie.
Es gibt eigentlich dort nur das Sonos Modul.

Knappe 2 Minuten nach dem define Sonos SONOS localhost:4711 120 kommt diese Meldung.
2017.06.22 14:36:31 3: SONOS7: Event: Received MusicServices-Event for Zone "Sonos_Bad".
2017.06.22 14:37:14 3: SONOS4: Event: End of MusicServices-Event for Zone "Sonos_Bad".
2017.06.22 14:37:14 1: readingsUpdate(Sonos,MusicServicesListVersion,RINCON_000E5880CE9C01400:186) missed to call readingsBeginUpdate first.
2017.06.22 14:37:14 1: stacktrace:
2017.06.22 14:37:14 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.22 14:37:14 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.22 14:37:14 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.22 14:37:14 1:     main::CallFn                        called by fhem.pl (686)
2017.06.22 14:37:14 1: readingsUpdate(Sonos,MusicServicesList,{'53' => {'SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Resolution' => '400','ServiceType' => '36871','ResolutionSubstitution' => '/400x400/','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-400x400.png','PromoText' => 'Listen to every regular season and postseason game LIVE (no blackouts)','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-72x72.png','Capabilities' => '1536','Name' => 'MLB.com

[b]etliche Zeilen entfernt[/b]

logo.ws.sonos.com/47111/47111-400x400.png','PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','Capabilities' => '2579','Name' => 'TIDAL'},'183' => {'SMAPI' => 'http://www.narando.com/sonos/service/action','Resolution' => undef,'ServiceType' => '41479','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','PromoText' => 'narando - Lass dir interessante Artikel vorlesen. Lausche den Stimmen echter Vorleser während du fährst, trainierst, kochst oder aufräumst.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','Capabilities' => '37395','Name' => 'narando'}}) missed to call readingsBeginUpdate first.
2017.06.22 14:37:14 1: stacktrace:
2017.06.22 14:37:14 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.22 14:37:14 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.22 14:37:14 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.22 14:37:14 1:     main::CallFn                        called by fhem.pl (686)
2017.06.22 14:37:16 2: SONOS4: Error during UPnP-Handling:
2017.06.22 14:37:16 3: SONOS4: UPnP-Thread wurde beendet.
2017.06.22 14:38:50 3: SONOS7: Event: End of MusicServices-Event for Zone "Sonos_Bad".


Nach weiteren 1,5 Minuten dann folgende:
2017.06.22 14:38:50 3: SONOS7: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Bad".
2017.06.22 14:38:51 1: readingsUpdate(Sonos,MusicServicesList,{'53' => {'SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Resolution' => '400','ServiceType' => '36871','ResolutionSubstitution' => '/400x400/','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-400x400.png','PromoText' => 'Listen to every regular svery

[b]etliche Zeilen entfernt[/b]

'http://www.narando.com/sonos/service/action','Resolution' => undef,'ServiceType' => '41479','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','PromoText' => 'narando - Lass dir interessante Artikel vorlesen. Lausche den Stimmen echter Vorleser während du fährst, trainierst, kochst oder aufräumst.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','Capabilities' => '37395','Name' => 'narando'}}) missed to call readingsBeginUpdate first.
2017.06.22 14:38:51 1: stacktrace:
2017.06.22 14:38:51 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.22 14:38:51 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.22 14:38:51 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.22 14:38:51 1:     main::CallFn                        called by fhem.pl (686)
2017.06.22 14:38:51 3: SONOS7: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Bad".
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 7.
2017.06.22 14:41:05 3: SONOS7: Event: Received Alarm-Event for Zone "Sonos_Kueche".
2017.06.22 14:41:05 3: SONOS7: Event: End of Alarm-Event for Zone "Sonos_Kueche".
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 7.
2017.06.22 14:43:18 3: SONOS7: Event: Received DeviceProperties-Event for Zone "Sonos_Bad".
2017.06.22 14:43:18 3: SONOS7: Event: End of DeviceProperties-Event for Zone "Sonos_Bad".
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 7.


Eine Verzögerung von ca. 1-2 Minuten nach absetzen der Befehle tritt bei mir auf.

Liegt es an der Einstellung oder eventuell gar nicht am Modul selbst sondern an Jessie etc. ?
FHEM, Ubuntu unter Proxmox (NUCi7)
FHT80B; CUL_FHTTK; HMUARTLGW; HUE; Netatmo; ENIGMA2; FRITZBOX; S7 und viele weitere.

Phiolin

Nur mal kurz als Ergänzung: Diese Fehler um readingsBeginUpdate habe ich bei mir nicht.
Ich habe bei mir aber die Player (ist nur einer) auch gelöscht und vom Modul neu anlegen lassen. Keine Ahnung ob das an der Stelle einen Unterschied macht.
Das Sonos Device selber habe ich aber nicht angefasst, das hat noch die gleichen Einstellungen wie vor dem Update.

ThiemoSt

Vielleicht noch eine Ergänzung von mir:
Der heutige Log meines Test-FHEM ist wechselnd voll mit diesen Einträgen (immer wechselnd). Keinerlei andere sind vorhanden.

Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Loading device description failed with error: 500 Can't connect to 10.8.0.1:8080 (Location: http://10.8.0.1:8080/upnp) at ./FHEM/00_SONOS.pm line 4388 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4192 thread 1.

FHEM, Ubuntu unter Proxmox (NUCi7)
FHT80B; CUL_FHTTK; HMUARTLGW; HUE; Netatmo; ENIGMA2; FRITZBOX; S7 und viele weitere.

Reinerlein

Hi ThiemoSt,

da scheint sich ein Nicht-Sonos-Player einzumischen. Einfach im Attribut ignoredIPs am Sonos-Device angeben, und damit ignorieren lassen...

Grüße
Reinerlein

Jamo

#20
Hallo Reiner,
ich habe mit der neuen Version vom 20.6.2017 immer ein 'missed to call readingsBeginUpdate first' im Log. Das war mit allen vorherigen Versionen nicht. Ansonsten funktioniert alles wie vorher auch.
Ich schalte alle Sonos Player über Funksteckdosen mit einem "Schalter_Sonos" ein und aus, damit wird dann über ein DOIF auch das Modul Sonos dann disabled (nicht die Player).

define RebootSonosDOIF DOIF ([Schalter_Sonos:state] eq "on") ((deleteattr Sonos disable),(save)) DOELSEIF ([Schalter_Sonos:state] eq "off") ((attr Sonos disable 1),(save)) DOELSE()

2017.06.24 06:45:17 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2017.06.24 06:45:18 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
2017.06.24 06:45:26 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
2017.06.24 06:45:26 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
2017.06.24 06:45:59 1: readingsUpdate(Sonos,MasterPlayer,['Sonos_Schlaf_RF']) missed to call readingsBeginUpdate first.
2017.06.24 06:45:59 1: stacktrace:
2017.06.24 06:45:59 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:45:59 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:45:59 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:45:59 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:45:59 1: readingsUpdate(Sonos,MasterPlayerCount,1) missed to call readingsBeginUpdate first.
2017.06.24 06:45:59 1: stacktrace:
2017.06.24 06:45:59 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:45:59 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:45:59 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:45:59 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:45:59 1: readingsUpdate(Sonos,MasterPlayer,['Sonos_Flur','Sonos_Schlaf_RF']) missed to call readingsBeginUpdate first.
2017.06.24 06:45:59 1: stacktrace:
2017.06.24 06:45:59 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:45:59 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:45:59 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:45:59 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:45:59 1: readingsUpdate(Sonos,MasterPlayerCount,2) missed to call readingsBeginUpdate first.
2017.06.24 06:45:59 1: stacktrace:
2017.06.24 06:45:59 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:45:59 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:45:59 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:45:59 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:11 1: readingsUpdate(Sonos,AllPlayerCount,4) missed to call readingsBeginUpdate first.
2017.06.24 06:46:11 1: stacktrace:
2017.06.24 06:46:11 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:46:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:46:11 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:46:11 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:11 1: readingsUpdate(Sonos,AllPlayerNotBonded,['Sonos_Bad','Sonos_Kueche','Sonos_Schlaf']) missed to call readingsBeginUpdate first.
2017.06.24 06:46:11 1: stacktrace:
2017.06.24 06:46:11 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:46:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:46:11 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:46:11 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:11 1: readingsUpdate(Sonos,AllPlayerNotBondedCount,3) missed to call readingsBeginUpdate first.
2017.06.24 06:46:11 1: stacktrace:
2017.06.24 06:46:11 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:46:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:46:11 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:46:11 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:11 1: readingsUpdate(Sonos,MasterPlayerNotPlaying,['Sonos_Bad','Sonos_Kueche','Sonos_Schlaf']) missed to call readingsBeginUpdate first.
2017.06.24 06:46:11 1: stacktrace:
2017.06.24 06:46:11 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:46:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:46:11 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:46:11 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:11 1: readingsUpdate(Sonos,MasterPlayerNotPlayingCount,3) missed to call readingsBeginUpdate first.
2017.06.24 06:46:11 1: stacktrace:
2017.06.24 06:46:11 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:46:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:46:11 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:46:11 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:11 1: readingsUpdate(Sonos,MasterPlayer,['Sonos_Bad','Sonos_Kueche','Sonos_Schlaf']) missed to call readingsBeginUpdate first.
2017.06.24 06:46:11 1: stacktrace:
2017.06.24 06:46:11 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:46:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:46:11 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:46:11 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:11 1: readingsUpdate(Sonos,MasterPlayerCount,3) missed to call readingsBeginUpdate first.
2017.06.24 06:46:11 1: stacktrace:
2017.06.24 06:46:11 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:46:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:46:11 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:46:11 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:46:46 3: Watchdog Sonos_Ready_n triggered
Use of uninitialized value $var in lc at ./FHEM/00_SONOS.pm line 5851.
Use of uninitialized value $var in lc at ./FHEM/00_SONOS.pm line 5851.
Use of uninitialized value $var in lc at ./FHEM/00_SONOS.pm line 5851.
Use of uninitialized value $var in lc at ./FHEM/00_SONOS.pm line 5851.
2017.06.24 06:46:52 1: FHEM2FHEM 172.21.0.25:7073 reappeared (FHEM2PiZero)
2017.06.24 06:47:07 1: readingsUpdate(Sonos,MusicServicesList,{'222' => {'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','Name' => 'nugs.net','SMAPI' => 'https://sonos.nugs.net/soap/nugs','Resolution' => undef,'ServiceType' => '56839','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','Capabilities' => '6675'},'219' => {'PromoText' => 'Sign up for an Audiobooks.com account and get a free 30 day trial!','ResolutionSubstitution' => '-huge.jpg?size=300','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-400x400.png','Name' => 'Audiobooks.com','SMAPI' => 'https://api.audiobooks.com/api/v2/sonos/soap','Resolution' => '300','ServiceType' => '56071','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-72x72.png','Capabilities' => '4672'},'24' => {'PromoText' => 'DAR.fm is a personal recorder which records thousands of radio stations and shows to be played back at your convenience.','ResolutionSubstitution' => 'lain328','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','Name' => 'DAR.fm Record Radio','SMAPI' => 'http://dar.fm/SonosServer.php','Resolution' => '328','ServiceType' => '13575','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','Capabilities' => '512'},'45' => {'PromoText' => 'hotelradio.fm - Musikkonzept für Hotels, Restaurants und Spa','ResolutionSubstitution' => '_290.png','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','Name' => 'hotelradio.fm','SMAPI' => 'https://users.hotelradio.fm/sonosapi/index.php','Resolution' => '290','ServiceType' => '7943','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','Capabilities' => '512'},'184' => {'PromoText' => 'The Stingray Music content you love, now available in every room of your house with Sonos! The best music for every moment, place and mood in your life, curated by experts from around the globe. A wide range of channels in all genres, featuring local and international talents. FREE with your TV subscription.','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','Name' => 'Stingray Music','SMAPI' => 'https://sonos.stingray.com/ws/Sonos','Resolution' => undef,'ServiceType' => '8455','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','Capabilities' => '295427'},'9' => {'PromoText' => 'Musik auf radikal andere Weise erleben. Millionen von Titeln auf Abruf in höchster Klangqualität.','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','Name' => 'Spotify','SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','Resolution' => undef,'ServiceType' => '2311','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','Capabilities' => '1116691'},'53' => {'PromoText' => 'Listen to every regular season and postseason game LIVE (no blackouts)','ResolutionSubstitution' => '/400x400/','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-400x400.png','Name' => 'MLB.com Gameday Audio','SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Resolution' => '400','ServiceType' => '36871','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-72x72.png','Capabilities' => '1536'},'212' => {'PromoText' => 'Plex!','ResolutionSubstitution' => 'width=1080','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','Name' => 'Plex','SMAPI' => 'https://sonos.plex.tv/sonos/','Resolution' => '1080','ServiceType' => '54279','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','Capabilities' => '513'},'216' => {'PromoText' => 'Aldi life Musik powered by Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','ResolutionSubstitution' => '1500x1500.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','Name' => 'Aldi life Musik','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','Resolution' => '1500','ServiceType' => '55303','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','Capabilities' => '4627'},'231' => {'PromoText' => 'The world's largest collection of live music recordings. Thousands of concerts by legendary artists across all genres.','ResolutionSubstitution' => '640','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','Name' => 'Wolfgang's Music','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','Resolution' => '640','ServiceType' => '59143','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','Capabilities' => '537153'},'159' => {'PromoText' => 'Willkommen bei Groove!','ResolutionSubstitution' => '/image?w=1500&h=1500&','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','Name' => 'Groove','SMAPI' => 'https://sonos.auth.music.microsoft.com/api','Resolution' => '1500','ServiceType' => '44551','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','Capabilities' => '35347'},'154' => {'PromoText' => 'Radionomy features a wide variety of music and themed online radio stations, accessible anywhere, produced and run by passionate people: music fans, artists, DJs, opinion leaders, comedians, story tellers, etc.','ResolutionSubstitution' => '.s999','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','Name' => 'Radionomy','SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','Resolution' => '999','ServiceType' => '41735','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','Capabilities' => '513'},'164' => {'PromoText' => 'Saavn for Sonos. The best Bollywood and Indian music listening experience with over a million tracks.','ResolutionSubstitution' => '500x500.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','Name' => 'Saavn','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','Resolution' => '500','ServiceType' => '42759','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','Capabilities' => '12865'},'167' => {'PromoText' => 'The personalized music experience based on your own unique taste, now for Sonos.','ResolutionSubstitution' => '_480x480_','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','Name' => 'Gaana','SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','Resolution' => '480','ServiceType' => '1799','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','Capabilities' => '577'},'183' => {'PromoText' => 'narando - Lass dir interessante Artikel vorlesen. Lausche den Stimmen echter Vorleser während du fährst, trainierst, kochst oder aufräumst.','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','Name' => 'narando','SMAPI' => 'http://www.narando.com/sonos/service/action','Resolution' => undef,'ServiceType' => '41479','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','Capabilities' => '37395'},'2' => {'PromoText' => 'Entdecke und genieße die weltweit größte On-Demand-Musikbibliothek auf deinem Sonos-Gerät - ganz bequem von zu Hause.','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','Name' => 'Deezer','SMAPI' => 'https://api.deezer.com/sonos','Resolution' => '1000','ServiceType' => '519','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','Capabilities' => '2643'},'254' => {'PromoText' => '','ResolutionSubstitution' => '1200x1200','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','Name' => 'TuneIn','SMAPI' => 'http://legato.radiotime.com/Radio.asmx','Resolution' => '1200','ServiceType' => '52231','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','Capabilities' => '4160'},'146' => {'PromoText' => 'The source for new music from the best emerging bands, recorded live in Daytrotter's studios.','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','Name' => 'Daytrotter','SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','Resolution' => undef,'ServiceType' => '48903','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','Capabilities' => '513'},'38' => {'PromoText' => 'Willkommen bei 7digital','ResolutionSubstitution' => '_800.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','Name' => '7digital','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','Resolution' => '800','ServiceType' => '49927','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','Capabilities' => '513'},'144' => {'PromoText' => 'Calm Radio hat eine riesige Auswahl an Kanälen in jedem Stil. Mit einem kostenlosen Calm Radio-Konto oder zum Kauf einer Low-Cost-Mitgliedschaft für HD-Qualität und ohne Unterbrechungen. Über 200 Premium-Musikkanäle für die Mitglieder in HD-Audio-Qualität aus Pop, Rock, Akustik, Klassik, Ambient, Meditation, Entspannung, Weltmusik , Latin, Jazz, Atmosphärisch Kanäle, Solo Piano, Solo-Gitarre und viele mehr.','ResolutionSubstitution' => '_600.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','Name' => 'Calm Radio','SMAPI' => 'https://api.calmradio.com/sonos/','Resolution' => '600','ServiceType' => '38407','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','Capabilities' => '512'},'169' => {'PromoText' => 'Tribe of Noise bietet einen innovative Hintergrundmusik-Service für Unternehmen, bei dem keinerlei (jährliche) Gebühren an staatliche Verwertungsgesellschaften fällig werden. Dieser Cloud-Musikdienst hilft Unternehmen, das richtige Ambiente für Kunden und Personal zu schaffen.','ResolutionSubstitution' => '_1500.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','Name' => 'Tribe of Noise','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','Resolution' => '1500','ServiceType' => '5127','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','Capabilities' => '512'},'230' => {'PromoText' => 'Kostenloser Live-Radio von den besten DJs der Welt','ResolutionSubstitution' => '/1000x1000/','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','Name' => 'NTS Radio','SMAPI' => 'https://www.nts.live/smapi','Resolution' => '1000','ServiceType' => '58887','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','Capabilities' => '512'},'211' => {'PromoText' => 'TMM is a great service that brings new music to you everyday. Sample hits on Sonos. Set up your account to start listenning.','ResolutionSubstitution' => '.l.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','Name' => 'The Music Manager','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','Resolution' => '119','ServiceType' => '55559','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','Capabilities' => '514'},'217' => {'PromoText' => 'The personalized music experience based on your own unique taste now for Sonos','ResolutionSubstitution' => '_1500.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-400x400.png','Name' => 'FIT Radio Workout Music','SMAPI' => 'https://www.fitradio.com/apisonos/ws','Resolution' => '1500','ServiceType' => '40711','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-72x72.png','Capabilities' => '4610'},'162' => {'PromoText' => 'radioPup features 300+ local radio stations streaming the best music and news available. Covering many genres including: Country, Classic Rock, Hip-Hop / R&B, Pop, Lite Sounds, Sports, News/Talk, Classic Hits, Rock and more.','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','Name' => 'radioPup','SMAPI' => 'https://sonos.townsquaremedia.com/index.php','Resolution' => undef,'ServiceType' => '54023','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','Capabilities' => '513'},'171' => {'PromoText' => 'A "Plug and Play" online music solution that enables business owners to mix fully licensed, professionally designed playlists to create a custom soundtrack quickly and easily.','ResolutionSubstitution' => '_1500.png','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','Name' => 'Mood Mix','SMAPI' => 'https://sonos.mix.moodmedia.com/api','Resolution' => '1500','ServiceType' => '43271','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','Capabilities' => '4609'},'198' => {'PromoText' => 'Add music to your day with Anghami, and make it louder with Sonos!','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','Name' => 'Anghami','SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','Resolution' => undef,'ServiceType' => '9735','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','Capabilities' => '2627'},'191' => {'PromoText' => '','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','Name' => 'Classical Archives','SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','Resolution' => undef,'ServiceType' => '43783','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','Capabilities' => '1030739'},'223' => {'PromoText' => ' Erlebe dutzende kostenlose Musikkanäle mit den verschiedensten Musikrichtungen bei RauteMusik.FM. ','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','Name' => 'RauteMusik.FM','SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','Resolution' => undef,'ServiceType' => '57095','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','Capabilities' => '513'},'232' => {'PromoText' => 'Radio für dich – aus deiner Region. Der Radioplayer ist die offizielle App der Radiosender, in höchster Klangqualität, mit tollen Inhalten und vielen Podcasts.','ResolutionSubstitution' => '_1500.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','Name' => 'Radioplayer','SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','Resolution' => '1500','ServiceType' => '59399','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','Capabilities' => '577'},'181' => {'PromoText' => 'Höre die zuverlässigsten DJs & Kuratoren.','ResolutionSubstitution' => 'w/1500/h/1500/','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','Name' => 'Mixcloud','SMAPI' => 'https://www.mixcloud.com/sonos-app/','Resolution' => '1500','ServiceType' => '46855','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','Capabilities' => '2627'},'163' => {'PromoText' => 'Spreaker is a web and mobile platform that allows listeners to explore broadcasts, podcasts, and original music created by its community of users.','ResolutionSubstitution' => '/large/','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','Name' => 'Spreaker','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','Resolution' => '200','ServiceType' => '41991','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','Capabilities' => '513'},'203' => {'PromoText' => 'Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','ResolutionSubstitution' => '1500x1500.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','Name' => 'Napster','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','Resolution' => '1500','ServiceType' => '51975','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','Capabilities' => '595'},'189' => {'PromoText' => 'A fully licensed cloud-based music service for business. Create a signature soundtrack by easily mixing and day-parting your favorite curated playlists. Style multiple locations with your unique sound.','ResolutionSubstitution' => '_1500.png','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','Name' => 'SOUNDMACHINE','SMAPI' => 'https://provider.sound-machine.com/sonosapi','Resolution' => '1500','ServiceType' => '50695','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','Capabilities' => '513'},'20' => {'PromoText' => '','ResolutionSubstitution' => '640x640.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','Name' => 'WiMP','SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','Resolution' => '640','ServiceType' => '38663','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','Capabilities' => '2579'},'192' => {'PromoText' => 'focus@will is a unique music and audio service scientifically developed to increase concentration and productivity. focus@will on Sonos. Set up your account now to begin.','ResolutionSubstitution' => '-1500.png','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','Name' => 'focus@will','SMAPI' => 'https://www.focusatwill.com/sonos/action','Resolution' => '1500','ServiceType' => '49159','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','Capabilities' => '5632'},'150' => {'PromoText' => 'In RUSC Ihrem Sonos-System und genießen Sie tausende von klassischen Radiosendungen aus den 1930er Jahren, 40er und 50er Jahre.','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','Name' => 'RUSC','SMAPI' => 'https://www.rusc.com/sonos.asmx','Resolution' => undef,'ServiceType' => '39431','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','Capabilities' => '512'},'195' => {'PromoText' => 'JUKE! Du kannst.','ResolutionSubstitution' => '/1500x1500','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','Name' => 'JUKE','SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','Resolution' => '1500','ServiceType' => '46343','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','Capabilities' => '2579'},'151' => {'PromoText' => '','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','Name' => 'Google Play Music','SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','Resolution' => undef,'ServiceType' => '48391','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','Capabilities' => '98899'},'7' => {'PromoText' => '','ResolutionSubstitution' => '/569/','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','Name' => 'Concert Vault','SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','Resolution' => '569','ServiceType' => '37383','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','Capabilities' => '513'},'157' => {'PromoText' => '','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','Name' => 'Bandcamp','SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','Resolution' => undef,'ServiceType' => '40199','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','Capabilities' => '513'},'218' => {'PromoText' => 'Soundsuit – maßgeschneideiderte Musik für Ihren Laden oder Restaurant. Legal und mühelos. Richten Sie Ihr Konto in Sekunden ein. Und los!','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','Name' => 'Soundsuit.fm','SMAPI' => 'https://soundsuit.fm/smapi','Resolution' => undef,'ServiceType' => '55815','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','Capabilities' => '512'},'201' => {'PromoText' => '','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','Name' => 'Amazon Music','SMAPI' => 'https://sonos.amazonmusic.com/','Resolution' => undef,'ServiceType' => '51463','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','Capabilities' => '45633'},'160' => {'PromoText' => '','ResolutionSubstitution' => 't500x500','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','Name' => 'SoundCloud','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','Resolution' => '500','ServiceType' => '40967','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','Capabilities' => '4611'},'221' => {'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','ResolutionSubstitution' => undef,'IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','Name' => 'LivePhish+','SMAPI' => 'https://sonos.nugs.net/soap/livephish','Resolution' => undef,'ServiceType' => '56583','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','Capabilities' => '6675'},'174' => {'PromoText' => '','ResolutionSubstitution' => '640x640.jpg','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','Name' => 'TIDAL','SMAPI' => 'https://sonos.tidalhifi.com/sonos','Resolution' => '640','ServiceType' => '47111','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','Capabilities' => '2579'}}) missed to call readingsBeginUpdate first.
2017.06.24 06:47:07 1: stacktrace:
2017.06.24 06:47:07 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 06:47:07 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 06:47:07 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 06:47:07 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 06:48:50 1: Timeout for XiaomiFlowerSens_Block ......
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

PerlJoe

Hallo zusammen,

ich wollte nur mal fragen ob das Update (FHEM seitig) automatisch passiert oder ich irgendwas dafür tun muss?

2.Frage: Ich habe FHEM-Alexa installiert, gibt es eine Auflistung der Alexa Befehle die ich bei einem Sonos Play:1 benutzen kann?
Im Moment sage ich immer nur Alexa, schalte Wohnzimmermusik ein / aus.

Gruß, Jörg

Elektrolurch

Hallo Reinerlein,
dass mit dem unbalancierten readingsBulkUpdate nach dem Einschalten kann ich bestätigen:
2017.06.23 19:40:56 1: readingsUpdate(Sonos,MusicServicesList,{'146' => {'PromoText' => 'The source for new music from the best emerging bands, recorded live in Daytrotter&apos;s studios.','Resolution' => undef,'ServiceType' => '48903','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','Name' => 'Daytrotter','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','Capabilities' => '513'},'223' => {'PromoText' => '          Erlebe dutzende kostenlose Musikkanäle mit den verschiedensten Musikrichtungen bei RauteMusik.FM.       ','Resolution' => undef,'ServiceType' => '57095','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','Name' => 'RauteMusik.FM','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','Capabilities' => '513'},'164' => {'PromoText' => 'Saavn for Sonos. The best Bollywood and Indian music listening experience with over a million tracks.','Resolution' => '500','ServiceType' => '42759','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','ResolutionSubstitution' => '500x500.jpg','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','Name' => 'Saavn','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','Capabilities' => '12865'},'171' => {'PromoText' => 'A "Plug and Play" online music solution that enables business owners to mix fully licensed, professionally designed playlists to create a custom soundtrack quickly and easily.','Resolution' => '1500','ServiceType' => '43271','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','ResolutionSubstitution' => '_1500.png','SMAPI' => 'https://sonos.mix.moodmedia.com/api','Name' => 'Mood Mix','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','Capabilities' => '4609'},'183' => {'PromoText' => 'narando - Lass dir interessante Artikel vorlesen. Lausche den Stimmen echter Vorleser während du fährst, trainierst, kochst oder aufräumst.','Resolution' => undef,'ServiceType' => '41479','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'http://www.narando.com/sonos/service/action','Name' => 'narando','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','Capabilities' => '37395'},'219' => {'PromoText' => 'Sign up for an Audiobooks.com account and get a free 30 day trial!','Resolution' => '300','ServiceType' => '56071','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-400x400.png','ResolutionSubstitution' => '-huge.jpg?size=300','SMAPI' => 'https://api.audiobooks.com/api/v2/sonos/soap','Name' => 'Audiobooks.com','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-72x72.png','Capabilities' => '4672'},'189' => {'PromoText' => 'A fully licensed cloud-based music service for business. Create a signature soundtrack by easily mixing and day-parting your favorite curated playlists. Style multiple locations with your unique sound.','Resolution' => '1500','ServiceType' => '50695','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','ResolutionSubstitution' => '_1500.png','SMAPI' => 'https://provider.sound-machine.com/sonosapi','Name' => 'SOUNDMACHINE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','Capabilities' => '513'},'222' => {'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','Resolution' => undef,'ServiceType' => '56839','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.nugs.net/soap/nugs','Name' => 'nugs.net','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','Capabilities' => '6675'},'211' => {'PromoText' => 'TMM is a great service that brings new music to you everyday. Sample hits on Sonos. Set up your account to start listenning.','Resolution' => '119','ServiceType' => '55559','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','ResolutionSubstitution' => '.l.jpg','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','Name' => 'The Music Manager','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','Capabilities' => '514'},'221' => {'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','Resolution' => undef,'ServiceType' => '56583','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.nugs.net/soap/livephish','Name' => 'LivePhish+','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','Capabilities' => '6675'},'9' => {'PromoText' => 'Musik auf radikal andere Weise erleben. Millionen von Titeln auf Abruf in höchster Klangqualität.','Resolution' => undef,'ServiceType' => '2311','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','Name' => 'Spotify','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','Capabilities' => '1116691'},'184' => {'PromoText' => 'The Stingray Music content you love, now available in every room of your house with Sonos! The best music for every moment, place and mood in your life, curated by experts from around the globe. A wide range of channels in all genres, featuring local and international talents. FREE with your TV subscription.','Resolution' => undef,'ServiceType' => '8455','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.stingray.com/ws/Sonos','Name' => 'Stingray Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','Capabilities' => '295427'},'203' => {'PromoText' => 'Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','Resolution' => '1500','ServiceType' => '51975','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','ResolutionSubstitution' => '1500x1500.jpg','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','Name' => 'Napster','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','Capabilities' => '595'},'174' => {'PromoText' => '','Resolution' => '640','ServiceType' => '47111','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','ResolutionSubstitution' => '640x640.jpg','SMAPI' => 'https://sonos.tidalhifi.com/sonos','Name' => 'TIDAL','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','Capabilities' => '2579'},'218' => {'PromoText' => 'Soundsuit – maßgeschneideiderte Musik für Ihren Laden oder Restaurant. Legal und mühelos. Richten Sie Ihr Konto in Sekunden ein. Und los!','Resolution' => undef,'ServiceType' => '55815','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://soundsuit.fm/smapi','Name' => 'Soundsuit.fm','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','Capabilities' => '512'},'216' => {'PromoText' => 'Aldi life Musik powered by Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','Resolution' => '1500','ServiceType' => '55303','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','ResolutionSubstitution' => '1500x1500.jpg','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','Name' => 'Aldi life Musik','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','Capabilities' => '4627'},'154' => {'PromoText' => 'Radionomy features a wide variety of music and themed online radio stations, accessible anywhere, produced and run by passionate people: music fans, artists, DJs, opinion leaders, comedians, story tellers, etc.','Resolution' => '999','ServiceType' => '41735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','ResolutionSubstitution' => '.s999','SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','Name' => 'Radionomy','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','Capabilities' => '513'},'162' => {'PromoText' => 'radioPup features 300+ local radio stations streaming the best music and news available. Covering many genres including: Country, Classic Rock, Hip-Hop / R&amp;B, Pop, Lite Sounds, Sports, News/Talk, Classic Hits, Rock and more.','Resolution' => undef,'ServiceType' => '54023','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.townsquaremedia.com/index.php','Name' => 'radioPup','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','Capabilities' => '513'},'160' => {'PromoText' => '','Resolution' => '500','ServiceType' => '40967','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','ResolutionSubstitution' => 't500x500','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','Name' => 'SoundCloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','Capabilities' => '4611'},'201' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '51463','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.amazonmusic.com/','Name' => 'Amazon Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','Capabilities' => '45633'},'157' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '40199','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','Name' => 'Bandcamp','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','Capabilities' => '513'},'163' => {'PromoText' => 'Spreaker is a web and mobile platform that allows listeners to explore broadcasts, podcasts, and original music created by its community of users.','Resolution' => '200','ServiceType' => '41991','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','ResolutionSubstitution' => '/large/','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','Name' => 'Spreaker','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','Capabilities' => '513'},'144' => {'PromoText' => 'Calm Radio hat eine riesige Auswahl an Kanälen in jedem Stil. Mit einem kostenlosen Calm Radio-Konto oder zum Kauf einer Low-Cost-Mitgliedschaft für HD-Qualität und ohne Unterbrechungen. Über 200 Premium-Musikkanäle für die Mitglieder in HD-Audio-Qualität aus Pop, Rock, Akustik, Klassik, Ambient, Meditation, Entspannung, Weltmusik , Latin, Jazz, Atmosphärisch Kanäle, Solo Piano, Solo-Gitarre und viele mehr.','Resolution' => '600','ServiceType' => '38407','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','ResolutionSubstitution' => '_600.jpg','SMAPI' => 'https://api.calmradio.com/sonos/','Name' => 'Calm Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','Capabilities' => '512'},'169' => {'PromoText' => 'Tribe of Noise bietet einen innovative Hintergrundmusik-Service für Unternehmen, bei dem keinerlei (jährliche) Gebühren an staatliche Verwertungsgesellschaften fällig werden. Dieser Cloud-Musikdienst hilft Unternehmen, das richtige Ambiente für Kunden und Personal zu schaffen.','Resolution' => '1500','ServiceType' => '5127','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','Name' => 'Tribe of Noise','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','Capabilities' => '512'},'195' => {'PromoText' => 'JUKE! Du kannst.','Resolution' => '1500','ServiceType' => '46343','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','ResolutionSubstitution' => '/1500x1500','SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','Name' => 'JUKE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','Capabilities' => '2579'},'53' => {'PromoText' => 'Listen to every regular season and postseason game LIVE (no blackouts)','Resolution' => '400','ServiceType' => '36871','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-400x400.png','ResolutionSubstitution' => '/400x400/','SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Name' => 'MLB.com Gameday Audio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-72x72.png','Capabilities' => '1536'},'191' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '43783','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','Name' => 'Classical Archives','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','Capabilities' => '1030739'},'230' => {'PromoText' => 'Kostenloser Live-Radio von den besten DJs der Welt','Resolution' => '1000','ServiceType' => '58887','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','ResolutionSubstitution' => '/1000x1000/','SMAPI' => 'https://www.nts.live/smapi','Name' => 'NTS Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','Capabilities' => '512'},'232' => {'PromoText' => 'Radio für dich – aus deiner Region. Der Radioplayer ist die offizielle App der Radiosender, in höchster Klangqualität, mit tollen Inhalten und vielen Podcasts.','Resolution' => '1500','ServiceType' => '59399','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','Name' => 'Radioplayer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','Capabilities' => '577'},'45' => {'PromoText' => 'hotelradio.fm - Musikkonzept für Hotels, Restaurants und Spa','Resolution' => '290','ServiceType' => '7943','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','ResolutionSubstitution' => '_290.png','SMAPI' => 'https://users.hotelradio.fm/sonosapi/index.php','Name' => 'hotelradio.fm','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','Capabilities' => '512'},'217' => {'PromoText' => 'The personalized music experience based on your own unique taste now for Sonos','Resolution' => '1500','ServiceType' => '40711','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-400x400.png','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://www.fitradio.com/apisonos/ws','Name' => 'FIT Radio Workout Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-72x72.png','Capabilities' => '4610'},'159' => {'PromoText' => 'Willkommen bei Groove!','Resolution' => '1500','ServiceType' => '44551','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','ResolutionSubstitution' => '/image?w=1500&amp;h=1500&amp;','SMAPI' => 'https://sonos.auth.music.microsoft.com/api','Name' => 'Groove','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','Capabilities' => '35347'},'150' => {'PromoText' => 'In RUSC Ihrem Sonos-System und genießen Sie tausende von klassischen Radiosendungen aus den 1930er Jahren, 40er und 50er Jahre.','Resolution' => undef,'ServiceType' => '39431','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://www.rusc.com/sonos.asmx','Name' => 'RUSC','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','Capabilities' => '512'},'212' => {'PromoText' => 'Plex!','Resolution' => '1080','ServiceType' => '54279','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','ResolutionSubstitution' => 'width=1080','SMAPI' => 'https://sonos.plex.tv/sonos/','Name' => 'Plex','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','Capabilities' => '513'},'254' => {'PromoText' => '','Resolution' => '1200','ServiceType' => '52231','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','ResolutionSubstitution' => '1200x1200','SMAPI' => 'http://legato.radiotime.com/Radio.asmx','Name' => 'TuneIn','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','Capabilities' => '4160'},'167' => {'PromoText' => 'The personalized music experience based on your own unique taste, now for Sonos.','Resolution' => '480','ServiceType' => '1799','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','ResolutionSubstitution' => '_480x480_','SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','Name' => 'Gaana','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','Capabilities' => '577'},'7' => {'PromoText' => '','Resolution' => '569','ServiceType' => '37383','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','ResolutionSubstitution' => '/569/','SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','Name' => 'Concert Vault','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','Capabilities' => '513'},'2' => {'PromoText' => 'Entdecke und genieße die weltweit größte On-Demand-Musikbibliothek auf deinem Sonos-Gerät - ganz bequem von zu Hause.','Resolution' => '1000','ServiceType' => '519','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','SMAPI' => 'https://api.deezer.com/sonos','Name' => 'Deezer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','Capabilities' => '2643'},'231' => {'PromoText' => 'The world's largest collection of live music recordings. Thousands of concerts by legendary artists across all genres.','Resolution' => '640','ServiceType' => '59143','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','ResolutionSubstitution' => '640','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','Name' => 'Wolfgang&apos;s Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','Capabilities' => '537153'},'192' => {'PromoText' => 'focus@will is a unique music and audio service scientifically developed to increase concentration and productivity. focus@will on Sonos. Set up your account now to begin.','Resolution' => '1500','ServiceType' => '49159','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','ResolutionSubstitution' => '-1500.png','SMAPI' => 'https://www.focusatwill.com/sonos/action','Name' => 'focus@will','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','Capabilities' => '5632'},'198' => {'PromoText' => 'Add music to your day with Anghami, and make it louder with Sonos!','Resolution' => undef,'ServiceType' => '9735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','Name' => 'Anghami','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','Capabilities' => '2627'},'24' => {'PromoText' => 'DAR.fm is a personal recorder which records thousands of radio stations and shows to be played back at your convenience.','Resolution' => '328','ServiceType' => '13575','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','ResolutionSubstitution' => 'lain328','SMAPI' => 'http://dar.fm/SonosServer.php','Name' => 'DAR.fm Record Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','Capabilities' => '512'},'38' => {'PromoText' => 'Willkommen bei 7digital','Resolution' => '800','ServiceType' => '49927','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','ResolutionSubstitution' => '_800.jpg','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','Name' => '7digital','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','Capabilities' => '513'},'181' => {'PromoText' => 'Höre die zuverlässigsten DJs &amp; Kuratoren.','Resolution' => '1500','ServiceType' => '46855','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','ResolutionSubstitution' => 'w/1500/h/1500/','SMAPI' => 'https://www.mixcloud.com/sonos-app/','Name' => 'Mixcloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','Capabilities' => '2627'},'20' => {'PromoText' => '','Resolution' => '640','ServiceType' => '38663','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','ResolutionSubstitution' => '640x640.jpg','SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','Name' => 'WiMP','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','Capabilities' => '2579'},'151' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '48391','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','Name' => 'Google Play Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','Capabilities' => '98899'}}) missed to call readingsBeginUpdate first.
2017.06.23 19:40:56 1: stacktrace:
2017.06.23 19:40:56 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9520)
2017.06.23 19:40:56 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1239)
2017.06.23 19:40:56 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.23 19:40:56 1:     main::CallFn                        called by fhem.pl (686)
2017.06.23 19:55:23 1: readingsUpdate(Sonos,MusicServicesList,{'146' => {'PromoText' => 'The source for new music from the best emerging bands, recorded live in Daytrotter&apos;s studios.','Resolution' => undef,'ServiceType' => '48903','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','Name' => 'Daytrotter','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','Capabilities' => '513'},'223' => {'PromoText' => '          Erlebe dutzende kostenlose Musikkanäle mit den verschiedensten Musikrichtungen bei RauteMusik.FM.       ','Resolution' => undef,'ServiceType' => '57095','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','Name' => 'RauteMusik.FM','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','Capabilities' => '513'},'164' => {'PromoText' => 'Saavn for Sonos. The best Bollywood and Indian music listening experience with over a million tracks.','Resolution' => '500','ServiceType' => '42759','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','ResolutionSubstitution' => '500x500.jpg','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','Name' => 'Saavn','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','Capabilities' => '12865'},'171' => {'PromoText' => 'A "Plug and Play" online music solution that enables business owners to mix fully licensed, professionally designed playlists to create a custom soundtrack quickly and easily.','Resolution' => '1500','ServiceType' => '43271','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','ResolutionSubstitution' => '_1500.png','SMAPI' => 'https://sonos.mix.moodmedia.com/api','Name' => 'Mood Mix','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','Capabilities' => '4609'},'183' => {'PromoText' => 'narando - Lass dir interessante Artikel vorlesen. Lausche den Stimmen echter Vorleser während du fährst, trainierst, kochst oder aufräumst.','Resolution' => undef,'ServiceType' => '41479','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'http://www.narando.com/sonos/service/action','Name' => 'narando','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','Capabilities' => '37395'},'219' => {'PromoText' => 'Sign up for an Audiobooks.com account and get a free 30 day trial!','Resolution' => '300','ServiceType' => '56071','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-400x400.png','ResolutionSubstitution' => '-huge.jpg?size=300','SMAPI' => 'https://api.audiobooks.com/api/v2/sonos/soap','Name' => 'Audiobooks.com','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-72x72.png','Capabilities' => '4672'},'189' => {'PromoText' => 'A fully licensed cloud-based music service for business. Create a signature soundtrack by easily mixing and day-parting your favorite curated playlists. Style multiple locations with your unique sound.','Resolution' => '1500','ServiceType' => '50695','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','ResolutionSubstitution' => '_1500.png','SMAPI' => 'https://provider.sound-machine.com/sonosapi','Name' => 'SOUNDMACHINE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','Capabilities' => '513'},'222' => {'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','Resolution' => undef,'ServiceType' => '56839','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.nugs.net/soap/nugs','Name' => 'nugs.net','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','Capabilities' => '6675'},'211' => {'PromoText' => 'TMM is a great service that brings new music to you everyday. Sample hits on Sonos. Set up your account to start listenning.','Resolution' => '119','ServiceType' => '55559','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','ResolutionSubstitution' => '.l.jpg','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','Name' => 'The Music Manager','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','Capabilities' => '514'},'221' => {'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','Resolution' => undef,'ServiceType' => '56583','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.nugs.net/soap/livephish','Name' => 'LivePhish+','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','Capabilities' => '6675'},'9' => {'PromoText' => 'Musik auf radikal andere Weise erleben. Millionen von Titeln auf Abruf in höchster Klangqualität.','Resolution' => undef,'ServiceType' => '2311','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','Name' => 'Spotify','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','Capabilities' => '1116691'},'184' => {'PromoText' => 'The Stingray Music content you love, now available in every room of your house with Sonos! The best music for every moment, place and mood in your life, curated by experts from around the globe. A wide range of channels in all genres, featuring local and international talents. FREE with your TV subscription.','Resolution' => undef,'ServiceType' => '8455','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.stingray.com/ws/Sonos','Name' => 'Stingray Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','Capabilities' => '295427'},'203' => {'PromoText' => 'Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','Resolution' => '1500','ServiceType' => '51975','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','ResolutionSubstitution' => '1500x1500.jpg','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','Name' => 'Napster','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','Capabilities' => '595'},'174' => {'PromoText' => '','Resolution' => '640','ServiceType' => '47111','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','ResolutionSubstitution' => '640x640.jpg','SMAPI' => 'https://sonos.tidalhifi.com/sonos','Name' => 'TIDAL','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','Capabilities' => '2579'},'218' => {'PromoText' => 'Soundsuit – maßgeschneideiderte Musik für Ihren Laden oder Restaurant. Legal und mühelos. Richten Sie Ihr Konto in Sekunden ein. Und los!','Resolution' => undef,'ServiceType' => '55815','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://soundsuit.fm/smapi','Name' => 'Soundsuit.fm','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','Capabilities' => '512'},'216' => {'PromoText' => 'Aldi life Musik powered by Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','Resolution' => '1500','ServiceType' => '55303','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','ResolutionSubstitution' => '1500x1500.jpg','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','Name' => 'Aldi life Musik','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','Capabilities' => '4627'},'154' => {'PromoText' => 'Radionomy features a wide variety of music and themed online radio stations, accessible anywhere, produced and run by passionate people: music fans, artists, DJs, opinion leaders, comedians, story tellers, etc.','Resolution' => '999','ServiceType' => '41735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','ResolutionSubstitution' => '.s999','SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','Name' => 'Radionomy','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','Capabilities' => '513'},'162' => {'PromoText' => 'radioPup features 300+ local radio stations streaming the best music and news available. Covering many genres including: Country, Classic Rock, Hip-Hop / R&amp;B, Pop, Lite Sounds, Sports, News/Talk, Classic Hits, Rock and more.','Resolution' => undef,'ServiceType' => '54023','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.townsquaremedia.com/index.php','Name' => 'radioPup','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','Capabilities' => '513'},'160' => {'PromoText' => '','Resolution' => '500','ServiceType' => '40967','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','ResolutionSubstitution' => 't500x500','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','Name' => 'SoundCloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','Capabilities' => '4611'},'201' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '51463','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.amazonmusic.com/','Name' => 'Amazon Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','Capabilities' => '45633'},'157' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '40199','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','Name' => 'Bandcamp','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','Capabilities' => '513'},'163' => {'PromoText' => 'Spreaker is a web and mobile platform that allows listeners to explore broadcasts, podcasts, and original music created by its community of users.','Resolution' => '200','ServiceType' => '41991','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','ResolutionSubstitution' => '/large/','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','Name' => 'Spreaker','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','Capabilities' => '513'},'144' => {'PromoText' => 'Calm Radio hat eine riesige Auswahl an Kanälen in jedem Stil. Mit einem kostenlosen Calm Radio-Konto oder zum Kauf einer Low-Cost-Mitgliedschaft für HD-Qualität und ohne Unterbrechungen. Über 200 Premium-Musikkanäle für die Mitglieder in HD-Audio-Qualität aus Pop, Rock, Akustik, Klassik, Ambient, Meditation, Entspannung, Weltmusik , Latin, Jazz, Atmosphärisch Kanäle, Solo Piano, Solo-Gitarre und viele mehr.','Resolution' => '600','ServiceType' => '38407','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','ResolutionSubstitution' => '_600.jpg','SMAPI' => 'https://api.calmradio.com/sonos/','Name' => 'Calm Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','Capabilities' => '512'},'169' => {'PromoText' => 'Tribe of Noise bietet einen innovative Hintergrundmusik-Service für Unternehmen, bei dem keinerlei (jährliche) Gebühren an staatliche Verwertungsgesellschaften fällig werden. Dieser Cloud-Musikdienst hilft Unternehmen, das richtige Ambiente für Kunden und Personal zu schaffen.','Resolution' => '1500','ServiceType' => '5127','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','Name' => 'Tribe of Noise','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','Capabilities' => '512'},'195' => {'PromoText' => 'JUKE! Du kannst.','Resolution' => '1500','ServiceType' => '46343','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','ResolutionSubstitution' => '/1500x1500','SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','Name' => 'JUKE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','Capabilities' => '2579'},'53' => {'PromoText' => 'Listen to every regular season and postseason game LIVE (no blackouts)','Resolution' => '400','ServiceType' => '36871','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-400x400.png','ResolutionSubstitution' => '/400x400/','SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Name' => 'MLB.com Gameday Audio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-72x72.png','Capabilities' => '1536'},'191' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '43783','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','Name' => 'Classical Archives','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','Capabilities' => '1030739'},'230' => {'PromoText' => 'Kostenloser Live-Radio von den besten DJs der Welt','Resolution' => '1000','ServiceType' => '58887','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','ResolutionSubstitution' => '/1000x1000/','SMAPI' => 'https://www.nts.live/smapi','Name' => 'NTS Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','Capabilities' => '512'},'232' => {'PromoText' => 'Radio für dich – aus deiner Region. Der Radioplayer ist die offizielle App der Radiosender, in höchster Klangqualität, mit tollen Inhalten und vielen Podcasts.','Resolution' => '1500','ServiceType' => '59399','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','Name' => 'Radioplayer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','Capabilities' => '577'},'45' => {'PromoText' => 'hotelradio.fm - Musikkonzept für Hotels, Restaurants und Spa','Resolution' => '290','ServiceType' => '7943','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','ResolutionSubstitution' => '_290.png','SMAPI' => 'https://users.hotelradio.fm/sonosapi/index.php','Name' => 'hotelradio.fm','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','Capabilities' => '512'},'217' => {'PromoText' => 'The personalized music experience based on your own unique taste now for Sonos','Resolution' => '1500','ServiceType' => '40711','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-400x400.png','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://www.fitradio.com/apisonos/ws','Name' => 'FIT Radio Workout Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-72x72.png','Capabilities' => '4610'},'159' => {'PromoText' => 'Willkommen bei Groove!','Resolution' => '1500','ServiceType' => '44551','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','ResolutionSubstitution' => '/image?w=1500&amp;h=1500&amp;','SMAPI' => 'https://sonos.auth.music.microsoft.com/api','Name' => 'Groove','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','Capabilities' => '35347'},'150' => {'PromoText' => 'In RUSC Ihrem Sonos-System und genießen Sie tausende von klassischen Radiosendungen aus den 1930er Jahren, 40er und 50er Jahre.','Resolution' => undef,'ServiceType' => '39431','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://www.rusc.com/sonos.asmx','Name' => 'RUSC','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','Capabilities' => '512'},'212' => {'PromoText' => 'Plex!','Resolution' => '1080','ServiceType' => '54279','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','ResolutionSubstitution' => 'width=1080','SMAPI' => 'https://sonos.plex.tv/sonos/','Name' => 'Plex','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','Capabilities' => '513'},'254' => {'PromoText' => '','Resolution' => '1200','ServiceType' => '52231','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','ResolutionSubstitution' => '1200x1200','SMAPI' => 'http://legato.radiotime.com/Radio.asmx','Name' => 'TuneIn','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','Capabilities' => '4160'},'167' => {'PromoText' => 'The personalized music experience based on your own unique taste, now for Sonos.','Resolution' => '480','ServiceType' => '1799','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','ResolutionSubstitution' => '_480x480_','SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','Name' => 'Gaana','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','Capabilities' => '577'},'7' => {'PromoText' => '','Resolution' => '569','ServiceType' => '37383','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','ResolutionSubstitution' => '/569/','SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','Name' => 'Concert Vault','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','Capabilities' => '513'},'2' => {'PromoText' => 'Entdecke und genieße die weltweit größte On-Demand-Musikbibliothek auf deinem Sonos-Gerät - ganz bequem von zu Hause.','Resolution' => '1000','ServiceType' => '519','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','SMAPI' => 'https://api.deezer.com/sonos','Name' => 'Deezer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','Capabilities' => '2643'},'231' => {'PromoText' => 'The world's largest collection of live music recordings. Thousands of concerts by legendary artists across all genres.','Resolution' => '640','ServiceType' => '59143','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','ResolutionSubstitution' => '640','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','Name' => 'Wolfgang&apos;s Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','Capabilities' => '537153'},'192' => {'PromoText' => 'focus@will is a unique music and audio service scientifically developed to increase concentration and productivity. focus@will on Sonos. Set up your account now to begin.','Resolution' => '1500','ServiceType' => '49159','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','ResolutionSubstitution' => '-1500.png','SMAPI' => 'https://www.focusatwill.com/sonos/action','Name' => 'focus@will','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','Capabilities' => '5632'},'198' => {'PromoText' => 'Add music to your day with Anghami, and make it louder with Sonos!','Resolution' => undef,'ServiceType' => '9735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','Name' => 'Anghami','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','Capabilities' => '2627'},'24' => {'PromoText' => 'DAR.fm is a personal recorder which records thousands of radio stations and shows to be played back at your convenience.','Resolution' => '328','ServiceType' => '13575','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','ResolutionSubstitution' => 'lain328','SMAPI' => 'http://dar.fm/SonosServer.php','Name' => 'DAR.fm Record Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','Capabilities' => '512'},'38' => {'PromoText' => 'Willkommen bei 7digital','Resolution' => '800','ServiceType' => '49927','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','ResolutionSubstitution' => '_800.jpg','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','Name' => '7digital','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','Capabilities' => '513'},'181' => {'PromoText' => 'Höre die zuverlässigsten DJs &amp; Kuratoren.','Resolution' => '1500','ServiceType' => '46855','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','ResolutionSubstitution' => 'w/1500/h/1500/','SMAPI' => 'https://www.mixcloud.com/sonos-app/','Name' => 'Mixcloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','Capabilities' => '2627'},'20' => {'PromoText' => '','Resolution' => '640','ServiceType' => '38663','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','ResolutionSubstitution' => '640x640.jpg','SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','Name' => 'WiMP','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','Capabilities' => '2579'},'151' => {'PromoText' => '','Resolution' => undef,'ServiceType' => '48391','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','Name' => 'Google Play Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','Capabilities' => '98899'}}) missed to call readingsBeginUpdate first.
2017.06.23 19:55:23 1: stacktrace:
2017.06.23 19:55:23 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9520)
2017.06.23 19:55:23 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1239)
2017.06.23 19:55:23 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.23 19:55:23 1:     main::CallFn                        called by fhem.pl (686)
2017.06.23 19:57:28 1: readingsUpdate(Sonos,MusicServicesList,{'146' => {'PromoText' => 'The source for new music from the best emerging bands, recorded live in Daytrotter&apos;s studios.','Resolution' => undef,'ServiceType' => '48903','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','ResolutionSubstitution' => undef,'SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','Name' => 'Daytrotter','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','Capabilities' => '513'},'223' => {'PromoText' => '          Erlebe dutzende kostenlose Musikkanäle mit den verschiedensten Musikrichtungen bei RauteMusik.FM.       ','Resolution' => undef,'ServiceType' => '57095','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/570
configDB und Windows befreite Zone!

det.

Hallo Reinerlein,
hatte mir auch gerade solch einen langen LOG Ausschnitt in die Zwischenablage kopiert. Spare ich mir jetzt - dto. wie bei Elektrolurch.
Das nervt etwas trotz verbose 0 in allen SONOS Definitionen. Sorry, aber vor dem Umbau ging es besser.
LG
det.

Reinerlein

Hi Det,

du musst den Verbose-Level am Sonos-Device setzen, dann sollte da Ruhe sein...
Aber zu dem fehlenden ReadingsBeginUpdate: Irgendwo muss das Verloren gehen. Im Code kommt es natürlich vor, sonst würde es ja bei keinem gehen (einschließlich mir)...

Ich kann mir gerade nicht vorstellen, wie das passieren kann.
Ab Loglevel 4 wird im SubProzess jeder Sendeversuch ins Logfile geschrieben. Da müsste dann erst das BeginUpdate, der BulkUpdateIfChanged und abschließend das EndUpdate zu sehen sein.
Außerdem sieht man ab Level 5 den Empfang auf Fhem-Modul-Seite (Log beginnt mit "Received from UPnP-Server").
Nun müsste also jeweils das gesendete, und das empfangene zu sehen sein (nur nicht nebeneinander, da es im SubProzess eine Sendequeue gibt, die erst am Ende eines Events ausgeführt wird).

Grüße
Reinerlein

cortmen

Ich glaube ich bin jetzt schon der 2 oder 3 der gerne diese Meldung loswerden möchte.


Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1


Bin kein Freund von Verbose 0 zu aktivieren.



peter0255

Meine Sprachansagen kann ich komplett vergessen, mal geht es mal nicht. Habe alles probiert reconnect  über disable vom Sonos Dev Nachts um 3:00 wie auch der Player nach dem Einschalten. Im Log kann ich auch nichts finden was darauf hindeutet. Nach einem komplett restart des RB läuft es dann wieder ein Tag. Am schlimmsten ist, wenn der Wecker morgens stumm bleibt.
Was mir aufgefallen ist, die Bridge wird im Event Monitor als appeared angezeigt im dev selbst als disappeard.
Bringt es was die Player zu löschen und neu anlegen zu lassen?

Gruß
Peter

DeeSPe

Mein Log ist auch voll mit:
2017.06.24 22:07:37 1: readingsUpdate(Sonos,AllPlayerNotBondedCount,4) missed to call readingsBeginUpdate first.
2017.06.24 22:07:37 1: stacktrace:
2017.06.24 22:07:37 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 22:07:37 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 22:07:37 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 22:07:37 1:     main::CallFn                        called by fhem.pl (686)
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.10:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.24 23:10:04 1: readingsUpdate(Sonos,AllPlayerNotBonded,['bz_Sonos','fl_Sonos','ku_Sonos','sz_Sonos','wz_Sonos']) missed to call readingsBeginUpdate first.
2017.06.24 23:10:04 1: stacktrace:
2017.06.24 23:10:04 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 23:10:04 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 23:10:04 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 23:10:04 1:     main::CallFn                        called by fhem.pl (686)
2017.06.24 23:10:04 1: readingsUpdate(Sonos,AllPlayerNotBondedCount,5) missed to call readingsBeginUpdate first.
2017.06.24 23:10:04 1: stacktrace:
2017.06.24 23:10:04 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.24 23:10:04 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.24 23:10:04 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.24 23:10:04 1:     main::CallFn                        called by fhem.pl (686)


Speak geht auch bei mir nicht mehr.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Jamo

#28
Hallo Reiner,
ich habe gerade versucht alle meine Sonos Player zu löschen und neu anlegen zu lassen, dabei hat sich Fhem und anschliessend auch der Raspi3 (Jessie) aufgehängt, mit folgender Fehlermeldung im log. Das ganze hat sich immer wieder wiederholt, ich musste jedesmal den Stecker am RaspPi ziehen.

2017.06.25 12:58:17 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 9870.
2017.06.25 12:58:17 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9619.


PS: Sonos Player löschen und neu anlegen lassen bringt keine Änderung.

PS2: Ich bekommen jetzt zusätslich folgende Meldungen:
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4192 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4192 thread 1.


PS3: Sprachansagen funktionieren nach dem Sonos Player löschen und neu anlegen lassen jetzt auch nicht mehr bei mir.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

sTaN

#29
Ich schließe mich auch mal den Fehlermeldungen an.
Nach heutigem FHEM Update erhalte ich auf der Startseite folgende Ausgabe:

Messages collected while initializing FHEM:
configfile: Usage: define readingsGroup +
Usage: define readingsGroup +
Usage: define readingsGroup +


Ansonsten folgende SONOS spezifische Fehlermeldungen:

2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentStreamAudio,) missed to call readingsBeginUpdate first.
2017.06.25 20:44:01 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:44:01 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:44:01 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:44:01 1: stacktrace:
2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentTrackPositionSec,95) missed to call readingsBeginUpdate first.
2017.06.25 20:44:01 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:44:01 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:44:01 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:44:01 1: stacktrace:
2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentTrackPosition,0:01:35) missed to call readingsBeginUpdate first.
2017.06.25 20:44:01 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:44:01 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:44:01 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.25 20:44:01 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.25 20:44:01 1: stacktrace:
2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentTrackURI,x-sonos-spotify:spotify%3atrack%3a788Fpm2mKElTdRnRPtzSgW?sid=9&flags=8224&sn=1) missed to call readingsBeginUpdate first.
2017.06.25 20:43:35 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:35 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:35 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.25 20:43:35 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.25 20:43:35 1: stacktrace:
2017.06.25 20:43:35 1: readingsUpdate(Sonos_Bad,currentStreamAudio,) missed to call readingsBeginUpdate first.
2017.06.25 20:43:35 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:35 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:35 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:43:35 1: stacktrace:
2017.06.25 20:43:35 1: readingsUpdate(Sonos_Bad,currentTrackPositionSec,69) missed to call readingsBeginUpdate first.
2017.06.25 20:43:34 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:34 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:34 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:43:34 1: stacktrace:
2017.06.25 20:43:34 1: readingsUpdate(Sonos_Bad,currentTrackPosition,0:01:09) missed to call readingsBeginUpdate first.
2017.06.25 20:43:34 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:34 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:34 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.25 20:43:34 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.25 20:43:34 1: stacktrace:
2017.06.25 20:43:34 1: readingsUpdate(Sonos_Bad,currentTrackURI,x-sonos-spotify:spotify%3atrack%3a788Fpm2mKElTdRnRPtzSgW?sid=9&flags=8224&sn=1) missed to call readingsBeginUpdate first.


Gleiche Meldungen bei meinen Sonos im Wohnzimmer und Schlafzimmer

EDIT: Ich schließe mich gleich mal inoma an. Auch ich habe meine Player über FHEM gelöscht und wollte sie über den autocreate neu anlegen lassen. Nachdem Löschen hängt FHEM mit folgendem Fehler im Logfile:

2017.06.25 21:19:11 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 9870.
2017.06.25 21:19:11 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9619.


Gruß
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Reinerlein

Hallo zusammen,

ich stehe echt auf dem Schlauch, und kann mir diese fehlenden "readingsBeginUpdate"-Anweisungen nicht erklären.

Natürlich stehen sie drin, müssen aber, wie alles andere auch, erst per Netzwerkkommunikation zum Fhem-Teil des Moduls übertragen werden.
Was ich nicht verstehe, ist, dass der folgende Bulkupdate sauber (ohne auch nur ein fehlerhaftes Zeichen zu Beginn) ankommt, das vorhergehende BeginUpdate aber gar nicht. Wenn nur Teile ankommen würden, würde es eine entsprechende Fehlermeldung im Log geben, dass da ein Befehl gekommen ist, der nicht identifiziert werden konnte.

Bei mir ist das z.B. noch nie aufgetreten, weder auf meinen Test-/Entwicklungssystem (enthält nur Sonos, läuft unter Windows 2003), noch auf meinem Produktivsystem (enthält natürlich alles von mir, läuft auf einem aktuellen Raspberry Pi 3).
Also irgendwas muss da stören, und es ist nicht auszuschließen, dass da auch andere Module Einfluß haben können.

Da stellt sich die allgemeine Frage, wie reproduzierbar der Fehler ist, und ob man bis dahin nicht mit einem 5er Log mal sehen können müsste, was um den Fehler herum so auf den Netzwerkschnittstellen passiert ist...

Sorry, aber dann war die Umstellung der Mechanik für dieses Problem keine Lösung... Ich werde es trotzdem drin lassen, da es deutlich Ressourcenschonender ist (es wird keine neue Verbindung aufgebaut, und nur wenn lange nichts auf der Leitung passiert ist, wird eine Reaktion vom SubProzess angefordert).
Wir sind also immer noch auf der Suche nach der Ursache dieser Übertragungsverluste...

Grüße
Reiner

P.S.: Zu den Problemen nach dem Löschen der Sonos-Komponenten: Bitte immer erst den SubProzess beenden, und dann die Fhem-Sonos-Komponenten löschen. Also am Sonos-Device "disable" setzen und kurz warten. Die Fehler kommen, wenn der SubProzess noch davon ausgeht, bestimmte Playerdevices (oder auch das Hauptdevice) verwenden zu können, diese aber gar nicht mehr da sind (und in diesem Fall dann auch nicht gefunden werden können).

fhem-challenge

Hallo Zusammen,

seit einigen Tage stehen alle meine Sonos'Player ganz unmotiviert wieder auf "Player disappeared" ... sind aber natürlich im Netz erreichbar und Spielen auch (abseits von FHEM).


Das nach einem Start von FHEM die Player "disappeared" sind, kenne ich ja schon länger, da mache ich ein schlichtes "rescanNetwork" am Sonos selbst (nach FHEM restart), was dazu führt, dass die Player wieder da sind.


Aber das die Player nun nicht deterministisch am Tage plötzlich nicht erreichbar sind, ist neu.

Was mag das sein ?


Viele Grüße!

Andreas

Jamo

#32
Hallo Reiner,
ich denke (evtl sind in einigen Fällen -> bei mir ist es so) die Funksteckdosen für die Player das Problem mit den Fehlermeldungen. Und zwar in dem Fall, dass das Modul 'Sonos' zusammen mit den Funksteckdosen 'enabled' und 'disabled' wird.
Ich habe 6 Sonos Play:1, 2 Stereopärchen, und 2 einzelne Play:1, alle über Funksteckdosen ein- und ausschaltbar.

Alle Fehlermeldungen treten bei mir nur dann auf, wenn ich das Modul Sonos schon zu dem Zeitpukt 'enable', zu dem ich auch die Funksteckdosen für die Player einschalte, also wo die Player selber noch booten und vom Sonos Device noch gar nicht gefunden werden können.

Alle Fehlermeldungen verschwinden, wenn ich dem RebootSonosDOIF ein wait attribut hinzufügt, also define RebootSonosDOIF DOIF ([FunksteckerSonos:state] eq "on") (deleteattr Sonos disable,save) DOELSEIF ([FunksteckerSonos:state] eq "off") (attr Sonos disable 1,save) DOELSE()
attr   RebootSonosDOIF devStateIcon cmd_1:ios-on-green:cmd_2 cmd_2:ios-on-red:cmd_1
attr   RebootSonosDOIF group SCHALTER
attr   RebootSonosDOIF room Sonos
attr   RebootSonosDOIF wait 72:0


Dann passiert folgendes:
1) Die Funksteckdosen für die Player werden zum Zeitpunkt '0' mit [FunksteckerSonos:state] eq "on" eingeschaltet
    Es dauert bei mir etwa 75 - 80 Sekunden, bis der letzte Play:1 am Netz ist
2) nach 72 Sekunden wird das module Sonos 'enabled' über (deleteattr Sonos disable,save)
    nach weiteren ungefähr 8 Sekunden (default) wird bei mir der Sonos Subprozess gestartet
Zu dem Zeitpunkt nach 80 Sekunden sind dann aber auch alle Player schon verfügbar.

Ich habe es jetzt etwa 10 mal reproduzierbar gemacht, wenn ich das wait auf '0' setzte oder lösche treten immer die besagten Fehlermeldungen auf. (attr   RebootSonosDOIF wait 0:0).

Zur Info, ich mache ein:
define Sonos_Ready_p notify (Sonos_BOOST|Sonos_Bad|Sonos_Flur|Sonos_Kueche|Sonos_Kueche_RF|Sonos_Schlaf|Sonos_Schlaf_RF):presence:.appeared {
  Log(2,"$NAME: Event: $EVENT");
  if (ReadingsVal("Sonos_Kueche","presence","nA")    eq "appeared" &&
      ReadingsVal("Sonos_Kueche_RF","presence","nA") eq "appeared" &&
      ReadingsVal("Sonos_Bad","presence","nA")       eq "appeared" &&
      ReadingsVal("Sonos_Flur","presence","nA")      eq "appeared" &&
      ReadingsVal("Sonos_BOOST","presence","nA")     eq "appeared" &&
      ReadingsVal("Sonos_Schlaf","presence","nA")    eq "appeared" &&
      ReadingsVal("Sonos_Schlaf_RF","presence","nA") eq "appeared") {
      fhem("set Sonos Groups [Sonos_Schlaf,Sonos_Kueche,Sonos_Flur,Sonos_Bad];set Sonos_Flur Volume 6;
            set Sonos_Schlaf,Sonos_Kueche,Sonos_Bad Volume 4;set Sonos_Schlaf SnapshotGroupVolume;
            set Sonos Mute 0;set Sonos_Schlaf GroupMute 0;set Sonos_Schlaf StartFavourite /(?i)ANTENNE.*/ ");
  }
}


Damit dauert die Erkennung aller 6 Player + Boost etwa 7 sekunden:
2017.06.26 23:07:17 2: Sonos_Flur: Event: presence: appeared
2017.06.26 23:07:18 2: Sonos_Schlaf: Event: presence: appeared
2017.06.26 23:07:20 2: Sonos_Bad: Event: presence: appeared
2017.06.26 23:07:20 2: Sonos_Kueche: Event: presence: appeared
2017.06.26 23:07:22 2: Sonos_Schlaf_RF: Event: presence: appeared
2017.06.26 23:07:23 2: Sonos_BOOST: Event: presence: appeared
2017.06.26 23:07:24 2: Sonos_Kueche_RF: Event: presence: appeared


Gruss!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Fixel2012

Ich musste trotz verbose 0 und eigentlich bei mir funktionierendem Sonos Modul leider auch mehrere Fehlermeldungen im Log feststellen.
2017.06.26 20:01:02 1: readingsUpdate(Sonos,MusicServicesList,{'231' => {'Name' => 'Wolfgang's Music','Capabilities' => '537153','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','Resolution' => '640','PromoText' => 'The world's largest collection of live music recordings. Thousands of concerts by legendary artists across all genres.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','ResolutionSubstitution' => '640','ServiceType' => '59143'},'20' => {'Name' => 'WiMP','Capabilities' => '2579','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','Resolution' => '640','PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','ResolutionSubstitution' => '640x640.jpg','ServiceType' => '38663'},'230' => {'Name' => 'NTS Radio','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','Resolution' => '1000','PromoText' => 'Kostenloser Live-Radio von den besten DJs der Welt','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','SMAPI' => 'https://www.nts.live/smapi','ResolutionSubstitution' => '/1000x1000/','ServiceType' => '58887'},'174' => {'Name' => 'TIDAL','Capabilities' => '2579','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','Resolution' => '640','PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','SMAPI' => 'https://sonos.tidalhifi.com/sonos','ResolutionSubstitution' => '640x640.jpg','ServiceType' => '47111'},'159' => {'Name' => 'Groove','Capabilities' => '35347','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','Resolution' => '1500','PromoText' => 'Willkommen bei Groove!','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','SMAPI' => 'https://sonos.auth.music.microsoft.com/api','ResolutionSubstitution' => '/image?w=1500&h=1500&','ServiceType' => '44551'},'144' => {'Name' => 'Calm Radio','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','Resolution' => '600','PromoText' => 'Calm Radio hat eine riesige Auswahl an Kanälen in jedem Stil. Mit einem kostenlosen Calm Radio-Konto oder zum Kauf einer Low-Cost-Mitgliedschaft für HD-Qualität und ohne Unterbrechungen. Über 200 Premium-Musikkanäle für die Mitglieder in HD-Audio-Qualität aus Pop, Rock, Akustik, Klassik, Ambient, Meditation, Entspannung, Weltmusik , Latin, Jazz, Atmosphärisch Kanäle, Solo Piano, Solo-Gitarre und viele mehr.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','SMAPI' => 'https://api.calmradio.com/sonos/','ResolutionSubstitution' => '_600.jpg','ServiceType' => '38407'},'164' => {'Name' => 'Saavn','Capabilities' => '12865','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','Resolution' => '500','PromoText' => 'Saavn for Sonos. The best Bollywood and Indian music listening experience with over a million tracks.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','ResolutionSubstitution' => '500x500.jpg','ServiceType' => '42759'},'221' => {'Name' => 'LivePhish+','Capabilities' => '6675','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','Resolution' => undef,'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','SMAPI' => 'https://sonos.nugs.net/soap/livephish','ResolutionSubstitution' => undef,'ServiceType' => '56583'},'203' => {'Name' => 'Napster','Capabilities' => '595','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','Resolution' => '1500','PromoText' => 'Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','ResolutionSubstitution' => '1500x1500.jpg','ServiceType' => '51975'},'151' => {'Name' => 'Google Play Music','Capabilities' => '98899','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','Resolution' => undef,'PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','ResolutionSubstitution' => undef,'ServiceType' => '48391'},'218' => {'Name' => 'Soundsuit.fm','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','Resolution' => undef,'PromoText' => 'Soundsuit – maßgeschneideiderte Musik für Ihren Laden oder Restaurant. Legal und mühelos. Richten Sie Ihr Konto in Sekunden ein. Und los!','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','SMAPI' => 'https://soundsuit.fm/smapi','ResolutionSubstitution' => undef,'ServiceType' => '55815'},'150' => {'Name' => 'RUSC','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','Resolution' => undef,'PromoText' => 'In RUSC Ihrem Sonos-System und genießen Sie tausende von klassischen Radiosendungen aus den 1930er Jahren, 40er und 50er Jahre.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','SMAPI' => 'https://www.rusc.com/sonos.asmx','ResolutionSubstitution' => undef,'ServiceType' => '39431'},'195' => {'Name' => 'JUKE','Capabilities' => '2579','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','Resolution' => '1500','PromoText' => 'JUKE! Du kannst.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','ResolutionSubstitution' => '/1500x1500','ServiceType' => '46343'},'157' => {'Name' => 'Bandcamp','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','Resolution' => undef,'PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','ResolutionSubstitution' => undef,'ServiceType' => '40199'},'163' => {'Name' => 'Spreaker','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','Resolution' => '200','PromoText' => 'Spreaker is a web and mobile platform that allows listeners to explore broadcasts, podcasts, and original music created by its community of users.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','ResolutionSubstitution' => '/large/','ServiceType' => '41991'},'160' => {'Name' => 'SoundCloud','Capabilities' => '4611','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','Resolution' => '500','PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','ResolutionSubstitution' => 't500x500','ServiceType' => '40967'},'212' => {'Name' => 'Plex','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','Resolution' => '1080','PromoText' => 'Plex!','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','SMAPI' => 'https://sonos.plex.tv/sonos/','ResolutionSubstitution' => 'width=1080','ServiceType' => '54279'},'254' => {'Name' => 'TuneIn','Capabilities' => '4160','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','Resolution' => '1200','PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','SMAPI' => 'http://legato.radiotime.com/Radio.asmx','ResolutionSubstitution' => '1200x1200','ServiceType' => '52231'},'162' => {'Name' => 'radioPup','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','Resolution' => undef,'PromoText' => 'radioPup features 300+ local radio stations streaming the best music and news available. Covering many genres including: Country, Classic Rock, Hip-Hop / R&B, Pop, Lite Sounds, Sports, News/Talk, Classic Hits, Rock and more.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','SMAPI' => 'https://sonos.townsquaremedia.com/index.php','ResolutionSubstitution' => undef,'ServiceType' => '54023'},'191' => {'Name' => 'Classical Archives','Capabilities' => '1030739','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','Resolution' => undef,'PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','ResolutionSubstitution' => undef,'ServiceType' => '43783'},'169' => {'Name' => 'Tribe of Noise','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','Resolution' => '1500','PromoText' => 'Tribe of Noise bietet einen innovative Hintergrundmusik-Service für Unternehmen, bei dem keinerlei (jährliche) Gebühren an staatliche Verwertungsgesellschaften fällig werden. Dieser Cloud-Musikdienst hilft Unternehmen, das richtige Ambiente für Kunden und Personal zu schaffen.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '5127'},'9' => {'Name' => 'Spotify','Capabilities' => '1116691','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','Resolution' => undef,'PromoText' => 'Musik auf radikal andere Weise erleben. Millionen von Titeln auf Abruf in höchster Klangqualität.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','ResolutionSubstitution' => undef,'ServiceType' => '2311'},'184' => {'Name' => 'Stingray Music','Capabilities' => '295427','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','Resolution' => undef,'PromoText' => 'The Stingray Music content you love, now available in every room of your house with Sonos! The best music for every moment, place and mood in your life, curated by experts from around the globe. A wide range of channels in all genres, featuring local and international talents. FREE with your TV subscription.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','SMAPI' => 'https://sonos.stingray.com/ws/Sonos','ResolutionSubstitution' => undef,'ServiceType' => '8455'},'154' => {'Name' => 'Radionomy','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','Resolution' => '999','PromoText' => 'Radionomy features a wide variety of music and themed online radio stations, accessible anywhere, produced and run by passionate people: music fans, artists, DJs, opinion leaders, comedians, story tellers, etc.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','ResolutionSubstitution' => '.s999','ServiceType' => '41735'},'223' => {'Name' => 'RauteMusik.FM','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','Resolution' => undef,'PromoText' => ' Erlebe dutzende kostenlose Musikkanäle mit den verschiedensten Musikrichtungen bei RauteMusik.FM. ','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','ResolutionSubstitution' => undef,'ServiceType' => '57095'},'211' => {'Name' => 'The Music Manager','Capabilities' => '514','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','Resolution' => '119','PromoText' => 'TMM is a great service that brings new music to you everyday. Sample hits on Sonos. Set up your account to start listenning.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','ResolutionSubstitution' => '.l.jpg','ServiceType' => '55559'},'38' => {'Name' => '7digital','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','Resolution' => '800','PromoText' => 'Willkommen bei 7digital','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','ResolutionSubstitution' => '_800.jpg','ServiceType' => '49927'},'167' => {'Name' => 'Gaana','Capabilities' => '577','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','Resolution' => '480','PromoText' => 'The personalized music experience based on your own unique taste, now for Sonos.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','ResolutionSubstitution' => '_480x480_','ServiceType' => '1799'},'198' => {'Name' => 'Anghami','Capabilities' => '2627','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','Resolution' => undef,'PromoText' => 'Add music to your day with Anghami, and make it louder with Sonos!','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','ResolutionSubstitution' => undef,'ServiceType' => '9735'},'24' => {'Name' => 'DAR.fm Record Radio','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','Resolution' => '328','PromoText' => 'DAR.fm is a personal recorder which records thousands of radio stations and shows to be played back at your convenience.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','SMAPI' => 'http://dar.fm/SonosServer.php','ResolutionSubstitution' => 'lain328','ServiceType' => '13575'},'217' => {'Name' => 'FIT Radio Workout Music','Capabilities' => '4610','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-400x400.png','Resolution' => '1500','PromoText' => 'The personalized music experience based on your own unique taste now for Sonos','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-72x72.png','SMAPI' => 'https://www.fitradio.com/apisonos/ws','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '40711'},'45' => {'Name' => 'hotelradio.fm','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','Resolution' => '290','PromoText' => 'hotelradio.fm - Musikkonzept für Hotels, Restaurants und Spa','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','SMAPI' => 'https://users.hotelradio.fm/sonosapi/index.php','ResolutionSubstitution' => '_290.png','ServiceType' => '7943'},'219' => {'Name' => 'Audiobooks.com','Capabilities' => '4672','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-400x400.png','Resolution' => '300','PromoText' => 'Sign up for an Audiobooks.com account and get a free 30 day trial!','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-72x72.png','SMAPI' => 'https://api.audiobooks.com/api/v2/sonos/soap','ResolutionSubstitution' => '-huge.jpg?size=300','ServiceType' => '56071'},'232' => {'Name' => 'Radioplayer','Capabilities' => '577','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','Resolution' => '1500','PromoText' => 'Radio für dich – aus deiner Region. Der Radioplayer ist die offizielle App der Radiosender, in höchster Klangqualität, mit tollen Inhalten und vielen Podcasts.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '59399'},'189' => {'Name' => 'SOUNDMACHINE','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','Resolution' => '1500','PromoText' => 'A fully licensed cloud-based music service for business. Create a signature soundtrack by easily mixing and day-parting your favorite curated playlists. Style multiple locations with your unique sound.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','SMAPI' => 'https://provider.sound-machine.com/sonosapi','ResolutionSubstitution' => '_1500.png','ServiceType' => '50695'},'2' => {'Name' => 'Deezer','Capabilities' => '2643','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','Resolution' => '1000','PromoText' => 'Entdecke und genieße die weltweit größte On-Demand-Musikbibliothek auf deinem Sonos-Gerät - ganz bequem von zu Hause.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','SMAPI' => 'https://api.deezer.com/sonos','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','ServiceType' => '519'},'171' => {'Name' => 'Mood Mix','Capabilities' => '4609','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','Resolution' => '1500','PromoText' => 'A "Plug and Play" online music solution that enables business owners to mix fully licensed, professionally designed playlists to create a custom soundtrack quickly and easily.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','SMAPI' => 'https://sonos.mix.moodmedia.com/api','ResolutionSubstitution' => '_1500.png','ServiceType' => '43271'},'222' => {'Name' => 'nugs.net','Capabilities' => '6675','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','Resolution' => undef,'PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','SMAPI' => 'https://sonos.nugs.net/soap/nugs','ResolutionSubstitution' => undef,'ServiceType' => '56839'},'183' => {'Name' => 'narando','Capabilities' => '37395','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','Resolution' => undef,'PromoText' => 'narando - Lass dir interessante Artikel vorlesen. Lausche den Stimmen echter Vorleser während du fährst, trainierst, kochst oder aufräumst.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','SMAPI' => 'http://www.narando.com/sonos/service/action','ResolutionSubstitution' => undef,'ServiceType' => '41479'},'181' => {'Name' => 'Mixcloud','Capabilities' => '2627','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','Resolution' => '1500','PromoText' => 'Höre die zuverlässigsten DJs & Kuratoren.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','SMAPI' => 'https://www.mixcloud.com/sonos-app/','ResolutionSubstitution' => 'w/1500/h/1500/','ServiceType' => '46855'},'7' => {'Name' => 'Concert Vault','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','Resolution' => '569','PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','ResolutionSubstitution' => '/569/','ServiceType' => '37383'},'201' => {'Name' => 'Amazon Music','Capabilities' => '45633','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','Resolution' => undef,'PromoText' => '','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','SMAPI' => 'https://sonos.amazonmusic.com/','ResolutionSubstitution' => undef,'ServiceType' => '51463'},'192' => {'Name' => 'focus@will','Capabilities' => '5632','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','Resolution' => '1500','PromoText' => 'focus@will is a unique music and audio service scientifically developed to increase concentration and productivity. focus@will on Sonos. Set up your account now to begin.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','SMAPI' => 'https://www.focusatwill.com/sonos/action','ResolutionSubstitution' => '-1500.png','ServiceType' => '49159'},'53' => {'Name' => 'MLB.com Gameday Audio','Capabilities' => '1536','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-400x400.png','Resolution' => '400','PromoText' => 'Listen to every regular season and postseason game LIVE (no blackouts)','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-72x72.png','SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','ResolutionSubstitution' => '/400x400/','ServiceType' => '36871'},'216' => {'Name' => 'Aldi life Musik','Capabilities' => '4627','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','Resolution' => '1500','PromoText' => 'Aldi life Musik powered by Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','ResolutionSubstitution' => '1500x1500.jpg','ServiceType' => '55303'},'146' => {'Name' => 'Daytrotter','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','Resolution' => undef,'PromoText' => 'The source for new music from the best emerging bands, recorded live in Daytrotter's studios.','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','ResolutionSubstitution' => undef,'ServiceType' => '48903'}}) missed to call readingsBeginUpdate first.
2017.06.26 20:01:02 1: stacktrace:
2017.06.26 20:01:02 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.26 20:01:02 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.26 20:01:02 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.26 20:01:02 1:     main::CallFn                        called by fhem.pl (686)
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.26 20:38:05 1: Perfmon: possible freeze starting at 20:38:04, delay is 1.115
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.26 20:48:45 1: Perfmon: possible freeze starting at 20:48:43, delay is 2.002
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.26 21:20:04 1: Perfmon: possible freeze starting at 21:20:03, delay is 1.969
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.


Kann da jemand was mit anfangen?  :-[
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

juemuc

Hallo Reinerlein,

ich vermute, dass bei einer Neudefinition noch ein kleiner Bug enthalten ist. Ich habe heute ein Fhem-System mit Sonos neu aufgesetzt und erhalte beim Start folgende Fehlermeldung:
ZitatSONOS0: Error during retreiving of FavouriteName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1341.
.
Da die Favoriten noch nicht zur Verfügung stehen, läuft der Vergleich auf einen Fehler. Wenn man den Befehl "get FavoritesWithCovers" manuell durchgeführt hat, passt es aber.
VG
juemuc
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Reinerlein

Hi joemuc,

im Prinzip ist der Fehler nicht vermeidbar, sollte aber auch gar nicht auftreten, da ich für ReadingsVal ja einen Defaultwert vorgebe. Aber ich habe jetzt einen andere Methodik eingebaut, und nun sollte es u.U. keine Meldung dazu geben...

Ansonsten hilft nur den Loglevel auf 0 zu setzen...

Grüße
Reinerlein

Zerika

#36
Hallo zusammen,

auch in der neuen Version habe ich weiterhin Probleme mit einer Vernünftigen Cover Anzeige in den entsprechenden ReadingGroups.

Am Player Device selbst werden die Cover richtig geladen und dargestellt, während in den ReadingGroups weiterhin nur der Platzhalter zu sehen ist. Anbei zwei entsprechende Screenshots.

Nach ein wenig Nachforschung scheint dass ganze an dem Aufbau der URL für die Cover zu liegen. Allerdings weiß ich weder wo, noch wie das ganze zu ändern wäre =)

URL am Player Device:
<div style="display: inline-block; margin-right: 5px; border: 1px solid lightgray; height: 10.75em; width: 10.75em; background-image: url(/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.178.58%3A1400%2Fgetaa%3Fs%3D1%26u%3Dx-sonos-http%253alibrarytrack%25253ai.17674.mp4%253fsid%253d204%2526flags%253d8224%2526sn%253d2); background-repeat: no-repeat; background-size: contain; background-position: center center;"><div style="position: relative; top: 0px; left: 2px; display: inline-block; height: 15px; width: 15px; background-image: url(); background-repeat: no-repeat; background-size: contain; background-position: center center;"></div></div>

URL in der RG an einem Element:
<div style="display: inline-block; border: solid 1px lightgray; margin: 3px; width: 70px; height: 70px; background-image: url(/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.178.58%3A1400%2Fgetaa%3Fu%3Dx-sonos-http%253Alibrarytrack%25253ai.17190.mp4%253Fsid%253D204%2526flags%253D8224%2526sn%253D2); background-repeat: no-repeat; background-size: contain; background-position: center center;" onclick="FW_cmd('/fhem?XHR=1&amp;cmd.Sonos_Kueche%3Dset%20Sonos_Kueche%20Track%201')"></div>

Der Unterschied wird noch deutlicher wenn man innerhalb des divs die entsprechende background-image URL vergleicht:

Player Device: /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.178.58%3A1400%2Fgetaa%3Fs%3D1%26u%3Dx-sonos-http%253alibrarytrack%25253ai.17674.mp4%253fsid%253d204%2526flags%253d8224%2526sn%253d2
ReadingsGroup: /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.178.58%3A1400%2Fgetaa%3Fu%3Dx-sonos-http%253Alibrarytrack%25253ai.17190.mp4%253Fsid%253D204%2526flags%253D8224%2526sn%253D2


Auch ein löschen des Attributes generateProxyAlbumArtURLs bringt für die Cover Anzeige in den RGs keine Besserung.

Falls noch weitere Infos benötigt werden einfach Bescheid sagen.

Freundliche Grüße
Zerika

Reinerlein

Hi Zerika,

die Grundlage dieser RGs sind die entsprechenden Readings am Playerdevice. Bei deiner Queue dann das Reading "Queue". Diese werden nur bei Veränderung (wenn das Attribut "getQueueListAtNewVersion", am Besten zusammen mit "getListsDirectlyToReadings" gesetzt ist) oder nach manueller Aufforderung mittels "get <Player> QueueWithCovers" (mit eigenem userReading oder Attribut "getListsDirectlyToReadings") aktualisiert...

Zu dem Zeitpunkt der Aktualisierung werden dann die entsprechenden Attribute für die passende Erzeugung der Bildverweise berücksichtigt.

Ansonsten habe ich auch bei mir wieder einige Cover gefunden, die nicht funktionieren, und ich werde mir das noch mal anschauen. Das allerdings gar keine angezeigt werden ist schon komisch...

Was ist das denn eigentlich für ein Musikdienst? 204 als SID ist etwas ungewöhnlich...

Grüße
Reinerlein

Zerika

Hi Reinerlein,

die Aktualisierung der RG funtkioniert grundsätzlich auch. Zumindest wenn ich das Attribut generateProxyAlbumArtURLs lösche werden die Cover erst "angepasst" wenn ich sie am Player Device mit get QueueWithCovers abrufe. Ohne Proxy bleiben die Coveranzeigen dann jedoch komplett schwarz und es ist nur der Rahmen zu sehen.

Die entsprechenden Attribute am Sonos Device sind bereits gesetzt


Attributes:
   generateProxyAlbumArtURLs 1
   getFavouritesListAtNewVersion 1
   getListsDirectlyToReadings 1
   getPlaylistsListAtNewVersion 1
   getQueueListAtNewVersion 1
   getRadiosListAtNewVersion 1
   verbose    1


Der verwendete Musikdienst aktuell ist Apple Music.
Cover von Radios über Tunein werden sauber dargestellt...

Grüße
Zerika

Reinerlein

Hi Zerika,

habe einen Fehler beim Zerlegen der Musicservices entdeckt, der dafür sorgte, dass Apple Music einfach mal nicht berücksichtigt wird :) Du müsstest auch keine Trackprovider-Informationen gehabt haben.

Ich habe das nun drin... mit dem nächsten checkin musst du das dann mal prüfen, da ich kein Apple Music habe...

Grüße
Reinerlein

Zerika

Alles klar,

ich werds beobachten und dann entsprechend Rückmeldung geben.  :)

Gruß
Zerika

Nobby1805

Zitat von: Reinerlein am 26 Juni 2017, 10:54:11
Hallo zusammen,

ich stehe echt auf dem Schlauch, und kann mir diese fehlenden "readingsBeginUpdate"-Anweisungen nicht erklären.

Natürlich stehen sie drin, müssen aber, wie alles andere auch, erst per Netzwerkkommunikation zum Fhem-Teil des Moduls übertragen werden.
Ich habe mal ein paar zusätzliche Logs eingebaut ... und jetzt nach 2 Tagen ist der Fehler aufgetreten
} elsif ($line =~ m/ReadingsBeginUpdate:(.*)/) {
my $hash = undef;
if (lc($1) eq 'undef') {
$hash = SONOS_getSonosPlayerByName();
} else {
$hash = SONOS_getSonosPlayerByUDN($1);
}

if ($hash) {
      SONOS_Log undef, 0, "Aufruf von ReadingsBeginUpdate";           ##<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

readingsBeginUpdate($hash);
} else {
SONOS_Log undef, 0, "Fehlerhafter Aufruf von ReadingsBeginUpdate: $1";
}
} elsif ($line =~ m/ReadingsEndUpdate:(.*)/) {
my $hash = undef;
if (lc($1) eq 'undef') {
$hash = SONOS_getSonosPlayerByName();
} else {
$hash = SONOS_getSonosPlayerByUDN($1);
}

if ($hash) {
      SONOS_Log undef, 0, "Aufruf von ReadingsEndUpdate";               #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
readingsEndUpdate($hash, 1);
} else {
SONOS_Log undef, 0, "Fehlerhafter Aufruf von ReadingsEndUpdate: $1";
}
sub SONOS_readingsBulkUpdateIfChanged($$$) {
my ($hash, $readingName, $readingValue) = @_;

return if (!defined($hash) || !defined($readingName) || !defined($readingValue));
 
my $st=undef;
  if (ReadingsVal($hash->{NAME}, $readingName, '~~ReAlLyNoTeQuAlSmArKeR~~') ne $readingValue) {
    $st=readingsBulkUpdate($hash, $readingName, $readingValue);
        SONOS_Log undef, 0, "Aufgerufen BulkUpdateIfChanged $hash $readingName $readingValue $st";     #<<<<<<<<<<<
  }
}

Der Log zeigt, dass beginUpdate vor dem Fehler aufgerufen worden ist
Zitat2017.06.28 23:17:58.848 0: SONOS0: Aufruf von ReadingsBeginUpdate
2017.06.28 23:17:59.123 1: readingsUpdate(Sonos_Schlafzimmer,currentTrackURI,x-file-cifs://homeserver/Musik/Einzeltitel/01%20-%20A-ha%20-%20Cry%20Wolf.mp3) missed to call readingsBeginUpdate first.
2017.06.28 23:17:59.123 1: stacktrace:
2017.06.28 23:17:59.124 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9526)
2017.06.28 23:17:59.124 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1238)
2017.06.28 23:17:59.124 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.28 23:17:59.124 1:     main::CallFn                        called by fhem.pl (686)
2017.06.28 23:17:59.159 1: PERL WARNING: Use of uninitialized value $st in concatenation (.) or string at ./FHEM/00_SONOS.pm line 9527.
2017.06.28 23:17:59.160 0: SONOS0: Aufgerufen BulkUpdateIfChanged HASH(0x32887d4) currentTrackURI x-file-cifs://homeserver/Musik/Einzeltitel/01%20-%20A-ha%20-%20Cry%20Wolf.mp3
2017.06.28 23:17:59.162 1: readingsUpdate(Sonos_Schlafzimmer,currentTrackProvider,) missed to call readingsBeginUpdate first.
2017.06.28 23:17:59.163 1: stacktrace:
2017.06.28 23:17:59.163 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9526)
2017.06.28 23:17:59.164 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1238)
2017.06.28 23:17:59.164 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.28 23:17:59.164 1:     main::CallFn                        called by fhem.pl (686)
2017.06.28 23:17:59.166 0: SONOS0: Aufgerufen BulkUpdateIfChanged HASH(0x32887d4) currentTrackProvider 
2017.06.28 23:17:59.169 1: readingsUpdate(Sonos_Schlafzimmer,currentTrackProviderIconRoundURL,) missed to call readingsBeginUpdate first.
2017.06.28 23:17:59.170 1: stacktrace:
2017.06.28 23:17:59.174 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9526)
2017.06.28 23:17:59.175 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1238)
2017.06.28 23:17:59.175 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.28 23:17:59.176 1:     main::CallFn                        called by fhem.pl (686)
2017.06.28 23:17:59.178 0: SONOS0: Aufgerufen BulkUpdateIfChanged HASH(0x32887d4) currentTrackProviderIconRoundURL 
2017.06.28 23:17:59.196 1: readingsUpdate(Sonos_Schlafzimmer,currentTrackProviderIconQuadraticURL,) missed to call readingsBeginUpdate first.
2017.06.28 23:17:59.196 1: stacktrace:
2017.06.28 23:17:59.197 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9526)
2017.06.28 23:17:59.197 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1238)
2017.06.28 23:17:59.197 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.28 23:17:59.197 1:     main::CallFn                        called by fhem.pl (686)
2017.06.28 23:17:59.199 0: SONOS0: Aufgerufen BulkUpdateIfChanged HASH(0x32887d4) currentTrackProviderIconQuadraticURL 
2017.06.28 23:17:59.206 1: readingsUpdate(Sonos_Schlafzimmer,currentTrackPosition,0:02:01) missed to call readingsBeginUpdate first.
2017.06.28 23:17:59.206 1: stacktrace:
2017.06.28 23:17:59.206 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.28 23:17:59.207 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.28 23:17:59.207 1:     main::CallFn                        called by fhem.pl (686)
2017.06.28 23:17:59.209 1: readingsUpdate(Sonos_Schlafzimmer,currentTrackPositionSec,121) missed to call readingsBeginUpdate first.
2017.06.28 23:17:59.209 1: stacktrace:
2017.06.28 23:17:59.209 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.28 23:17:59.210 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.28 23:17:59.211 1:     main::CallFn                        called by fhem.pl (686)
2017.06.28 23:17:59.220 1: readingsUpdate(Sonos_Schlafzimmer,currentStreamAudio,) missed to call readingsBeginUpdate first.
2017.06.28 23:17:59.221 1: stacktrace:
2017.06.28 23:17:59.221 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9526)
2017.06.28 23:17:59.222 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1238)
2017.06.28 23:17:59.223 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.28 23:17:59.224 1:     main::CallFn                        called by fhem.pl (686)
2017.06.28 23:17:59.227 0: SONOS0: Aufgerufen BulkUpdateIfChanged HASH(0x32887d4) currentStreamAudio 
2017.06.28 23:17:59.252 0: SONOS0: Aufruf von ReadingsEndUpdate
Vermutlich liegt es an der Methode, wie erkannt wird ob BeginUpdate aufgerufen worden ist ... da muss ich das Log noch einmal erweitern
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hallo Nobby,

du musst in der Logausgabe unbedingt einbauen, für welches Device die Begin-, End- und Updateaufrufe ausgeführt werden. Sie könnten für verschiedene Devices sein...

Im Prinzip erhält man das mit einem Log auf Level 5 auch alles.
Ich habe hier bei mir die Möglichkeit eingebaut, die Logausgaben des SubProzess in eine Datei zu schreiben. Damit habe ich im Fhem-Log nur noch die Logausgaben des Fhem-seitigen Teils des Moduls.
Da sehe ich sehr schön, dass (bei mir) die Begin- und End-Aufrufe immer als Pärchen um die entsprechenden Bulkupdates herum passen, und keinerlei Singleupdates für dieses Device dazwischen kommen... zumindest bei mir :)

Ich kann die Version ja mal einchecken, dann kann das jeder besser überblicken. Momentan wird das ja ziemlich unübersichtlich wegen der beiden Modulebenen innerhalb einer Logdatei...

Grüße
Reiner

Nobby1805

Hallo Reiner,

ja klar ... aber bei 5 wurde es mir einfach zu unübersichtlich ... ich versuche z.Zt. den Zeitstempel der von beginUpdate gesetzt wird jeweils vor einem BulkUpdate auszugeben ... das klappt aber irgendwie nicht, in fhem.pl wird der mit $hash->{".updateTimestamp"} angesprochen

Gruß Norbert
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

ThiemoSt

Zitat von: Reinerlein am 23 Juni 2017, 15:08:10
da scheint sich ein Nicht-Sonos-Player einzumischen. Einfach im Attribut ignoredIPs am Sonos-Device angeben, und damit ignorieren lassen...


Die angegebene IP ist jedoch keine aus meinem Netz (ich nutze 192.168.xxx.xxx).
Diese IP zu den Ignore hinzuzufügen hat auch nichts gebracht.

Wäre es hilfreich zur Fehlersuche Zugriff auf meine Testinstallation zu bekommen um direkt zu testen?
FHEM, Ubuntu unter Proxmox (NUCi7)
FHT80B; CUL_FHTTK; HMUARTLGW; HUE; Netatmo; ENIGMA2; FRITZBOX; S7 und viele weitere.

zap

#45
Seit dem letzten Update schmiert bei mir das SONOS Modul regelmäßig ab. Eine Steuerung der Player ist danach nicht mehr möglich. Ich muss FHEM neu starten. Hier einige Logmeldungen dazu:


readingsUpdate(d_sonhome,MusicServicesList,{'223' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','ResolutionSubstitution' => undef,'ServiceType' => '57095','Name' => 'RauteMusik.FM','Resolution' => undef,'Capabilities' => '513','SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','PromoText' => ' Erlebe dutzende ko

#
# Rest gekürzt

missed to call readingsBeginUpdate first.
2017.06.29 08:34:38 1: stacktrace:
2017.06.29 08:34:38 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.29 08:34:38 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.29 08:34:38 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.29 08:34:38 1:     main::CallFn                        called by fhem.pl (686)


Update: Ok, sehe gerade ich bin nicht der Einzige mit diesem Fehler. Dann warte ich mal ab.

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Fixel2012

Muss mich leider nochmals melden, in mein Log ist voll mit Meldungen obwohl verbose den Sonos Moduls auf 0 ist.

Komischerweise habe ich gar keine Probleme mit dem Modul, es läuft bei mir einwandfrei (es stürzt nichts ab und bleibt nichts hängen), allerdings habe ich die nervigen Log Einträge.


Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.29 11:48:45 1: Perfmon: possible freeze starting at 11:48:44, delay is 1.857

Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.29 12:48:46 1: Perfmon: possible freeze starting at 12:48:44, delay is 2.123
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.


Habe die Meldungen leider dauerhaft über den ganzen Tag verteilt.

Ist es möglich die Meldungen zu unterdrücken?

Danke schon mal!

Gruß,
Fixel
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

DeeSPe

Zitat von: Fixel2012 am 29 Juni 2017, 13:57:47
Muss mich leider nochmals melden, in mein Log ist voll mit Meldungen obwohl verbose den Sonos Moduls auf 0 ist.

Komischerweise habe ich gar keine Probleme mit dem Modul, es läuft bei mir einwandfrei (es stürzt nichts ab und bleibt nichts hängen), allerdings habe ich die nervigen Log Einträge.


Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.29 11:48:45 1: Perfmon: possible freeze starting at 11:48:44, delay is 1.857

Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
2017.06.29 12:48:46 1: Perfmon: possible freeze starting at 12:48:44, delay is 2.123
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4000 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4024 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4048 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4072 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4096 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4120 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4168 thread 1.
Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4192 thread 1.


Habe die Meldungen leider dauerhaft über den ganzen Tag verteilt.

Ist es möglich die Meldungen zu unterdrücken?

Danke schon mal!

Gruß,
Fixel

Das Problem habe ich leider auch und bisher keine Möglichkeit gefunden das zu unterdrücken.
Die bei mir angemeckerte IP ist die IP meines Sonos-Master.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Fixel2012

#48
Zitat von: DeeSPe am 29 Juni 2017, 14:45:31
Das Problem habe ich leider auch und bisher keine Möglichkeit gefunden das zu unterdrücken.
Die bei mir angemeckerte IP ist die IP meines Sonos-Master.

Gruß
Dan

Wie erkenne ich einen Sonos Master?

Bei mir ist es die IP meines ConnectAMP, den schalte ich mit einer Funksteckdose, weil der selbst im Leerlauf wärme produziert.

Da er die meiste zeit aus ist, ist es klar das Fhem den Player nicht erreichen kann. Vielleicht hört es auf wenn der Player wieder an ist...

EDIT: Nach einem Neustart des Sonos Moduls, ist der Master nun ein Player, der dauerhaft an ist. Ich hoffe die Fehlermeldungen sind somit weg.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Lorenz

Zitat von: DeeSPe am 29 Juni 2017, 14:45:31
Das Problem habe ich leider auch und bisher keine Möglichkeit gefunden das zu unterdrücken.
Die bei mir angemeckerte IP ist die IP meines Sonos-Master.

Gruß
Dan
Ich hatte auch dieses Problem. Habe vorhin die Devices der Player gelöscht und neu anlegen lassen - damit sieht es momentan besser aus, allerdings noch keine Langzeiterfahrung.

Gruß Lorenz
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

Nobby1805

Hallo Reiner,

nein, das Problem ist mit dem erweiterten Logging noch nicht wieder aufgetreten, aber schau dir mal folgende Sequenz an2017.06.29 17:48:23.491 0: SONOS0: Aufruf von ReadingsBeginUpdate RINCON_000E58C1DE0A01400_MR HASH(0x3288314) 2017-06-29 17:48:23
2017.06.29 17:48:23.493 0: SONOS0: Aufruf von ReadingsEndUpdate RINCON_000E58C1DE0A01400_MR HASH(0x3288314) 2017-06-29 17:48:23
2017.06.29 17:48:24.089 0: SONOS0: Aufgerufen BulkUpdateIfChanged HASH(0x3288314) numberOfTracks 48 numberOfTracks: 48

da kommt das Update nach dem EndUpdate ??

Gruß Norbert
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

sTaN

Zitat von: sTaN am 25 Juni 2017, 21:17:56
Ich schließe mich auch mal den Fehlermeldungen an.
Nach heutigem FHEM Update erhalte ich auf der Startseite folgende Ausgabe:

Messages collected while initializing FHEM:
configfile: Usage: define readingsGroup +
Usage: define readingsGroup +
Usage: define readingsGroup +


Ansonsten folgende SONOS spezifische Fehlermeldungen:

2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentStreamAudio,) missed to call readingsBeginUpdate first.
2017.06.25 20:44:01 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:44:01 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:44:01 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:44:01 1: stacktrace:
2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentTrackPositionSec,95) missed to call readingsBeginUpdate first.
2017.06.25 20:44:01 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:44:01 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:44:01 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:44:01 1: stacktrace:
2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentTrackPosition,0:01:35) missed to call readingsBeginUpdate first.
2017.06.25 20:44:01 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:44:01 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:44:01 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.25 20:44:01 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.25 20:44:01 1: stacktrace:
2017.06.25 20:44:01 1: readingsUpdate(Sonos_Bad,currentTrackURI,x-sonos-spotify:spotify%3atrack%3a788Fpm2mKElTdRnRPtzSgW?sid=9&flags=8224&sn=1) missed to call readingsBeginUpdate first.
2017.06.25 20:43:35 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:35 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:35 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.25 20:43:35 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.25 20:43:35 1: stacktrace:
2017.06.25 20:43:35 1: readingsUpdate(Sonos_Bad,currentStreamAudio,) missed to call readingsBeginUpdate first.
2017.06.25 20:43:35 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:35 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:35 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:43:35 1: stacktrace:
2017.06.25 20:43:35 1: readingsUpdate(Sonos_Bad,currentTrackPositionSec,69) missed to call readingsBeginUpdate first.
2017.06.25 20:43:34 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:34 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:34 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1224)
2017.06.25 20:43:34 1: stacktrace:
2017.06.25 20:43:34 1: readingsUpdate(Sonos_Bad,currentTrackPosition,0:01:09) missed to call readingsBeginUpdate first.
2017.06.25 20:43:34 1:     main::CallFn                        called by fhem.pl (686)
2017.06.25 20:43:34 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.25 20:43:34 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1237)
2017.06.25 20:43:34 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9519)
2017.06.25 20:43:34 1: stacktrace:
2017.06.25 20:43:34 1: readingsUpdate(Sonos_Bad,currentTrackURI,x-sonos-spotify:spotify%3atrack%3a788Fpm2mKElTdRnRPtzSgW?sid=9&flags=8224&sn=1) missed to call readingsBeginUpdate first.


Gleiche Meldungen bei meinen Sonos im Wohnzimmer und Schlafzimmer

EDIT: Ich schließe mich gleich mal inoma an. Auch ich habe meine Player über FHEM gelöscht und wollte sie über den autocreate neu anlegen lassen. Nachdem Löschen hängt FHEM mit folgendem Fehler im Logfile:

2017.06.25 21:19:11 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 9870.
2017.06.25 21:19:11 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9619.


Gruß
sTaN

Nachdem ich nach den ganzen Fehlern, nochmals Sonos inkl. Player komplett aus der fhem.cfg entfernt hatte schien es zunächst zu funktionieren. Aber die letzten Tage haben sich die gleichen Fehlermeldungen wieder gehäuft und Zack die Player waren disapeared. Der Sonos selbst zeigte den status disconnected. Habe Sonos attribute disabled = 1 gesetzt und anschließend gelöscht. Nun erhalte ich folgenden Feher:

Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9960, <$client> line 5.

Wo finde ich den die alte Sonos.pm, die vor dem 20.06.2017 noch funktioniert hat? Reicht es, wenn ich die einfach zurück tausche?
Momentan ist die aktuele pm leider nutzlos für mich, was extrem schade ist. Würde auch gern noch mehr unterstützen aber weiß nicht wie.

LG sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Nobby1805

Hallo Reiner,

so, jetzt ist das Problem unmittelbar nach einem Neustart von FHEM, ich hatte wieder Logs geändert, aufgetreten
Ich bin der Meinung, dass von beginUpdate bis endUpdate alles richtig aussieht , überall die selbe Hashadresse 2017.06.30 16:49:46.962 0: SONOS0: Aufruf 1255 von ReadingsBeginUpdate RINCON_000E58C1DE0A01400_MR HASH(0x328c8d4) 2017-06-30 16:49:46
2017.06.30 16:49:47.589 1: readingsUpdate(Sonos_Schlafzimmer,AlarmList,{'85' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '07:50:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '01:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'57' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '08:40:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '00:30:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'37' => {'Recurrence_Monday' => 1,'Repeat' => 0,'Recurrence_Thursday' => 1,'StartTime' => '06:28:00','Recurrence_Friday' => 1,'Recurrence_Wednesday' => 1,'Recurrence_Once' => 0,'Recurrence_Tuesday' => 1,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '02:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 0,'Volume' => '21'},'48' => {'Recurrence_Monday' => 1,'Repeat' => 0,'Recurrence_Thursday' => 1,'StartTime' => '08:56:00','Recurrence_Friday' => 1,'Recurrence_Wednesday' => 1,'Recurrence_Once' => 0,'Recurrence_Tuesday' => 1,'Recurrence_Sunday' => 1,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '00:45:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 1,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'83' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '07:00:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '01:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'38' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '06:45:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '01:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 0,'Volume' => '25'}}) missed to call readingsBeginUpdate first.
2017.06.30 16:49:47.590 1: stacktrace:
2017.06.30 16:49:47.590 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9560)
2017.06.30 16:49:47.590 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1242)
2017.06.30 16:49:47.591 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.30 16:49:47.591 1:     main::CallFn                        called by fhem.pl (686)
2017.06.30 16:49:47.599 0: SONOS0: Aufruf 9547 von BulkUpdateIfChanged HASH(0x328c8d4) AlarmList {'85' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '07:50:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '01:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'57' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '08:40:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '00:30:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'37' => {'Recurrence_Monday' => 1,'Repeat' => 0,'Recurrence_Thursday' => 1,'StartTime' => '06:28:00','Recurrence_Friday' => 1,'Recurrence_Wednesday' => 1,'Recurrence_Once' => 0,'Recurrence_Tuesday' => 1,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '02:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 0,'Volume' => '21'},'48' => {'Recurrence_Monday' => 1,'Repeat' => 0,'Recurrence_Thursday' => 1,'StartTime' => '08:56:00','Recurrence_Friday' => 1,'Recurrence_Wednesday' => 1,'Recurrence_Once' => 0,'Recurrence_Tuesday' => 1,'Recurrence_Sunday' => 1,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '00:45:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 1,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'83' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '07:00:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '01:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 1,'Volume' => '25'},'38' => {'Recurrence_Monday' => 0,'Repeat' => 0,'Recurrence_Thursday' => 0,'StartTime' => '06:45:00','Recurrence_Friday' => 0,'Recurrence_Wednesday' => 0,'Recurrence_Once' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'ProgramURI' => 'x-sonosapi-stream:s100198?sid=254&flags=32','IncludeLinkedZones' => '0','Duration' => '01:00:00','RoomUUID' => 'RINCON_000E58C1DE0A01400','Recurrence_Saturday' => 0,'Enabled' => '0','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/0" parentID="R:0/0" restricted="true"><dc:title>1LIVE - Das junge Radio des WDR.</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Shuffle' => 0,'Volume' => '25'}}
2017.06.30 16:49:47.601 1: readingsUpdate(Sonos_Schlafzimmer,AlarmListIDs,37,38,48,57,83,85) missed to call readingsBeginUpdate first.
2017.06.30 16:49:47.601 1: stacktrace:
2017.06.30 16:49:47.602 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9560)
2017.06.30 16:49:47.602 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1242)
2017.06.30 16:49:47.602 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.30 16:49:47.602 1:     main::CallFn                        called by fhem.pl (686)
2017.06.30 16:49:47.604 0: SONOS0: Aufruf 9547 von BulkUpdateIfChanged HASH(0x328c8d4) AlarmListIDs 37,38,48,57,83,85
2017.06.30 16:49:47.606 1: readingsUpdate(Sonos_Schlafzimmer,AlarmListVersion,RINCON_000E58A376D201400:144) missed to call readingsBeginUpdate first.
2017.06.30 16:49:47.606 1: stacktrace:
2017.06.30 16:49:47.606 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9560)
2017.06.30 16:49:47.607 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1242)
2017.06.30 16:49:47.607 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.06.30 16:49:47.607 1:     main::CallFn                        called by fhem.pl (686)
2017.06.30 16:49:47.608 0: SONOS0: Aufruf 9547 von BulkUpdateIfChanged HASH(0x328c8d4) AlarmListVersion RINCON_000E58A376D201400:144
2017.06.30 16:49:47.612 1: PERL WARNING: Use of uninitialized value $tstmp in concatenation (.) or string at ./FHEM/00_SONOS.pm line 1278.
2017.06.30 16:49:47.613 0: SONOS0: Aufruf 1271 von ReadingsEndUpdate RINCON_000E58C1DE0A01400_MR HASH(0x328c8d4)

Die vorletzte Zeile bzgl. der initialisierten Variablen $tstmp beim End-Update zeigt übrigens, dass der Eintrag .updateTimestamp im Hash wirklich fehlt was ja auch der Grund für die Fehlermeldung im BulkUpdate ist.
Wer löscht diesen Eintrag? (Außer wie es gewollt ist im EndUpdate) Leider schaffe ich es nicht, an diversen Stellen im Sonos-Modul den Wert zu loggen ... Perl war nie meine Lieblingssprache und wird es wohl auch nie werden

Gruß Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Nobby1805

Hallo Reiner,

mein Log hat es noch nicht gezeigt ... aber mir ist einen Idee gekommen ...#

Neuerdings werden ja auch im 21_SONOSPLAYER Updates gemacht ... und wenn so ein Update kommt während im 00_SONOS zwar das BeginUpdate aufgerufen wurde aber noch nicht alle Updates durchgeführt worden sind, dann setzt das EndUpdate im SONSOPLAYER die Marke zurück

Spätestens wenn mein Log dies nachweisen oder widerlegen kann melde ich mich wieder

Gruß Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

das wäre dann möglich, wenn der Read-Prozess im Sonos.pm zwischen zwei (oder mehreren) TCP-Paketen unterbrochen werden würde. Eigentlich sende ich vom SubProzess aus alles in einem Rutsch (es wird erst gesammelt, und dann auf einen Schlag zum Senden freigegeben), sodass eigentlich genau keine Unterbrechung erfolgen sollte (Fhem läuft ja nur Singlethreaded)...

Ich verwende die sekündliche Aktualisierung ja auch :)
Und es gab auch vorher Updates, allerdings nur bei Befehlsaufrufen wie AddMember oder Wifi oder so.

Aber mal schauen, was rauskommt...

Grüße
Reiner

zap

Jetzt habe ich plötzlich auch die "Can't Connect" Meldungen. Würde es wieder funktionieren, wenn ich auf die alte Version zurück gehe oder gibt es da Kompatibilitätsprobleme?


Renewal of subscription failed with error: 500 Can't connect to 192.168.1.68:1400 at ./FHEM/00_SONOS.pm line 4144 thread 1
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

awel

#56
Zitat von: sTaN am 30 Juni 2017, 13:14:09
Nachdem ich nach den ganzen Fehlern, nochmals Sonos inkl. Player komplett aus der fhem.cfg entfernt hatte schien es zunächst zu funktionieren. Aber die letzten Tage haben sich die gleichen Fehlermeldungen wieder gehäuft und Zack die Player waren disapeared.

Ich habe dieselbe Erfahrung und SONOS inzwischen mehrfach neu installiert. Nach der letzten Neuinstallation der Sonos-Komponenten lief es zwei Tage fehlerfrei, dann hatten die Player ohne Änderungen an FHEM den Wert disapeared. Im LOG fand ich:
2017.06.30 22:00:10 3: dwd_getalerts return value: Keine Warnmeldung für die gesuchte Region vorhanden.
Out of memory!
Perl exited with active threads:
2 running and unjoined
1 finished and unjoined
0 running and detached
2017.06.30 22:41:36 1: localhost:4711 disconnected, waiting to reappear (Sonos)
2017.06.30 22:43:07 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2017.06.30 22:43:14 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
(dwd ist die GDS-Komponente für den Deutschen Wetterdienst)
Danach waren die Player bis zum Neustart von FHEM "disapeared". Die SONOS-Player laufen mit der aktuellen Firmware-Version 7.3 (Build 36442130), FHEM läuft auf einem RASPI.

Ich werde jetzt auch wieder auf die alten Versionen der FHEM-Sonos-Module zurücksetzen.
Wäre es bei den aktuellen Problemen mit SONOS nicht sinnvoller, wieder die alten, funktionierenden Versionen in die Verteilung einzubinden?

Vielen Dank für Deine Mühen, Reiner
vG Achim

Nachtrag / edit:
Gerade habe ich im GDS-Wiki folgenden Hinweis gefunden:
ZitatBekannte Probleme:
Das GDS-Modul wurde mittlerweile auf "non-blocking" umgeschrieben, führt aber dennoch hin und wieder zu Meldungen einzelner Nutzer, dass FHEM "einfriert" (nichts macht), während auf die Rückmeldung von, z. B., einem FTP-Transfer ("get [gdsName] conditionsmap" etc.) gewartet wird. Das kann bei Timing-kritischen Bestandteilen zu Problemen führen, weil Events nicht mitbekommen werden, die Ansteuerung von Geräten nicht funktioniert, etc.

Gibt es da evtl. Gemeinsamkeiten? Benutzen diejenigen, die Probleme mit den neuen SONOS-Versionen haben, alle auch das GDS-Modul oder ähnlich arbeitende Module?

Reinerlein

#57
Hi Achim,

das habe ich auch schon gedacht, bin mir aber nicht sicher wie dieses Nonblocking genau arbeitet...
Es würde im Sonos-Modul auf jeden Fall ein Problem geben, wenn der Read-Aufruf, der die Daten vom SubProzess entgegennimmt, unterbrochen werden würde. Dann wäre auch die Sache mit den fehlenden beginUpdates zumindest theoretisch erklärbar :)

Das Sonos-Modul ist durch die SubProzess-Abkopplung zunächst mal Nonblocking (in Bezug auf Fhem), muss aber in einem Rutsch die Daten an Fhem loswerden (sozusagen atomar wegen der Bulkupdate-Geschichte), also dort Blocking, aber eben nur die Datenübertragung (was bei einigen Readings aber auch echt viel werden kann :) ).

Ich schaue mal wegen Nonblocking, wie das arbeitet...

EDIT: Blocking arbeitet über die Telnet-Schnittstelle, sollte also nicht dazwischenfunken, da es erst verarbeitet wird, wenn die zentrale Schleife wieder dran ist (was erst *nach* meinem Read-Aufruf erfolgen wird)...

Grüße
Reiner

zap

Zitat von: Reinerlein am 01 Juli 2017, 11:02:08
Das Sonos-Modul ist durch die SubProzess-Abkopplung zunächst mal Nonblocking (in Bezug auf Fhem), muss aber in einem Rutsch die Daten an Fhem loswerden (sozusagen atomar wegen der Bulkupdate-Geschichte), also dort Blocking, aber eben nur die Datenübertragung (was bei einigen Readings aber auch echt viel werden kann :) ).

Ich hatte bei meinem Modul auch Timing-Probleme mit dem Datenaustausch zwischen SubProzess und FHEM. Gelöst habe ich es durch die Verwendung von Threads und shared memory Queues. Dadurch wird die Datenübertragung zwischen SubThread und FHEM asynchron. In FHEM wird in Read() dann auch immer nur eine bestimmte Menge Daten aus der Queue gelesen und die Reading aktualisiert. Der Rest folgt dann beim nächsten Read() Aufruf.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Nobby1805

#59
Hallo Reiner,

Zitat von: Nobby1805 am 30 Juni 2017, 18:09:20
... und wenn so ein Update kommt während im 00_SONOS zwar das BeginUpdate aufgerufen wurde aber noch nicht alle Updates durchgeführt worden sind, dann setzt das EndUpdate im SONSOPLAYER die Marke zurück
ich habe das mal weiter gedacht und bin dann auf die Idee gekommen, dass bei einem "dazwischen kommenden" Update ja beim BeginUpdate die Marke schon gesetzt sein muss ... also habe ich dort eine Prüfung eingebaut die dann eine Meldung ausgibt ...

Schon beim Neustart das FHEM kam diese Meldung das erste Mal ... und  seit dem schon mehrfach ...

Beim Nachschauen in der Source habe ich dann gefunden, dass die verwendeten SingleUpdates in die Sequenz BeginUpdate, BulkUpdate, EndUpdate aufgelöst werden und dadurch dann das Problem auslösen können2017.07.01 13:09:52.470 0: SONOS0: Aufruf 1272 ReadingsBeginUpdate undef HASH(0x24b792c) 2017-07-01 13:09:52
2017.07.01 13:09:52.476 1: readingsBeginUpdate(Sonos) doppelter Aufruf 2017-07-01 13:09:52
2017.07.01 13:09:52.476 1: stacktrace:
2017.07.01 13:09:52.477 1:     main::readingsBeginUpdate           called by fhem.pl (4491)
2017.07.01 13:09:52.477 1:     main::readingsSingleUpdate          called by ./FHEM/00_SONOS.pm (1742)
2017.07.01 13:09:52.477 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.01 13:09:52.477 1:     main::CallFn                        called by fhem.pl (686)
2017.07.01 13:09:52.488 0: SONOS0: Aufruf 1745 readingsSingleUpdate HASH(0x24b792c) LastProcessAnswer 2017-07-01 13:09:52
2017.07.01 13:09:52.636 0: SONOS0: Aufruf 1289 ReadingsEndUpdate   undef HASH(0x24b792c)


Bisher ist allerdings der andere Fehler in Folge noch nicht aufgetreten, aber warten wir mal ab ...

Gruß Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Zap,

das geht hier nicht, da das Modul auch dafür gedacht ist, real auf unterschiedlichen Maschinen zu laufen.
Sonos hat das Problem, das UPnP nicht groutet wird. Das bedeutet, dass Fhem immer im selben Netz wie die Sonos-Player laufen müsste.
Damit das nicht so ist, ist der SubProzess über TCP/IP angebunden...

@Nobby: das mit den Singleupdates hatte ich schon geprüft, da passieren (bei mir) aber auch keine dazwischen...

Grüße
Reiner

Nobby1805

Zitat von: Reinerlein am 30 Juni 2017, 19:07:12
Hi Nobby,

das wäre dann möglich, wenn der Read-Prozess im Sonos.pm zwischen zwei (oder mehreren) TCP-Paketen unterbrochen werden würde. Eigentlich sende ich vom SubProzess aus alles in einem Rutsch (es wird erst gesammelt, und dann auf einen Schlag zum Senden freigegeben), sodass eigentlich genau keine Unterbrechung erfolgen sollte (Fhem läuft ja nur Singlethreaded)...
Hi Reiner,

diese Sequenz aus dem Log zeigt doch eigentlich, dass das nicht (immer) so ist ... da ist das singleUpdate zwischen das beiginUpdate und endUpdate aus dem Subprozess "gerutscht"

Gruß Nobby
2017.07.02 00:23:10.760 0: SONOS0: Aufruf 1272 ReadingsBeginUpdate undef HASH(0x24b792c) 2017-07-02 00:23:10
2017.07.02 00:23:10.762 1: readingsBeginUpdate(Sonos) doppelter Aufruf 2017-07-02 00:23:10
2017.07.02 00:23:10.762 1: stacktrace:
2017.07.02 00:23:10.763 1:     main::readingsBeginUpdate           called by fhem.pl (4491)
2017.07.02 00:23:10.763 1:     main::readingsSingleUpdate          called by ./FHEM/00_SONOS.pm (1742)
2017.07.02 00:23:10.763 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 00:23:10.763 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 00:23:10.768 0: SONOS0: Aufruf 1745 readingsSingleUpdate HASH(0x24b792c) LastProcessAnswer 2017-07-02 00:23:10
2017.07.02 00:23:10.883 0: SONOS0: Aufruf 1289 ReadingsEndUpdate   undef HASH(0x24b792c)
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

zap

#62
Genau. Und wenn man sich die Implementierung von readingSingleUpdate in fhem.pl anschaut, sieht man, das hier BeginUpdate und EndUpdate auch nochmal aufgerufen werden:


sub
readingsSingleUpdate($$$$)
{
  my ($hash,$reading,$value,$dotrigger)= @_;
  readingsBeginUpdate($hash);
  my $rv = readingsBulkUpdate($hash,$reading,$value);
  readingsEndUpdate($hash,$dotrigger);
  return $rv;
}


Das bringt das Bulk-Update aus dem Takt. Ich würde ein Flag setzen, wenn ein BeginUpdate aktiv ist und abhängig von diesem Flag bei der Aktualisierung entweder BulkUpdate oder SingleUpdate verwenden. Oder eben immer SingleUpdate, was allerdings sehr ineffizient ist.

Ich halte das aber für das geringere Problem als die Disconnects und Dissapears.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

Reinerlein

Hallo Nobby,

OK, tritt das nur bei LastProcessAnswer auf?
Auf jeden Fall habe ich dafür jetzt eine Prüfung eingebaut... Ich checke das nachher mal ein...

Aber auch hier: Das bedeutet, dass nicht alles auf einmal übertragen wurde, und die Netzwerkschnittstelle (bzw. die Kommunikation allg.) nicht alles auf einen Schlag liefert, überträgt und verarbeitet.

Wenn es sich tatsächlich auf dieses Reading beschränkt, kriegen wir das auf jeden Fall kurzristig in den Griff...

Grüße
Reiner

Nobby1805

#64
Hallo Reiner,

genau, das singleUpdate für LastProcessAnswer nach dem Loop der die Messages bearbeitet, da kann es ja jede Menge Gründe geben warum nicht alles auf einen Schlag übertragen bzw. bearbeitet wird, bei mir tippe ich drauf, dass das System nicht das schnellste ist ;)

und es ist jetzt gerade wirklich aufgetreten, nicht nur der Hinweis auf den doppelten Aufruf sondern auch das ursprüngliche Problem
Wenn du mir sagst, was du genau geändert hast dann ziehe ich das in meiner Version mit den erweiterten Logs nach
2017.07.02 10:44:21.607 0: SONOS0: Aufruf 1272 ReadingsBeginUpdate undef HASH(0x24b833c) 2017-07-02 10:44:21
2017.07.02 10:44:21.614 1: readingsBeginUpdate(Sonos) doppelter Aufruf 2017-07-02 10:44:21
2017.07.02 10:44:21.614 1: stacktrace:
2017.07.02 10:44:21.615 1:     main::readingsBeginUpdate           called by fhem.pl (4506)
2017.07.02 10:44:21.615 1:     main::readingsSingleUpdate          called by ./FHEM/00_SONOS.pm (1742)
2017.07.02 10:44:21.615 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.615 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.830 1: readingsUpdate(Sonos,MasterPlayerPlaying,[]) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.830 1: stacktrace:
2017.07.02 10:44:21.830 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.830 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.831 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.831 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.848 1: PERL WARNING: Use of uninitialized value $st in concatenation (.) or string at ./FHEM/00_SONOS.pm line 9582.
2017.07.02 10:44:21.849 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerPlaying []
2017.07.02 10:44:21.851 1: readingsUpdate(Sonos,MasterPlayerPlayingCount,0) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.851 1: stacktrace:
2017.07.02 10:44:21.851 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.851 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.851 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.852 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.853 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerPlayingCount 0
2017.07.02 10:44:21.855 1: readingsUpdate(Sonos,MasterPlayerNotPlaying,['Sonos_Schlafzimmer','Sonos_Wohnzimmer']) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.855 1: stacktrace:
2017.07.02 10:44:21.855 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.855 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.855 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.855 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.856 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerNotPlaying ['Sonos_Schlafzimmer','Sonos_Wohnzimmer']
2017.07.02 10:44:21.858 1: readingsUpdate(Sonos,MasterPlayerNotPlayingCount,2) missed to call readingsBeginUpdate first.
2017.07.02 10:44:21.859 1: stacktrace:
2017.07.02 10:44:21.859 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9580)
2017.07.02 10:44:21.859 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1248)
2017.07.02 10:44:21.859 1:     main::SONOS_Read                    called by fhem.pl (3412)
2017.07.02 10:44:21.859 1:     main::CallFn                        called by fhem.pl (686)
2017.07.02 10:44:21.860 0: SONOS0: Aufruf 9581 BulkUpdateIfChanged HASH(0x24b833c) MasterPlayerNotPlayingCount 2
2017.07.02 10:44:21.865 1: PERL WARNING: Use of uninitialized value $tstmp in concatenation (.) or string at ./FHEM/00_SONOS.pm line 1290.
2017.07.02 10:44:21.866 0: SONOS0: Aufruf 1289 ReadingsEndUpdate   undef HASH(0x24b833c)

Gruß Nobby

Ergänzung:
gerade ist es auch an einer 2. Stelle aufgetreten, der Aufruf von singleUpdate direkt vor dem Ende des Loops
if ($chash) {
SONOS_Log undef, 4, "DoWorkAnswer arrived for ".$chash->{NAME}."->$2: '$3'";
readingsSingleUpdate($chash, $2, $3, 1);
} else {
SONOS_Log undef, 0, "Fehlerhafter Aufruf von DoWorkAnswer: $1:$2:$3";
}
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

ich prüfe vorher einfach auf updateTimeStamp.

Also im Falle LastProcessAnswer:

# LastAnswer aktualisieren...
my $sonosHash = SONOS_getSonosPlayerByName();
if (defined($sonosHash->{".updateTimestamp"})) {
readingsBulkUpdate($sonosHash, 'LastProcessAnswer', SONOS_TimeNow());
} else {
readingsSingleUpdate($sonosHash, 'LastProcessAnswer', SONOS_TimeNow(), 1);
}


Im Falle DoWorkAnswer:

SONOS_Log undef, 4, "DoWorkAnswer arrived for ".$chash->{NAME}."->$2: '$3'";
if (defined($chash->{".updateTimestamp"})) {
readingsBulkUpdate($chash, $2, $3);
} else {
readingsSingleUpdate($chash, $2, $3, 1);
}


Vielleicht sollte ich das zentraler lösen...
Naja, mal schauen, was deine Analyse in die Richtung ergibt...

Grüße
Reiner

Nobby1805

OK, ich habe das mal so übernommen ... und jetzt schau'n wir mal
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

gibt es hier schon Erkenntnisse, ob das mit der Änderung besser läuft?
Danke schonmal...

Grüße
Reiner

Nobby1805

Hallo Reiner,

ja läuft deutlich besser ... bis heute Morgen war gar nichts mehr

Irgendwann gegen 0:49 kam dann eine Meldung über einen doppelten BeginUpdate, leider habe ich das nur auf dem SmartPhone gesehen und als ich dann  an meinen Arbeits-PC ging waren diese Meldungen auf einmal weg und durch sendemail-Meldungen von unserem Garagentor-Sensor ersetzt  >:( ich hatte schon öfter den Eindruck, dass manchmal Meldungen im Log später überschrieben werden  >:(

Erinnern kann ich mich noch, dass das BeginUpdate vom SimulateTrackPosition kam aber leider nicht mehr welches SingleUpdate  ::)

aber das wird sicher noch einmal kommen

Viele Grüße Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

ja, das war dann noch zu erwarten... ich baue mal alle Single-Updates auf eine sichere Variante um, dann sind wir dort raus aus der Nummer.

Das mit dem Überschreiben der Logs ist zumindest unter Windows völlig normal. Deshalb habe ich ja nun die Möglichkeit eingebaut, dass der SubProzess seine Logausgaben in eine eigene, angegebene Datei schreiben kann. Dann landet nur noch STDERR mit im Fhemlog (und überschreibt natürlich immer noch bestehende Logeinträge :) ).

Danke für die Rückmeldung...

Grüße
Reiner

Nobby1805

Hallo Reiner,

was meinst du denn  mit "völlig normal" ... für mich ist das ein BUG  >:(

Gruß Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Reinerlein

Hi Nobby,

ja wahrscheinlich (obwohl ich die genauen Windows-Paradigmen für STDOUT-Umlenkungen da jetzt auch nicht kenne :-\ ), aber hier geht es ja eher um Erkenntnis und Umgehung :)

Grüße
Reiner

sTaN

Das hört sich doch vielversprechend an. Ab wann werden die Änderungen denn eingecheckt oder kann man diese auch manuell laden?

LG und vielen Dank für eure Mühe!
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Reinerlein

Hi sTaN,

ich werde das spätestens im Laufe des morgigen Tages einchecken.
Bei mir laufen die angekündigten Änderungen bislang stabil und soweit fehlerfrei.

Ich muss jetzt noch kurz die Doku hinterherziehen, und dann kann es rein :)
Dann geht es im nächsten Thread weiter...

Grüße
Reiner

m0urs

Ich bekomme (bei mir morgens,  wenn der Wecker angeht) viele Meldungen bzgl.  "Use of uninitialized value":

Use of uninitialized value $currentTrackURI in substitution (s///) at ./FHEM/00_SONOS.pm line 7055.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7056.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7063.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7068.
Use of uninitialized value $enqueuedTransportMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7076.
Use of uninitialized value $enqueuedTransportMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7077.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7103.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7107.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7120.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7161.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7168.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7184.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7196.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7207.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7213.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7219.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7231.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7234.
Use of uninitialized value $nextTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7241.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7243.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7244.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7259.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7266.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7268.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7270.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7272.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7274.
Use of uninitialized value $currentTrackURI in substitution (s///) at ./FHEM/00_SONOS.pm line 7055.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7056.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7063.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7068.
Use of uninitialized value $enqueuedTransportMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7076.
Use of uninitialized value $enqueuedTransportMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7077.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7103.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7107.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7120.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7161.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7168.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7184.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7196.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7207.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7213.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7219.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7231.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7234.
Use of uninitialized value $nextTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7241.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7243.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7244.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7259.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7266.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7268.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7270.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7272.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7274.
Use of uninitialized value $currentTrackURI in substitution (s///) at ./FHEM/00_SONOS.pm line 7055.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7056.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7063.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7068.
Use of uninitialized value $enqueuedTransportMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7076.
Use of uninitialized value $enqueuedTransportMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7077.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7103.
Use of uninitialized value $currentTrackURI in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value $currentTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7104.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7107.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7120.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7161.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7168.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7184.
Use of uninitialized value $currentTrackURI in pattern match (m//) at ./FHEM/00_SONOS.pm line 7196.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7207.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7213.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7219.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7231.
Use of uninitialized value $currentTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7234.
Use of uninitialized value $nextTrackMetaData in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7241.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7243.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7244.
Use of uninitialized value in subroutine entry at ./FHEM/00_SONOS.pm line 7259.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7266.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7268.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7270.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7272.
Use of uninitialized value $nextTrackMetaData in pattern match (m//) at ./FHEM/00_SONOS.pm line 7274.


Sieht nicht aus, als wäre das ein Problem, ist nur "unschön" im Log.

Kann man da was dagegen machen?