NEWS
UNSOLVED Sonos-Adapter stürzt ab
-
Hallo Forum,
ich habe immer mal das Problem, dass ich meine Sonos über Script nicht steuern kann. In 98% der Zeit klappt alles, aber aller paar Tage ist mal für ein paar Minuten der Wurm drin. Ich würde das jetzt gerne mal genauer untersuchen, komme aber nicht weiter. Im Fall wo es nicht geht, ist der grüne Punkt vor dem Sonos Adopter rot und wird dann wieder grün um dann wieder rot zu werden.
Kann jemand mit dem dazugehörigen Log etwas anfangen und mir einen Tipp geben, in welche Richtung ich suchen kann?sonos.0 2019-09-28 09:54:06.961 info starting. Version 1.7.7 in /opt/iobroker/node_modules/iobroker.sonos, node: v8.15.0 host.rock64 2019-09-28 09:54:04.341 info instance system.adapter.sonos.0 started with pid 22878 host.rock64 2019-09-28 09:53:34.303 info Restart adapter system.adapter.sonos.0 because enabled host.rock64 2019-09-28 09:53:34.303 error instance system.adapter.sonos.0 terminated with code 0 (OK) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at addChunk (_stream_readable.js:263:12) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at Readable.emit (events.js:211:7) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at Readable.ondata (_stream_readable.js:639:20) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at SAXStream.write (/opt/iobroker/node_modules/sax/lib/sax.js:239:18) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at SAXParser.write (/opt/iobroker/node_modules/sax/lib/sax.js:1436:13) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at closeTag (/opt/iobroker/node_modules/sax/lib/sax.js:889:7) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at emitNode (/opt/iobroker/node_modules/sax/lib/sax.js:629:5) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at emit (/opt/iobroker/node_modules/sax/lib/sax.js:624:35) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at SAXParser.me._parser.(anonymous function) [as onclosetag] (/opt/iobroker/node_modules/sax/lib/sax.js:258:17) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at SAXStream.emit (events.js:211:7) host.rock64 2019-09-28 09:53:34.302 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:53:34.301 error Caught by controller[0]: at SAXStream.onCloseTag (/opt/iobroker/node_modules/xml-flow/lib/xml-flow.js:131:15) host.rock64 2019-09-28 09:53:34.301 error Caught by controller[0]: at EventEmitter.emit (events.js:211:7) host.rock64 2019-09-28 09:53:34.301 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:53:34.301 error Caught by controller[0]: at EventEmitter.sax.on (/opt/iobroker/node_modules/sonos-discovery/lib/models/Player.js:89:28) host.rock64 2019-09-28 09:53:34.300 error Caught by controller[0]: TypeError: Cannot read property '$text' of undefined sonos.0 2019-09-28 09:53:34.066 error uncaught exception: Cannot read property '$text' of undefined sonos.0 2019-09-28 09:53:34.066 debug volume: Volume for http://192.168.178.83:1400: 8 sonos.0 2019-09-28 09:53:34.066 debug mute: Mute for http://192.168.178.83:1400: false sonos.0 2019-09-28 09:53:34.065 debug volume: Volume for http://192.168.178.82:1400: 15 sonos.0 2019-09-28 09:53:34.065 debug mute: Mute for http://192.168.178.82:1400: false sonos.0 2019-09-28 09:53:34.065 debug volume: Volume for http://192.168.178.81:1400: 27 sonos.0 2019-09-28 09:53:34.064 debug mute: Mute for http://192.168.178.81:1400: false sonos.0 2019-09-28 09:53:34.064 debug volume: Volume for http://192.168.178.84:1400: 14 sonos.0 2019-09-28 09:53:34.064 debug mute: Mute for http://192.168.178.84:1400: false sonos.0 2019-09-28 09:53:34.063 debug volume: Volume for http://192.168.178.85:1400: 18 sonos.0 2019-09-28 09:53:34.063 debug mute: Mute for http://192.168.178.85:1400: false sonos.0 2019-09-28 09:53:34.062 debug Cover exists. Try reading from fs sonos.0 2019-09-28 09:53:34.062 debug > playbackState: STOPPED - x-sonosapi-stream:s56260?sid=254&flags=8224&sn=0 sonos.0 2019-09-28 09:53:33.867 debug Cover exists. Try reading from fs sonos.0 2019-09-28 09:53:33.866 debug > playbackState: PLAYING - Am Mikrofon: Kristian Thees sonos.0 2019-09-28 09:53:33.866 debug volume: Volume for http://192.168.178.86:1400: 11 sonos.0 2019-09-28 09:53:33.866 debug mute: Mute for http://192.168.178.86:1400: false sonos.0 2019-09-28 09:53:33.866 debug volume: Volume for http://192.168.178.80:1400: 14 sonos.0 2019-09-28 09:53:33.865 debug mute: Mute for http://192.168.178.80:1400: false sonos.0 2019-09-28 09:53:32.538 info http sonos server listening on port 8080 sonos.0 2019-09-28 09:53:32.417 info starting. Version 1.7.7 in /opt/iobroker/node_modules/iobroker.sonos, node: v8.15.0 host.rock64 2019-09-28 09:53:29.871 info instance system.adapter.sonos.0 started with pid 22856 rflink.0 2019-09-28 09:53:17.150 debug Device "Lobeco not included, because inclusion mode disabled rflink.0 2019-09-28 09:53:17.149 debug Serial data received: 20;AD;Lobeco;ID=75fe9;SWITCH=01;CMD=ON; host.rock64 2019-09-28 09:52:59.832 info Restart adapter system.adapter.sonos.0 because enabled host.rock64 2019-09-28 09:52:59.832 error instance system.adapter.sonos.0 terminated with code 0 (OK) host.rock64 2019-09-28 09:52:59.832 error Caught by controller[0]: at addChunk (_stream_readable.js:263:12) host.rock64 2019-09-28 09:52:59.832 error Caught by controller[0]: at Readable.emit (events.js:211:7) host.rock64 2019-09-28 09:52:59.832 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:52:59.832 error Caught by controller[0]: at Readable.ondata (_stream_readable.js:639:20) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at SAXStream.write (/opt/iobroker/node_modules/sax/lib/sax.js:239:18) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at SAXParser.write (/opt/iobroker/node_modules/sax/lib/sax.js:1436:13) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at closeTag (/opt/iobroker/node_modules/sax/lib/sax.js:889:7) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at emitNode (/opt/iobroker/node_modules/sax/lib/sax.js:629:5) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at emit (/opt/iobroker/node_modules/sax/lib/sax.js:624:35) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at SAXParser.me._parser.(anonymous function) [as onclosetag] (/opt/iobroker/node_modules/sax/lib/sax.js:258:17) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at SAXStream.emit (events.js:211:7) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at SAXStream.onCloseTag (/opt/iobroker/node_modules/xml-flow/lib/xml-flow.js:131:15) host.rock64 2019-09-28 09:52:59.831 error Caught by controller[0]: at EventEmitter.emit (events.js:211:7) host.rock64 2019-09-28 09:52:59.830 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:52:59.830 error Caught by controller[0]: at EventEmitter.sax.on (/opt/iobroker/node_modules/sonos-discovery/lib/models/Player.js:89:28) host.rock64 2019-09-28 09:52:59.830 error Caught by controller[0]: TypeError: Cannot read property '$text' of undefined sonos.0 2019-09-28 09:52:59.644 error uncaught exception: Cannot read property '$text' of undefined sonos.0 2019-09-28 09:52:59.644 debug volume: Volume for http://192.168.178.85:1400: 18 sonos.0 2019-09-28 09:52:59.644 debug mute: Mute for http://192.168.178.85:1400: false sonos.0 2019-09-28 09:52:59.643 debug volume: Volume for http://192.168.178.80:1400: 14 sonos.0 2019-09-28 09:52:59.643 debug mute: Mute for http://192.168.178.80:1400: false sonos.0 2019-09-28 09:52:59.643 debug volume: Volume for http://192.168.178.86:1400: 11 sonos.0 2019-09-28 09:52:59.643 debug mute: Mute for http://192.168.178.86:1400: false sonos.0 2019-09-28 09:52:59.643 debug volume: Volume for http://192.168.178.84:1400: 14 sonos.0 2019-09-28 09:52:59.643 debug mute: Mute for http://192.168.178.84:1400: false sonos.0 2019-09-28 09:52:59.642 debug volume: Volume for http://192.168.178.82:1400: 15 sonos.0 2019-09-28 09:52:59.642 debug mute: Mute for http://192.168.178.82:1400: false sonos.0 2019-09-28 09:52:59.642 debug volume: Volume for http://192.168.178.81:1400: 27 sonos.0 2019-09-28 09:52:59.642 debug mute: Mute for http://192.168.178.81:1400: false sonos.0 2019-09-28 09:52:59.641 debug Cover exists. Try reading from fs sonos.0 2019-09-28 09:52:59.641 debug > playbackState: STOPPED - x-sonosapi-stream:s56260?sid=254&flags=8224&sn=0 sonos.0 2019-09-28 09:52:59.427 debug volume: Volume for http://192.168.178.83:1400: 8 sonos.0 2019-09-28 09:52:59.426 debug mute: Mute for http://192.168.178.83:1400: false sonos.0 2019-09-28 09:52:57.840 info http sonos server listening on port 8080 sonos.0 2019-09-28 09:52:57.718 info starting. Version 1.7.7 in /opt/iobroker/node_modules/iobroker.sonos, node: v8.15.0 host.rock64 2019-09-28 09:52:55.165 info instance system.adapter.sonos.0 started with pid 22842 rflink.0 2019-09-28 09:52:33.661 debug Set state "rflink.0.channels.NewKaku_19.SWITCH_c": true rflink.0 2019-09-28 09:52:33.660 debug Serial data received: 20;AC;NewKaku;ID=018af2f6;SWITCH=c;CMD=ON; host.rock64 2019-09-28 09:52:25.125 info Restart adapter system.adapter.sonos.0 because enabled host.rock64 2019-09-28 09:52:25.125 error instance system.adapter.sonos.0 terminated with code 0 (OK) host.rock64 2019-09-28 09:52:25.125 error Caught by controller[0]: at addChunk (_stream_readable.js:263:12) host.rock64 2019-09-28 09:52:25.125 error Caught by controller[0]: at Readable.emit (events.js:211:7) host.rock64 2019-09-28 09:52:25.125 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:52:25.125 error Caught by controller[0]: at Readable.ondata (_stream_readable.js:639:20) host.rock64 2019-09-28 09:52:25.125 error Caught by controller[0]: at SAXStream.write (/opt/iobroker/node_modules/sax/lib/sax.js:239:18) host.rock64 2019-09-28 09:52:25.125 error Caught by controller[0]: at SAXParser.write (/opt/iobroker/node_modules/sax/lib/sax.js:1436:13) host.rock64 2019-09-28 09:52:25.125 error Caught by controller[0]: at closeTag (/opt/iobroker/node_modules/sax/lib/sax.js:889:7) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at emitNode (/opt/iobroker/node_modules/sax/lib/sax.js:629:5) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at emit (/opt/iobroker/node_modules/sax/lib/sax.js:624:35) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at SAXParser.me._parser.(anonymous function) [as onclosetag] (/opt/iobroker/node_modules/sax/lib/sax.js:258:17) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at SAXStream.emit (events.js:211:7) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at SAXStream.onCloseTag (/opt/iobroker/node_modules/xml-flow/lib/xml-flow.js:131:15) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at EventEmitter.emit (events.js:211:7) host.rock64 2019-09-28 09:52:25.124 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-09-28 09:52:25.123 error Caught by controller[0]: at EventEmitter.sax.on (/opt/iobroker/node_modules/sonos-discovery/lib/models/Player.js:89:28) host.rock64 2019-09-28 09:52:25.123 error Caught by controller[0]: TypeError: Cannot read property '$text' of undefined sonos.0 2019-09-28 09:52:25.000 debug > playbackState: STOPPED - x-sonosapi-stream:s56260?sid=254&flags=8224&sn=0 sonos.0 2019-09-28 09:52:24.861 info terminating sonos.0 2019-09-28 09:52:24.861 error TypeError: Cannot read property '$text' of undefined at EventEmitter.sax.on (/opt/iobroker/node_modules/sonos-discovery/lib/models/Player.js:89:28) at emitOne (events.js:116:13) at EventEm sonos.0 2019-09-28 09:52:24.861 error uncaught exception: Cannot read property '$text' of undefined sonos.0 2019-09-28 09:52:24.860 debug group_muted: groupMuted for http://192.168.178.81:1400: false sonos.0 2019-09-28 09:52:24.860 debug mute: Mute for http://192.168.178.81:1400: false
Systemdata Bitte Ausfüllen Hardwaresystem: Rock64 Arbeitsspeicher: 4GB Festplattenart: SD-Karte Betriebssystem: Linux Node-Version: 8.15.0 Nodejs-Version: 8.15.0 NPM-Version: 6.4.1 Installationsart: Script (am 01.01.2019) Image genutzt: Ja Ort/Name der Imagedatei: https://dl.armbian.com/rock64/archive/test/Armbian_5.59_Rock64_Debian_stretch_default_4.4.155.7z -
@radioman könnte am Skript liegen...
Zeige es uns doch mal -
Hallo FredF, ich bin mir eigentlich sicher, dass es keinen Zusammenhang gibt, denn das Script stürzt auch ab (der grüne Punkt vor dem Sonos Adapter in der Instanzen Übersicht wandelt sich zu rot und die Fehlermeldungen treten auf), wenn gar nichts vom Script ausgeführt wird.
Aber hier mein Script, wo ich auf Tastendruck Lautsprecher ein, oder ausschalte:function Sonos_an(SonosBox_id, Favorit, Lautstaerke) { if (getState("sonos.0.root."+SonosBox_id+".state").val == 'play') { setState("sonos.0.root."+SonosBox_id+".volume", getState("sonos.0.root."+SonosBox_id+".volume").val + 5); clearStateDelayed ("sonos.0.root."+SonosBox_id+".state"); clearStateDelayed ("sonos.0.root."+SonosBox_id+".volume"); }else{ setState("sonos.0.root."+SonosBox_id+".volume", Lautstaerke);/*Lautstärke setzen, damit die Box beim Setzen des Favoritens nicht zu laut losspielt*/ if (getState("sonos.0.root."+SonosBox_id+".coordinator").val != SonosBox_id) { setStateDelayed("sonos.0.root."+SonosBox_id+".coordinator", SonosBox_id, 10, false);}/*wenn der Lautsprecher Mitglied einer Partygruppe ist = entfernen (10 ms zeitverzögert)*/ if (getState("sonos.0.root."+SonosBox_id+".membersChannels").val != SonosBox_id) { setStateDelayed("sonos.0.root."+SonosBox_id+".remove_from_group", SonosBox_id, 10, false);}/*wenn der Lautsprecher Koordinator einer Gruppe ist = entfernen (10 ms zeitverzögert)*/ setStateDelayed("sonos.0.root."+SonosBox_id+".favorites_set", Favorit, 100, false)/*Abspielmedium setzen und starten (100 ms zeitverzögert)*/; } } function Sonos_aus(SonosBox_id) { if (getState("sonos.0.root."+SonosBox_id+".state").val == 'play') { if (JSON.stringify(getStateDelayed("sonos.0.root."+SonosBox_id+".state"))=="[]") { var i = getState("sonos.0.root."+SonosBox_id+".volume").val; setStateDelayed("sonos.0.root."+SonosBox_id+".state", 'pause', i * 1000, false); setStateDelayed("sonos.0.root."+SonosBox_id+".volume", getState("sonos.0.root."+SonosBox_id+".volume").val, (i+1) * 1000, false); do { i--; setStateDelayed("sonos.0.root."+SonosBox_id+".volume", getState("sonos.0.root."+SonosBox_id+".volume").val - i, i * 1000, false); } while (i > 0); }else{ clearStateDelayed ("sonos.0.root."+SonosBox_id+".state"); clearStateDelayed ("sonos.0.root."+SonosBox_id+".volume"); } } } on({id: varTaster_Computer_r, val: true}, function (obj) {Sonos_an(varSonos_Wohn, "1_SWR3", 8)}); on({id: varTaster_Computer_r, val: false}, function (obj) {Sonos_aus(varSonos_Wohn)}); on({id: varTaster_Wohnzimmer_r, val: true}, function (obj) {Sonos_an(varSonos_Wohn, "1_SWR3", 8)}); on({id: varTaster_Wohnzimmer_r, val: false}, function (obj) {Sonos_aus(varSonos_Wohn)}); on({id: varTaster_Flur_Schlaf_r, val: true}, function (obj) {Sonos_an(varSonos_Schlaf, "1_SWR3", 12)}); on({id: varTaster_Flur_Schlaf_r, val: false}, function (obj) {Sonos_aus(varSonos_Schlaf)}); on({id: varTaster_Flur_Bad_r, val: true}, function (obj) {Sonos_an(varSonos_Bad, "1_SWR3", 14)}); on({id: varTaster_Flur_Bad_r, val: false}, function (obj) {Sonos_aus(varSonos_Bad)}); on({id: varTaster_Flur_Esszi_r, val: true}, function (obj) {Sonos_an(varSonos_Ess, "1_SWR3", 14)}); on({id: varTaster_Flur_Esszi_r, val: false}, function (obj) {Sonos_aus(varSonos_Ess)}); on({id: varTaster_Kueche01_r, val: true}, function (obj) {Sonos_an(varSonos_Kueche, "1_SWR3", 14)}); on({id: varTaster_Kueche01_r, val: false}, function (obj) {Sonos_aus(varSonos_Kueche)});
-
Hallo,
Ich habe das gleiche Problem!
Permanente Neustarts mit den Folgenden Einträgen im LOG:host.rock64 2019-10-09 20:34:07.287 info Restart adapter system.adapter.sonos.0 because enabled host.rock64 2019-10-09 20:34:07.287 error instance system.adapter.sonos.0 terminated with code 0 (OK) host.rock64 2019-10-09 20:34:07.286 error Caught by controller[0]: at addChunk (_stream_readable.js:263:12) host.rock64 2019-10-09 20:34:07.286 error Caught by controller[0]: at Readable.emit (events.js:211:7) host.rock64 2019-10-09 20:34:07.286 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-10-09 20:34:07.285 error Caught by controller[0]: at Readable.ondata (_stream_readable.js:639:20) host.rock64 2019-10-09 20:34:07.285 error Caught by controller[0]: at SAXStream.write (/opt/iobroker/node_modules/sax/lib/sax.js:239:18) host.rock64 2019-10-09 20:34:07.284 error Caught by controller[0]: at SAXParser.write (/opt/iobroker/node_modules/sax/lib/sax.js:1436:13) host.rock64 2019-10-09 20:34:07.284 error Caught by controller[0]: at closeTag (/opt/iobroker/node_modules/sax/lib/sax.js:889:7) host.rock64 2019-10-09 20:34:07.283 error Caught by controller[0]: at emitNode (/opt/iobroker/node_modules/sax/lib/sax.js:629:5) host.rock64 2019-10-09 20:34:07.283 error Caught by controller[0]: at emit (/opt/iobroker/node_modules/sax/lib/sax.js:624:35) host.rock64 2019-10-09 20:34:07.283 error Caught by controller[0]: at SAXParser.me._parser.(anonymous function) [as onclosetag] (/opt/iobroker/node_modules/sax/lib/sax.js:258:17) host.rock64 2019-10-09 20:34:07.282 error Caught by controller[0]: at SAXStream.emit (events.js:211:7) host.rock64 2019-10-09 20:34:07.282 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-10-09 20:34:07.282 error Caught by controller[0]: at SAXStream.onCloseTag (/opt/iobroker/node_modules/xml-flow/lib/xml-flow.js:131:15) host.rock64 2019-10-09 20:34:07.281 error Caught by controller[0]: at EventEmitter.emit (events.js:211:7) host.rock64 2019-10-09 20:34:07.281 error Caught by controller[0]: at emitOne (events.js:116:13) host.rock64 2019-10-09 20:34:07.276 error Caught by controller[0]: at EventEmitter.sax.on (/opt/iobroker/node_modules/sonos-discovery/lib/models/Player.js:89:28) host.rock64 2019-10-09 20:34:07.276 error Caught by controller[0]: TypeError: Cannot read property '$text' of undefined sonos.0 2019-10-09 20:34:05.401 info http sonos server listening on port 8080
Die entsprechende Stelle in der Player.js:89:28 ließt scheinbar Daten eines Tracks aus. Hier ist ein Objekt leer 'undefined' und das ist nicht abgefangen.
Die Funktion ist :function parseTrackMetadata(metadata, nextTrack)
Das ist die Zeile: track.uri = item.res.$text;
Bitte um Hilfe.
-
@radioman schaut mal hier kann damit zusammen hängen: https://forum.iobroker.net/topic/23609/sonos-adapter-aktualisiert-nur-teilweise/51
-
@helfi9999 Danke. Ich hab mir als Workaround erstmal mit Folgendem Patch in der Player.js beholfen:
function parseTrackMetadata(metadata, nextTrack) { return new Promise((resolve, reject) => { let track = nextTrack ? clone(EMPTY_STATE.nextTrack) : clone(EMPTY_STATE.currentTrack); if (!metadata) resolve(track); const sax = flow(streamer(metadata.val)); sax.on('tag:item', (item) => { if (typeof(item.res) != 'undefined'){ track.uri = item.res.$text; track.duration = parseTime((item.res.$attrs || item.res).duration); track.artist = item['dc:creator']; track.album = item['upnp:album']; track.title = item['r:streamcontent'] || item['dc:title']; track.albumArtUri = item['upnp:albumarturi']; } }); sax.on('error', reject); sax.on('end', () => { resolve(track); }); }); }
Version 2.0 teste ich dann mal, wenn sie Offiziell angeboten wird
-
oder einfach ganz weg von dem Adapter gehen und die Sonos API installieren.
Die läuft absolut stabil.