Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Gelöst! einfaches Sonos Play/Pause

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gelöst! einfaches Sonos Play/Pause

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

      Hallo und Willkommen im ioBroker Forum.

      Wenn Du die SONOS sicher schalten willst, dann sind im Grunde folgende Datenpunkte im Spiel:

      state: (play, stop, pause)

      play: (true, false)

      stop: (true, false)

      pause: (true, false)

      volume: (0-100)

      favorite_set: (Musikquelle)

      coordinator (bei Gruppenschaltungen)

      Um nun nicht jedesmal alle diese Datenpunkte beachten oder schalten zu müssen, wende ich folgenden "Trick" an:

      Ich habe ein javascript im Hintergund laufen, dass von allen SONOS Geräten die Lautsärke überwacht.

      Ist die Lautstärke (volume) größe als eins (>1), dann werden folgende Datenpunkte gesetzt

      "play=true", "stop=false", "pause=false", "state=play"

      Ist die Lautsärke < 2 dann werden folgende Datenpunkte gesetzt:

      "play=false", "stop=true", "state=stop"

      Ich kann also allein durch ändern der Lautstärke alle diese Datenpunkte schalten und muss diese in anderen Scripten nicht weiter adressieren.

      Ich habe im cloud-Adapter für jedes SONOS ein Smart-Gerät angelegt (SONOS Küche, SONOS Bad usw.) und zeige auf "volume"

      Für jeden Raum habe ich eine Standard-Start-Lautstärke eingestellt.

      "Schalte SONOS im Bad ein" stellt das "volume" z.B. auf 20, "Schalte SONOS Bad aus" stellt "volume" auf 0.

      Damit werden dann - durch das oben beschrieben Script - alle anderen Datenpunkte automatisch mit eingestellt.

      Hier ist das entsprechende Java-Script:

      ! ````
      /* Alexa_Sonos_schalten
      ! reagiert auf Lautstärkeänderungen
      Alexa Smartname zeigt auf .volume
      Sonos-Adapter Version 1.6.0 voraus!
      ! http://forum.iobroker.net/viewtopic.php?f=37&p=75526#p75526
      ! 15.07.2017 erstellt von pix nach Idee von BBTown
      16.07.2017 Quelle zugefügt
      */
      const logging = true;
      ! // sonos.0.root.XXX_XXX_XXX_XXX.volume
      var regex_vol = /^sonos.[0-9].root.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).volume$/;
      ! on({
      id: regex_vol,
      change: 'ne'
      }, function(data) {
      var pfad = getIdByName(data.channelName);
      if (logging) log(data.channelName + ' (' + pfad + '.' + data.name + ') Lautstärke auf ' + data.state.val + '% geändert');
      if (data.state.val >= 2) {
      setState(pfad + '.muted', false);
      setState(pfad + '.state', 'play');
      setState(pfad + '.play', true);
      setState(pfad + '.stop', false);
      }
      if (data.state.val < 2) {
      setState(pfad + '.state', 'stop');
      setState(pfad + '.play', false);
      setState(pfad + '.stop', true);
      }
      });

      
      Vielleicht hilft dur zudem diese HowTo weiter
      
      [http://forum.iobroker.net/viewtopic.php?f=37&amp;t=7395](http://forum.iobroker.net/viewtopic.php?f=37&amp;t=7395)
      
      [Edit] Screenshot der SONOS Smart Geräte angefügt
      [1917_sonos_smartger_t.jpg](/assets/uploads/files/1917_sonos_smartger_t.jpg)
      1 Reply Last reply Reply Quote 0
      • L
        Leupi last edited by

        ok,

        vielen Dank erstmal.

        Da muss ich mich erstmal etwas mit befassen!

        Dachte ich kann den Sonos Lautsprecher blöd gesagt, wie eine Steckdose einfach ein und aus schalten.

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

          Habe ein einfaches Play / Pause mit dem folgendem Befhel realisieren können.

          Ggf. ist dies ja auch ein ansatz für weitere Neulinge:

          sonos.0.root.(Ip von Sonos "xxx.xxx.xxx.xxx").state_simple

          wichtig war einfach nur nicht blind auf die Play / Pause funktion zu setzen.

          1 Reply Last reply Reply Quote 0
          • P
            Patrick_Koch last edited by

            Hi, ich klemme mich einfach mal mit in den Thread ein.

            Ich möchte auch meine Sonos Via YAHKA und Siri steuern. Bis jetzt fehlt mir als absoluter Anfänger noch der Schuss in die richtige Richtung.

            Bis jetzt weiss ich nur das Ich mit dem Cloud Adapter virtuelle Geräte die das können was ich alles möchte errichten muss.

            Wie kriege ich die denn anschliessend im YAHKA rein?

            Ich würde mir für Play Pause eine Schalter nehmen.

            Lauter Leiser wäre das Quasi ein Dimmer???

            Hört sich bestimmt grade für euch doof an aber so richtig plan habe ich dann noch nicht. Learning by Doing ist meine Devise.

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

              Weiter oben findest Du einen Link zu einem HowTo

              1 Reply Last reply Reply Quote 0
              • P
                Patrick_Koch last edited by

                Ja den habe ich mir auch durchgeschaut. Ist das auch mit Siri möglich? Das Alexa irritiert mich. Ich finde imYAHKA da leider keinen Ansatz

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

                  ich nutze Siri nicht, daher kann ich dir nicht dabei nicht helfen.

                  allerdings ist dem HowTo erklärt wie Sonos geschaltet wird und wie man einen Datenpunkt im cloud adapter anlegt und anspricht, dass musst Du nur adaptieren

                  1 Reply Last reply Reply Quote 0
                  • P
                    Patrick_Koch last edited by

                    Ok Danke, das mit den Cloud Adapter habe ich auch so verstanden. Das hast du auch echt gut erklärt. Ich habe das im YAHKA mal über ne Lampe versucht aber das geht schief. Jetzt heisst es denn mal ausprobieren für mich.

                    1 Reply Last reply Reply Quote 0
                    • A
                      aniestra last edited by

                      Hallo Zusammen,

                      ich spiele auch gerade mit dem Sonos Adapter in Verbindung mit yahka.

                      Folgendes Szenario:

                      Ich habe eine Szene für die Sonos erstellt und definiere True und False Parameter für die Sonos

                      State der Szene True False

                      State play stop

                      Play true false

                      Stop false true

                      Volume 25 0

                      Coordinator ID-der Sonos

                      Favorites_Set Favorite

                      In Homekit habe ich einen Switch erstellt und den State der Szene verknüpft. Alles funktioniert soweit korrekt.

                      Allerdings wird beim Status False der Szene (korrekt aus Homekit übernommen, der State stop kurz gesetzt und dann auf play zurückgestellt. Der State der Szene springt auf undefined. Wenn ich das Webinterface des Sonos Adapter die Sonos manuell stoppe springt der State der Szene auf Falsch und das Stop bleibt gesetzt.

                      Habt Ihr eine Idee was ich übersehe? Besten Dank im voraus…

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

                        wie ist denn das Verhalten, wenn Du "state" nicht selbst setzt, sondern durch:

                        play - false

                        stop = true

                        den Wert von state setzen läßt?

                        1 Reply Last reply Reply Quote 0
                        • A
                          aniestra last edited by

                          das hat keine Einfluss. Ich habe aber vermutlich nun den "Schuldigen" gefunden.

                          Ich habe in den Sollwerten für Falsch (State kommt aus dem Homekitschalter) auch Favorite_Set erneut mit dem Favoriten gefüllt.

                          Das scheint ebenfalls ein "Play" zu triggern.

                          Es funktioniert nun fast korrekt. Lediglich wenn ich per Homekitschalter stoppe und per Taste an der Sonos wieder starte laufe ich einen "undefinierten" State 😞

                          State = Play

                          Play = Falsch

                          Ich versuche ihn mittels Script zu synchronisieren… "mühsam ernährt sich das Eichhörnchen"

                          Besten Grüße

                          Ansgar Niestradt

                          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

                          524
                          Online

                          32.0k
                          Users

                          80.4k
                          Topics

                          1.3m
                          Posts

                          4
                          12
                          6642
                          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