Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Spotify Skript

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.0k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[Vorlage] Spotify Skript

Scheduled Pinned Locked Moved Skripten / Logik
javascript
745 Posts 95 Posters 276.0k 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.
  • X Offline
    X Offline
    Xyolyp
    wrote on last edited by
    #437

    Guten Tag,

    gibt es inzwischen eigentlich eine Möglichkeit wenn keine Geräte in der Liste der verfügbaren Geräte sind trotzdem ein bestimmtes Gerät anzusprechen? Ich habe einen Google Home Mini und einen Chromecast (Video), welche ich beide aus der Spotify App heraus anwählen kann, aber sie tauchen nur in der Liste der verfügbaren Geräte auf, solange ich Spotify auf dem Gerät offen habe. Besteht eine Möglichkeit lokal den "Starte Spotify" Befehl an den Google Home Mini bzw den Chromecast zu senden? Die App scheint ja irgendeine Möglichkeit zu haben lokal zu prüfen, welche Geräte verfügbar sind ohne, dass Spotify auf den Geräten aktiv sein muss.

    1 Reply Last reply
    0
    • P Offline
      P Offline
      Pascal09
      wrote on last edited by
      #438

      Hallo irgendwie klappt das bei mir nicht bekomme immer folgenden Fehler nachdem ich die Return URI eingetragen habe:

      javascript.0 2018-09-18 20:15:39.227 info script.js.Skripte.Spotify: Fehler beim Token Speichern

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

        @mikiline:

        @Alex1808:

        @mikiline:

        Das ist richtig, jedoch "müllt" es den Log zu und macht ihn unübersichtlich. Schön wäre es wenn man diesen Log nur sieht wenn man auf Debug stellt `

        Mache eventuell auch ausschalten?

        Script für Adapter zum Ein/Ausschalten aus VIS

        ! ````
        /* Spritpreis Spotify adapter neu starten
        ! erzeugt Objekt, das in VIS geschaltet werden kann
        Schaltung triggert Neustart eines Adapters
        ! 28.03.2018 erstellt von pix
        ! */
        const logging = true; // (true;false) Logausgabe zentral schalten, da 5minütlich ein Mehrzeiler geloggt wird.
        const instanz = "javascript." + instance;
        const fC = false; // force Create
        const idSchalter = instanz + ".Spotify.Adapter.Schalter";
        const adapter = "spotify-premium.0"; // Name und Instanz des Adapters
        ! // Ab hier nix mehr ändern
        if (logging) log("Skript " + name + " in der Instanz " + instance + " gestartet");
        ! var idAdapter = "system.adapter." + adapter;
        ! createState(idSchalter, false, fC, {
        name: adapter + " Adapter neu starten",
        type: "boolean",
        desc: "Schaltet den <" + adapter + "> Adapter per Skript zB aus VIS",
        role: "switch"
        });
        ! // Neustart triggern
        on({
        id: idSchalter,
        change: "ne",
        from: "system.adapter.web.0" // Schaltung nur aus VIS möglich
        }, function (dpobj) {
        var obj = getObject(idAdapter);
        if (dpobj.state.val) {
        obj.common.enabled = true; // Adapter einschalten
        } else if (!dpobj.state.val) {
        obj.common.enabled = false; // Adapter ausschalten
        }
        setObject(idAdapter, obj);
        if (logging) log("Adapter <" + adapter + "> wurde " + ((obj.common.enabled) ? "ein" : "aus") + "geschaltet");
        });

        
        Und ich hänge noch ein Indikator mit dazu, dann ist auch wirklich klar ob Adapter An oder Aus ist
        
        system.adapter.spotify-premium.0.alive `  
        

        Danke :-) Hab das Skript mal implementiert `
        Ich habe nicht verstanden was das Script mit den log-Einträgen

        spotify-premium.0	2018-09-20 08:38:01.724	warn	no playback content
        spotify-premium.0	2018-09-20 08:37:56.543	warn	no playback content
        spotify-premium.0	2018-09-20 08:37:51.431	warn	no playback content
        spotify-premium.0	2018-09-20 08:37:46.310	warn	no playback content
        

        zu tun hat?

        Ich habe nun in vis einen Schalter mit dem ich den Spotify-Adapter neustarten kann. Und dann geht der log genauso weiter wie vorher :roll:

        Ich kann beim Adapter nur die Log-Stufe auf Error stellen. Dann ist Ruhe.

        Host: NUC8i3 mit Proxmox:

        • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
        • Slave: Pi4
        1 Reply Last reply
        0
        • N Offline
          N Offline
          Nopax
          wrote on last edited by
          #440

          @Xyolyp:

          Guten Tag,

          gibt es inzwischen eigentlich eine Möglichkeit wenn keine Geräte in der Liste der verfügbaren Geräte sind trotzdem ein bestimmtes Gerät anzusprechen? Ich habe einen Google Home Mini und einen Chromecast (Video), welche ich beide aus der Spotify App heraus anwählen kann, aber sie tauchen nur in der Liste der verfügbaren Geräte auf, solange ich Spotify auf dem Gerät offen habe. Besteht eine Möglichkeit lokal den "Starte Spotify" Befehl an den Google Home Mini bzw den Chromecast zu senden? Die App scheint ja irgendeine Möglichkeit zu haben lokal zu prüfen, welche Geräte verfügbar sind ohne, dass Spotify auf den Geräten aktiv sein muss. `

          Ich habe auch das Problem das sämtliche Geräte nicht in der Liste verfügbar sind, falls jemand eine Möglichkeit hat die Geräte trotzdem anzusprechen wäre ich sehr dankbar.

          1 Reply Last reply
          0
          • AxelF1977A Offline
            AxelF1977A Offline
            AxelF1977
            wrote on last edited by
            #441

            @twonky:

            @schubi82: Hier habe ich dir ein Skript zusammen gebastelt womit du das lösen kannst. Das Design musst du natürlich an deine Bedürfnisse anpassen. `

            Genial, sowas habe ich gesucht, Danke

            Ich möchte das view nach und nach optisch an Spotify ranrücken. Dafür möchte ich die Playliste genau wie die Trackliste einer Playliste als Tabelle darstellen (siehe Screenshot). Ich möchte das nicht über DropDown Auswahl regeln.

            Leider habe ich es nicht geschafft das Javascript anzupassen. Da fehlen mir leider Kenntnisse.

            Könnte mir da jemand helfen?

            Vielen Dank
            4249_spotify_playlist_002.png

            ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

            1 Reply Last reply
            0
            • E Offline
              E Offline
              el-lutschi
              wrote on last edited by
              #442

              Hallo zusammen,

              bei mir in der Log läuft auch dauernd der "Fehler", wenn keine Musik läuft:

              spotify-premium.0	2018-09-20 08:38:01.724	warn	no playback content
              spotify-premium.0	2018-09-20 08:37:56.543	warn	no playback content
              spotify-premium.0	2018-09-20 08:37:51.431	warn	no playback content
              spotify-premium.0	2018-09-20 08:37:46.310	warn	no playback content
              

              Außerdem habe ich das Problem, dass sich meine Connect Geräte dauernd mehrfach im Adapter anlegen und dann nicht mehr über Skripte steuerbar sind.

              (Siehe Screenshot).

              Vll kann man dagegen auch was tun?

              Danke und Gruß

              Chris
              3950_unbenannt.png

              1 Reply Last reply
              0
              • AxelF1977A Offline
                AxelF1977A Offline
                AxelF1977
                wrote on last edited by
                #443

                Keiner eine Idee wie das Script umgebaut werden kann, damit die Playlisten als Links in einer Tabelle dargestellt werden können, sie wie es das Script von twonky für die Tracks einer Playliste tut?

                `createState('javascript.0.spotify-premium.trackListHtml', '', false);
                
                function refreshTrackList() {
                	var current = getState('spotify-premium.0.playbackInfo.playlist.trackList').val;
                	var source = getState('spotify-premium.0.playbackInfo.playlist.trackListArray').val;
                	var html = '';
                
                	for (var i = 0; i < source.length; i++) {
                		html += '';
                		html += '';
                		html += '';
                		html += '';
                	}
                
                	html += '
                
                | ';
                		if(current == i) html += '**';
                		html += source[i].artist;
                		if(current == i) html += '**';
                		html += ' | ';
                		if(current == i) html += '**';
                		html += source[i].title;
                		if(current == i) html += '**';
                		html += ' |
                
                ';
                
                	setState('javascript.0.spotify-premium.trackListHtml', html, true);
                }
                
                on('spotify-premium.0.playbackInfo.playlist.trackList', refreshTrackList);
                on('spotify-premium.0.playbackInfo.playlist.trackListArray', refreshTrackList);
                
                refreshTrackList();`
                
                Ich bekomme es trotz vielen Versuchen einfach nicht hin  :oops:[/i][/i]
                

                ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                1 Reply Last reply
                0
                • twonkyT Offline
                  twonkyT Offline
                  twonky
                  wrote on last edited by
                  #444

                  Skript erstellt: https://github.com/twonky4/ioBroker.spo … l-Playlist

                  1 Reply Last reply
                  0
                  • AxelF1977A Offline
                    AxelF1977A Offline
                    AxelF1977
                    wrote on last edited by
                    #445

                    @twonky:

                    Skript erstellt: https://github.com/twonky4/ioBroker.spo … l-Playlist `

                    Wie ich Dir schon geschrieben habe, ich bin schwer beeindruckt! Und ich bin Dir sehr dankbar für die schnelle Hilfe.

                    Ist auch schon eingebaut, siehe Screenshot. Habe noch kurz die Scrollbars an mein Design angepasst. Kommt echt gut jetzt zusammen. Daher einfach mal Danke sagen!

                    Klasse Arbeit twonky!
                    4249_spotify_playlist_004.1.png

                    ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                    1 Reply Last reply
                    0
                    • AxelF1977A Offline
                      AxelF1977A Offline
                      AxelF1977
                      wrote on last edited by
                      #446

                      @twonky

                      Gibt es eigentlich mittlerweile ein Lösung um die Lautstärke zu regeln, je nach dem Device, auf der die Wiedergabe gerade läuft?

                      https://forum.iobroker.net/viewtopic.php?f=21&t=8173&start=280#p131088 funktioniert bei mir nicht (angepasst an den neuen Adapter).

                      Das View nimmt auch langsam Formen an.

                      Klasse wäre es, auch noch die Anzahl der Titel pro Playliste anzeigen zulassen, wie es auch bei Spotify der Fall ist. Hier = 13 Songs. Der Adapter gibt das ja her, aber wie regel ich das pro Playliste dynamisch?
                      4249_spotify_playlist_006.png
                      4249_spotify_playlist_005.png

                      ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mikiline
                        wrote on last edited by
                        #447

                        Es gibt bereits einen Datenpunkt hierzu

                        "spotify-premium.0.playbackInfo.playlist.tracksTotal"

                        Auch welcher bereits abgespielt wird

                        "spotify-premium.0.playbackInfo.playlist.trackNo"

                        1 Reply Last reply
                        0
                        • AxelF1977A Offline
                          AxelF1977A Offline
                          AxelF1977
                          wrote on last edited by
                          #448

                          @mikiline:

                          Es gibt bereits einen Datenpunkt hierzu

                          "spotify-premium.0.playbackInfo.playlist.tracksTotal"

                          Auch welcher bereits abgespielt wird

                          "spotify-premium.0.playbackInfo.playlist.trackNo" `

                          Danke mikiline, da habe ich gestern den Wald vor lauter Bäumen nicht mehr gesehen.

                          ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                          1 Reply Last reply
                          0
                          • X Offline
                            X Offline
                            Xyolyp
                            wrote on last edited by
                            #449

                            @AxelF1977 stellst du deine View zur Verfügung wenn sie fertig ist? Sieht wirklich gut aus und sollte durch leichte Änderung der Widgetgrößen (oder hast du die schon prozentual?) ja auf nahezu jedem Tablet laufen können ;)

                            1 Reply Last reply
                            0
                            • AxelF1977A Offline
                              AxelF1977A Offline
                              AxelF1977
                              wrote on last edited by
                              #450

                              @Xyolyp:

                              @AxelF1977 stellst du deine View zur Verfügung wenn sie fertig ist? Sieht wirklich gut aus und sollte durch leichte Änderung der Widgetgrößen (oder hast du die schon prozentual?) ja auf nahezu jedem Tablet laufen können ;) `

                              Hi,

                              ja, das kann ich gerne machen. Aktuell ist es noch im groben Entstehen, und nur auf mein Tablet angepasst. Sobald es funktioniert wie ich möchte, kann ich es so anpassen, das es universell nutzbar ist

                              ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                              1 Reply Last reply
                              0
                              • ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #451

                                @ AxelF1977

                                Wie hast Du denn die Scrollbalken da rein bekommen?

                                1 Reply Last reply
                                0
                                • AxelF1977A Offline
                                  AxelF1977A Offline
                                  AxelF1977
                                  wrote on last edited by
                                  #452

                                  @Pocky:

                                  @ AxelF1977

                                  Wie hast Du denn die Scrollbalken da rein bekommen? `

                                  Hi Pocky,

                                  das sind jeweils basic string (unescaped) widgeds. Diesen habe ich bei overflow-y: den Wert "scroll" zugeordnet. Damit werden die Widgets dann mit Scrollbalken versehen, falls der Inhalt länger ist, als die Widgethöhe.

                                  Zum Schluss noch mit CSS an mein Layout angepasst.

                                  /* width */
                                  ::-webkit-scrollbar {
                                      width: 15px;
                                  }
                                  
                                  /* Track */
                                  ::-webkit-scrollbar-track {
                                      background: #424242; 
                                  }
                                  
                                  /* Handle */
                                  ::-webkit-scrollbar-thumb {
                                      background: #888; 
                                  }
                                  
                                  /* Handle on hover */
                                  ::-webkit-scrollbar-thumb:hover {
                                      background: #a7a6a6; 
                                  }
                                  

                                  4249_scrollbars01.jpg

                                  ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                                  1 Reply Last reply
                                  0
                                  • ? Offline
                                    ? Offline
                                    A Former User
                                    wrote on last edited by
                                    #453

                                    @ AxelF1977

                                    Danke Dir

                                    1 Reply Last reply
                                    0
                                    • AxelF1977A Offline
                                      AxelF1977A Offline
                                      AxelF1977
                                      wrote on last edited by
                                      #454

                                      @Pocky:

                                      @ AxelF1977

                                      Danke Dir `

                                      Gerne, ein Forum ist zum Austauschen und Helfen da. Ich habe hier viel Hilfe erfahren, freue mich wenn ich was zurück geben kann.

                                      ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                                      1 Reply Last reply
                                      0
                                      • AxelF1977A Offline
                                        AxelF1977A Offline
                                        AxelF1977
                                        wrote on last edited by
                                        #455

                                        Bei dem View geht es auch weiter, Screenshot 1 . Einige Baustellen habe ich aber, hier müsste twonkey bitte helfe.

                                        Gelöst:

                                        Volume über ein Widget, läuft gut

                                        Statusbar der Wiedergabe, funktioniert (leicht zeitverzögert und stockend, wie die Anzeige der Spielzeit auch)

                                        Länge der Texte der Playliste über CSS kürzen

                                        Ansonsten habe ich die Tabelle der Tracks optisch in Richtung Spotify gebracht.

                                        To do:

                                        Hier würde ich aber gerne noch die Laufzeit jedes Tracks gerne rechts neben dem Titel haben (wie bei Spotify) siehe Screenshot 2

                                        Auswahl der Quelle auf der gehört wird, wie bei Spotify, Screenshot 3

                                        View universell einsetzbar auf Tablets

                                        Klar wäre es super wenn wir zusätzlich Sachen hätten wir: Zur Playliste hinzufügen, suchen etc. Aber ich glaube das ein bisschen hoch gegriffen
                                        4249_spotify_playlist_012.png
                                        4249_spotify_playlist_010.png
                                        4249_spotify_playlist_009.png

                                        ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          mikiline
                                          wrote on last edited by
                                          #456

                                          Geräteauswahl habe ich bisher so gelöst

                                          ! ````
                                          [{"tpl":"tplJquiSelectList","data":{"oid":"spotify-premium.0.devices.deviceList","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","values":"{spotify-premium.0.devices.availableDeviceListIds}","texts":"{spotify-premium.0.devices.availableDeviceListString}","height":"250","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"no_style":false,"open":false},"style":{"left":"5px","top":"405px","width":"260px","height":"300px","z-index":"2","overflow-y":""},"widgetSet":"jqui"}]

                                          
                                          Vielleicht kannst Du das in dein View integrieren und per CSS noch verbessern, so das es in Deine Leiste unten passt und nach oben auf geht ;)
                                          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

                                          699

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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