NEWS
[Vorlage] Spotify Skript
-
-
das Ändern des State Playlists.PLAYLISTNAME.Track_List funktioniert nun wie in Luckys Skript. Man kann direkt einen Titel aus einer Playlist abspielen, wenn der State mit dessen Positionsnummer befüllt wird.
Dann hört die Playlist aber auf zu spielen und der Player befindet sich im "Track" Modus. Heisst: die Playlist wird nicht weiter abgespielt sobald der ausgwählte Track abgespielt wurde.
Ist das korrekt? `
-
-
Ja, das ist korrekt. War in Lucky's Skript so.
Aber wo ich jetzt so drüber nachdenke macht es vlt. mehr Sinn die PlayList an der gegebenen Stelle zu starten.
-
Ja, das ist korrekt. War in Lucky's Skript so.
Aber wo ich jetzt so drüber nachdenke macht es vlt. mehr Sinn die PlayList an der gegebenen Stelle zu starten. `
Genau deswegen die Frage
Denn die Playlist ist dann nämlich raus und man muss wieder manuell die Playlist anstossen…...
Ps: nicht starten, sondern dort weiter abzuspielen (ob mit Shuffle "on" oder ohne)
Hier noch mein angepasstes Skript für die Titelauswahl in einer Playlist auf die neue Version vom Spotify Adapter
! createState("javascript.0.Spotify.PlayList.TrackList", function () {
! });
! createState("javascript.0.Spotify.PlayList.TrackID", function () {
! });
! createState("javascript.0.Spotify.PlayList.PlayThis", function () {
! });
! createState("javascript.0.Spotify.PlayTrackInList", function () {
! });
! on({id: 'spotify-premium.0.PlaybackInfo.Playlist', change: "ne"}, function (obj) {
! if (getState('spotify-premium.0.PlaybackInfo.Playlist').val.length > 3) {
! var str_AktuellePlaylist = getState('spotify-premium.0.PlaybackInfo.Playlist').val;
! str_AktuellePlaylist = str_AktuellePlaylist.replace(/ /g, '');
! var str_AktuelleTracklist = getState('spotify-premium.0.Playlists.' + str_AktuellePlaylist + '.Track_List_String').val;
! setState('javascript.0.Spotify.PlayTrackInList'/javascript.0.Spotify.PlayList.TrackID/, 'spotify-premium.0.Playlists.' + str_AktuellePlaylist + '.Track_List');
! setState('javascript.0.Spotify.PlayList.TrackList'/javascript.0.Spotify.PlayList.TrackID/, str_AktuelleTracklist);
! var TrackID = str_AktuelleTracklist.split(';');
! TrackID.forEach (listArray);
! MyTrackID = MyTrackID.slice(9,-1);
! var MyTrackID;
! function listArray (elem, index) {
! MyTrackID += index + ";";
! }
! setState("javascript.0.Spotify.PlayList.TrackID"/javascript.0.Spotify.PlayList.TrackID/, MyTrackID);
! }
! });
! on({id: 'javascript.0.Spotify.PlayList.PlayThis', change: "ne"}, function (obj) {
! setState(getState('javascript.0.Spotify.PlayTrackInList').val, getState("javascript.0.Spotify.PlayList.PlayThis").val);
! }); -
Nun hat es mich erwischt. Spotify Premium Adapter läuft nicht mehr.
Bekomme laufend folgende Fehlermeldung im Log
! host.ioBroker-Pi 2018-04-24 20:55:01.237 info Restart adapter system.adapter.spotify-premium.0 because enabled
! host.ioBroker-Pi 2018-04-24 20:55:01.237 error instance system.adapter.spotify-premium.0 terminated with code 0 (OK)
! Caught 2018-04-24 20:55:01.237 error by controller[0]: at IncomingMessage.g (events.js:292:16)
! Caught 2018-04-24 20:55:01.236 error by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1085:12)
! Caught 2018-04-24 20:55:01.236 error by controller[0]: at Request.emit (events.js:188:7)
! Caught 2018-04-24 20:55:01.236 error by controller[0]: at emitOne (events.js:96:13)
! Caught 2018-04-24 20:55:01.236 error by controller[0]: at Request. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1163:10)
! Caught 2018-04-24 20:55:01.236 error by controller[0]: at Request.emit (events.js:191:7)
! Caught 2018-04-24 20:55:01.236 error by controller[0]: at emitTwo (events.js:106:13)
! Caught 2018-04-24 20:55:01.236 error by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:186:22)
! Caught 2018-04-24 20:55:01.235 error by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:166:45)
! Caught 2018-04-24 20:55:01.235 error by controller[0]: at Object.parse (native)
! Caught 2018-04-24 20:55:01.234 error by controller[0]: SyntaxError: Unexpected end of JSON input
! spotify-premium.0 2018-04-24 20:55:01.205 info terminating
! spotify-premium.0 2018-04-24 20:55:01.165 error at IncomingMessage.g (events.js:292:16)
! spotify-premium.0 2018-04-24 20:55:01.165 error at IncomingMessage. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1085:12)
! spotify-premium.0 2018-04-24 20:55:01.165 error at Request.emit (events.js:188:7)
! spotify-premium.0 2018-04-24 20:55:01.165 error at emitOne (events.js:96:13)
! spotify-premium.0 2018-04-24 20:55:01.165 error at Request. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1163:10)
! spotify-premium.0 2018-04-24 20:55:01.165 error at Request.emit (events.js:191:7)
! spotify-premium.0 2018-04-24 20:55:01.165 error at emitTwo (events.js:106:13)
! spotify-premium.0 2018-04-24 20:55:01.165 error at Request.self.callback (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:186:22)
! spotify-premium.0 2018-04-24 20:55:01.165 error at Request._callback (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:166:45)
! spotify-premium.0 2018-04-24 20:55:01.165 error at Object.parse (native)
! spotify-premium.0 2018-04-24 20:55:01.165 error SyntaxError: Unexpected end of JSON input
! spotify-premium.0 2018-04-24 20:55:01.160 error uncaught exception: Unexpected end of JSON inputJemand ne Ahnung woran es liegen könnte? Habe nichts geändert und es lief jetzt Wochen lang ohne Probleme
-
Jetzt gerade mit neuer Client ID und Client Secret probiert und auch das funktioniert nicht.
-
Das gleiche leider bei mir. Habe auch die Instanz und Objekte "spotify-premium.0" gelöscht, neu hinzugefügt, Autorisierung neu durchgeführt, etc., und es kommt immer wieder zu den Fehlern.
! host.raspberrypi 2018-04-24 21:19:55.242 info Restart adapter system.adapter.spotify-premium.0 because enabled
! host.raspberrypi 2018-04-24 21:19:55.242 error instance system.adapter.spotify-premium.0 terminated with code 0 (OK)
! host.raspberrypi 2018-04-24 21:19:55.241 error Caught by controller[0]: at IncomingMessage.g (events.js:292:16)
! host.raspberrypi 2018-04-24 21:19:55.241 error Caught by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1085:12)
! host.raspberrypi 2018-04-24 21:19:55.241 error Caught by controller[0]: at Request.emit (events.js:188:7)
! host.raspberrypi 2018-04-24 21:19:55.239 error Caught by controller[0]: at emitOne (events.js:96:13)
! host.raspberrypi 2018-04-24 21:19:55.239 error Caught by controller[0]: at Request. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1163:10)
! host.raspberrypi 2018-04-24 21:19:55.239 error Caught by controller[0]: at Request.emit (events.js:191:7)
! host.raspberrypi 2018-04-24 21:19:55.239 error Caught by controller[0]: at emitTwo (events.js:106:13)
! host.raspberrypi 2018-04-24 21:19:55.239 error Caught by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:186:22)
! host.raspberrypi 2018-04-24 21:19:55.239 error Caught by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:166:45)
! host.raspberrypi 2018-04-24 21:19:55.238 error Caught by controller[0]: at Object.parse (native)
! host.raspberrypi 2018-04-24 21:19:55.237 error Caught by controller[0]: SyntaxError: Unexpected end of JSON input
! spotify-premium.0 2018-04-24 21:19:55.168 error SyntaxError: Unexpected end of JSON input at Object.parse (native) at Request._callback (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:166:45) at Request.self.callback (/opt/
! spotify-premium.0 2018-04-24 21:19:55.165 error uncaught exception: Unexpected end of JSON input
! spotify-premium.0 2018-04-24 21:19:49.543 info starting. Version 0.1.2 in /opt/iobroker/node_modules/iobroker.spotify-premium, node: v6.14.1 -
Ich habe das Problem auch. Schein aktuell eine Störung bei Spotify zu sein, der Dienst meldet zwar ein http 200, sendet aber keine Daten. Heißt also einfach warten, bis es wieder geht.
-
Danke für Deine sehr schnelle Rückmeldung twonky, dann lasst uns mal abwarten.
Übrigens herzlichen Dank für Deine Arbeit, die Du hier rein steckst! Dies ebenso an Lucky, der das Script gestartet hat. Very much appreciated
-
Also bis dato funktioniert es immer noch nicht. Irgend eine Lösung?
-
Ich habe mir das jetzt mal genauer angesehen. Spotify hat ihre API geändert, wenn gerade kein Device aktiv ist. Habs behoben, Version 0.1.3 ist jetzt verfügbar: https://github.com/twonky4/ioBroker.spotify-premium
-
Sauber! Läuft wieder!
-
Super, läuft auch bei mir wieder, vielen Dank!
(Hier stand Blödsinn mit der Warnmeldung, die stammte von meinem Aufruf und hat nichts mit dem Adapter zu tun – daher entfernt)
-
Ich bekomme weiterhin zuverlässig alle 15 Minuten untenstehende error-Log-Einträge vom Spotify-Adapter.
Alle 15 Minuten deshalb, weil in der Adapterkonfiguration unter "Aktualisierungsintervall für Playlisteninformationen" die Zahl 15 eingetragen ist.
Setze ich die Zahl auf 2 Minuten, so kommen die Logeinträge eben alle gute 2 Minuten.
Das passiert ohne andere aktive Scripts.
Wie könnte man denn das lösen? Als Workaround habe ich das jetzt mal auf 1440 gestellt, damit es nur alle 24 Stunden auftritt.
Danke!
! spotify-premium.0 2018-04-29 21:16:33.116 info starting. Version 0.1.3 in /opt/iobroker/node_modules/iobroker.spotify-premium, node: v8.11.1
! host.All-In-One_RasPi 2018-04-29 21:16:31.556 info instance system.adapter.spotify-premium.0 started with pid 19188
! host.All-In-One_RasPi 2018-04-29 21:16:01.541 info Restart adapter system.adapter.spotify-premium.0 because enabled
! host.All-In-One_RasPi 2018-04-29 21:16:01.541 error instance system.adapter.spotify-premium.0 terminated with code 0 (OK)
! Caught 2018-04-29 21:16:01.541 error by controller[0]: at emitOne (events.js:116:13)
! Caught 2018-04-29 21:16:01.541 error by controller[0]: at Request. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1163:10)
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at Request.emit (events.js:214:7)
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at emitTwo (events.js:126:13)
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:186:22)
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:172:25)
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:609:21
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at persistPlaylist (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:505:21)
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at Array.forEach ()
! Caught 2018-04-29 21:16:01.540 error by controller[0]: at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:588:33
! Caught 2018-04-29 21:16:01.539 error by controller[0]: TypeError: Cannot read property 'url' of undefined
! spotify-premium.0 2018-04-29 21:16:01.408 error at emitOne (events.js:116:13)
! spotify-premium.0 2018-04-29 21:16:01.408 error at Request. (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:1163:10)
! spotify-premium.0 2018-04-29 21:16:01.408 error at Request.emit (events.js:214:7)
! spotify-premium.0 2018-04-29 21:16:01.408 error at emitTwo (events.js:126:13)
! spotify-premium.0 2018-04-29 21:16:01.408 error at Request.self.callback (/opt/iobroker/node_modules/iobroker.spotify-premium/node_modules/request/request.js:186:22)
! spotify-premium.0 2018-04-29 21:16:01.408 error at Request._callback (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:172:25)
! spotify-premium.0 2018-04-29 21:16:01.408 error at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:609:21
! spotify-premium.0 2018-04-29 21:16:01.408 error at persistPlaylist (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:505:21)
! spotify-premium.0 2018-04-29 21:16:01.408 error at Array.forEach ()
! spotify-premium.0 2018-04-29 21:16:01.408 error at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:588:33
! spotify-premium.0 2018-04-29 21:16:01.408 error TypeError: Cannot read property 'url' of undefined
! spotify-premium.0 2018-04-29 21:16:01.408 error uncaught exception: Cannot read property 'url' of undefined -
@Mic: danke für das Log. Sieht für mich so als als sei da eine Playlist ohne Image Url. Vielleicht eine ohne Tracks? Diese dann einfach Löschen und es geht wieder. Ich plane dafür Fix in der kommenden Version.
-
Danke Twonky! Ich hatte in der Tat leere Playlists in Spotify, diese gelöscht, Ordner "spotify-premium.0.Playlists" gelöscht, jedoch nach Aktualisierung liest der Adapter aufs erste Mal nicht alle ein, und wieder diese Fehler.
Daher freue ich mich auf das nächste Update
-
Hi,
bei mir ist es irgendwie ein Glücksspiel, ob der Adapter irgendwelche Eingaben annimmt oder nicht… Nach einem Neustart des Adapters geht es dann für unbestimmte Zeit wieder. Wenn es nicht geht, bekomme ich folgende Einträge:
! spotify-premium.0 2018-05-05 18:10:25.416 warn at IncomingMessage.emit (events.js:185:7)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at emitNone (events.js:91:20)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at IncomingMessage.g (events.js:292:16)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1085:12)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at Request.emit (events.js:188:7)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at emitOne (events.js:96:13)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at Request. (/opt/iobroker/node_modules/request/request.js:1163:10)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at Request.emit (events.js:191:7)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at emitTwo (events.js:106:13)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22)
! spotify-premium.0 2018-05-05 18:10:25.416 warn at Request._callback (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:258:42)
! spotify-premium.0 2018-05-05 18:10:25.416 warn Error
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at Socket. (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1162:21)
! spotify-premium.0 2018-05-05 18:10:25.414 warn at sendRequest (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:158:21)
! spotify-premium.0 2018-05-05 18:10:25.414 warn Error
! spotify-premium.0 2018-05-05 18:10:25.413 warn HTTP Request Error not handled, please debugJemand eine Idee?
-
Nochmal zum Verständnis… wenn ich den Adapter von Twonky habe, benötige ich das Skript von Lucky nicht, oder? Ich habe anscheinend das Problem, was Lucky auf Seite zwei gelöst hat: ich kann kein Device auswählen, wenn die Wiedergabe nicht läuft. Ist natürlich doof, denn im Vis kann ich die Wiedergabe nicht starten, wenn kein Gerät ausgewählt ist - ein Teufelskreis
Oder muss ich im JavaScript-Adapter doch ein Skript erstellen?
-
Richtig!
Entweder Script oder Adapter. Beides zusammen ist nicht notwendig.
-
Ok, danke. Dann ist das wohl in Twonkys Adapter nicht implementiert…
@twonky: Kannst Du da was machen?
Mich würde auch noch interessieren, welches Widget ich für die Darstellung von Playlisten oder Sendern nehmen kann, was mir auch das Cover aus den Objekten zieht.
-
Ich habe ein kleines Blockly gemacht und mit einem Widget verknüpft.
Mit dem Widget schalte ich das Device an und mit dem Blockly „drücke“ ich dann paar Sekunden später den „Use this for playback“ button.