Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Spotify Skript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

[Vorlage] Spotify Skript

[Vorlage] Spotify Skript

Scheduled Pinned Locked Moved Skripten / Logik
javascript
745 Posts 95 Posters 264.4k Views 41 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • lobomauL Offline
    lobomauL Offline
    lobomau
    wrote on last edited by
    #81

    @sebastian.eberle:

    @Lucky:

    vielen Dank ! 😄 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

    Host: NUC8i3 mit Proxmox:

    • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
    • Slave: Pi4
    1 Reply Last reply
    0
    • M Offline
      M Offline
      Marcel85
      wrote on last edited by
      #82

      @Lucky:

      vielen Dank ! 😄 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.

      1 Reply Last reply
      0
      • L Offline
        L Offline
        Lucky
        wrote on last edited by
        #83

        ` > 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****

        1 Reply Last reply
        0
        • 0 Offline
          0 Offline
          0018
          wrote on last edited by
          #84

          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
          0018

          1 Reply Last reply
          0
          • X Offline
            X Offline
            xmace
            wrote on last edited by
            #85

            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

            1 Reply Last reply
            0
            • M Offline
              M Offline
              manne_r
              wrote on last edited by
              #86

              @0018:

              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

              1 Reply Last reply
              0
              • 0 Offline
                0 Offline
                0018
                wrote on last edited by
                #87

                @manne_r:

                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 😄 Geiles Script !!

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

                Mfg
                0018

                1 Reply Last reply
                0
                • X Offline
                  X Offline
                  xmace
                  wrote on last edited by
                  #88

                  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

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    Lucky
                    wrote on last edited by
                    #89

                    @xmace:

                    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:

                    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 ?

                    1 Reply Last reply
                    0
                    • X Offline
                      X Offline
                      xmace
                      wrote on last edited by
                      #90

                      @Lucky:

                      @xmace:

                      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:

                      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:

                       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 😉

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        aldoa1
                        wrote on last edited by
                        #91

                        Hallo,

                        habe alles installiertu und meine Devices werden auch angezeigt.

                        Nur bei den Playlisten passiert nichts.

                        Hat hier jemand noch einen Tipp?

                        1 Reply Last reply
                        0
                        • L Offline
                          L Offline
                          Lucky
                          wrote on last edited by
                          #92

                          ` > "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: 😄 danke !

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            aldoa1
                            wrote on last edited by
                            #93

                            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.

                            1 Reply Last reply
                            0
                            • 0 Offline
                              0 Offline
                              0018
                              wrote on last edited by
                              #94

                              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.

                              1620_spotify.png

                              Mfg
                              0018

                              1 Reply Last reply
                              0
                              • lobomauL Offline
                                lobomauL Offline
                                lobomau
                                wrote on last edited by
                                #95

                                @0018:

                                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?

                                Host: NUC8i3 mit Proxmox:

                                • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
                                • Slave: Pi4
                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  aldoa1
                                  wrote on last edited by
                                  #96

                                  @0018:

                                  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.

                                  1 Reply Last reply
                                  0
                                  • wendy2702W Online
                                    wendy2702W Online
                                    wendy2702
                                    wrote on last edited by
                                    #97

                                    @0018:

                                    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!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    1 Reply Last reply
                                    0
                                    • F Offline
                                      F Offline
                                      FutureFX
                                      wrote on last edited by
                                      #98

                                      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. 🙂

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        Lucky
                                        wrote on last edited by
                                        #99

                                        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

                                        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));
                                        
                                        1 Reply Last reply
                                        0
                                        • A Offline
                                          A Offline
                                          aldoa1
                                          wrote on last edited by
                                          #100

                                          Habe nicht geschafft, es einzubinden.

                                          Was muss gemacht werden?

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          625

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe