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.