Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Sonos Gruppen bilden

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    762

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Sonos Gruppen bilden

Scheduled Pinned Locked Moved ioBroker Allgemein
36 Posts 9 Posters 9.5k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jokermic
    wrote on last edited by
    #21

    Hmm, jetzt geht der Wecker, aber die Musik lässt sich nicht mehr stoppen [FACE WITH TEARS OF JOY]

    Ich glaub wenn man die Bedingung Volumen ==0 und state == play sind, dann müsste man die Musik stoppen oder Pause setzen. Aber für die Umsetzung muss ich mir das noch genauer anschauen

    Gesendet von meinem SM-G900F mit Tapatalk

    1 Reply Last reply
    0
    • justrJ Offline
      justrJ Offline
      justr
      wrote on last edited by
      #22

      Sorry, man sollte halt die Scripte doch immer erst testen, bevor man "gute" Ratschläge gibt. Da fehlte der Teil des Object-Werts in der if-Abfrage:

          if (obj.state.val === 0) {
      

      Allerdings gefällt mir dieser Workaround mit "play" bei volume != 0 gar nicht, da dies nicht der Sonos-Logik entspricht. D.h. immer wenn du an der Lautstärke was änderst springt die Box an ("play"). Ich würde dir ja eher einen zusätzlichen manuell erstellten Datenpunkt empfehlen,

        "common": {
          "name": "sonosVolume",
          "smartName": "Deine Alexa-Bezeichnung",  // <- Anpassen!
          "role": "",
          "type": "number",
          "desc": "Manuell erzeugt",
          "unit": "%",
          "min": 0,
          "max": 100,
          "read": true,
          "write": true
        },
      

      der den "smartName" des Sonos-Volumes übernimmt und den du dann per Alexa steuerst und nur wenn dieser auf 0 steht, die Sonos entsprechend stoppst:

      on({
          id: "javascript.0.myStates.alexa.sonosVolume",  //muss natürlich deinem Alexa-gesteuerten Datenpunkt entsprechen
          change: "ne"
      }, function (obj) {
          var sonVol = obj.state.val;
          setState("sonos.0.root.192_168_xx_yy.volume", sonVol);
          if (sonVol === 0) {
              setState("sonos.0.root.192_168_xx_yy.state", "stop");
          }
      });
      

      Hätte halt den Vorteil, dass beim Wecker oder auch sonst sich das Script nicht einmischt. Wenn du das mit dem manuellen Datenpunkt nicht hinbekommen solltest, kannst du natürlich immer noch die if-Abfrage des vorherigen Scripts anpassen (obj.state.val statt obj).

      1 Reply Last reply
      0
      • H Offline
        H Offline
        hmanfred
        wrote on last edited by
        #23

        Ich ziehe diesen Beitrag mal hoch, obwohl er inzwischen etwas OT gelaufen ist.

        Ich habe meine Probleme mit der Gruppenbildung:

        SONOS Adapter Version 1.5.0

        Die Gruppenbildung und -auflösung durch Beschreiben der Datenpunkte add_to_group und remove_from_group geht grundsätzlich. Allerdings ist das bei mir ein Blindflug was die Darstellung der SONOS-Datenpunkte unter "Objects" in IoBroker betrifft.

        Konkret:

        • der hinzu genommene Player spielt die Musik der Gruppe. Ich sehe dies aber an keinem Objekt dieses Players noch an einem anderen Datenpunkt.

        • nach Auflösen der Gruppe werden die Datenpunkte des weggenommenen Players nicht aktualisiert. Er wird gestoppt, der Datenpunkt State bleibt aber z.B. wie vor der Gruppierung. Wenn er vorher also was anderes gespielt hat, steht "play" drin, obwohl er beim Auflösen gestoppt wurde.

        • Gibt es keinen Datenpunkt, um das Volume der gesamten Gruppe zu ändern, wie im native Controller?

        • Gruppierungen, die ich im native Controller (hier: Android) mache, werden in IoBroker nicht dargestellt, oder ich finde nicht, wo.

        Kann mir da bitte mal jemand helfen, die Logik zu verstehen?

        1 Reply Last reply
        0
        • H Offline
          H Offline
          hmanfred
          wrote on last edited by
          #24

          Schade, dass hier niemand die SONOS Gruppenbildung verwendet und bereit ist, mir zu helfen oder mit mir gemeinsam Probleme zu lösen. :-(

          Oder mache ich mit / in meinem Post etwas falsch, was euch abschreckt? :oops:

          1 Reply Last reply
          0
          • HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #25

            @hmanfred:

            Schade, dass hier niemand die SONOS Gruppenbildung verwendet und bereit ist, mir zu helfen oder mit mir gemeinsam Probleme zu lösen. :-( `
            ich glaube nicht, dass dies hier im Forum wirklich zum tragen kommt :!:

            Eher hat niemand der hier regelmäßig mitliest diese Konstallation.

            Ich z.B. habe gerade erst eine Play:1 installiert und noch nie mit Gruppen gearbeitet.

            Außerdem schreibst du dass dies nicht das Problem sei.

            Der Threadtitel heisst aber "Gruppen bilden"

            vielleicht würdest du in einem separaten Thread mit aussagekräftigem Titel eher eine Antwort bekommen.

            Gruß

            Rainer

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Reply Last reply
            0
            • justrJ Offline
              justrJ Offline
              justr
              wrote on last edited by
              #26

              Hallo hmanfred,

              ich kann dir versichern, du bist nicht allein und den "Blindflug" finden sicher viele unschön. Leider weiß ich aber keine Lösung. Momentan merke ich mir den "grouped"-Status in einer Variablen, um entsprechend reagieren zu können. Funktioniert natürlich nur, wenn die Gruppenbildung über ioBroker stattgefunden hat.

              Um zumindest beim Start von ioBroker denn IST-Stand zu haben, nutze ich den Parser-Adapter:

              URL: http://192.168.16.34:1400/support/review (<- beliebige Sonos-Box)

              RegEx: coordinator='false' wirelessmode='.' wirelessleafonly='.' hasconfiguredssid='.' channelfreq='….' behindwifiext='.' wifienabled='.' location='http://192.168.16.31

              Es geht hier um den coordinator='false' (somit Slave und gruppiert; coordinator='true' -> nicht gruppiert). Der Rest der RegEx ist nur um auf die richtige IP zu referenzieren. ACHTUNG, ich habe das Intervall bei mir auf 5 min. (300000ms) gesetzt. Ein kurzes Intervall (z.B. 10s) hat die Sonos derart überlastet, dass sie überhaupt nicht mehr reagiert hat.

              Natürlich habe ich mir auch mal den Quellcode des Sonos-Adapters angesehen (muss doch auch nativ irgendwie möglich sein), aber "auf die Schnelle" bin ich bei den vielen verlinkten Scripten nicht durchgestiegen.

              Beste Grüße, justr

              1 Reply Last reply
              0
              • justrJ Offline
                justrJ Offline
                justr
                wrote on last edited by
                #27

                PS: Vorsicht, wenn du die Seite "…/support/review" im Browser aufrufst, hat sie ein html-Format, während der Parser-Adapter wohl ein XML-Format provoziert. Somit sieht die Struktur natürlich komplett anders aus und man kann nicht über den Browser vergleichen. Wenn du aber auf den Stift neben der Parser-Regel klickst, findest du nach ein paar Sekunden warten die eingelesene Datei.

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  hmanfred
                  wrote on last edited by
                  #28

                  @justr:

                  Hallo hmanfred,

                  ich kann dir versichern, du bist nicht allein und den "Blindflug" finden sicher viele unschön. Leider weiß ich aber keine Lösung. Momentan merke ich mir den "grouped"-Status in einer Variablen, um entsprechend reagieren zu können… `

                  Danke für das Feedback.

                  Dann gehe ich auch erst mal den Weg über eine Variable. Da die Akzeptanz meiner GöGa des IoBroker echt prima ist, sehe ich keine große Wahrscheinlichkeit der Konflikte mit den native Controller - vorausgesetzt, ich kriege die Implementierung gut hin. :-)

                  Doof ist nur, dass die Gruppenlautstärke auch nicht geht. Aber das kriege ich evtl. auch mit einer zusätzlichen Variable hin.

                  Gruß

                  Manfred

                  1 Reply Last reply
                  0
                  • A Offline
                    A Offline
                    andyb
                    wrote on last edited by
                    #29

                    Also ich hab mich jetzt auch mal an Gruppe gewagt.

                    Per Script den Play1 "add_to_group" befüllt mit der IP von der Playbar - IP wird in den Objekten entsprechend übernommen.

                    Allerding bleibt die Play1 stumm.

                    Wenn ich noch ein play hinterherschicke spielt die Play1 ihren letzten Titel ab und nicht das was aus der Playbar kommt.

                    Was mach ich denn falsch?

                    1 Reply Last reply
                    0
                    • justrJ Offline
                      justrJ Offline
                      justr
                      wrote on last edited by
                      #30

                      @andyb:

                      Per Script den Play1 "add_to_group" befüllt mit der IP von der Playbar - IP wird in den Objekten entsprechend übernommen.

                      Allerding bleibt die Play1 stumm. `
                      Also das "add_to_group" finde ich auch immer etwas verwirrend. So wie beschrieben hättest du die Playbar deiner Play1 untergeordnet (nicht umgekehrt). Somit sollte nach Betätigung von "Play" (bei der Play1) eigentlich auch die Playbar die Musik von der Play1 übernehmen.

                      Achtung: In den Datenpunkt "add_to_group" wird nicht die IP-Adresse geschrieben sondern der Channel-Name der Sonos (Underscore "_" statt Punkt "."), also z.B. 192_168_1_101

                      K 1 Reply Last reply
                      1
                      • A Offline
                        A Offline
                        andyb
                        wrote on last edited by
                        #31

                        Oha, dann 2 Fehler gemacht.

                        Werds morgen testen. Danke

                        1 Reply Last reply
                        0
                        • justrJ Offline
                          justrJ Offline
                          justr
                          wrote on last edited by
                          #32

                          Ok, das halbgare Gruppen-Handling hat mir jetzt doch keine Ruhe gelassen und ich habe mal versucht, in den Quellcode einzutauchen. Herausgekommen ist die angehängte (aktualisierte) sonos.js. Würde mich freuen, wenn der ein oder andere schon mal testen möchte (…/iobroker/node_modules/iobroker.sonos/sonos.js wegsichern und mit der angehängten Version ersetzen; Instanz muss natürlich neu gestartet werden). Habe auch schon einen Pull Request ins Git gestellt.

                          Verbesserung des Gruppen-Handlings

                          • neue Datenpunkte: coordinator, group_volume, group_muted

                          • alle read/write, um auch Änderungen durch die Sonos-App mitzubekommen

                          • "coordinator" entspricht dem channel-Namen des Gruppen-Masters (z.B. 192_168_1_99) und ist gleich dem eigenen channel-Namen, wenn die Sonos keiner Gruppe zugeordnet ist, also etwa die umgekehrte Logik wie die bisherigen Datenpunkte "add_to/remove_from_group", um auch größere Gruppen abzubilden und den Ist-Stand zu sehen.

                          • "group_volume" und "group_muted" werden aber nur beim Gruppen-Master aktualisiert bzw. ausgewertet, wie auch heute schon bei den restlichen Datenpunkten. Lediglich "volume" und "muted" sind im Slave-Betrieb aktiv, da diese ja auch unabhängig vom Master gesteuert werden können (wie auch in der Sonos-App).

                          Beste Grüße, justr
                          1735_sonos.js

                          1 Reply Last reply
                          0
                          • apollon77A Offline
                            apollon77A Offline
                            apollon77
                            wrote on last edited by
                            #33

                            Pull Request ist in 1.6.0 auf Github drin.Bitte testen

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            1 Reply Last reply
                            0
                            • H Offline
                              H Offline
                              hmanfred
                              wrote on last edited by
                              #34

                              Erst mal vielen Dank, justr, für deine Arbeit,

                              ein erster Test (manuelles Beschreiben unter Objects) ergab:

                              Man muss lediglich das Feld "coordinator" mit der Adresse des "Koordinators" beschreiben. Schon wird dessen Musik gespielt. Die Felder add_to-group und remove_from_group sind obsolet :-). Habe ich das richtig verstanden?

                              Im Prinzip funktioniert das, die Gruppe wird erstellt.

                              Zum Auflösen der Gruppe schreibe ich wieder die eigene Adresse ins Feld "coordinator". Dabei passiert allerdings folgendes:

                              der Slave verstummt, die Felder state play und mute zeigen aber, dass er eigentlich spielen müsste.

                              Gruß

                              Manfred

                              1 Reply Last reply
                              0
                              • justrJ Offline
                                justrJ Offline
                                justr
                                wrote on last edited by
                                #35

                                @hmanfred:

                                Habe ich das richtig verstanden? `
                                Korrekt! :)

                                Ich habe die alten DPs "add_to" und "remove_from" natürlich nicht angefasst. Ist ja nicht mein Adapter und macht schon wegen der Abwärtskompatibilität Sinn.
                                @hmanfred:

                                der Slave verstummt, die Felder state play und mute zeigen aber, dass er eigentlich spielen müsste. `
                                Ja, das ist mir leider auch schon aufgefallen und war auch zuvor schon so und auch, wenn man die Gruppe über die Sonos-App auflöst. Ich konnte bisher nicht nachvollziehen, warum unmittelbar nach Trennung des Slaves dieser ein "Playing" als PlaybackState zurück liefert.

                                Ich hatte das bisher immer ignoriert, da ich die Sonos über "favorites_set" starte und ab dann stimmen die Datenpunkte wieder.

                                Müsste sich mal jemand ansehen, der sich damit auskennt. :mrgreen:

                                Sorry, justr

                                1 Reply Last reply
                                0
                                • justrJ justr

                                  @andyb:

                                  Per Script den Play1 "add_to_group" befüllt mit der IP von der Playbar - IP wird in den Objekten entsprechend übernommen.

                                  Allerding bleibt die Play1 stumm. `
                                  Also das "add_to_group" finde ich auch immer etwas verwirrend. So wie beschrieben hättest du die Playbar deiner Play1 untergeordnet (nicht umgekehrt). Somit sollte nach Betätigung von "Play" (bei der Play1) eigentlich auch die Playbar die Musik von der Play1 übernehmen.

                                  Achtung: In den Datenpunkt "add_to_group" wird nicht die IP-Adresse geschrieben sondern der Channel-Name der Sonos (Underscore "_" statt Punkt "."), also z.B. 192_168_1_101

                                  K Offline
                                  K Offline
                                  Kusi
                                  wrote on last edited by
                                  #36

                                  @justr sagte in Sonos Gruppen bilden:

                                  @andyb:

                                  Per Script den Play1 "add_to_group" befüllt mit der IP von der Playbar - IP wird in den Objekten entsprechend übernommen.

                                  Allerding bleibt die Play1 stumm. `
                                  Also das "add_to_group" finde ich auch immer etwas verwirrend. So wie beschrieben hättest du die Playbar deiner Play1 untergeordnet (nicht umgekehrt). Somit sollte nach Betätigung von "Play" (bei der Play1) eigentlich auch die Playbar die Musik von der Play1 übernehmen.

                                  Achtung: In den Datenpunkt "add_to_group" wird nicht die IP-Adresse geschrieben sondern der Channel-Name der Sonos (Underscore "_" statt Punkt "."), also z.B. 192_168_1_101

                                  Daran hat es bei mir gelegen. So funktioniert die Gruppenbildung einwandfrei.

                                  1 Reply Last reply
                                  0

                                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                  With your input, this post could be even better 💗

                                  Register Login
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  Support us

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

                                  582

                                  Online

                                  32.8k

                                  Users

                                  82.7k

                                  Topics

                                  1.3m

                                  Posts
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Home
                                  • Recent
                                  • Tags
                                  • Unread 0
                                  • Categories
                                  • Unreplied
                                  • Popular
                                  • GitHub
                                  • Docu
                                  • Hilfe