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

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

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

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

[Vorlage] Spotify Skript

Scheduled Pinned Locked Moved Skripten / Logik
javascript
745 Posts 95 Posters 266.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.
  • W Offline
    W Offline
    web4wasch
    wrote on last edited by
    #364

    ok. dann werde ich es mal morgen probieren! Habe mich schon in spotify bei allen Geräten abgemeldet gehabt, selbes Ergebnis…

    Ist schon irgendwie komisch, naja mal abwarten und nen Bierchen trinken. :D

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

      @mikiline und @web4wasch: Welche Admin Version benutzt ihr? 2 oder 3?

      @mikiline: Wegen deiner ListBox. Guck doch mal auf https://github.com/twonky4/ioBroker.spotify-premium da habe ich gestern Beispiele hinzugefügt.

      [{"tpl":"tplJquiSelectList","data":{"oid":"spotify-premium.0.playbackInfo.playlist.trackList","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.playbackInfo.playlist.trackListNumber}","texts":"{spotify-premium.0.playbackInfo.playlist.trackListString}","height":"100","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},"style":{"left":"505px","top":"369px"},"widgetSet":"jqui"}]
      
      
      1 Reply Last reply
      0
      • W Offline
        W Offline
        web4wasch
        wrote on last edited by
        #366

        @twonky:

        @mikiline und @web4wasch: Welche Admin Version benutzt ihr? 2 oder 3? `

        ich nutze 3.4.3 - die version 0.1.x hatte ich ich auch schon unter der 3'er laufen.

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

          @twonky:

          @mikiline und @web4wasch: Welche Admin Version benutzt ihr? 2 oder 3?

          @mikiline: Wegen deiner ListBox. Guck doch mal auf https://github.com/twonky4/ioBroker.spotify-premium da habe ich gestern Beispiele hinzugefügt.

          [{"tpl":"tplJquiSelectList","data":{"oid":"spotify-premium.0.playbackInfo.playlist.trackList","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.playbackInfo.playlist.trackListNumber}","texts":"{spotify-premium.0.playbackInfo.playlist.trackListString}","height":"100","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},"style":{"left":"505px","top":"369px"},"widgetSet":"jqui"}]
          
          ```` `  
          

          Super, Danke…..habe in dem Fall den falschen Datenpunkt genommen....

          Adminversion siehe Screenshot

          @twonky

          was jetzt nicht ganz 100% ist, ist das die Liste alle 5 Sekunden (da Intervall so eingestellt) aktualisiert wird. Das schliesst dann die Auswahlliste und man muss erneut klicken.

          Muss man schnell sein beim Tracks durchsuchen :-)
          2678_admin.png

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

            Ich habe mal einen Screencap angehängt, wie bei mir die Anmeldung aussieht. Einfach drauf klicken zum ansehen.

            mikiline@ Das Refresh ist mir auch schon aufgefallen. Wenn du den Interval auf 15 hoch stellst hast du mehr Zeit ;) Ich kümmere mich demnächst drum.
            3596_auth.gif

            1 Reply Last reply
            0
            • W Offline
              W Offline
              web4wasch
              wrote on last edited by
              #369

              hallo twonky….

              gleiches prozedere wie in deinem sreencap, nur kein Ergebnis...

              1 Reply Last reply
              0
              • MicM Offline
                MicM Offline
                Mic
                Developer
                wrote on last edited by
                #370

                So, hab die 0.2.1 in Betrieb, läuft super.

                Ich habe hier noch eine Frage zur Logik bezüglich dem Abspielen von Playlisten:

                Ich wähle mit Alexa eine Spotify-Playlist aus (hierzu im Cloud-Adapter eine Lampe definiert, und "Alexa, Spotify auf 7%" spielt meine Playliste Nr. 7 ab). Diese wird dann auch durch den Spotify-Adapter schön abgespielt. Damit die Playlisten nicht immer mit dem selben Song und im Shuffle starten, behelfe ich mir wie folgt:

                function global_m_Spotify_Playlist (strPlaylistID, strPlaylistName, intDelayInMilliseconds) {
                
                    setTimeout(function() {
                
                        setStateDelayed(strPlaylistID, true, 0, false);
                        setStateDelayed("spotify-premium.0.player.shuffleOn", true, 1500, false); // Delay ist nötig, damit Shuffle greift
                        setStateDelayed("spotify-premium.0.player.skipPlus", true, 2500, false);
                        setStateDelayed("spotify-premium.0.devices.Überall.useForPlayback", true, 1000, false);
                
                        g_myLog("Spotify Playlist '" + strPlaylistName + "' wird abgespielt");
                
                    }, intDelayInMilliseconds);
                }
                
                

                Die Idee dahinter:

                1.) erst mal Playliste setzen

                2.) dann Shuffle einschalten (Delay von 1500 ist notwendig, wenn kleiner, dann geht Shuffle wieder aus)

                3.) nun einen Track weiter, damit Shuffle greift

                4.) zum Schluss noch Überall-Gruppe zum Playback verwenden.

                Das geht auch so wunderbar, aber ist natürlich ein ziemlicher Workaround mit Shuffle und ein Song weiter. Soll das so sein, oder geht es einfacher, dass eine Playliste automatisch im "Shuffle" gestartet wird?

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

                  Ich habe nun mal den admin v3.4.1 - v3.4.3 getestet. Diese habwn wirklich einen Bug beim kopieren von URLs (& Zeichen). Ich habe dafür das Ticket #268 angelegt. Ich kann soviel sagen das der admin v3.4.0 noch funktioniert.

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

                    @twonky:

                    Ich habe nun mal den admin v3.4.1 - v3.4.3 getestet. Dieser hat wirklich einen Bug beim kopieren von URLs (& Zeichen). Ich habe dafür das Ticket #268 angelegt. Ich kann soviel sagen das der admin v3.4.0 noch funktioniert. `

                    Alles klar, dann ist da wieder demnächst was behoben.

                    Zum aktualisieren der Playlist…....die Werte brauchen ja nur aktualisiert werden wenn sich der Datenpunkt zum Abspielen ändert (spotify-premium.0.playbackInfo.playlist.id)

                    Ist es möglich auch Albeninformationen zu hinterlegen (Prinzip wie die Playlist, das die enthaltenen Lieder aus einem Album ausgelesen werden)

                    Am Besten im gleichen Format wie die Playlist (um später auch wieder Tracks auswählen zu können)

                    Und hier mal ein fettes DANKE für Deine Arbeit (auch für die schnelle Reaktion)

                    1 Reply Last reply
                    0
                    • W Offline
                      W Offline
                      web4wasch
                      wrote on last edited by
                      #373

                      @twonky: heißt? Ich sollte den admin downgraden und ausführen und dann admin wieder upgrade…

                      Danke für die Info.

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

                        @web4wasch: Nein musst du nicht. Du kannst auch alle 4 "&" durch "&" ersetzen.

                        @mikiline: Das Problem mit der Auswahlbox ist in Version 0.2.2 behoben.

                        Ich habe später vor auch Album, Artist und Tracklist infos zu laden und entsprechend auch in ein Context info zusammen zufassen. Das braucht aber etwas Zeit.

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

                          @web4wasch:

                          @twonky: heißt? Ich sollte den admin downgraden und ausführen und dann admin wieder upgrade…

                          Danke für die Info. `
                          Ich habe folgendes workaround gemacht:

                          authorizationURL auf "Schreiben erlauben" ändern. Dann wenn die URL erscheint, diese auswählen und mit Strg-C kopieren und in Browser String-V eintragen. So umgehst du die Copy-Funktion des admins.

                          Host: NUC8i3 mit Proxmox:

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

                            @Mic: Was hast du genau vor? Der Shuffle Status bliebt doch wir er war, egal ob ich einen anderen Track oder Playliste auswähle. Also wenn Shuffle an ist und du einen Track aus einer Playliste auswählst spielt diese Liste auch im Shuffle.

                            @lobomau: Nicht nur die Copy-Funktion sondern auch das Edit-Fenster ist kaputt.

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

                              @twonky:

                              @lobomau: Nicht nur die Copy-Funktion sondern auch das Edit-Fenster ist kaputt. `
                              OK. Aus irgendeinem Grund hat es so funktioniert. Ich hatte den Adapter neu installiert, alle Objekte gelöscht. Nun ist alles wieder da. Autorisierung auf true. Admin ist 3.4.3.

                              Host: NUC8i3 mit Proxmox:

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

                                @twonky: danke dir, war schneller… kann ich nur bestätigen, unter admin 3.4.0 läuft es wie geschmiert. ;)

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

                                  @lobomau:

                                  @web4wasch:

                                  @twonky: heißt? Ich sollte den admin downgraden und ausführen und dann admin wieder upgrade…

                                  Danke für die Info. `
                                  Ich habe folgendes workaround gemacht:

                                  authorizationURL auf "Schreiben erlauben" ändern. Dann wenn die URL erscheint, diese auswählen und mit Strg-C kopieren und in Browser String-V eintragen. So umgehst du die Copy-Funktion des admins. `

                                  vielen dank für den tipp! :thumbsupp:

                                  1 Reply Last reply
                                  0
                                  • MicM Offline
                                    MicM Offline
                                    Mic
                                    Developer
                                    wrote on last edited by
                                    #380

                                    @twonky:

                                    @Mic: Was hast du genau vor? Der Shuffle Status bliebt doch wir er war, egal ob ich einen anderen Track oder Playliste auswähle. Also wenn Shuffle an ist und du einen Track aus einer Playliste auswählst spielt diese Liste auch im Shuffle. `

                                    Leider nicht ganz, also:

                                    Angenommen ich spiele mittels TuneIn (Amazon Alexa) Musik auf der Überall-Gruppe von Alexa. Dann drücke ich den Button "spotify-premium.0.player.shuffleOn". Dadurch schaltet "spotify-premium.0.player.shuffle" auf "On(on)". Wenn ich nun eine Playliste starte mit Button, z.B. "spotify-premium.0.playlists.BillboardHot100.playThisList", dann startet diese immer mit dem ersten Song und "spotify-premium.0.player.shuffle" schaltet automatisch auf "Off(off)".

                                    Deswegen mache ich den oben genannten Workaround (Playliste starten, Shuffle zeitverzögert Einschalten, dann zeitverzögert nächster Track), damit die Playliste immer im Shuffle startet und nicht mit dem ersten Song.

                                    1 Reply Last reply
                                    0
                                    • S Offline
                                      S Offline
                                      schubi82
                                      wrote on last edited by
                                      #381

                                      Kann ich mir eine Trackliste auch dauerhaft anzeigen lassen und idealerweise auch Tracks daraus auswählen?

                                      1 Reply Last reply
                                      0
                                      • MicM Offline
                                        MicM Offline
                                        Mic
                                        Developer
                                        wrote on last edited by
                                        #382

                                        Ich hätte noch ein Feature Request :) :

                                        Per Knopfdruck den aktuell abgespielten Song auf eine in einem Datenpunkt hinterlegte Playliste setzen.

                                        Ich habe mir das mal per curl angesehen, das hier ist wohl das Kommando(?):

                                        6940_curl.jpg

                                        Wäre cool, wenn Du Dir das mal ansehen könntest, vielen Dank.

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

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

                                          `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();
                                          
                                          // [{"tpl":"tplHtml","data":{"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","refreshInterval":"0","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,"html":"{javascript.0.spotify-premium.trackListHtml}"},"style":{"left":"669px","top":"207px","width":"303px","height":"454px"},"widgetSet":"basic"}]` 
                                          
                                          @Mic: Mir klingt das zu sehr nach spezial Fall um es in den Adapter einzubauen. Ich habe aber gerade mal versucht ein Skript zu basteln was genau das macht, was du möchtest. Da der spotify-premium Adapter aber nicht die Berechtigungen "playlist-modify-public" und/oder "playlist-modify-private" hat, klappt das leider nicht. Und ich möchte ungerne Berechtigungen bei allen Usern abfragen, die eigentlich nicht gebraucht werden. Ich schreibe mir das aber mal als Feature Request auf.
                                          
                                          Was die Sache mit dem Shuffle angeht: Ich benutze leider kein tuneln. Kriegst du den Fall auch rein mit Spotify hin? Wenn ich bei mir Was abspiele, dann shuffle auf On stelle und playThisList aufrufe bleibt shuffle nämlich auf On.  :([/i][/i]
                                          
                                          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

                                          688

                                          Online

                                          32.4k

                                          Users

                                          81.6k

                                          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