[Vorlage] Spotify Skript

Fragen zum Skripten mit ioBroker.javascript
Benutzeravatar
lobomau
guru
Beiträge: 1020
Registriert: 24.03.2016, 10:45

Re: [Vorlage] Spotify Skript

Beitrag von lobomau » 08.01.2018, 22:00

sebastian.eberle hat geschrieben:
Lucky hat geschrieben:vielen Dank ! :D freut mich wenn es dem einen oder anderen nützlich ist !


Ich habe die letzte Version nochmal etwas bearbeitet:

- Fehler behoben
- es werden jetzt die Tracks der Playlist in den State ''Track_List" der jeweiligen Liste geschrieben, diese können direkt angewählt werden (maximal 100 Einträge)
HEy Lucky, vielen Dank. Wo gibts die letzte Version?
Letzte Version ->
http://forum.iobroker.net/viewtopic.php ... 20#p103377
brix 3150 gigabyte (ioB mit vis, hue, tr-064, ical, ping, telegram, rflink, tankerkoenig, DWD, radar, unifi, Landroid S)
pi3 (Ansagen über sayit, kabelgebunden)
pi1 (arbeitssuchend)
Arduino mega mit 433 MHz-rflink
Google Home, Echo, Echo Dot

Marcel85
starter
Beiträge: 56
Registriert: 07.09.2017, 09:09

Re: [Vorlage] Spotify Skript

Beitrag von Marcel85 » 09.01.2018, 09:31

Lucky hat geschrieben:vielen Dank ! :D freut mich wenn es dem einen oder anderen nützlich ist !


Ich habe die letzte Version nochmal etwas bearbeitet:

- Fehler behoben
- es werden jetzt die Tracks der Playlist in den State ''Track_List" der jeweiligen Liste geschrieben, diese können direkt angewählt werden (maximal 100 Einträge)
Vielen Dank! Absolut klasse Skript!

Gibt es schon eine Möglichkeit die Track_List in VIS einzubinden (mit Auswahlmöglichkeit)? Am besten immer die passende zur/zum jeweiligen Playlist/Radio.

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

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 09.01.2018, 18:47

Vielen Dank! Absolut klasse Skript!

Gibt es schon eine Möglichkeit die Track_List in VIS einzubinden (mit Auswahlmöglichkeit)? Am besten immer die passende zur/zum jeweiligen Playlist/Radio.
Ich bin nicht so der VIS experte, aber es sollte mit dem ValueList Widget gehen, dem müsste man die Texte der States von Track_List zuweisen..


Ich hatte heute übrigens einige "502 Bad Gateway" vom Spotify Server die das Skript zum Absturz gebracht haben.
Das habe ich oben nochmal behoben

0018
professional
Beiträge: 307
Registriert: 05.11.2016, 11:11

Re: [Vorlage] Spotify Skript

Beitrag von 0018 » 12.01.2018, 23:36

HAllo,

funktioniert das Script auch mit einem Familien-Account? Habe einen und bekomme keine erfolgreiche Registrierung hin.
Wenn ich die Authorization_Return_URI eintrage, geht Authorized auf true. Ich bekomme aber weder meine User ID noch meine Devices angezeigt.
MfG

ioBroker auf Raspi3 | CCU2 | Motion | Galaxy TabE | Synology NAS

xmace
starter
Beiträge: 45
Registriert: 07.01.2018, 01:20

Re: [Vorlage] Spotify Skript

Beitrag von xmace » 13.01.2018, 01:06

Hi Lucky,

besten Dank fürs update.

Gibts irgend ne Möglichkeit mehr als die 40 Playlists einzulesen? Hab das "Limit" mal auf 50, 100 und 120 geändert aber funktioniert nicht....

Lg,
Matze

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

Re: [Vorlage] Spotify Skript

Beitrag von manne_r » 13.01.2018, 11:00

0018 hat geschrieben:HAllo,

funktioniert das Script auch mit einem Familien-Account? Habe einen und bekomme keine erfolgreiche Registrierung hin.
Wenn ich die Authorization_Return_URI eintrage, geht Authorized auf true. Ich bekomme aber weder meine User ID noch meine Devices angezeigt.
Moin!

ich habe das Skript mit Familien Account laufen.

* das Script ein zweites mal in der Javascript Instanz anlegen
* im Script alle Datenpunkte z.b. javascript.0.Spotify durch javascript.0.Spotify2 ersetzen
* Ausserdem die beiden Dateinamen wo die Tokens abgelegt werden individualisieren (SpotifyAccessToken.txt -> SpotifyAccessToken2.txt und SpotifyRefreshToken.txt -> SpotifyRefreshToken2.txt)

Dann den Account anlegen usw. wie beim ersten Account gemäß bekannter Anleitung.

Das ganze geht im javascript Editor wunderbar mit suchen/ersetzen. Richitg elegant wäre es natürlich wenn man die Datenpunkt und txt Bezeichnung ganz oben im script als Variable konfigurieren könnte.. ;)

Schönes WE

0018
professional
Beiträge: 307
Registriert: 05.11.2016, 11:11

Re: [Vorlage] Spotify Skript

Beitrag von 0018 » 13.01.2018, 22:18

manne_r hat geschrieben: ich habe das Skript mit Familien Account laufen.
Danke für den Tipp... beim umbauen des Scripts ist mir aufgefallen das ich ein Leerzeichen im Client Secret mit kopiert habe und deshalb klappte es bei mir nicht. Nachdem ich das korrigiert habe, hat es direket auch mit nur einer Version geklappt...!

Fazit: Klappt auch mit dem Familiy Account :D Geiles Script !!

Jetzt nur noch ne vernüftige Visu bauen....
MfG

ioBroker auf Raspi3 | CCU2 | Motion | Galaxy TabE | Synology NAS

xmace
starter
Beiträge: 45
Registriert: 07.01.2018, 01:20

Re: [Vorlage] Spotify Skript

Beitrag von xmace » 13.01.2018, 22:45

Hi Lucky hab ein Problem. Hab den Code vom neuen Skript über den alten kopiert und vergessen die ID einzutragen. Seitdem häng ich in der Token abgelaufen & erneuern Schleife mit 100%CPU load & 4 grad höherer CPU Temp bis der Raspi abschmiert....
Hab alle Objekte gelöscht und versucht die Secury Token.txt im Script umzubenennen. Hat beides nichts gebracht.
Ne Idee was ich tun muss damit es wieder läuft?
Lg

Gesendet von meinem SM-G950F mit Tapatalk

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

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 14.01.2018, 17:58

xmace hat geschrieben:Hi Lucky,

besten Dank fürs update.

Gibts irgend ne Möglichkeit mehr als die 40 Playlists einzulesen? Hab das "Limit" mal auf 50, 100 und 120 geändert aber funktioniert nicht....

Lg,
Matze
möglich ist es, man kann mit einer anfrage aber Maximal 50 Playlisten abrufen (gem. API) ich werde das aber bei Gelegenheit einbauen das wenn >50 diese auch angelegt werden.

xmace hat geschrieben:Hi Lucky hab ein Problem. Hab den Code vom neuen Skript über den alten kopiert und vergessen die ID einzutragen. Seitdem häng ich in der Token abgelaufen & erneuern Schleife mit 100%CPU load & 4 grad höherer CPU Temp bis der Raspi abschmiert....
Hab alle Objekte gelöscht und versucht die Secury Token.txt im Script umzubenennen. Hat beides nichts gebracht.
Ne Idee was ich tun muss damit es wieder läuft?
Lg
hast du mal den JavaScript Adapter neu gestartet ?

xmace
starter
Beiträge: 45
Registriert: 07.01.2018, 01:20

Re: [Vorlage] Spotify Skript

Beitrag von xmace » 14.01.2018, 19:54

Lucky hat geschrieben:
xmace hat geschrieben:Hi Lucky,

besten Dank fürs update.

Gibts irgend ne Möglichkeit mehr als die 40 Playlists einzulesen? Hab das "Limit" mal auf 50, 100 und 120 geändert aber funktioniert nicht....

Lg,
Matze
möglich ist es, man kann mit einer anfrage aber Maximal 50 Playlisten abrufen (gem. API) ich werde das aber bei Gelegenheit einbauen das wenn >50 diese auch angelegt werden.

xmace hat geschrieben:Hi Lucky hab ein Problem. Hab den Code vom neuen Skript über den alten kopiert und vergessen die ID einzutragen. Seitdem häng ich in der Token abgelaufen & erneuern Schleife mit 100%CPU load & 4 grad höherer CPU Temp bis der Raspi abschmiert....
Hab alle Objekte gelöscht und versucht die Secury Token.txt im Script umzubenennen. Hat beides nichts gebracht.
Ne Idee was ich tun muss damit es wieder läuft?
Lg
hast du mal den JavaScript Adapter neu gestartet ?
Japp alles probiert. Schlussendlich habe ich das komplette Skript, alle Objekte und die beiden Textfiles manuell gelöscht.
Das Skript unter neuem Namen angelegt und dann ging es wieder.

Bzgl. Playlisten hab ich auch nen kleinen Workaround:

Code: Alles auswählen

 on({id:'javascript.0.Spotify.Get_User_Playlists'}, function (obj){
       if(Application.User_ID!==''){
            var query ={
                limit:40,
                offset:0
"Offset" in 40er Schritten erhöhen und danach "Get Playlists" Button drücken und so weiter. Dann werden bei jedem Klick die nächsten 40 Stück geladen.

[BTW: Offset ist weiterhin falsch geschrieben in deinem Code, ggf. beim nächsten Update fixen?]

Ansonsten danke nochmal Lucky für dein tolles Skript ;)

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: [Vorlage] Spotify Skript

Beitrag von aldoa1 » 15.01.2018, 16:45

Hallo,
habe alles installiertu und meine Devices werden auch angezeigt.

Nur bei den Playlisten passiert nichts.

Hat hier jemand noch einen Tipp?

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

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 15.01.2018, 17:09

"Offset" in 40er Schritten erhöhen und danach "Get Playlists" Button drücken und so weiter. Dann werden bei jedem Klick die nächsten 40 Stück geladen.

[BTW: Offset ist weiterhin falsch geschrieben in deinem Code, ggf. beim nächsten Update fixen?]
was meinst du mit falsch geschrieben ? ich sehe nix...

Edit: ja ok, jetzt hab ich es auch gesehen :shock: :D danke !

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: [Vorlage] Spotify Skript

Beitrag von aldoa1 » 16.01.2018, 10:00

Vielen Dank für die Super Erweiterung in meinem VIS!!!

Eine echte Bereicherung!

Eine Frage:

Die Titellänge ist in ms als Objekt vorhanden.

Wie kann ich diese als Minuten:Sekunden (z.B. 4:55 Minuten) anzeigen lassen?
Das ganze auch mit der bisherigen Laufzeit des Songs.

0018
professional
Beiträge: 307
Registriert: 05.11.2016, 11:11

Re: [Vorlage] Spotify Skript

Beitrag von 0018 » 16.01.2018, 10:23

Normalerweise muss der Wert ja nur mit Faktor 0,000016666 multipliziert werden, damit du die Minuten hast.
Hat bei mir aber irgendwie immer nur 0 ergeben. Habe daher eine "basic bar" zur Statusanzeige der Titellänge genommen, die den progress_ms fortlaufend anzeigt.
Spotify.PNG
Spotify.PNG (55.13 KiB) 355 mal betrachtet
MfG

ioBroker auf Raspi3 | CCU2 | Motion | Galaxy TabE | Synology NAS

Benutzeravatar
lobomau
guru
Beiträge: 1020
Registriert: 24.03.2016, 10:45

Re: [Vorlage] Spotify Skript

Beitrag von lobomau » 16.01.2018, 11:39

0018 hat geschrieben:Normalerweise muss der Wert ja nur mit Faktor 0,000016666 multipliziert werden, damit du die Minuten hast.
Hat bei mir aber irgendwie immer nur 0 ergeben. Habe daher eine "basic bar" zur Statusanzeige der Titellänge genommen, die den progress_ms fortlaufend anzeigt.

Spotify.PNG
Sieht doch ganz gut aus.
Hast du beim Faktor auch mal mit einem Punkt probiert anstatt Komma?
brix 3150 gigabyte (ioB mit vis, hue, tr-064, ical, ping, telegram, rflink, tankerkoenig, DWD, radar, unifi, Landroid S)
pi3 (Ansagen über sayit, kabelgebunden)
pi1 (arbeitssuchend)
Arduino mega mit 433 MHz-rflink
Google Home, Echo, Echo Dot

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: [Vorlage] Spotify Skript

Beitrag von aldoa1 » 16.01.2018, 14:33

0018 hat geschrieben:Normalerweise muss der Wert ja nur mit Faktor 0,000016666 multipliziert werden, damit du die Minuten hast.
Hat bei mir aber irgendwie immer nur 0 ergeben. Habe daher eine "basic bar" zur Statusanzeige der Titellänge genommen, die den progress_ms fortlaufend anzeigt.

Spotify.PNG
Super! Danke für die Antwort.

Das gefällt mir noch viel besser!


Wenn ich aber multiplizieren möchte: Wie geht das?

Als html Feld mit {javascript.0.Spotify.PlaybackInfo.duration_ms * 0.000016666} Min. funktioniert nicht.

Benutzeravatar
wendy2702
guru
Beiträge: 2425
Registriert: 18.01.2016, 22:12
Wohnort: Herzogenrath

Re: [Vorlage] Spotify Skript

Beitrag von wendy2702 » 16.01.2018, 18:27

0018 hat geschrieben:Normalerweise muss der Wert ja nur mit Faktor 0,000016666 multipliziert werden, damit du die Minuten hast.
Hat bei mir aber irgendwie immer nur 0 ergeben. Habe daher eine "basic bar" zur Statusanzeige der Titellänge genommen, die den progress_ms fortlaufend anzeigt.

Spotify.PNG
Ob du dein Widget mal hier Posten würdest?
Bitte keine Fragen per PN, die gehören ins Forum!

FutureFX
Beiträge: 4
Registriert: 18.09.2017, 19:48

Re: [Vorlage] Spotify Skript

Beitrag von FutureFX » 16.01.2018, 20:35

Erstmal einen großen Dank für das Script. Sehr geil!

An dem kompletten "Widgets" für die Spotify Bedienung hätte ich auch Interesse, 0018. :)

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

Re: [Vorlage] Spotify Skript

Beitrag von Lucky » 16.01.2018, 22:25

zu der Sache mit dem Zeitstempel da ja schon einige danach fragten,hiermit könnte man die Millisekunden zu einen Zeit-String wandeln der lesbar ist

Code: Alles auswählen

function DigiClock(ms){
//Milisekunden zu Digitaluhr, Beispiel 3:59=238759
var Min=Math.floor(ms/60000);
var Sec=Math.floor(((ms%360000)%60000)/1000);
return Min+':'+Sec;
}

console.log(DigiClock(238759));

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: [Vorlage] Spotify Skript

Beitrag von aldoa1 » 17.01.2018, 08:10

Habe nicht geschafft, es einzubinden.

Was muss gemacht werden?

Antworten