Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Sonos Arc & Satelliten LS per Steckdose ein- und ausschalten

    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 Arc & Satelliten LS per Steckdose ein- und ausschalten

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

      @skapi
      unabhängig davon ob dein Script schaltet, meinst Du dass Du mit der Lösung am Ende glücklich sein wirst?

      Ich hatte zunächst eine "Sonos Play 1" im Badezimmer über eine geschaltete Steckdose mit dem Licht gekoppelt. Allerdings dauert das Starten der "Sonos Play 1" derart lange, dass für mich das ganze sinnlos erschien ... es fing regelmäßig erst dann an zu dudeln, wenn ich schon wieder auf dem Weg aus dem Bad hinaus war. Nun lasse ich die "Play 1" im StandBy und die Musik spielt augenblicklich mit dem Betreten des Bades.

      Vielleicht - sofern noch nicht durchgespielt - probierst Du erst einmal aus, ob diese Verzögerung - wenn der Strom weg war - dich womöglich ebenso stört wies es bei mir der Fall war?!

      [Edit]
      Du könntest versuchen die Arc auch über folgende Datenpunkte abzufragen:
      play=true
      stop=false
      state=play
      state=stop
      volume>1

      Ich setze alle meine Sonos` zum Beispiel immer auf "Volume=1" wenn diese nicht spielen sollen, daher das letzte Beispiel mit "Volume>1".

      1 Reply Last reply Reply Quote 0
      • S
        skapi @Cinimod last edited by

        @cinimod
        anbei mein Versuch
        941e9bc5-e251-4b8c-a742-85848e2135d9-image.png

        on({id: "sonos.0.root.192_168_1_125.state_simple"/*Binary play/pause state*/, change: "ne"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (true) {
            setState("hue.0.Steckdose_Wohnzimmern.on"/*Steckdose Wohnzimmern.on*/, true);
          } else if (false) {
            setState("hue.0.Steckdose_Wohnzimmern.on"/*Steckdose Wohnzimmern.on*/, false);
          }
        });
        

        @BBTown
        Das mit dem Badezimmer kann ich nachvollziehen!
        Für die Satelliten LS ist es aus meiner Sicht ok wenn die etwas verspätet starten, da in erster Linie die Tonausgabe eh von der Arc kommt...

        Cinimod 1 Reply Last reply Reply Quote 0
        • Cinimod
          Cinimod Most Active @skapi last edited by Cinimod

          @skapi

          Dein Skript kann so nicht funktionieren.

          versuch es mal so:

          Bildschirmfoto 2021-11-30 um 21.50.13.png

          Den roten "Wert" Baustein findest du unter der Rubrik "Trigger" er wird aus dem hier umgewandelt.

          Bildschirmfoto 2021-11-30 um 21.46.14.png

          S 1 Reply Last reply Reply Quote 1
          • S
            skapi @Cinimod last edited by

            @cinimod
            Danke!! Das Script funktioniert!
            Was ich nur noch nicht versteht, woher weiße die schleife dass beim Wert "true" (Arc) die Steckdose auf "true" geschalten werden soll und nicht beim Arc Wert false?

            Wäre eine Negation des simple State der Sonos auch möglich?
            Also "if Sonos Arc simplestate ! true (not true); then .... (ich weis, false würde anstatt der negation gehen - nur aus Interesse)

            Danke!!

            Cinimod 1 Reply Last reply Reply Quote 0
            • Cinimod
              Cinimod Most Active @skapi last edited by Cinimod

              @skapi

              Mit dem WERT Block aus dem Trigger, benutzt du direkt den "Wert von Objekt ID" des Trigger Datenpunktes.

              Der blaue falls Block, braucht immer als Ergebnis ein WAHR um auszuführen.
              So wie du es vorher hattest geht es nicht, wenn du mal nicht den Trigger als Falls abfrage brauchst, dann machst es so, in der Therorie:

              Bildschirmfoto 2021-12-01 um 08.24.23.png

              Da du dir die abfrage auf Wahr allerdings sparen kannst, macht man es in der Praxis eher so:

              Bildschirmfoto 2021-12-01 um 08.31.20.png

              Und da bei True/False Datenpunkten ja nur entweder oder sein kann, sieht es so aus wie du es jetzt schon nachgebaut hast.

              (falls "wert von objekt ID" des trigger Datenpunktes WAHR, mache XY)
              ( und SONST (kann ja nur false sein) mache XX)

              Bildschirmfoto 2021-12-01 um 08.37.41.png

              Phu ... ganzen Roman ... hoffe ich hab es halbwegs verständlich erklärt.

              S 2 Replies Last reply Reply Quote 1
              • S
                skapi @Cinimod last edited by

                @cinimod
                Wow! Danke!!
                Das hilft mir beim verstehen mal definitiv weiter!

                1 Reply Last reply Reply Quote 1
                • S
                  skapi @Cinimod last edited by

                  @cinimod
                  Das ganze funktioniert wirklich super, jedoch müsste ich beim sonst nochmal etwas verfeinern. Ich hab das Problem dass mein lieber Sohnemann gerne mal auf die Play/Pause Taste drück und dadurch das ausschalten der Steckdose auslöst.

                  Ich habe den sonst teil mit einer Verzögerung von 5 Minuten eingestellt, jedoch ist das auch nicht praktikabel da der Status nicht mehr aktualisiert wird.

                  Was wäre denn der Richtige Ansatz dass beim "sonst" teil ein Wait von 5 Minuten vorkommt, danach der "simplestate" nochmal geprüft wird und danach wenn wahr mache, wenn false mache?

                  1 Reply Last reply Reply Quote 0
                  • Cinimod
                    Cinimod Most Active last edited by

                    @skapi

                    Du kannst dort einfach einen Timeout einfügen, das erst nach z.b. 2 Minuten Inaktivität die LS ausgeschaltet werden. Sollte sich der Datenpunkt innerhalb der 2 Minuten wieder ändern wird der Timeout angehalten

                    Bildschirmfoto 2021-12-04 um 19.37.33.png

                    1 Reply Last reply Reply Quote 1
                    • Homoran
                      Homoran Global Moderator Administrators last edited by Homoran

                      wenn der Trigger true/false liefert braucht es kein sonst, dann steuert man mit "wert"

                      EDIT:
                      mit dem Timeout ist das dann keine Einsparung mehr

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        skapi @Homoran last edited by

                        @homoran
                        ich kann dir leider nicht folgen...
                        @Cinimod
                        Vielen Dank!!

                        Cinimod Homoran 2 Replies Last reply Reply Quote 1
                        • Cinimod
                          Cinimod Most Active @skapi last edited by

                          @skapi

                          er meinte wenn der timeout jetzt nicht notwendig währe kann man einfach die LS direkt mit dem WERT von trigger ansteuern:

                          Bildschirmfoto 2021-12-04 um 21.35.54.png

                          Auch einzig dieser block währe möglich: WO zu beachten ist das Objekt2 immer das (nach-)macht was Objekt1 vorgibt (NICHT ANDERSRUM!)

                          Bildschirmfoto 2021-12-04 um 21.36.14.png

                          bei beiden Varianten kannst du keine Abschaltverzögerung einbauen.

                          1 Reply Last reply Reply Quote 2
                          • Homoran
                            Homoran Global Moderator Administrators @skapi last edited by Homoran

                            @skapi sagte in Sonos Arc & Satelliten LS per Steckdose ein- und ausschalten:

                            ich kann dir leider nicht folgen...

                            bin leider nicht mehr am PC.

                            wenn die Verzögerung beim Ausschalten nicht wäre und wenn der triggernde Datenpunkt einen bool'schen Wert (true/false) liefert reicht quasi eine Zeile innerhal des triggers.
                            Nämlich : steuere 2.ID mit Wert

                            noch rinfacher wäre nur noch die Konstruktion mit binde

                            Dann wird einfach bei true auch der zweite true, und bei false der zeite ebenfalls false.
                            Wenn du willst kann ich morgen ein Bild machen.

                            EDIT
                            Habe ich am Tablet jetzt >5Minuten gebrsucht?

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              skapi @Homoran last edited by skapi

                              @homoran
                              Ahh, jetzt habe Ichs...
                              @Cinimod
                              Auch nochmal Danke für die Erklärung!

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

                                Hallo,
                                ich würde mal wieder ein wenig Hilfe benötigen da sich seit dem letzen Sonos update wieder was geändert hat...

                                Ich weis nicht wieso aber ich tu mir mit der Blockly Logik echt schwer...
                                Logik aktuell: wenn Objekt ID Simplestate = true, dann mache
                                Folgende Logik würde noch benötigt werden: wenn Objekt ID Simplestate = true oder coordinator ist nicht 192_168_1_125, dann mache

                                Würde mich freuen wenn mir hier jemand behilflich sein könnte!

                                LG

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                614
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                4
                                16
                                893
                                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