Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Sonos-HTTP-API Installation für Newbies, Dummies und mich

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Sonos-HTTP-API Installation für Newbies, Dummies und mich

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

      @qlink Seltsam, bei mir spielt er zwar den Clip oder den Text ab, aber danach bleibt alles Stumm. Schalte ich die Musik wieder ein, ist dann die Lautstärke auf der, die der Clip/Text hatte.
      Verstehe ich nicht 😞

      1 Reply Last reply Reply Quote 1
      • S
        skorpil last edited by

        Dankeschön für die Hilfe. Ich schau mal, wie ich blockly in JavaScript konvertieren kann. Denn blockly kann ich gar nicht und JavaScript schlecht, aber besser als blockly.

        1 Reply Last reply Reply Quote 0
        • R
          rehmosch last edited by

          hat jemand eine Idee wie man mit dem Spotify Premium Adapter eine Spotify Playliste an Sonos sendet?

          Ich will es nicht über die Sonos-Favoriten machen, da dann Spotify connect nicht funktioniert.

          DAnke

          S 1 Reply Last reply Reply Quote 0
          • S
            skokarl @rehmosch last edited by

            @rehmosch sagte in Sonos-HTTP-API Installation für Newbies, Dummies und mich:

            hat jemand eine Idee wie man mit dem Spotify Premium Adapter eine Spotify Playliste an Sonos sendet?

            Ich will es nicht über die Sonos-Favoriten machen, da dann Spotify connect nicht funktioniert.

            DAnke

            Ich weiß nicht ob ich Dich jetzt richtig verstanden habe, ...... die Nummer der Playlist einfach mit übergeben ....

            1.jpg

            R 3 Replies Last reply Reply Quote 0
            • R
              rehmosch @skokarl last edited by rehmosch

              @skokarl hey, vielen Dank für die schnelle Antwort, die Idee ist echt Cool und werde diese noch einbauen 😉

              ne ich meine das so:

              Bildschirmfoto 2021-01-25 um 18.08.56.png

              Und dann habe ich noch ein Problemchen: Ich baue mir gerade in der Vis einen Sonos Player (Bild links) sowie Spotify Player (Bild rechts) zusammen. Wenn ich direkt aus Spotify Connect auf meine Sonos (Esszimmer) spiele, dann wird mir kein Cover (/state/sonos.0.root.192_168_1_52.cover_png) angezeigt:
              Bildschirmfoto 2021-01-25 um 18.17.32.png

              Bildschirmfoto 2021-01-25 um 18.31.31.png Bildschirmfoto 2021-01-25 um 18.31.26.png Bildschirmfoto 2021-01-25 um 18.31.18.png

              Danke

              1 Reply Last reply Reply Quote 0
              • R
                rehmosch @skokarl last edited by

                @skokarl Also bei einem Problemchen hast du mir ja geholfen, da ich diesen Post von dir eben gefunden habe 😉

                So,
                
                ich hab mich jetzt lange genug mit Alexa und den Playlisten von Spotify rumgeärgert, und da
                ich eh nur noch Sonos One in Betrieb habe, machen wir es doch jetzt einfach so :
                
                Playlist abspielen : ( am Ende ist immer die ID von der/dem Playlist, Album, Track usw von Spotify )
                
                http://192.168.178.56:5005/raum/spotify/now/spotify:playlist:37i9dQZF1DXcBWIGoYBM5M
                
                du bist GROßARTIG ;)
                
                S 1 Reply Last reply Reply Quote 0
                • S
                  skokarl @rehmosch last edited by

                  @rehmosch
                  Kann dass sein, dass Du vom Sonos Adapter redest ? zumindest teilweise ?

                  Ich nutze den gar nicht mehr weil er nicht 100% funktioniert.

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    rehmosch @skokarl last edited by

                    hey, @skokarl

                    wie hast du das abspielen deiner Spotify Playlisten (an Sonos) in deiner VIS denn umgesetzt?
                    Drop Down Menü, sowie im Spotify Player?
                    Per Button?

                    Ich weiß nicht wie ich es machen soll und suche Ideen. Würdest du einen Screenshot teilen?

                    Danke

                    S 1 Reply Last reply Reply Quote 0
                    • R
                      rehmosch @skokarl last edited by rehmosch

                      Ja, ich benutze den Sonos Adapter und jetzt wird mir so einiges klar 🙂 Warum state (pause, play, stop) spinnen und das Cover nicht angezeigt wird.

                      Wie kommst du an das Sonos Cover ran? In der Sonos Api finde ich nichts ;(

                      @skokarl said in Sonos-HTTP-API Installation für Newbies, Dummies und mich:

                      @rehmosch
                      Kann dass sein, dass Du vom Sonos Adapter redest ? zumindest teilweise ?

                      Ich nutze den gar nicht mehr weil er nicht 100% funktioniert.

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        skokarl @rehmosch last edited by

                        @rehmosch

                        Auswahl über Button, neue VIS Seite.....gewählte Playlist kriegt roten Rahmen,
                        Playlist wird in Userdata gespeichert ...

                        1.jpg

                        2.jpg

                        1 Reply Last reply Reply Quote 1
                        • S
                          skokarl @rehmosch last edited by skokarl

                          @rehmosch

                          das Cover hole ich mir über den Sonos State ....

                          setState("0_userdata.0.Sonos.absoluteAlbumArtUri", tablet.currentTrack.absoluteAlbumArtUri);
                          
                          
                          
                          
                          
                          on({id: '0_userdata.0.Sonos.state', change: "ne"}, function (obj) {
                          
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;  
                            
                            if (getState("0_userdata.0.Sonos.state").val == true) 
                          
                             {
                          
                           
                                var tablet;
                                var kueche;
                                var wohnl;
                                var wohnr; 
                                 
                                  var test;
                          
                              try {
                          
                                    require("request")('http://192.168.178.56:5005/tablet/state/', function (error, response, result) 
                          
                                    {
                          
                          			  tablet =  JSON.parse(result);
                                        
                          			  setState("0_userdata.0.Sonos.lautstaerke_tablet", tablet.volume); 
                                        setState("0_userdata.0.Sonos.stationName", tablet.currentTrack.stationName);
                                        setState("0_userdata.0.Sonos.artist", tablet.currentTrack.artist);
                                        setState("0_userdata.0.Sonos.title", tablet.currentTrack.title);
                                        setState("0_userdata.0.Sonos.absoluteAlbumArtUri", tablet.currentTrack.absoluteAlbumArtUri);
                                        
                          
                                }).on("error", function (e) {console.error(e);});
                          
                              } catch (e) { console.error(e); }
                           
                            /*
                             try {
                          
                                    require("request")('http://192.168.178.56:5005/kueche/state/', function (error, response, result) 
                          
                                    {
                          
                          			  kueche =  JSON.parse(result);
                          
                          			                setState("0_userdata.0.Sonos.lautstaerke_kueche", kueche.volume);
                                                      
                          
                                }).on("error", function (e) {console.error(e);});
                          
                              } catch (e) { console.error(e); }
                           
                               
                               
                               try {
                          
                                    require("request")('http://192.168.178.56:5005/wohnl/state/', function (error, response, result) 
                          
                                    {
                          
                          			  wohnl =  JSON.parse(result);
                          
                          			                setState("0_userdata.0.Sonos.lautstaerke_wohnl", wohnl.volume);
                                                      
                          
                                }).on("error", function (e) {console.error(e);});
                          
                              } catch (e) { console.error(e); }
                            
                               
                               try {
                          
                                    require("request")('http://192.168.178.56:5005/wohnr/state/', function (error, response, result) 
                          
                                    {
                          
                          			  wohnr =  JSON.parse(result);
                          
                          			                setState("0_userdata.0.Sonos.lautstaerke_wohnr", wohnr.volume);
                                                      
                          
                                }).on("error", function (e) {console.error(e);});
                          
                              } catch (e) { console.error(e); }
                            
                               */
                                   
                               setState("0_userdata.0.Sonos.state", false);             
                          
                             }
                          
                            
                          });
                          
                          

                          frag mich jetzt nicht .....ist soooolange her 🙂

                          probier einfach mal die State Funktion

                          1 Reply Last reply Reply Quote 1
                          • R
                            rehmosch last edited by rehmosch

                            @skokarl @skokarl hey,

                            seit ich deinen Code absetze:
                            http://192.168.1.253:5005/BÜRO/spotify/now/spotify:playlist:03QzL5uRB48iVZhSg3EGH1

                            erhalte ich diese Fehlermeldung von der Sonos Api

                            {"status":"error","error":"Got status 500 when invoking /MediaRenderer/AVTransport/Control","stack":"Error: Got status 500 when invoking /MediaRenderer/AVTransport/Control\n    at Object.invoke (/home/pi/node-sonos-http-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:99:10)\n    at Player.trackSeek (/home/pi/node-sonos-http-api-master/node_modules/sonos-discovery/lib/models/Player.js:552:15)\n    at /home/pi/node-sonos-http-api-master/lib/actions/spotify.js:38:56\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)"}
                            

                            und diese errors im spotify adapter debug log:

                            potify-premium.0	2021-01-29 17:19:51.793	error	(8567) erron in request: 403
                            spotify-premium.0	2021-01-29 17:19:51.792	warn	at processTicksAndRejections (internal/process/task_queues.js:79:11)
                            spotify-premium.0	2021-01-29 17:19:51.792	warn	at flush (/opt/iobroker/node_modules/asap/raw.js:50:29)
                            spotify-premium.0	2021-01-29 17:19:51.792	warn	at /opt/iobroker/node_modules/promise/lib/core.js:123:15
                            spotify-premium.0	2021-01-29 17:19:51.792	warn	at tryCallOne (/opt/iobroker/node_modules/promise/lib/core.js:37:12)
                            spotify-premium.0	2021-01-29 17:19:51.792	warn	at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:262:38
                            spotify-premium.0	2021-01-29 17:19:51.792	warn	(8567) Error
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at processTicksAndRejections (internal/process/task_queues.js:79:11)
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at flush (/opt/iobroker/node_modules/asap/raw.js:50:29)
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at /opt/iobroker/node_modules/promise/lib/core.js:123:15
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at tryCallOne (/opt/iobroker/node_modules/promise/lib/core.js:37:12)
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at /opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1580:20
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at listenOnShuffleOn (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1837:12)
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at listenOnShuffle (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:1820:12)
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	at sendRequest (/opt/iobroker/node_modules/iobroker.spotify-premium/main.js:154:21)
                            spotify-premium.0	2021-01-29 17:19:51.791	warn	(8567) Error
                            spotify-premium.0	2021-01-29 17:19:51.790	warn	(8567) http request error not handled, please debug
                            spotify-premium.0	2021-01-29 17:19:51.631	error	(8567) erron in request: 403
                            

                            Dann funktioniert bei mir der Spotify Player nicht mehr (keine Reaktion auf play, pause, ...) aber nur wenn von Spotify auf Sonos gespielt wird. Der Player in der VIS geht dann wieder, wenn andere Geräte außer Sonos gespielt werden.

                            Komisch ;(

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              skokarl @rehmosch last edited by skokarl

                              @rehmosch
                              moin,
                              1.) vermutlich nix schlimmes, aber ich nutze nie umlaute ( büro = buero )

                              2.) wofür brauchst du den Spotify Adapter, nehme ich nicht, den Spotify Account habe ich in der Sonos App, kann Dir
                              also nix zu den Fehler sagen

                              3.) und zu dem Got status 500 when invoking /MediaRenderer/AVTransport/Control
                              google bitte mal, ist ein Fehler in der Sonos API, ist bekannt, und es gibt auch workaround's dazu
                              da kommt irgendwas durcheinander, ich meine hätte was mit den Ausgängen zu tun, hatte ich auch schon

                              Ich kann hier gerade keinen Link mehr einstellen, forbidden ??

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                rehmosch @skokarl last edited by

                                @skokarl hey, wollte dir auch schon mehrmals antworten und war auch forbidden.

                                @skokarl said in Sonos-HTTP-API Installation für Newbies, Dummies und mich:

                                Ich kann hier gerade keinen Link mehr einstellen, forbidden ??

                                War bei mir auch so, musste diesse domain auf meinen pihole auf die whitelist aktualisieren. Oder es ist irgendein Adblocker aktiv.

                                Ach ja, irgendwie kann ich nicht mehr spotify premium authorisieren, da der Link ins Nirvana geht. Werde es heute mal mit Vivaldi und Co (nach Installation) ausprobieren, da ich das Gefühl nicht loswerde das Chrome, Safari und Firefox hier mit Datenschutz und Sicherheit rumspinnen ;

                                Baue mir gerade meine Wlan Türklingel mit Xiaomi Fenstersensoren zusammen und es klappt ganz gut. Will jetzt noch Sonos (sayit), Hue, und Apple Nachrichten einbinden im Script 😉

                                Schön das du hier so aktiv bist , Danke!

                                1 Reply Last reply Reply Quote 0
                                • S
                                  skorpil @metaxa last edited by

                                  @metaxa @skokarl

                                  Ihr seid doch die Fachleute für Sprachausgaben mit say. Bei mir kommt es immer wieder vor, dass das Ende meines Satzes, der über AWS Polly gesagt werden soll, am Ende abgeschnitten wird.

                                  Bin ich ein Einzelfall? Gab es das schon mal? Wie könnte ich das beseitigen? Danke für Eure Hilfe!

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    skokarl @skorpil last edited by

                                    @skorpil
                                    sorry, keine Ahnung

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      Ryco last edited by Ryco

                                      Gibt es eine einfache Möglichkeit, aus dem JSON-State von einem Sonos einen Wert zu extrahieren?

                                      Ich habe versucht, nachzuvollziehen, was DWM gemacht hat. Ich verstehe es so, dass er Sonos-Instanzen angelegt hat und über ein Script alle Sonos-States abfragt. Mir scheint es für meinen Zweck etwas zu viel, zum anderen übersteigt es sowohl meine JS und ioBroker-Fähigkeiten.

                                      Was will ich? Ich möchte den Wert zu playbackState abfragen und abhänig von dem Ergebnis eine if else Funktion durchlaufen lassen. Ich habe mir ein Script zusammengebastelt, was zu einer festgelegten Uhrzeit einen Radio-Sender startet. Wenn allerdings schon ein Sender läuft, wechselt er den Radiosender nicht. Daher würde ich gerne wenn playbackState = !Stopped vorher die Wiedergabe stoppen lassen.

                                      Mir fehlt aber ein Ansatz, die über http://192.168.66.111:5005/flur/state/ gelieferten JSON-Werte in Javascript zu bekommen. Oder ich verstehe die Lösungen nicht. Das könnte auch sein.

                                      Zwischenzeitlich habe ich es gelöst bekommen. Allerdings war es weniger Try sondern mehr Error.

                                      Ich hatte eigentlich gedacht, dass ich zwigend getState() brauche, ich habe mir jetzt aber zwischenzeitlich zusammengereimt, dass ich getState() nur brauche, wenn ich von irgendwo einen Wert holen will. Wenn ich die das Ergebnis über die request-Funktion mache wohl nicht?

                                      const request = require('request');
                                      
                                      request('http://192.168.66.111:5005/flur/state', (err, res, body) =>   {
                                      
                                       test = JSON.parse(body);
                                        
                                        //Controll-Log um JSON.parse Ergbnis zu sehen
                                          console.log(test);
                                        
                                      
                                        view = test.playbackState;
                                      
                                      console.log(view);
                                      console.log(test.volume);
                                       
                                      });
                                      
                                      
                                      Paul Reinhart 1 Reply Last reply Reply Quote 0
                                      • Paul Reinhart
                                        Paul Reinhart @Ryco last edited by

                                        Ist es möglich einen Clip und einen say Befehl zu kombinieren? Möchte einen Gong gefolgt von TTS-Text ausgeben?

                                        Paul Reinhart 1 Reply Last reply Reply Quote 0
                                        • Paul Reinhart
                                          Paul Reinhart @Paul Reinhart last edited by

                                          Kann es sein, dass die Restauration auf einer Sonos-Beam nicht funktioniert? Zumindest bei mir funktioniert sie nämlich nur auf der Play 1.

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

                                            Nachdem meine neue FRITZ!Box den Sonos Speakern neue IP Adressen zugeteilt hat, läuft der Sonos Adapter bei mir leider auch nicht mehr zuverlässig und ich hab mich mit dem Thema Sonos API beschäftigt.
                                            Soweit funktioniert das meiste, auch wenn jetzt deutlich mehr gescriptet werden muss als mit dem Sonos Adapter.

                                            Was mir fehlt (oder noch nicht gefunden) ist die Möglichkeit abzufragen ob in welcher Gruppe ein Speaker ist. Gibt es diese Möglichkeit?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            470
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            sonos
                                            49
                                            437
                                            92614
                                            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