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.
    • L
      Leupi last edited by

      Hallo,

      ich stehe noch relativ weit am anfang und habe vor wenigen Tagen auf einem Raspberry Pi 3 iobroker installiert und diverse Adapter installiert. (unteranderem Xs1, Homekit, Hue, Sonos…)

      Das einbinden von Xs1 und Homekit hat bereits wunderbar fuktioniert, somit konnte ich meine normalen Funksteckdosen bereits per Homekit/Siri schalten.

      Jedoch habe ich mit dem Sonos vermutlich ein Verständnis Problem.

      Ich bekomme den Sonos Lautsprecher per Homekit gestartet, aber nicht gestopt. Auf dem folgenden Bild ist meine konfiguration zu sehen.

      Muss ich für den Stop befehl noch etwas zusätzliches anlegen? (schalte ich eine Steckdose, reicht ja ein Befehl...)

      Habe es bereits mit Play, Stop und dem Pausebefehl versucht

      Hat jemand evtl. eine Idee dazu?

      Im Anhang befindet sich ein konfigurations Bild
      5405_sonos_iobro.jpg

      1 Reply Last reply Reply Quote 0
      • 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

                            766
                            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