NEWS
[Vorlage] Script für Sonos-Adapter
-
Ich hab es hinbekommen. Danke, allerdings habe ich jetzt einige Projekte im VIS die ich nicht mehr weg bekomme.
So sieht es auf Datei Ebene aus:
...und so im VIS
nur das unterste Projekt sollte es geben. Wie kann die übrigen löschen?Zu dem Projekt habe ich auch eine Frage:
Die Schaltflächen Stop / Play funktionieren bei mir nicht
Gibt es eine einfache Chance einen anderen Raum zu gruppieren?
Michael
-
@michihorn Bei mir hat sich bewährt, den VIS-Adapter zu stoppen, dann die betreffenden Projekt-Ordner zu löschen, und VIS anschliessend neu zu starten und den Browser-Cache zu refreshen (neu laden sollte reichen). Habe es zwar unter Linux und nicht Windows, aber sollte ja ähnlich laufen.
Gruss, Jürgen
-
@michihorn sagte in [Vorlage] Script für Sonos-Adapter:
Die Schaltflächen Stop / Play funktionieren bei mir nicht
Bitte am besten im VIS genau prüfen, wohin die Widgets zeigen, etc. Ebenso prüfen, ob es im importierten Projekt sauber funktionierte.
Gibt es eine einfache Chance einen anderen Raum zu gruppieren?
Das wäre eine Erweiterung des Scripts Bitte am besten hier ein Github-Issue aufmachen, mit möglichst genauer Beschreibung, wie das Anwendungs-Szenario ist.
-
Hi,
das mit den Schaltflächen und den blauen darüber gelegten Symbolen hatte ich auch. Bei mir ging es aber, mit der Maus am Laptop einmal knapp daneben (neben das blaue, auf das eigentliche Symbol) zu zielen und schon war das blaue weg und kam auch nicht wieder.
Zum Thema anderer Raum: Ich habe das nur für vier Räume laufen. Skript ist ja nur einmal nötig und dann habe ich aus den 4 (für jeden Raum eins) Projekten eben den VIS exportiert, in mein eigentliches Projekt für jeden Raum einen neuen View und den Pfad zu den Icons angepasst. Somit kann ich von meinem Grundview per Navigation zu den einzelnen Sonos-Räumen und wieder zurück. Und jeder kann unabhängig von den anderen gesteuert werden.
Projektübergreifende Navigation kann VIS AFAIK (immer noch) nicht?!
Oder was genau ist mit anderen Raum gruppieren gemeint?Gruss, Jürgen
-
@Wildbill Gruppieren ist wenn du mehrere Räume zusammen fasst. Bedeutet ein Sender in den Gruppierten Räumen, dass was du beschrieben hast würde wenn du in den benachbarten Räumen den selben Sender einstellst, zu einen Zeitversatz führen. Beim Gruppieren passiert das nicht. Wann brauch man das? Wir haben am Pool einen Sonos Raum mit zwei Speaker, im angrenzenden Wintergarten zwei Sonos Speaker und im Wohnzimmer sind einige Sonos installiert. Ist ein tolles Feature wenn du Party hast und überall im Erdgeschoss inklusive ist die selbe Musik. Das Gruppieren muss natürlich auch wieder ausgeschaltet werden können. Auf der Handy App von Sonos kannst du Räume zu Gruppen zusammen fassen.
Gruß
Michael -
Ja, jetzt wo Du es schreibst hört es sich irgendwie auch genauso wie das Gruppieren in der Sonos-App an, das ich auch ab und an nutze. Mein Fehler, hatte das irgendwie falsch verknüpft, da ich direkt davor verschiedenene Räume im Kopf und das gerade bei mir so umgesetzt hatte.
Gruss, Jürgen
-
Update - Version 1.2:
Der Sonos-Adapter unterstützte bislang nicht wirklich das Satzzeichen Komma in Favoriten-Namen, da der Sonos-Datenpunkt favorites_list komma-separiert ist.
Ich habe daher im Sonos-Adapter direkt einen Datenpunkt favorites_list_array ergänzt, dieser nun dank Pull-Request 55 in der latest Version des Adapters verfügbar.
Mein Script unterstützt nun diesen neuen Datenpunkt, d.h. wenn eine Sonos-Adapter-Instanz mit der neuesten Version vorhanden ist, so sind nun auch Komma oder Semikolon in Favoriten-Namen möglich.
Siehe Script Version 1.2.Zum Updaten bitte alle Datenpunkte des Scripts (nicht: Adapter) vorher löschen, werden dann alle neu angelegt.
Ältere Versionen des Sonos-Adapters werden weiterhin unterstützt.
Ergänzung 16.09.2019:
Falls nach der Installation der Latest-Version des Adapters der Datenpunkt "favorites_list_array" im Adapter nicht verfügbar ist: siehe Beitrag von Wildbill -
@Mic
Hi,neuen Sonos-Adapter von Github gezogen und Upload gemacht, aber der neue Datenpunkt taucht bei mir nicht auf. Nichtsdestotrotz das Script auch upgedated, das läuft nach wie vor problemlos.
Grussm Jürgen
-
@Mic
Hi, ich habe den gesuchten Datenpunkt nun auch in der Objektliste. Ich musst dazu aber den Sonos-Adapter stoppen, die Datenpunkte vom Adapter (nicht Script) komplett löschen und danach durch Adapterneustart neu anlegen lassen. Dann war der array auch da. Anscheinend kommt der nicht, wenn man nur den Adapter updated und den Rest lässt. Evtl. ergänzt Du das ja oben noch.Gruss, Jürgen
-
Hi @Wildbill
danke für den Hinweis, habe ich oben ergänzt. -
@Mic man muss dich mal loben was du für gute Dinge bereit stellst. Alle ACHTUNG !!
-
@helfi9999
Vielen Dank -
@Mic Hi Mic, tolles Projekt!!! hab ein kleines Problem. Es hat alles funktioniert, Datenpunkte wurden angelegt, Widget funktioniert. Ich sehe in der Favoritenauswahl meine Favoriten, nur kann ich diese durch anklicken nicht hinzufügen. Es passiert einfach nichts und die linke Spalte bleibt leer. Hast du irgendeine Idee? Gruß Manu
-
@Manu-Oe said in [Vorlage] Script für Sonos-Adapter:
@Mic Hi Mic, tolles Projekt!!! hab ein kleines Problem. Es hat alles funktioniert, Datenpunkte wurden angelegt, Widget funktioniert. Ich sehe in der Favoritenauswahl meine Favoriten, nur kann ich diese durch anklicken nicht hinzufügen. Es passiert einfach nichts und die linke Spalte bleibt leer. Hast du irgendeine Idee? Gruß Manu
Im Log erscheint folgender Fehler
javascript.0 2019-09-19 12:58:57.725 error at Object.<anonymous> (script.js.common.Test.Sonos_Favoriten:268:17)
javascript.0 2019-09-19 12:58:57.725 error at customFavoritesAddRemove (script.js.common.Test.Sonos_Favoriten:434:37)
javascript.0 2019-09-19 12:58:57.725 error Error in callback: TypeError: customFavorites.push is not a function -
@Manu-Oe
Wann genau erscheint denn diese Fehlermeldung? Bei Script-Start, beim Klicken auf einen Favoriten, oder wann? -
@Mic als aller Erstes!!!! Vielen Dank für die Mühe und Leidenschaft für dieses Projekt und das du es der Community zur Verfügung stellst.
@michihorn und alle anderen, habe das selbe Problem mit den blauen Feldern, auf Vor- und zurück. Des Weiteren kann ich nicht Pause drücken lediglich Play es läuft jetzt also immer Musik
Leider wird auch das cover nicht angezeigt.
Kann mir jmd. bei den Problemen helfen???
Wurde der Issue für die Gruppierung schon aufgemacht, wenn das noch klappen würde; wäre es perfekt und sogar für Anfänger wie mich umsetzbar.
Lg
Nils -
Hey,
erst einmal vielen Dank für das Script!
Bei mir funktioniert die Fav-Liste perfekt, allerdings werden die Buttons für Play, pause, Group etc. nicht angezeigt.
Woran könnte das liegen?
-
Hi,
auch erstmal danke an das Script.
Bekomme es bei mir einfach nicht zum laufen bekomme immer diese Fehler:
undefined2019-11-10 12:18:58.577 - info: javascript.0 Stop script script.js.Test.sonos123 2019-11-10 12:19:00.357 - info: javascript.0 Start javascript script.js.Test.sonos123 2019-11-10 12:19:00.362 - error: javascript.0 script.js.Test.sonos123 compile failed: at script.js.Test.sonos123:92 2019-11-10 12:19:00.362 - error: javascript.0 const LOG_INFO = true; 2019-11-10 12:19:00.362 - error: javascript.0 ^ 2019-11-10 12:19:00.362 - error: javascript.0 SyntaxError: Identifier 'LOG_INFO' has already been declared 2019-11-10 12:19:00.362 - error: javascript.0 at new Script (vm.js:83:7) 2019-11-10 12:19:00.362 - error: javascript.0 at Object.createScript (vm.js:277:10) 2019-11-10 12:19:00.362 - error: javascript.0 at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:961:28) 2019-11-10 12:19:00.362 - error: javascript.0 at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1184:37) 2019-11-10 12:19:00.362 - error: javascript.0 at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1237:17) 2019-11-10 12:19:00.362 - error: javascript.0 at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:828:17) 2019-11-10 12:19:00.362 - error: javascript.0 at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8) 2019-11-10 12:19:00.363 - error: javascript.0 at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15) 2019-11-10 12:19:00.363 - error: javascript.0 at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20) 2019-11-10 12:19:00.363 - error: javascript.0 at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket. (/opt/iobroker/node_modules/component-bind/index.js:21:15) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14) 2019-11-10 12:19:00.363 - error: javascript.0 at WS. (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10) 2019-11-10 12:19:00.363 - error: javascript.0 at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20) 2019-11-10 12:19:00.363 - error: javascript.0 at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8) 2019-11-10 12:19:00.363 - error: javascript.0 at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8) 2019-11-10 12:19:00.363 - error: javascript.0 at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10) 2019-11-10 12:19:00.364 - error: javascript.0 at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14) 2019-11-10 12:19:00.364 - error: javascript.0 at WebSocket.emit (events.js:198:13) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10) 2019-11-10 12:19:00.364 - error: javascript.0 at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5) 2019-11-10 12:19:00.364 - error: javascript.0 at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24) 2019-11-10 12:19:00.364 - error: javascript.0 at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20) 2019-11-10 12:19:00.364 - error: javascript.0 at Socket.emit (events.js:198:13) 2019-11-10 12:19:00.364 - error: javascript.0 at addChunk (_stream_readable.js:287:12) 2019-11-10 12:19:00.365 - error: javascript.0 at readableAddChunk (_stream_readable.js:268:11) 2019-11-10 12:19:00.365 - error: javascript.0 at Socket.Readable.push (_stream_readable.js:223:10) 2019-11-10 12:19:00.365 - error: javascript.0 at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
Ich hoffe es kann mir wer helfen
-
@Icube
Du musst das Log-File in "code-tags" (siehe das Symbol "</>" packen, sonst ist das nicht lesbar !! -
@BBTown okay danke
undefined2019-11-10 12:18:58.577 - info: javascript.0 Stop script script.js.Test.sonos123 2019-11-10 12:19:00.357 - info: javascript.0 Start javascript script.js.Test.sonos123 2019-11-10 12:19:00.362 - error: javascript.0 script.js.Test.sonos123 compile failed: at script.js.Test.sonos123:92 2019-11-10 12:19:00.362 - error: javascript.0 const LOG_INFO = true; 2019-11-10 12:19:00.362 - error: javascript.0 ^ 2019-11-10 12:19:00.362 - error: javascript.0 SyntaxError: Identifier 'LOG_INFO' has already been declared 2019-11-10 12:19:00.362 - error: javascript.0 at new Script (vm.js:83:7) 2019-11-10 12:19:00.362 - error: javascript.0 at Object.createScript (vm.js:277:10) 2019-11-10 12:19:00.362 - error: javascript.0 at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:961:28) 2019-11-10 12:19:00.362 - error: javascript.0 at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1184:37) 2019-11-10 12:19:00.362 - error: javascript.0 at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1237:17) 2019-11-10 12:19:00.362 - error: javascript.0 at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:828:17) 2019-11-10 12:19:00.362 - error: javascript.0 at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8) 2019-11-10 12:19:00.363 - error: javascript.0 at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15) 2019-11-10 12:19:00.363 - error: javascript.0 at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20) 2019-11-10 12:19:00.363 - error: javascript.0 at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12) 2019-11-10 12:19:00.363 - error: javascript.0 at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket. (/opt/iobroker/node_modules/component-bind/index.js:21:15) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20) 2019-11-10 12:19:00.363 - error: javascript.0 at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14) 2019-11-10 12:19:00.363 - error: javascript.0 at WS. (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10) 2019-11-10 12:19:00.363 - error: javascript.0 at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20) 2019-11-10 12:19:00.363 - error: javascript.0 at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8) 2019-11-10 12:19:00.363 - error: javascript.0 at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8) 2019-11-10 12:19:00.363 - error: javascript.0 at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10) 2019-11-10 12:19:00.364 - error: javascript.0 at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14) 2019-11-10 12:19:00.364 - error: javascript.0 at WebSocket.emit (events.js:198:13) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10) 2019-11-10 12:19:00.364 - error: javascript.0 at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5) 2019-11-10 12:19:00.364 - error: javascript.0 at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31) 2019-11-10 12:19:00.364 - error: javascript.0 at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24) 2019-11-10 12:19:00.364 - error: javascript.0 at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20) 2019-11-10 12:19:00.364 - error: javascript.0 at Socket.emit (events.js:198:13) 2019-11-10 12:19:00.364 - error: javascript.0 at addChunk (_stream_readable.js:287:12) 2019-11-10 12:19:00.365 - error: javascript.0 at readableAddChunk (_stream_readable.js:268:11) 2019-11-10 12:19:00.365 - error: javascript.0 at Socket.Readable.push (_stream_readable.js:223:10) 2019-11-10 12:19:00.365 - error: javascript.0 at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)