Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Spotify Skript

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Vorlage] Spotify Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Lucky last edited by

      du meinst das Ausrufezeichen ? das ist soweit ich weis ein Fehler im Editor und kommt bei allen Skripten vor ab einer bestimmten Zeilenanzahl..

      Zu deinem Problem, wenn du die Playlists abgerufen hast, aktualisiere mal deine States

      1 Reply Last reply Reply Quote 0
      • L
        Lucky last edited by

        @Karim:

        Ich habe mal wieder ein Problem.

        Nach ein paar Stunden / Tagen aktualisieren sich manche Werte in den Objekten nicht mehr, womit es auch nicht mehr möglich ist, die Steuerung per Vis zu übernehmen.

        Wenn ich allerdings in den Objekten direkt einen Button nutze, klappt es komischerweise von dort aus wieder.

        Über die Vis kommt beim Drücken eines Buttons auch folgendes:

        javascript.0 2017-12-26 15:41:14.562 error script.js.Skripte.Spotify: FEHLER BEIM ERNEUTEN DATEN ANFORDERN !

        Hat jemand eine Idee, woran es liegen könnte?

        Lieben Gruß, Karim. `

        benutzt du die letzte Version ?

        sollte eigentlich nicht mehr vorkommen, mein Skript lief jetzt eine mind. eine Woche ohne einen Benutzereingriff, und hat heute auf Anhieb wider funktioniert

        Ich denke nicht das es mit VIS zutun hat,hast du vielleicht den Javascript Adapter zwischendurch neu gestartet, oder ist er abgestürzt ?

        1 Reply Last reply Reply Quote 0
        • K
          Karim last edited by

          Hallo Lucky,

          Ja, ich nutze die Version 0.35.

          Jetzt gerade ging es die Musik aus ioBroker direkt zu starten, aber über die Vis. hat es dann nicht mehr geklappt.

          Zurück am Computer hat es dann auch nicht mehr mit den Buttons geklappt 😞

          Etwas verwirrend alles.

          Lieben Gruß und guten Rutsch ins neue Jahr,

          Karim.

          1 Reply Last reply Reply Quote 0
          • L
            Lucky last edited by

            hm, ich kann das leider nicht rekonstruieren, bei mir geht es

            1 Reply Last reply Reply Quote 0
            • B
              bigd-73 last edited by

              @Lucky:

              du meinst das Ausrufezeichen ? das ist soweit ich weis ein Fehler im Editor und kommt bei allen Skripten vor ab einer bestimmten Zeilenanzahl..

              Zu deinem Problem, wenn du die Playlists abgerufen hast, aktualisiere mal deine States `

              … hat geklappt, danke.

              SG

              Mario

              1 Reply Last reply Reply Quote 0
              • M
                manne_r last edited by

                Hallo Lucky,

                super Skript, vielen Dank dafür!

                Bis auf die Aktualisierung der Playlists scheint alles zu funzen. Er bekommt irgendwie von Spotify ungefragt die DiscoverWeekly Playlist zusätzlich zu den eigentlichen zurück und hängt sich daran auf. (das vermute ich jedenfalls)

                javascript.0	2018-01-02 18:26:38.043	warn	Object "javascript.0.Spotify.Playlists.DiscoverWeekly" does not exist
                

                Any Ideas?

                Hab schon versucht, ob ich das bei Spotify abstellen kann, aber leider nichts gefunden.

                –---

                einen Typo hab ich beim Fehlersuchen in Gegend der Zeile 542 gefunden: offest = offset nehme ich an

                 on({id:'javascript.0.Spotify.Get_User_Playlists'}, function (obj){
                       if(Application.User_ID!==''){
                            var query ={
                                limit:40,
                    -->      offset:0  <--
                            };
                
                
                1 Reply Last reply Reply Quote 0
                • L
                  Lucky last edited by

                  ich habe gerade bemerkt das immer und bei jeder Playlist vorkommt wenn man die Playlists ein zweites mal abruft, allerdings kommt bei mir dann nur die Warnung, aber es hängt sich nichts auf.. :?

                  ich mach mich mal dran…! danke für den Hinweis

                  Wenn man bei offset einen wert größer 0 angibt, werden Playlist die Indexmäßig davor liegen nicht abgerufen

                  Nachtrag: Habe den Fehler gefunden, es liegt an einem GetObject

                  1 Reply Last reply Reply Quote 0
                  • T
                    tempestas last edited by

                    Hmmm ich bekomme beim Versuch es zu starten folgendes Log:

                    javascript.0	2018-01-03 18:09:56.804	error	at Object. (script.js.common.Spotify.Spotify_Skript:437:36)
                    javascript.0	2018-01-03 18:09:56.803	error	Error in callback: TypeError: Cannot read property 'parse' of undefined
                    javascript.0	2018-01-03 18:09:55.625	info	script.js.common.Spotify.Spotify_Skript: Error: ENOENT: no such file or directory, open 'SpotifyAccessToken.txt'
                    javascript.0	2018-01-03 18:09:55.620	info	script.js.common.Spotify.Spotify_Skript: registered 20 subscriptions and 0 schedules
                    javascript.0	2018-01-03 18:09:55.616	error	at ContextifyScript.Script.runInContext (vm.js:35:29)
                    javascript.0	2018-01-03 18:09:55.616	error	at script.js.common.Spotify.Spotify_Skript:49:19
                    javascript.0	2018-01-03 18:09:55.615	error	script.js.common.Spotify.Spotify_Skript: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/querystring'
                    
                    

                    muss ich das querystring noch irgendwo im Adapter eintragen?

                    Edit: gemacht, nun ging es. Allerdings reagiert Chrome gar nicht auf die generierte URL und FF sagt, dass es invalid ist?

                    1 Reply Last reply Reply Quote 0
                    • L
                      Lucky last edited by

                      ich habe in der letzten Version oben ein paar Änderungen vorgenommen

                      Allerdings ist die Warnung nicht ganz weg zu bekommen, Sie kommt allerdings nur wenn ein Playlist abgerufen wird die vorher noch nicht angelegt war.

                      Grund ist, das getObject die Warnung ausgibt wenn nach einem nicht vorhandenen State gesucht wird, das hat aber sonst keine nachteile und für nicht zu Störungen.

                      Sonstige Änderungen:

                      • Anzahl der Tracks in einer Playlist wird jetzt angezeigt

                      • Shuffle hinzugefügt

                      1 Reply Last reply Reply Quote 0
                      • L
                        Lucky last edited by

                        @tempestas:

                        Edit: gemacht, nun ging es. Allerdings reagiert Chrome gar nicht auf die generierte URL und FF sagt, dass es invalid ist? `

                        es ist korrekt das im Browser keine Webseite angezeigt wird weil es unter 'example' keine gibt, da ist eine Dummy, es wird aber trotzdem in der Adresszeile eine URL zurück gegeben, diese mußt du kopieren

                        https://example.com/callback/?code=xxxxxxxxxxxxxxxxxxxxxxxxxx&state=xxxxxxxxxxxxxxxxxxxxx
                        
                        1 Reply Last reply Reply Quote 0
                        • T
                          tempestas last edited by

                          Er sagt bei mir allerdings:

                          
                          https://accounts.spotify.com/de/authorize/?client_id=XXXXXXXXXXXXXXXXXXXXXXX&response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback%2F&state=xxxxxxxxxxxxxxxxxxxxxxx&scope=user-modify-playback-state%20user-read-playback-state%20user-read-currently-playing%20playlist-read-private
                          
                          

                          und dann steht da eben INVALID_CLIENT: Invalid redirect URI

                          Ich habe auch nichts zulassen müssen bzw können in Spotify. Daher meine frage

                          1 Reply Last reply Reply Quote 0
                          • L
                            Lucky last edited by

                            der Ablauf sollte sich so gestalten:

                            1.Spotify Premium notwendig

                            2. bei Spotify eine Application registrieren

                            3. der erhaltenen Client ID und Client Secret im Script an die angegeben Stelle kopieren

                            4. State 'Get_Authorization drücken, es wird eine URL generiert

                            5. diese URL kopieren und im Browser einfügen, beim ersten mal wird Spotify Fragen ob man den Client zulassen möchte, dies bestätigen ! Nun wird man auf die nicht vorhanden Webseite 'example.com' (manche Browser zeigen möglicherweise einen Fehler)

                            Achtung: ist die der Client bereits zugelassen, fragt Spotify nicht erneut ! es wird direkt weitergeleitet !

                            6. die Adresse die jetzt in der Adresszeile des Browsers steht kopieren ( https://example.com/callback/?code=xxx&state=xxx ) und in das State 'Authorization_Return_URI' einfügen

                            7. Fertig

                            wichtig ist auch das exakt die gleiche Redirect URI im Skript wie auch bei der Registrierten Application angegeben ist !

                            1 Reply Last reply Reply Quote 0
                            • T
                              tempestas last edited by

                              1. habe ich

                              2. gemacht

                              3. gemacht, 800x geprüft beides. Kopiert, manuell, via notepad++…

                              4. gemacht

                              5. gemacht --> spotify fragt mich gar nichts. Wo genau sollte diese Frage kommen? in meinem Spotify client? oder auf der homepage wo ich eingeloggt bin?

                              6. gemacht --> authorized geht auf true

                              7. irgendwie passiert jetzt aber nichts weiter?

                              1 Reply Last reply Reply Quote 0
                              • L
                                Lucky last edited by

                                Wenn authorized auf true geht hat alles geklappt!

                                Jetzt solltest du deine Geräte und playlisten einlesen können

                                1 Reply Last reply Reply Quote 0
                                • T
                                  tempestas last edited by

                                  hmm dann hängts woanders… ich klicke und klicke, aber nichts passiert.

                                  noch etwas zu tun?

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    Lucky last edited by

                                    Wird denn dein Benutzer Name im state username angezeigt?

                                    Wo hast du das Skript gespeichert, direkt unter Javascript. 0. spotify ?

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      manne_r last edited by

                                      Nimm mal im Script bei der URL ganz am Ende das / weg.

                                      Hatte ich weiter oben im Thread irgendwo gelesen. Das hat bei mir geholfen.

                                      Gesendet von iPhone mit Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        tempestas last edited by

                                        @Lucky:

                                        Wird denn dein Benutzer Name im state username angezeigt?

                                        Wo hast du das Skript gespeichert, direkt unter Javascript. 0. spotify ? `

                                        User ist leer.

                                        Ja, liegt direkt unter javascript.0 Instanz.

                                        Bzw. in einem Ordner "Spotify" unter den "Common" Skripten

                                        Werde mal manne_r's Tipp ausprobieren

                                        Edit: habe im Spotify Dashboard nochmal die example.com/callback Adresse eingegeben und gespeichert (war mir nicht klar, dass man das wohl muss).

                                        Nun kam immerhin einmalig diese Frage, ob ich es zulassen will von Spotify. Allerdings ändert sich danach nichts, die generierte Adresse schiebe ich in die auth_redirect_uri und es geht auf true, bleibt aber alles leer ansonsten

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tempestas last edited by

                                          Melde Vollzug:

                                          8x exakt das gleiche tun hat irgendwann funktioniert. Danke, nun werde ich mal reichlich testen. Vielen Dank, geile Sache!

                                          Edit: die Devices bleiben leer. Auch nach Klick auf get_devices.

                                          Dachte, dort würde ich meine Sonos Boxen sehen? Ich glaube, so ganz verstehe ich es noch nicht :roll: :oops:

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            Lucky last edited by

                                            also steht in User ID jetzt was drin ? gut 😄

                                            es könnte sein das es evtl eine Blacklist bei Spotify gibt auf die man kommt wenn zuviel Anmeldungen schief gehen

                                            Aktualisiere mal bitte deine States nachdem du die Geräte und Playlist abgerufen hast, States die zur Laufzeit angelegt wurden, werden in Iobroker nicht immer gleich sichtbar

                                            dann solltest du auch deine Sonos Boxen sehen wenn diese Spotify Connect unterstützen 😉

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            960
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            95
                                            745
                                            179113
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo