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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

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

      @dwm sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:

      @LJSven
      Das sind die Sonos-Favoriten und die Sonos Playlists die da abgefragt werden, und zwar jede Minute einmal. Insofern ist da kein Gerät dafür verantwortlich, das kommt vom "Gesamtsystem Sonos". Trotzdem sollte die API natürlich den richtigen Datentyp liefern.
      Ich hab jetzt mal ein Update hochgeladen, mit folgenden Änderungen:

      function processFavorites(FavData, cbParam ){
          forceCreate=false;
          if (Array.isArray(FavData)){
              var FavListStr = FavData.join(';');
              // dwmlog ("Process Favorites Data: "+JSON.stringify(FavData,null,4)+" gives List "+FavListStr,5);
              createOrSetState(AdapterId+".SonosAPI.FavList",FavListStr,forceCreate,{ type: 'string', name: "Sonos Favorites list"});
          } else {
              dwmlog("SonosAPI processFavorites got invalid data: "+JSON.stringify(FavData),2,"warn");
          }
      }
      
      function processPlaylists(PlaylistData, cbParam ){
          forceCreate=false;
          if (Array.isArray(PlaylistData)){
              var PlayListStr = PlaylistData.join(';');
              // dwmlog ("Process Favorites Data: "+JSON.stringify(FavData,null,4)+" gives List "+FavListStr,5);
              createOrSetState(AdapterId+".SonosAPI.Playlists",PlayListStr,forceCreate,{ type: 'string', name: "Sonos Playlist list"});
          } else {
              dwmlog("SonosAPI processPlaylists got invalid data: "+JSON.stringify(PlaylistData),2,"warn");
          }
      }
      

      das härtet die beiden Funktionen gegen den falschen Datentyp, es wird dann eben eine Warnung ins Log geschrieben, aber die Exception passiert nicht mehr.
      Ist irgendwie anscheinend ein Problem in der API selber. Wenns nur sporadisch auftritt, kann man's ignorieren, wie gesagt, die Synchronisierung von Playlists und Favoriten passiert einmal pro Minute.

      Wo finde ich das Update? Wie mache ich das?

      1 Reply Last reply Reply Quote 0
      • D
        dwm last edited by

        In meinem Github Repository...
        https://github.com/dwm66/iobroker-scripts/tree/master/SonosAPI

        Einfach Script mit neuer Version ersetzen.

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

          Servus,

          wie kann ich das Album-Cover auf der Sonos mit VIS aktualisieren? Oder wie kann ich VIS alle 5 Sekunden aktualisieren lassen? Das neue Album-Cover ist ja als Datenpunkt da und die Daten haben sich geändert, aber VIS ändert nichts, jedoch bei Spotify klappt es ;(

          Soll ich es über einen eigenen Datenpunkt triggern? Danke

          1 Reply Last reply Reply Quote 0
          • L
            LJSven @dwm last edited by LJSven

            @dwm sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:

            In meinem Github Repository...
            https://github.com/dwm66/iobroker-scripts/tree/master/SonosAPI

            Einfach Script mit neuer Version ersetzen.

            Okay, erledigt - der Fehler oder das Warning ist bisher noch nicht wieder aufgetreten.

            Andere Frage: Wenn der "PlaybackState" auf STOPPED geht, bleibt der "PlaybackStateSimple" auf true - ist das korrekt? Ausserdem springt der "playbackState" nach ca. 3 Minuten wieder um auf "PLAYING", wenn ich den Wert über die VIS ändere.

            1 Reply Last reply Reply Quote 0
            • D
              dwm last edited by

              Seltsames Verhalten.
              Im Prinzip ist das so verdrahtet, dass der PlaybackStateSimple auf false geht, wenn der PlaybackState nicht "PLAYING" ist.

              Wenn man den PlaybackStateSimple auf "true" setzt, sollte eine "PLAY" Action ausgeführt werden, bei false ein "PAUSE".

              Was ich mir grad vorstellen könnte ist, dass das System durcheinanderkommt, wenn man die Kommandos sehr schnell hintereinander absetzt.

              1 Reply Last reply Reply Quote 0
              • surfer09
                surfer09 @Qlink last edited by surfer09

                @Qlink sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:

                Hi Leute,

                ich hab die Sonos-http-api Installation jetzt auch erfolgreich unter Windows hinbekommen inkl. Autostart.

                Die Installationsschritte sind eigentlich fast identisch zu den oben genannten.

                node-sonos-http-api-master.zip von github herunterladen und nach C:\ioBroker\node_modules\node-sonos-http-api-master bzw. eurem iobroker Verzeichnis entpacken

                wie beschrieben mittels npm installieren

                den autostart habe ich mit pm2 hinbekommen:
                pm2 von github laden und ebenfalls wie sonos-http-api installieren https://github.com/Unitech/pm2

                dann autostart-sonos-http-api.bat erstellen und in einem beliebigen verzeichnis ablegen
                in das .bat file folgendens cmd einfügen

                pm2 start c:\iobroker\node_modules\node-sonos-http-api-master\server.js -x --name "sonos-api"
                

                Nun nur noch mittels Windows Task Scheduler eine neue Task erstellen, bei Trigger "at startup" und bei Action "start program" mit verweis auf das erstellte .bat file

                und fertig

                Beste Grüße

                Danke für deine Anleitung! Ich habe das Ganze so installiert, wie du beschildert hast, allerdings funktioniert die Batch-Datei bei mir nicht. Meldung: "Der Befehl pm2 ist entweder falsch geschrieben, oder konnte nicht gefunden werden".
                Pm2 habe ich ebenfalls in den node_modules Ordner meiners IO-Brokers installiert.

                Aktuell starte ich die API immer manuell und das funktioniert dann scheinbar auch. Das muss ich aber nach jedem Neustart ausführen.. Wäre besser, wenn das doch automatisch ginge...

                API-start.jpg

                Gruß surfer 😉

                Q 1 Reply Last reply Reply Quote 0
                • Q
                  Qlink last edited by

                  hmm das klingt so als ob die pm2 installation nicht korrekt durchgelaufen wäre ...
                  kannst du den pm2 befehl manuell in der cli ausführen, oder geht das auch nicht ?
                  Bei mir funktioniert das problemlos ...
                  e794b818-3d39-48ba-9fb4-cc9d06d89c12-image.png

                  Beste Grüße

                  surfer09 1 Reply Last reply Reply Quote 0
                  • surfer09
                    surfer09 @Qlink last edited by

                    @Qlink Das hatte ich auch bereits versucht, funktioniert aber auch nicht.

                    pm2.jpg

                    1 Reply Last reply Reply Quote 0
                    • Q
                      Qlink last edited by

                      Da hats wohl definitiv etwas mit der pm2 Installation.
                      Möglicherweise mag pm2 mit Server 2019 nicht ...

                      Bei mir läuft alles aktuell unter Server 2016.
                      01c0922f-1e03-41db-91a6-93441b9d68b9-image.png
                      In den nächsten Wochen, wenn mein neuer Server in Betrieb geht werde ich allerdings auf Server 2019 migrieren und kann dazu dann mehr sagen ...

                      Beste Grüße

                      surfer09 1 Reply Last reply Reply Quote 0
                      • surfer09
                        surfer09 @Qlink last edited by

                        @Qlink Server 2019 nutze ich auch nicht. Meine IO-Broker Installation läuft auf Windows 10.

                        1 Reply Last reply Reply Quote 0
                        • M
                          MarcJ @Qlink last edited by

                          @Qlink Hast du raus bekommen, an was das lag? Ich starte auch Sonos über normalen SONOS-Adapter und will dann über API einen Gong "ansagen" lassen. Dann soll die Musik wieder so sein wie vorher (Lautstärke sollte wieder passen und wenn keine Musik an war, dann auch keine abspielen).

                          Q 1 Reply Last reply Reply Quote 0
                          • Q
                            Qlink @MarcJ last edited by

                            @MarcJ

                            Ehrlich gesagt weiß ich es nicht mehr. Ich habe alle Zoneplayer komplett stromlos gemacht, ob das die Lösung war kann ich nicht beurteilen.

                            Mit folgendem Script funktionierts jedenfalls seit 5 Monaten problemlos wie gewünscht:

                            d7514988-0546-4b10-beba-c32d98bc1c27-image.png

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

                              Hallo, meine Geräte lassen sich nicht mehr steuern. Das gesamte System (iobroker) ist auf dem neusten Stand. Hat jemand eine Idee, woran es liegt bzw. liegen kann?

                              Wenn ich auf

                              http://192.168.178.44:5005
                              

                              gehe, kommt die Seite des Servers. Gehe ich auf

                              http://192.168.178.44:5005/zones
                              

                              kommt die folgende Meldung

                              {"status":"error","error":"No system has yet been discovered. Please see https://github.com/jishi/node-sonos-http-api/issues/77 if it doesn't resolve itself in a few seconds."}
                              
                              Dratsum created this issue in jishi/node-sonos-http-api

                              closed TypeError: Cannot read property 'coordinator' of null #77

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

                                Hast Du den Issues gelesen der angegeben ist ?
                                Link Text

                                System neu gesartet ?

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

                                  Den Link habe ich gesehen - verstehe aber nicht, was ich da machen soll?! Kannst du mich guiden?

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

                                    ich kanns versuchen...... mach erstmal nen Neustart von dem gesamten System.

                                    Wenn das nicht hilft, sag mal was Du hast,...Proxmox, VM, Docker,Win10, Linux ...usw.

                                    Was kommt bei http://192.168.178.44:5005/state ?

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

                                      Ich habe jetzt mal alles neugestartet und ein Update auf den Sonos LS gemacht - jetzt geht es wieder.

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

                                        @LJSven sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:

                                        Ich habe jetzt mal alles neugestartet und ein Update auf den Sonos LS gemacht - jetzt geht es wieder.

                                        der Restart des Sonos Servers sollte das Problem behoben haben.

                                        R 1 Reply Last reply Reply Quote 0
                                        • M
                                          MaTr75 last edited by

                                          Moin...

                                          kann ich über die API auch irgendwie die Funktion simulieren, die ich erreiche, wenn ich den mittleren Button an meiner Sonos-Box drücke?
                                          Also die Funktion: Gruppiere dich einfach mit der nächsten Zone bzw. verlasse die aktuelle Zone.

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

                                            @MaTr75

                                            Du kannst über die API einer Gruppe beitreten oder die Gruppe verlassen.

                                            beitreten mit join, verlassen mit leave

                                            1.PNG

                                            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

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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