NEWS
SOLVED Sonos Adapter aktualisiert nur teilweise
-
Hallo,
seit einigen Tagen aktualisieren sich die Datenpunkte meiner 3 Sonos Speaker nur noch teilweise. Die Buttons funktionieren, also kann man sie bedienen. Leider die play states nicht mehr, was jede Überwachung unmöglich macht. Hat jemand von Euch ein solches Problem schon einmal in seiner Installation beobachtet? Ich habe bereits den kompletten Raspi mit iobroker neu aufgesetzt und alle adapter gelöscht, aber auch nach der Neuinstallation liefert der Sonos Adapter nur noch einen Teil der Daten. Ein "downgrading" der Adapterversion hat ebenfalls keine Verbesserung gebracht. Vor 2 Wochen lief die Installation noch einwandfrei. Ich bin mit meinem bescheidenen Wissen hier am Ende.
Gruß,
TJ -
@Bluefox du bist mein Held! Vielen vielen Dank! Mit deiner Überarbeitung für Version 2.0.0 funktioniert bei mir die aktualisierung aller Datenpunkte wieder.
-
ich habe seit einigen Wochen folgende Merkwürdigkeit bzgl SONOS Objekten bemerkt:
Im Log tauchen Warnmeldungen auf, der "state" Datenpunkt eines Sonos Connect würde nicht existieren (in diesen Datenpunkt wird z.B. "play" oder "stop" eingetragen).Ich habe im Adapter den besagten SONOS Connect gelöscht und neu hinzugefügt, damit war der Fehler weg .... bis gestern Abend. Nun wird diese Meldung erneut beim Ansprechen dieses SONOS Gerätes erzeugt.
Auch hier, funktionieren die SONOS alle einwandfrei aber die Meldungen erscheinen im LOG.
Sollte ich das zeitlich einschränken, dann hätte ich ein Update des HOST als auch des javascript-Adapters im gleichen Zeitfenster, aber das kann ich nicht wirklich belegen.
-
Exakt diese Datenpunkte werden bei mir derzeit nicht aktualisiert. Ich seh mir später mal die LOG Einträge genauer an (Mein Fehler, hätte ich mal gleich machen sollen). Mir war nichts aufgefallen. Danke für den Hinweis, die Datenpunkte manuell hinzuzufügen.
-
@TJ1973 Ich habe die Datenpunkte nicht manuell angelegt. Beim Entfernen des Lautsprechers werden die Datenpunkte ja entfernt und nach dem erneuten hinzufügen wieder angelegt.
-
Leider keinerlei EInfluss. Ich kann entfernen, neu installieren, es werden immer die gleichen Datenpunkte angelegt und nicht aktualisiert. Ich kann sie überschreiben aber ohne Wirkung....aber danke für die Hilfe.
-
Ach ja, in meinem LOG file sind keine Fehler vermerkt.
-
Was genau heißt es wird nicht syncronisiert? Wieviel Sonos Geräte hast Du?
Mal als Beispiel alle Geräte sind in einer Gruppe und spielen ein Lied dann steht nur der Gruppencoordinator auf play und alle anderen auf stop oder pause oder ist es so das ein einzelnes Gerät welches nicht in einer Gruppe ist und spielt nicht auf play steht? Ist es immer das gleiche Gerät oder funktioniert es mal bei dem einen Gerät und dann auf einmal nicht mehr? Gibt es ein Muster?
Bei mir funktioniert der Adapter sehr zuverlässig mit meinen Geräten. Jeden Abend löst er ein Gerät aus einer Gruppe stellt die Lautstärke. Morgens spielt er auf dem Gerät Musik stoppt das Gerät automatisch und schaltet es xx Minuten später wieder in ein Gruppe und dann spielen alle.
-
@cash Hallo cash, es sind zwar 3 Sonos derzeit aufgestellt aber ich habe mittlerweile nur noch eine Play 3 zum testen im Adapter eingetragen. Die ist auch die, die über LAN angeschlossen ist. der Gruppencontroller war eigentlich eine Play 5 aber das ist mittlerweile ja zu Testzwecken geändert. Der Adapter hat bis vor ein paar Tagen auch sehr zuverlässig bei mir funktioniert, aber mittlerweile bleiben einige Datenpunkte einfach mit "Roteintrag" stehen, als wären sie tot. Das sind leiter auch die states. Über Play und stop button lässt sich die Sonos normal über den Adapter steuern, nur bleiben die states auf false bzw. stop stehen. Einige andere Datenpunkte bleiben auch auf rot aber die wären mir nicht wichtig. Ohne states kann ich aber nicht vernünftig steuern.
-
OK, jetzt wird es seltsam. Seit eben kann ich über state bzw. state_simple auch die box steuern (mit play/stop bzw. true/false), aber wenn ich sie über andere wege anschalte aktualisieren sie sich noch immer nicht. state_simple bleibt auf false, state auf stop.
-
Kann es sein das Du vorher die Sonos Geräte nicht per Lan angeschlossen hattest und sie da noch funktionierten?
Richte den Sonos mal ohne Kabel ein und ich würde fast wetten das die Datenpunkte dann wieder aktualisiert werden!?
-
Nein, daran hat sich nichts geändert aber ich kann ja das setup mal etwas durchtesten. Nur kurze Frage..."ohne LAN"? Eine muss doch physisch an den Router. Oder eine bridge, korrekt?
-
@TJ1973 Nein musst du nicht. Hab keinen einzigen Speaker (hab Play 1, 3 und one) an LAN angeschlossen. Glaub das gabs früher mal. Seit ein paar Jahren nicht mehr.
Hab irgendwann mal gelesen, dass man ein Sonos System per LAN anschließen kann dann kommuniziert das System über eigenes Funksystem und nicht mehr über WLAN.
Hier der Link
https://gdgts.de/sonosnet-sonos-funknetzwerk/ -
Wenn ein Sonos per Lan angeschlossen ist baut es sein eigenes WLAN auf. Das soll stabiler sein. Allerdings ist es ja dann nicht mehr in Deinem LAN bzw nur der eine. Ich hätte deshalb vermutet das ioBroker dann von den Sonos Geräten nichts mit bekommt.
Ich betreibe alle meine Geräte über das normale WLAN und habe keine Probleme.
Wie gesagt sicher bin ich mir nicht, da ich nicht weiß wie der Adapter technisch die Daten von Sonos bezieht. War nur eine Vermutung.
-
@cash Ich habe den SONOS Adapter seit einigen Jahren problem mit insgesamt 13 Sonos Geräten am laufen. Davon sind 5 per LAN und die anderen im SONOS Mesh eingerichtet.
Über ein Script wird bei jedem SONOS Gerät die Lautstärke gemonitort, bei größer 1 werden die states "play = true", "stop = false" und "state = play" gesetzt.
Bei Laustärke kleiner 2 entsprechend "play = false", "stop = true", und "state = stop".Und seit kurzem erhalte ich hierbei folgende Fehlermeldungen:
Am häufigsten spielen alle SONOS zusammen im "Partymodus" und hierbei ist "SONOS Wohnzimmer" immer der Coordinator.
Und dessen "state" Datenpunkt ist angeblich nicht mehr da.Im Grunde wird beim Aufruf nachwievor dennoch fast alles korrekt gesteuert, nur im SONOS Player kann ich sehen, dass "SONOS Wohnzimmer" nicht in "Stop" geht
-
Also das mit der Lautstärke hab ich mir jetzt abgekupfert....danke. Zumindest kann ich jetzt steuern. Diese Felder werden noch aktualisiert (speaker und group). Fehler gibt es bei mir "noch" keine. Wurde etwas upgedatet? Mir ist nichts bekannt. Letzte Woche kam ein CCU3 update und danach waren im iobroker keine Datenpunkte mehr. Aber auf der Vorgängerversion klappt es sehr gut. Daher habe ich auch den Sonos Adapter unter unterschiedlichen Versionen getestet. Leider hier alles ohne Erfolg.
-
@TJ1973 sagte in Sonos Adapter aktualisiert nur teilweise:
Also das mit der Lautstärke hab ich mir jetzt abgekupfert
Ich hatte hierzu mal ein HowTo verfasst (müßte ich mal aktualisieren ).
Das Script ist übrigens von @pix -
@BBTown Hab das How to gefunden....wie gesagt, gefällt mir gut und funktioniert mit den vorhandenen Datenpunkten. leider ist das Problem noch immer wie gehabt. Ich werde posten, sobald ich verstanden habe was die Datenpunkte "lähmt". Leider hat auch der Wechsel von WLAN auf LAN bzw. umgekehrt nicht geholfen.
-
@TJ1973 hast du eine Lösung gefunden für die nicht statfindende Aktualisierung der Datenpunkte? ich habe eine ähnliches Verhalten ...
-
Habe mal eine komplett neu iobroker installation gemacht und auch die aktuelleste Sonos Adapter Version direkt von Github genommen.
Auch damit werden nur ein paar Datenpunkte aktualisert und auch Weboberfläche vom Adpater funktioniert nicht.
Im LOG sind folgende fehler aufgetaucht:
2019-08-01 20:46:31.869 - info: sonos.0 terminating 2019-08-01 20:46:31.966 - error: Caught by controller[0]: (node:8791) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'startsWith' of undefined 2019-08-01 20:46:31.971 - error: Caught by controller[0]: at isRadio (/opt/iobroker/node_modules/iobroker.sonos/node_modules/sonos-discovery/lib/prototypes/Player/getUriType.js:4:14) 2019-08-01 20:46:31.972 - error: Caught by controller[0]: at Player.getUriType (/opt/iobroker/node_modules/iobroker.sonos/node_modules/sonos-discovery/lib/prototypes/Player/getUriType.js:18:10) 2019-08-01 20:46:31.972 - error: Caught by controller[0]: at parseTrackMetadata.then.track (/opt/iobroker/node_modules/iobroker.sonos/node_modules/sonos-discovery/lib/models/Player.js:243:43) 2019-08-01 20:46:31.972 - error: Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:68:7) 2019-08-01 20:46:31.972 - error: Caught by controller[1]: (node:8791) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) 2019-08-01 20:46:31.972 - error: Caught by controller[1]: (node:8791) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 2019-08-01 20:46:31.972 - error: Caught by controller[2]: (node:8791) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'startsWith' of undefined 2019-08-01 20:46:31.973 - error: Caught by controller[2]: at isRadio (/opt/iobroker/node_modules/iobroker.sonos/node_modules/sonos-discovery/lib/prototypes/Player/getUriType.js:4:14) 2019-08-01 20:46:31.973 - error: Caught by controller[2]: at Player.getUriType (/opt/iobroker/node_modules/iobroker.sonos/node_modules/sonos-discovery/lib/prototypes/Player/getUriType.js:18:10) 2019-08-01 20:46:31.973 - error: Caught by controller[2]: at parseTrackMetadata.then.track (/opt/iobroker/node_modules/iobroker.sonos/node_modules/sonos-discovery/lib/models/Player.js:243:43) 2019-08-01 20:46:31.973 - error: Caught by controller[2]: at process._tickCallback (internal/process/next_tick.js:68:7) 2019-08-01 20:46:31.973 - error: Caught by controller[3]: (node:8791) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
@apollon77 ich denke hier passt der Fehler besser hin, Danke für deine Unterstützung
-
Bitte GitHub neu versuchen