Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Sonos/Hue - Hilfe/Ideen für Badezimmer Script

    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/Hue - Hilfe/Ideen für Badezimmer Script

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

      @paul53 - herzlichen Dank für deine ausführliche Unterstützung. Ich werde das heute Abend mal nachbauen und dann berichten.

      Folgendes fiel mir noch ein: Wie würdest du den Status des "manuellen Stop" wieder zurücksetzen? Ich kann ja bei dem Hue-Bewegungsmelder theoretisch prüfen, ob länger als 10-15 Minuten keine Bewegung erkannt wurde (was ein recht sicherer Indikator wäre, das niemand mehr im Bad ist) und dann wieder zurücksetzen. Ergibt das Sinn, oder hast du vielleicht einen besseren Vorschlag?

      Vielen Dank nochmal und beste Grüße

      Sundance

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Sundance last edited by

        @Sundance sagte:

        Wie würdest du den Status des "manuellen Stop" wieder zurücksetzen?

        Im Vorschlag wird er durch manuelle Betätigung von "Play" zurück gesetzt.

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

          @paul53 said in Sonos/Hue - Hilfe/Ideen für Badezimmer Script:

          @Sundance sagte:

          Ja, durch Vergleich vorheriger Ursprung != "system.adapter.javascript.0", wenn man nur bei Update triggert. vorheriger Ursprung ist eine Eigenschaft des Trigger-Datenpunktes.

          Diesen Punkt verstehe ich leider nicht ganz - was muss ich für Datenpunkte/States erstellen, oder wie komme ich an den "Urpsprung"? Ich habe das Blockly soweit nachgebaut, aber an dem Punkt komme ich nicht weiter..

          Etwa so
          Blockly_temp.JPG

          Und eine weitere Sache verstehe ich nicht auf Anhieb - wofür ist der zweite Trigger oben in deinem Vorschlag da? (der einfach nur "Wert" als Platzhalter Variable hat) Ich verstehe nicht, was ich meiner variante dort einsetzen/austauschen muss.

          Ich danke dir im voraus für deine Hilfe!

          Beste Grüße

          Sundance

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Sundance last edited by

            @Sundance sagte:

            wie komme ich an den "Urpsprung"?

            Wert und vorheriger Ursprung sind Eigenschaften des Trigger-Datenpunktes (Blöcke "Trigger"):

            Blockly_DP_Props.JPG

            1 Reply Last reply Reply Quote 1
            • S
              Sundance last edited by

              @paul53 - super, das habe ich gefunden - das funktioniert auch wie erwartet. Leider scheint mit der Abfrage bei den Bewegungsmeldern etwas nicht so zu klappen, wie geplant. Ich poste erstmal mein aktuelles Blockly, vielleicht hast du ja noch eine Idee (oder ich habe irgendwelche Platzhalter falsch "übersetzt"..)

              blockly-sonos.jpg

              (Der abgeschnittene Teil beinhaltet weitere Voraussetzungen: Anwesenheit, Uhrzeit, "manuellPause", und dass der Sonos grade nicht bereits abspielt)

              "Play" wird korrekt ausgelöst, allerdings funktioniert das pausieren nicht konstant - manchmal wird die Nachricht "No Motion Anymore: PAUSING in 3 Minutes" ausgelöst, und wenige Sekunden später wird trotzdem die Pause gesendet.

              Ich nutze Hue-Bewegungsmelder, die direkt per Zigbee verbunden sind (da sie so deutlich schneller bzw. direkter auslösen) - kann es sein das sich hier gelegentlich irgendein Abfrage bzw. Polling Intervall überschneidet?

              Ich habe einige Debug Logs eingefügt, damit ich besser nachvollziehen kann, wann was passiert. Alle Nachrichten werden zwei mal gepostet, weil ich oben zwei Object-IDs bzw. Haupt-Trigger habe. Kann es auch damit zusammenhängen?

              Vielen Dank vorab für deine Unterstützung..

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Sundance last edited by paul53

                @Sundance sagte:

                weil ich oben zwei Object-IDs bzw. Haupt-Trigger habe.

                Bei zwei Triggern funktioniert die einfache Abfrage von Wert nicht. Außerdem muss die Bewegungserkennung mit ODER verknüpft werden. Prinzip:

                Blockly_temp.JPG

                1 Reply Last reply Reply Quote 0
                • S
                  Sundance last edited by

                  @paul53 - Okay, die initiale Abfrage von einem der Bewegungsmelder reicht ja erstmal - oder gibt es einen einfachen Weg, zwei Werte abzufragen?

                  In meinem "Falls" habe ich ja mit ODER gearbeitet, oder macht es einen Unterschied, dass du die externen Ausgänge aktiviert hast?

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Sundance last edited by

                    @Sundance sagte:

                    In meinem "Falls" habe ich ja mit ODER gearbeitet

                    Was ist rechts noch mit UND verknüpft ?

                    @Sundance sagte in Sonos/Hue - Hilfe/Ideen für Badezimmer Script:

                    macht es einen Unterschied, dass du die externen Ausgänge aktiviert hast?

                    Nein, sieht nur übersichtlicher aus.

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

                      @paul53 said in Sonos/Hue - Hilfe/Ideen für Badezimmer Script:

                      Was ist rechts noch mit UND verknüpft ?

                      Hab es mal etwas übersichtlicher umgebaut - Hier ein Auszug davon:

                      Screenshot 2019-08-12 at 16.05.37.png

                      Ich frage beide BWM, die Anwesenheit, den aktuellen Status der Sonos Box, die "manuellPause" und den Zeitraum ab.

                      Ich habe jetzt mal auf einen BWM im Trigger reduziert - macht es einen Unterschied, wenn ich danach sowieso im zweiten Trigger die beidem BWMs abfrage?

                      Vielen Dank

                      Gruß

                      sundance

                      1 Reply Last reply Reply Quote 0
                      • R
                        Ringo last edited by Ringo

                        Hallo - ich habe mich anfangs auch beim Sonos-schalten auch auf die Bewegungsmelder konzentriert.
                        Ging soweit - nur wollte ich dann Nachts (z.b. von 0.00 bis 5.00 Uhr) beim Bad/Toiletten-Besuch kein Sonos-Gerät am laufen haben ...
                        ... also neuer Ansatz: Bewegung egal! - Das HUE-Licht (Helligkeit) wird abgefragt!
                        Da hat ja HUE die geniale Nachtsteuerung der Lampen wo man eine Uhrzeit definieren kann und die Helligkeit - z.b. nur 50% - alles gut, denn Sonos wird ja nur bei 100% geschalten. Dieses funktioniert sehr zuverlässig.
                        Hui dachte ich - also nehmen wir doch den Helligkeitswert der HUE-Lampe und frage den Status mit Blockly ab und schalte Sonos. Siehe da - alles ist gut! 😉
                        ... hat den weiteren Vorteil das vor dem Abschalten der Lampe sich die Helligkeit der Lampe verringert - also wirds Zeit sich zu Bewegen das es Hell bleibt und Sonos geht ja nur bei 0% aus. Wenns dann Dunkel wird ist dein Sonos auch aus. 😉

                        ... hier das Blockly:

                        <xml xmlns="http://www.w3.org/1999/xhtml">
                          <block type="on" id="c08~!?}h/;gsL^zE(OMo" x="13" y="12">
                            <field name="OID">hue.0.Bridge_GR.Bad.level</field>
                            <field name="CONDITION">any</field>
                            <field name="ACK_CONDITION"></field>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="#F]0/Q8r1ut@.?^FOc-6">
                                <value name="IF0">
                                  <block type="logic_compare" id="IR~LLs/L%xH)P=(Rcz*F">
                                    <field name="OP">EQ</field>
                                    <value name="A">
                                      <block type="on_source" id="Qz9J,V+C3-4TJsFPJXGN">
                                        <field name="ATTR">state.val</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="math_number" id="yb+v2-:?bRaB?bM)Wk[j">
                                        <field name="NUM">100</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control" id="0,KyWH6YQux.JP0zd;*k">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">sonos.0.root.192_168_0_150.favorites_set</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="text" id="y2e8}+q(WtF|~z34=UeV">
                                        <field name="TEXT">SWR3</field>
                                      </block>
                                    </value>
                                    <next>
                                      <block type="control" id="cR|BEa*?=9#a~oZo#`,T">
                                        <mutation delay_input="false"></mutation>
                                        <field name="OID">sonos.0.root.192_168_0_150.play</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="Ln_6B6brsLJ~u+[T/i`N">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </xml>
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        901
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        blockly multimedia node-red
                        4
                        13
                        1226
                        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