[Vorlage] Spotify Skript

Fragen zum Skripten mit ioBroker.javascript
Karim
starter
Beiträge: 53
Registriert: 03.05.2017, 01:32

Re: [Vorlage] Spotify Skript

Beitrag von Karim » 16.12.2017, 21:57

Danke, nun klappt es.

Ich glaube es lag daran, dass ich die URL nicht in der erstellten App eingetragen hatte.

Vielen dank für eure Hilfe :)

Jetzt geht es an die Visualisierung. Mal sehen wie es damit voran geht :D

Lieben Gruß, Karim.
SmarthomeAssistent - Smarthome in Verbindung mit Sprachassistenten!

Worn
starter
Beiträge: 17
Registriert: 09.12.2017, 22:06

Re: [Vorlage] Spotify Skript

Beitrag von Worn » 18.12.2017, 22:48

Lucky hat geschrieben:
Worn hat geschrieben: @Luck: Ich bin Lucky! Würde dir gerne ein Bier ausgeben! Sehr coole Sache... sehr cool.
Ben
ich trinke Herry :D
Äh ja, Herrenhäuser? Und wie kommt das nu zu dir ;)?

Gruß
Ben

Karim
starter
Beiträge: 53
Registriert: 03.05.2017, 01:32

Re: [Vorlage] Spotify Skript

Beitrag von Karim » 26.12.2017, 15:44

Ich habe mal wieder ein Problem.

Nach ein paar Stunden / Tagen aktualisieren sich manche Werte in den Objekten nicht mehr, womit es auch nicht mehr möglich ist, die Steuerung per Vis zu übernehmen.
Wenn ich allerdings in den Objekten direkt einen Button nutze, klappt es komischerweise von dort aus wieder.

Über die Vis kommt beim Drücken eines Buttons auch folgendes:
javascript.0 2017-12-26 15:41:14.562 error script.js.Skripte.Spotify: FEHLER BEIM ERNEUTEN DATEN ANFORDERN !

Hat jemand eine Idee, woran es liegen könnte?

Lieben Gruß, Karim.
SmarthomeAssistent - Smarthome in Verbindung mit Sprachassistenten!

bigd-73
starter
Beiträge: 25
Registriert: 08.11.2017, 11:18

Re: [Vorlage] Spotify Skript

Beitrag von bigd-73 » 27.12.2017, 15:59

PERFEKT! Funktioniert super. Bis auf eine Kleinigkeit. Das Auslesen der Playlist ...
Drücke ich den Button kommt nichts an.

Habe im Script diesen Fehler entdeckt:
Error.jpg
Hat der vielleicht was damit zu tun?

SG
Mario

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 31.12.2017, 11:38

du meinst das Ausrufezeichen ? das ist soweit ich weis ein Fehler im Editor und kommt bei allen Skripten vor ab einer bestimmten Zeilenanzahl..

Zu deinem Problem, wenn du die Playlists abgerufen hast, aktualisiere mal deine States

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 31.12.2017, 12:14

Karim hat geschrieben:Ich habe mal wieder ein Problem.

Nach ein paar Stunden / Tagen aktualisieren sich manche Werte in den Objekten nicht mehr, womit es auch nicht mehr möglich ist, die Steuerung per Vis zu übernehmen.
Wenn ich allerdings in den Objekten direkt einen Button nutze, klappt es komischerweise von dort aus wieder.

Über die Vis kommt beim Drücken eines Buttons auch folgendes:
javascript.0 2017-12-26 15:41:14.562 error script.js.Skripte.Spotify: FEHLER BEIM ERNEUTEN DATEN ANFORDERN !

Hat jemand eine Idee, woran es liegen könnte?

Lieben Gruß, Karim.
benutzt du die letzte Version ?
sollte eigentlich nicht mehr vorkommen, mein Skript lief jetzt eine mind. eine Woche ohne einen Benutzereingriff, und hat heute auf Anhieb wider funktioniert
Ich denke nicht das es mit VIS zutun hat,hast du vielleicht den Javascript Adapter zwischendurch neu gestartet, oder ist er abgestürzt ?

Karim
starter
Beiträge: 53
Registriert: 03.05.2017, 01:32

Re: [Vorlage] Spotify Skript

Beitrag von Karim » 31.12.2017, 15:20

Hallo Lucky,

Ja, ich nutze die Version 0.35.
Jetzt gerade ging es die Musik aus ioBroker direkt zu starten, aber über die Vis. hat es dann nicht mehr geklappt.
Zurück am Computer hat es dann auch nicht mehr mit den Buttons geklappt :(

Etwas verwirrend alles.

Lieben Gruß und guten Rutsch ins neue Jahr,
Karim.
SmarthomeAssistent - Smarthome in Verbindung mit Sprachassistenten!

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 31.12.2017, 18:57

hm, ich kann das leider nicht rekonstruieren, bei mir geht es

bigd-73
starter
Beiträge: 25
Registriert: 08.11.2017, 11:18

Re: [Vorlage] Spotify Skript

Beitrag von bigd-73 » 01.01.2018, 09:57

Lucky hat geschrieben:du meinst das Ausrufezeichen ? das ist soweit ich weis ein Fehler im Editor und kommt bei allen Skripten vor ab einer bestimmten Zeilenanzahl..

Zu deinem Problem, wenn du die Playlists abgerufen hast, aktualisiere mal deine States
... hat geklappt, danke.

SG
Mario

manne_r
Beiträge: 4
Registriert: 25.04.2017, 15:13

Re: [Vorlage] Spotify Skript

Beitrag von manne_r » 02.01.2018, 18:38

Hallo Lucky,

super Skript, vielen Dank dafür!

Bis auf die Aktualisierung der Playlists scheint alles zu funzen. Er bekommt irgendwie von Spotify ungefragt die DiscoverWeekly Playlist zusätzlich zu den eigentlichen zurück und hängt sich daran auf. (das vermute ich jedenfalls)

Code: Alles auswählen

javascript.0	2018-01-02 18:26:38.043	warn	Object "javascript.0.Spotify.Playlists.DiscoverWeekly" does not exist
Any Ideas?

Hab schon versucht, ob ich das bei Spotify abstellen kann, aber leider nichts gefunden.

-----

einen Typo hab ich beim Fehlersuchen in Gegend der Zeile 542 gefunden: offest = offset nehme ich an

Code: Alles auswählen

 on({id:'javascript.0.Spotify.Get_User_Playlists'}, function (obj){
       if(Application.User_ID!==''){
            var query ={
                limit:40,
    -->      offset:0  <--
            };
           

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 02.01.2018, 19:47

ich habe gerade bemerkt das immer und bei jeder Playlist vorkommt wenn man die Playlists ein zweites mal abruft, allerdings kommt bei mir dann nur die Warnung, aber es hängt sich nichts auf.. :?
ich mach mich mal dran...! danke für den Hinweis


Wenn man bei offset einen wert größer 0 angibt, werden Playlist die Indexmäßig davor liegen nicht abgerufen

Nachtrag: Habe den Fehler gefunden, es liegt an einem GetObject

tempestas
professional
Beiträge: 998
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [Vorlage] Spotify Skript

Beitrag von tempestas » 03.01.2018, 18:13

Hmmm ich bekomme beim Versuch es zu starten folgendes Log:

Code: Alles auswählen

javascript.0	2018-01-03 18:09:56.804	error	at Object. (script.js.common.Spotify.Spotify_Skript:437:36)
javascript.0	2018-01-03 18:09:56.803	error	Error in callback: TypeError: Cannot read property 'parse' of undefined
javascript.0	2018-01-03 18:09:55.625	info	script.js.common.Spotify.Spotify_Skript: Error: ENOENT: no such file or directory, open 'SpotifyAccessToken.txt'
javascript.0	2018-01-03 18:09:55.620	info	script.js.common.Spotify.Spotify_Skript: registered 20 subscriptions and 0 schedules
javascript.0	2018-01-03 18:09:55.616	error	at ContextifyScript.Script.runInContext (vm.js:35:29)
javascript.0	2018-01-03 18:09:55.616	error	at script.js.common.Spotify.Spotify_Skript:49:19
javascript.0	2018-01-03 18:09:55.615	error	script.js.common.Spotify.Spotify_Skript: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/querystring'

muss ich das querystring noch irgendwo im Adapter eintragen?

Edit: gemacht, nun ging es. Allerdings reagiert Chrome gar nicht auf die generierte URL und FF sagt, dass es invalid ist?
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 03.01.2018, 18:20

ich habe in der letzten Version oben ein paar Änderungen vorgenommen

Allerdings ist die Warnung nicht ganz weg zu bekommen, Sie kommt allerdings nur wenn ein Playlist abgerufen wird die vorher noch nicht angelegt war.
Grund ist, das getObject die Warnung ausgibt wenn nach einem nicht vorhandenen State gesucht wird, das hat aber sonst keine nachteile und für nicht zu Störungen.

Sonstige Änderungen:
- Anzahl der Tracks in einer Playlist wird jetzt angezeigt
- Shuffle hinzugefügt

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 03.01.2018, 18:27

tempestas hat geschrieben:
Edit: gemacht, nun ging es. Allerdings reagiert Chrome gar nicht auf die generierte URL und FF sagt, dass es invalid ist?
es ist korrekt das im Browser keine Webseite angezeigt wird weil es unter 'example' keine gibt, da ist eine Dummy, es wird aber trotzdem in der Adresszeile eine URL zurück gegeben, diese mußt du kopieren

Code: Alles auswählen

https://example.com/callback/?code=xxxxxxxxxxxxxxxxxxxxxxxxxx&state=xxxxxxxxxxxxxxxxxxxxx

tempestas
professional
Beiträge: 998
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [Vorlage] Spotify Skript

Beitrag von tempestas » 03.01.2018, 19:49

Er sagt bei mir allerdings:

Code: Alles auswählen


https://accounts.spotify.com/de/authorize/?client_id=XXXXXXXXXXXXXXXXXXXXXXX&response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback%2F&state=xxxxxxxxxxxxxxxxxxxxxxx&scope=user-modify-playback-state%20user-read-playback-state%20user-read-currently-playing%20playlist-read-private

und dann steht da eben INVALID_CLIENT: Invalid redirect URI

Ich habe auch nichts zulassen müssen bzw können in Spotify. Daher meine frage
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 03.01.2018, 20:03

der Ablauf sollte sich so gestalten:

1.Spotify Premium notwendig
2. bei Spotify eine Application registrieren
3. der erhaltenen Client ID und Client Secret im Script an die angegeben Stelle kopieren
4. State 'Get_Authorization drücken, es wird eine URL generiert
5. diese URL kopieren und im Browser einfügen, beim ersten mal wird Spotify Fragen ob man den Client zulassen möchte, dies bestätigen ! Nun wird man auf die nicht vorhanden Webseite 'example.com' (manche Browser zeigen möglicherweise einen Fehler)
Achtung: ist die der Client bereits zugelassen, fragt Spotify nicht erneut ! es wird direkt weitergeleitet !
6. die Adresse die jetzt in der Adresszeile des Browsers steht kopieren ( https://example.com/callback/?code=xxx&state=xxx ) und in das State 'Authorization_Return_URI' einfügen
7. Fertig

wichtig ist auch das exakt die gleiche Redirect URI im Skript wie auch bei der Registrierten Application angegeben ist !

tempestas
professional
Beiträge: 998
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [Vorlage] Spotify Skript

Beitrag von tempestas » 03.01.2018, 20:44

1) habe ich
2) gemacht
3) gemacht, 800x geprüft beides. Kopiert, manuell, via notepad++...
4) gemacht
5) gemacht --> spotify fragt mich gar nichts. Wo genau sollte diese Frage kommen? in meinem Spotify client? oder auf der homepage wo ich eingeloggt bin?
6) gemacht --> authorized geht auf true
7) irgendwie passiert jetzt aber nichts weiter?
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 03.01.2018, 20:53

Wenn authorized auf true geht hat alles geklappt!
Jetzt solltest du deine Geräte und playlisten einlesen können

tempestas
professional
Beiträge: 998
Registriert: 17.03.2017, 19:34
Wohnort: ~100km vom Holy Ground

Re: [Vorlage] Spotify Skript

Beitrag von tempestas » 03.01.2018, 21:04

hmm dann hängts woanders... ich klicke und klicke, aber nichts passiert.
noch etwas zu tun?
ioBroker | 19 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Sonos | Instar Cam | Fire HDX 7 | 3x Echo dot | Neato Botvac D5

Lucky
professional
Beiträge: 115
Registriert: 28.04.2017, 01:34
Wohnort: Hannover

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 03.01.2018, 23:11

Wird denn dein Benutzer Name im state username angezeigt?
Wo hast du das Skript gespeichert, direkt unter Javascript. 0. spotify ?

Antworten