Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  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.4k

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

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

[Vorlage] Spotify Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
745 Beiträge 95 Kommentatoren 264.8k Aufrufe 41 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W Offline
    W Offline
    web4wasch
    schrieb am zuletzt editiert von
    #369

    hallo twonky….

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

    1 Antwort Letzte Antwort
    0
    • MicM Offline
      MicM Offline
      Mic
      Developer
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • twonkyT Offline
        twonkyT Offline
        twonky
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mikiline
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • W Offline
            W Offline
            web4wasch
            schrieb am zuletzt editiert von
            #373

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

            Danke für die Info.

            1 Antwort Letzte Antwort
            0
            • twonkyT Offline
              twonkyT Offline
              twonky
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • lobomauL Offline
                lobomauL Offline
                lobomau
                schrieb am zuletzt editiert von
                #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.3, nodejs 22.20.0
                • Slave: Pi4
                1 Antwort Letzte Antwort
                0
                • twonkyT Offline
                  twonkyT Offline
                  twonky
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • lobomauL Offline
                    lobomauL Offline
                    lobomau
                    schrieb am zuletzt editiert von
                    #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.3, nodejs 22.20.0
                    • Slave: Pi4
                    1 Antwort Letzte Antwort
                    0
                    • W Offline
                      W Offline
                      web4wasch
                      schrieb am zuletzt editiert von
                      #378

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

                      1 Antwort Letzte Antwort
                      0
                      • X Offline
                        X Offline
                        xmace
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • MicM Offline
                          MicM Offline
                          Mic
                          Developer
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            schubi82
                            schrieb am zuletzt editiert von
                            #381

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

                            1 Antwort Letzte Antwort
                            0
                            • MicM Offline
                              MicM Offline
                              Mic
                              Developer
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • twonkyT Offline
                                twonkyT Offline
                                twonky
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • MicM Offline
                                  MicM Offline
                                  Mic
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #384

                                  @twonky:

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

                                  Vielen Dank twonky. Nun, der Use Case ist, dass Spotify quasi als "Shazam" agiert (ok, nicht ganz, man sieht ja sieht was gerade gespielt wird) und das aktuelle Lied bei Gefallen auf eine Favoriten-Playliste setzt. Aber verstehe, dass das rechte-technisch wohl nicht so einfach geht…

                                  @twonky:

                                  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. :( `

                                  Das ist echt interessant. Hier mal zum reproduzieren ganz ohne TuneIn und nur mit Spotify, ich mache alles im ioBroker:

                                  1.) Ich klicke auf Button spotify-premium.0.playlists.XYZ-Playlist-A.playThisList

                                  2.) Ich klicke auf spotify-premium.0.player.shuffleOn –> Shuffle ist nun ON (State spotify-premium.0.player.shuffle)

                                  3.) Ich klicke auf Button spotify-premium.0.playlists.XYZ-Playlist-B.playThisList –> Shuffle geht auf OFF.

                                  Grundsätzlich kann das ja ein Soptify-Feature sein, dass beim Wechseln einer Playliste Shuffle immer wieder aus geht; dank ioBroker und deinem Adapter eh kein Problem und ich setze halt den shuffle-State dann einfach zusätzlich per Javascript 8-)

                                  1 Antwort Letzte Antwort
                                  0
                                  • twonkyT Offline
                                    twonkyT Offline
                                    twonky
                                    schrieb am zuletzt editiert von
                                    #385

                                    @Mic: Shazam kenne ich wiederum auch nicht :?

                                    Ich habe dein Shuffle Workflow mal durchgespielt. Bei mir bleibt das Shuffel am Ende auf On und wechselt nicht zu Off :shock: Vielleicht ist das Geräte Konfiguration, mit was für ein Gerät passiert dir das?

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      schubi82
                                      schrieb am zuletzt editiert von
                                      #386

                                      Vielen Dank für Deine Mühe, Twonky! Leider bin ich etwas hilflos beim programmieren und Skripten, daher weiß ich leider nicht, wo ich das einbinden muss. Ich habe jetzt ein Skript erstellt, was trackListHtml heißt und javascript.0.spotify-premium.trackListHtml durch javascript.0.Spotify.trackListHtml ersetzt, da dies der Ordner mit anderen Spotify-Skripten ist.

                                      Im Widget "string unescaped" wird die Tracklist angezeigt, aber ich kann nichts auswählen. Was mache ich falsch?

                                      1 Antwort Letzte Antwort
                                      0
                                      • twonkyT Offline
                                        twonkyT Offline
                                        twonky
                                        schrieb am zuletzt editiert von
                                        #387

                                        @schubi82: Versuche es mal mit einem einfachem HTML Widget:

                                        [{"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.trackListHtml}"},"style":{"left":"669px","top":"207px","width":"303px","height":"454px"},"widgetSet":"basic"}]
                                        
                                        1 Antwort Letzte Antwort
                                        0
                                        • MicM Offline
                                          MicM Offline
                                          Mic
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #388

                                          @twonky:

                                          Ich habe dein Shuffle Workflow mal durchgespielt. Bei mir bleibt das Shuffel am Ende auf On und wechselt nicht zu Off :shock: Vielleicht ist das Geräte Konfiguration, mit was für ein Gerät passiert dir das? `

                                          Mit Alexa-Geräten (einzelne und Gruppen), als auch einem Denon-Receiver. Scheint also nicht wirklich geräte-abhängig zu sein bei mir…

                                          @twonky:

                                          @Mic: Shazam kenne ich wiederum auch nicht :? `
                                          Shazam ist eine Smartphone-App. Wenn Du irgendwo ein Lied hörst (in einer Bar, im Radio, etc.) dann ermittelt die App ziemlich zuverlässig den Artist und den Song-Namen, und dann kann man per Klick diesen Song in Spotify auf eine Playliste setzen.

                                          Wie auch immer, der Adapter läuft übrigens sehr stabil und zuverlässig, super Arbeit!

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          780

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe