Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Sonos Gruppen bilden

    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 Gruppen bilden

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

      Hallo Gemeinde,

      ich bräuchte mal eine kleine Hilfe zum Thema Sonos Gruppieren.

      Per 6 fach Wandschalter EIN/AUS, Laut/Leise oder Senderwahl funktioniert. Allerdings hab ich keinen blassen Schimmer wie ich die Datenpunkte "add_to_group" und "remove_from_group" sinnvoll einsetzte.

      Kann mir hier jemand einen Schubs in die richtige Richtung geben.

      1 Reply Last reply Reply Quote 0
      • justr
        justr last edited by

        Hallo Gerhard,

        sagen wir mal

        192.168.1.11 ist dein Master und

        192.168.1.12 ist dein Slave,

        also du möchtest eine Gruppe bilden, wobei die 12 an die 11 gekoppelt werden soll, dann reicht ein einfaches:

        setState("sonos.0.root.192_168_1_11.add_to_group","192_168_1_12");
        

        HTH und schöne Grüße

        justr

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

          Dank dir,

          wenn das so da steht ist es eigentlich ganz logisch.

          Im Log steht da versucvht wird die Gruppe zu bilden, aber das passiert leider nicht. Ich hab hier irgendwo gelesen das das Thema Gruppen mit dem aktuellen Adapter zur Zeit nicht funktioniert. Da muss ich mich wohl gedulden. :?

          1 Reply Last reply Reply Quote 0
          • justr
            justr last edited by

            @Linedancer:

            Ich hab hier irgendwo gelesen das das Thema Gruppen mit dem aktuellen Adapter zur Zeit nicht funktioniert. `
            Bei mir klappt es gut. Hatte früher auch Probleme. Seit der Version 1.x (?) funktioniert es aber. Evtl. steht dein "Slave" auf "mute".

            Tipp: Man kann in der Sonos-App wunderbar nachvollziehen was passiert.

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

              Funktioniert diese Gruppe auch bei der Steuerung über Amazon Echo und wenn ja, wo muss ich den Befehl zufügen?

              Vielen Dank!

              1 Reply Last reply Reply Quote 0
              • justr
                justr last edited by

                Hi Matten,

                ich gehe mal davon aus, dass in Alexa bereits den iobroker-Skill aktiviert hast und auch eine Verbindung über den cloud-Apapter besteht (s. http://www.iobroker.net/docu/?page_id=5859&lang=de).

                1. Zuerst benötigst du einen selbst angelegten Datenpunkt (Status) vom "type": "boolean" den du über Alexa dann steuerst:

                z.B. javascript.0.myStates.alexa.sonGrpWB

                2. Dieses Objekt kannst du dann entweder über die cloud-Adapterkonfig den Smartgeräten hinzufügen oder manuell einen "smartName" vergeben (s. http://www.iobroker.net/docu/?page_id=5910&lang=de😞

                z.B. "smartName": "Sonosgruppe Wohnbereich"

                3. Auf der Alexa-Seite/App kannst du dann unter "Smart Home" die Geräte aktualisieren ("Geräte suchen") und schon sollte auch das Gerät "Sonosgruppe Wohnbereich" auftauchen.

                4. Mit "Alexa, schalte 'Sonosgruppe Wohnbereich' ein/aus" solltest du dann im iobroker-Objektereiter auch schon sehen, wie der Status zwischen true und false wechselt.

                5. Diesen Statuswechsel kannst du dann als Trigger mittels Javascript nutzen, um die Gruppe ein- bzw. auszuschalten:

                on({
                    id: "javascript.0.myStates.alexa.sonGrpWB",
                    change: "any"
                }, function (obj) {
                    if (obj.state.val) setState("sonos.0.root.192_168_1_11.add_to_group","192_168_1_12");  // IP-Adressen müssen natürlich angepasst werden
                    else setState("sonos.0.root.192_168_1_11.remove_from_group","192_168_1_12");
                });
                
                

                Viel Erfolg, justr

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

                  Dank dir, werde ich probieren.

                  Ich nutzte die Sonos Steuerung über iobroker, das funktioniert auch im großen und ganzen, allerdings wird mit dem Befehl "schalte Sonos xy aus" nur die Mute Funktion aktiviert, der Stream läuft also weiter (zu sehen in der Sonos App). Das ist natürlich suboptimal. Gibt es dafür eine Lösung?

                  1 Reply Last reply Reply Quote 0
                  • justr
                    justr last edited by

                    Keine Ahnung, wie deine Sonos derzeit in Alexa eingebunden ist, aber offenbar wird der Datenpunkt "sonos.0.root.192_168_x_y.muted" bei den Smartgeräten genutzt. Du kannst statt dessen einfach den "…state_simple" nutzen und einen sinnvollen "smartName" vergeben. Der ist ja auch bereits vom Typ boolean und somit direkt über Alexa steuerbar. Du ersparst dir also den zusätzlichen Umweg über javascript.

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

                      Nachdem der Thread wieder nach oben kam, hab ich die Gruppenbildung nochmal versucht, und siehe da, es klappt 😄 😄 😄

                      Ursachenforschung:

                      ich habe jetzt den hier weiter oben geposteten Script angepasst und es läuft.

                      vorher hatte ich es mit Blockly probiert und es hat nicht geklappt, obwohl im Log alles genauso gut ausgesehen hat wie jetzt.

                      Unterschiede:

                      hier die Zeile aus dem Script:

                      setState("sonos.0.root.192_168_xxx_yy.add_to_group","192_168_xxx_zz");  // IP-Adressen müssen natürlich angepasst werden

                      und hier der Code den Blockly erzeugt:

                      setState("sonos.0.root.192_168_xxx_yy.add_to_group"/add_to_group/, '192.168.xxx.zz');

                      kann es denn sein, das nur die unterschiedlichen Hochkommas hier entscheiden sind?

                      1 Reply Last reply Reply Quote 0
                      • justr
                        justr last edited by

                        Nein, es liegt wohl eher an den Underscores "_" statt den Punkten in der IP-Adresse. Wobei es ja eben keine IP-Adresse sondern der Objekt-Name der Sonos-Boxen ist und der lautet eben wie die IP-Adresse nur mit Underscores statt Punkten.

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

                          Dank dir

                          Oh man, wie blind. Das hätte Mann merken müssen 😞

                          1 Reply Last reply Reply Quote 0
                          • J
                            jokermic last edited by

                            @Matten:

                            Dank dir, werde ich probieren.

                            Ich nutzte die Sonos Steuerung über iobroker, das funktioniert auch im großen und ganzen, allerdings wird mit dem Befehl "schalte Sonos xy aus" nur die Mute Funktion aktiviert, der Stream läuft also weiter (zu sehen in der Sonos App). Das ist natürlich suboptimal. Gibt es dafür eine Lösung? `

                            Du hast wahrscheinlich den Datenpunkt xxx.Volumen benutzt. Ich hab das gleiche Phänomen beobachtet, ich hab aber auch noch keine Lösung gefunden. Ich würde gerne mit einem Sprachbefehl z.B. Sonos Wohnzimmer, die Sonos an/abschalten und die Lautstärke verändern. Im Moment kriege ich das so nur über die Yonomi APP hin.

                            Hoffe immer noch auf einen heißen Tipp aus der Community 🙂

                            1 Reply Last reply Reply Quote 0
                            • justr
                              justr last edited by

                              Hab keine Probleme beim Setzen der Lautstärke. Was funktioniert denn nicht?

                              1 Reply Last reply Reply Quote 0
                              • J
                                jokermic last edited by

                                Das Setzen der Lautstärke ist auch kein Problem, aber wenn ich die Sonos per Sprachbefehl abschalte, dann geht diese nicht aus, sondern setzt die Lautstärke auf 0 und die Playlist läuft weiter.

                                Das ist mein Problem

                                Gesendet von meinem SM-G900F mit Tapatalk

                                1 Reply Last reply Reply Quote 0
                                • justr
                                  justr last edited by

                                  Also entweder du nutzt zwei unterschiedliche Datenpunkte für Volumen und On/Off, die dann in Alexa natürlich auch unterschiedlich lauten müssen oder du behilfst dir mit einem Workaround und setzt den Sonos.state auf "stop" sobald die Lautstärke auf 0 steht.

                                  on({
                                      id: "sonos.0.root.192_168_xx_yy.volume",
                                      change: "ne";
                                      val: 0
                                  }, function (obj) {
                                      setState("sonos.0.root.192_168_xx_yy.state", "stop");
                                  });
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    jokermic last edited by

                                    Das mit den zwei unterschiedlichen Datenpunkten möchte ich wenn möglich vermeiden.

                                    Dieser Workaround hört sich gut an, aber wo gebe ich den Code ein?

                                    Gesendet von meinem SM-G900F mit Tapatalk

                                    1 Reply Last reply Reply Quote 0
                                    • justr
                                      justr last edited by

                                      :shock: Gibt es ein iobroker-Leben ohne Javascript-Adapter??? 😉

                                      Einfach im Admin javascript-Adapter installieren, javascript-Instanz starten, javascript-Editor aufrufen (Reiter "Skripte"; falls der Reiter fehlt, über Bleistift-Symbol rechts daneben und "Zeige…" einblenden), ein neues Script unter "common" anlegen (beliebiger Name), obige Zeilen reinkopieren, speichern und starten (roter Play-Button; falls ein grüner Pause-Button angezeigt wird, läuft das Script bereits).

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jokermic last edited by

                                        Bin ja noch ganz frisch dabei und das wäre auch das nächste woran ich dann gehen wollte [SMILING FACE WITH OPEN MOUTH]

                                        Vielen Dank für die ausführliche Anleitung. Schau ich mir später mal an

                                        Gesendet von meinem SM-G900F mit Tapatalk

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          jokermic last edited by

                                          @justr:

                                          Also entweder du nutzt zwei unterschiedliche Datenpunkte für Volumen und On/Off, die dann in Alexa natürlich auch unterschiedlich lauten müssen oder du behilfst dir mit einem Workaround und setzt den Sonos.state auf "stop" sobald die Lautstärke auf 0 steht.

                                          on({
                                              id: "sonos.0.root.192_168_xx_yy.volume",
                                              change: "ne";
                                              val: 0
                                          }, function (obj) {
                                              setState("sonos.0.root.192_168_xx_yy.state", "stop");
                                          });
                                          
                                          ```` `  
                                          

                                          Also der Workaround klappt grundsätzlich ganz gut mit dem JavaScript Code, nur ist mir jetzt aufgefallen, dass der Wecker nicht mehr funktioniert, weil der Wecker wohl langsam von 0 auf Ziel Lautstärke regelt.

                                          Bin mir aber noch nicht sicher wie man das abfangen kann.

                                          P.S. @justr:

                                          Im Code hat sich nur ein Flüchtigkeitsfehler bei " change: "ne"; " eingeschlichen. Am Ende kommt ja ein " , ".

                                          1 Reply Last reply Reply Quote 0
                                          • justr
                                            justr last edited by

                                            @jokermic:

                                            P.S. @justr:

                                            Im Code hat sich nur ein Flüchtigkeitsfehler bei " change: "ne"; " eingeschlichen. Am Ende kommt ja ein " , ". `
                                            Sorry! 😉

                                            Neuer Versuch:

                                            on({
                                                id: "sonos.0.root.192_168_xx_yy.volume",
                                                change: "ne"
                                            }, function (obj) {
                                                if (obj === 0) {
                                                    setState("sonos.0.root.192_168_xx_yy.state", "stop");
                                                } else {
                                                    setState("sonos.0.root.192_168_xx_yy.state", "play");
                                                }
                                            });
                                            
                                            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

                                            485
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            36
                                            8043
                                            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