Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Lichtsteuerung mit BWM und Hue Wall Switch

    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

    [gelöst] Lichtsteuerung mit BWM und Hue Wall Switch

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

      @paul53
      Dein Script hatte ich jetzt lange Zeit wegen verschiedener Gründe nicht im Einsatz.
      Mittlerweile bin ich komplett weg von der Hue Bridge und habe knapp 60 Geräte erfolgreich hin zu zigbee2mqtt portiert, inkl. diyHue Bridge und Ambilight Einrichtung.
      Ich wollte mich nochmal herzlich für dein Script bedanken, an dem ich mich jeden Tag erfreue!!
      Nachstehend das Blockly und der Code für alle Interessierten.
      d1ecdfb5-c442-46c5-8f56-c3dba1c883a6-image.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="LK7y6jlg$CMLZk.=#BD+">manuell_ein</variable>
          <variable id="p?GQlqxr#Uu4lR;cwiNj">cmd_manu</variable>
          <variable type="timeout" id="timeout">timeout</variable>
          <variable id="G@AE?2U`-YF66m,^sO{H">cmd</variable>
        </variables>
        <block type="on_ext" id="ctk0GqdR|L9Qlrwo#otR" x="187" y="-13">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">ge</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="VooGFSv9c3_Dy~2+(qbl">
              <field name="oid">mqtt.0.zigbee2mqtt.Taster_Badezimmer.action</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="variables_set" id="Cs{#Z=[*RRRBz2fc|0`{">
              <field name="VAR" id="LK7y6jlg$CMLZk.=#BD+">manuell_ein</field>
              <value name="VALUE">
                <block type="logic_negate" id="_[@AkYzfT-8;kFPKxT44">
                  <value name="BOOL">
                    <block type="variables_get" id="x[]zkh|D8%Ld=%AB_Ym:">
                      <field name="VAR" id="LK7y6jlg$CMLZk.=#BD+">manuell_ein</field>
                    </block>
                  </value>
                </block>
              </value>
              <next>
                <block type="controls_if" id="L|/P1idJfR1V`p:a6Tu1">
                  <mutation else="1"></mutation>
                  <value name="IF0">
                    <block type="variables_get" id="z;I3!,XXoK)bof_LU8mI">
                      <field name="VAR" id="LK7y6jlg$CMLZk.=#BD+">manuell_ein</field>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="timeouts_cleartimeout" id="wtf[y;2KU-07v!:r@1g*">
                      <field name="NAME">timeout</field>
                      <next>
                        <block type="variables_set" id="ff,1Uu=tpU]40;.nK.kR">
                          <field name="VAR" id="G@AE?2U`-YF66m,^sO{H">cmd</field>
                          <value name="VALUE">
                            <block type="get_value" id="w:e_msmqzR=yLJH2-:,s">
                              <field name="ATTR">val</field>
                              <field name="OID">mqtt.0.zigbee2mqtt.Licht_Badezimmer.set</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="wZenF]vpYjd$1E_}{k3H">
                              <field name="VAR" id="p?GQlqxr#Uu4lR;cwiNj">cmd_manu</field>
                              <value name="VALUE">
                                <block type="text" id="ewNk|MEhId6F%_-8fM@a">
                                  <field name="TEXT">{"transition": "1", "color_temp": "cool", "brightness": "254", "state": "on"}</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <statement name="ELSE">
                    <block type="variables_set" id="}fvhmgpxfQt]/a7lSrlG">
                      <field name="VAR" id="p?GQlqxr#Uu4lR;cwiNj">cmd_manu</field>
                      <value name="VALUE">
                        <block type="variables_get" id="y_))WMxO8{{sP(OP(dX4">
                          <field name="VAR" id="G@AE?2U`-YF66m,^sO{H">cmd</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                  <next>
                    <block type="control" id="lUML;/jW{qT=Ef9*k|=B">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">mqtt.0.zigbee2mqtt.Licht_Badezimmer.set</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="variables_get" id="efXu|r!aec+a7TWFygg~">
                          <field name="VAR" id="p?GQlqxr#Uu4lR;cwiNj">cmd_manu</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="on_ext" id="Hs@YoClFY~!0afsws.TY" x="188" y="362">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">true</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="c)1TWhm3JsD}a21^*OKC">
              <field name="oid">zigbee2mqtt.0.0x00158d0006f99862.occupancy</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="controls_if" id="Yu0?El(D8oB7z|bfl*G(">
              <value name="IF0">
                <block type="logic_negate" id="Ay}t=+p5Qff+Jxqz=n?o">
                  <value name="BOOL">
                    <block type="variables_get" id="XNqMSfK/Q(xe(jr?bc(q">
                      <field name="VAR" id="LK7y6jlg$CMLZk.=#BD+">manuell_ein</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="controls_if" id="{}3[b!4Xh_~c(d)3(GR{">
                  <value name="IF0">
                    <block type="on_source" id="M;-B%RKT_2TT*4HB:a]Q">
                      <field name="ATTR">state.val</field>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="timeouts_cleartimeout" id="I[_$4*AF3xdn:5zpd#=k">
                      <field name="NAME">timeout</field>
                      <next>
                        <block type="controls_if" id="%BuO:{u)J9e_=kP*?~oI">
                          <mutation elseif="1"></mutation>
                          <value name="IF0">
                            <block type="get_value" id="sE*_x*?`#!pCW:U*|`So">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.variables.isDayTime</field>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="variables_set" id="u${x{Kaq-K_}TOlZ!vrN">
                              <field name="VAR" id="G@AE?2U`-YF66m,^sO{H">cmd</field>
                              <value name="VALUE">
                                <block type="text" id="3+rr,5InrrnbDDu@YLr6">
                                  <field name="TEXT">{"transition": "1", "color_temp": "warm", "brightness": "254", "state": "on"}</field>
                                </block>
                              </value>
                            </block>
                          </statement>
                          <value name="IF1">
                            <block type="logic_compare" id="m^^0`z}CLh/0t]~zyN81">
                              <field name="OP">LTE</field>
                              <value name="A">
                                <block type="get_value" id="G6k011Aj3iQMh1DR-ug$">
                                  <field name="ATTR">val</field>
                                  <field name="OID">zigbee2mqtt.0.0x00158d0006f99862.illuminance</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="4[,;0ET}t{/0B$S1H3|e">
                                  <field name="NUM">10</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO1">
                            <block type="variables_set" id="{:U($ICz|.TLL_4F9M1s">
                              <field name="VAR" id="G@AE?2U`-YF66m,^sO{H">cmd</field>
                              <value name="VALUE">
                                <block type="text" id=",Chn0wP8kduF?KF,JLK+">
                                  <field name="TEXT">{"transition": "1", "color_temp": "warm", "brightness": "50", "state": "on"}</field>
                                </block>
                              </value>
                            </block>
                          </statement>
                          <next>
                            <block type="control" id="nceNOJTd8G:*S;mua?6D">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">mqtt.0.zigbee2mqtt.Licht_Badezimmer.set</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="variables_get" id="02?xQk-|a?U#552=`UAQ">
                                  <field name="VAR" id="G@AE?2U`-YF66m,^sO{H">cmd</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <next>
                    <block type="timeouts_settimeout" id="fPE2DI001A8N2CJaPYF$">
                      <field name="NAME">timeout</field>
                      <field name="DELAY">60</field>
                      <field name="UNIT">sec</field>
                      <statement name="STATEMENT">
                        <block type="control" id="e5|$uqgZDLGKt~*7q%t]">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">mqtt.0.zigbee2mqtt.Licht_Badezimmer.set</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="text" id="i[mqHP-aSYU)[4P]s]A0">
                              <field name="TEXT">{"transition": "10", "state": "off"}</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      
      sentinel 1 Reply Last reply Reply Quote 0
      • sentinel
        sentinel @sentinel last edited by

        @paul53
        Mit einer Script-Anpassung funktioniert das Script nicht mehr (Licht geht nicht mehr aus) und ich verstehe nicht warum und hoffe erneut auf deine Hilfe.
        Im funktionierenden Script ist "zigbee2mqtt/Taster_Badezimmer/action" ein Hue Wallswitch, welcher zwei Eingänge hat. Zum Zeitpunkt des funktionierenden Scripts gab es im Badezimmer nur die Deckenleuchte. Jetzt habe ich den zweiten Eingang für eine Spiegelbeleuchtung hinzugenommen und den einfachen Taster gegen einen Doppeltaster getauscht.
        Bei nur einem Eingang taucht bei "Taster_Badezimmer/action" kurz hintereinander "left_press" und "left_press_release" auf. Mit zweitem Eingang kommt dazu das Pärchen für right.
        Somit kann ich mit Taster_Badezimmer/action "ist gleich oder größer als" nicht mehr arbeiten, da jetzt auch mit dem anderen Taster für die Spiegelbeleuchtung das Script beeinflusst wird.
        Im mqtt Adapter bekomme ich leider nur den Datenpunkt "action" angezeigt.
        058e0f10-bb3e-49a2-aadc-cbcae652fe19-image.png
        Wenn ich mir jedoch den zigbee2mqtt Adapter zusätzlich installiere (greift per websocket auf das zigbee2mqtt Docker Web-Interface zu), habe ich diese Datenpunkte:
        1dce7f1f-fe6e-4250-b49a-30eb0748a05f-image.png
        Egal, wie ich es mit diesen Datenpunkten versuche: Das Licht geht bei Bewegung an und bei "left_press" wechselt das Licht von warm auf cool und bleibt an (wie gewollt). Nochmaliger Tastendruck wechselt wieder, wie gewollt, von cold zu warm, aber das Licht geht nach der Timerzeit nicht aus.
        Habe sogar mit einem Hilfsdatenpunkt, welcher "left_press" hochzählt, versucht das Problem zu lösen, leider erfolglos. Ich verstehe nicht, warum das Licht nicht mehr per Timer aus geht.
        4485d56e-3b51-4470-b8a3-d26f18e7821d-image.png

        Ich hoffe, ich konnte mein Problem verständlich schildern.
        Vielen Dank für jegliche Hilfe.

        paul53 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @sentinel last edited by paul53

          @sentinel sagte: das Licht geht nach der Timerzeit nicht aus.

          Das hat doch nichts mit dem Taster zu tun, sondern mit "Occupancy". Logge mal den Trigger von "Occupancy" mittels Debug-Block.

          Bild_2022-12-21_175709033.png

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

            @paul53
            Chapeau, du hast offensichtlich den richtigen Ansatz direkt gefunden.
            War aber auch nah dran. 🙂 Bevor ich deine Nachricht gelesen habe, fiel mir gerade (Ansicht auf dem Tablet) auf, dass ich immer aus dem Raum gegangen bin, ohne eine letzte Bewegung.
            Dann habe ich in den Status des Bewegungsmelders in dem z2m webinterface geschaut:
            94388bd4-1fe9-4863-802c-25bbd377250a-image.png
            Der Wert ist bei den funktionierenden auf 0
            Keine Ahnung, wie der Wert da reingekommen ist. Schaue gerade, wie ich ihn wieder auf 0 setzen kann.

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

              @sentinel sagte: "Taster_Badezimmer/action" kurz hintereinander "left_press" und "left_press_release" auf.

              Dann damit vergleichen:

              Bild_2022-12-21_180626027.png

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

                @paul53
                Teste jetzt mit deinem Script die Bewegungserkennung.
                In der Küche steht der Wert auf 36, Script funktioniert aber anstandslos. Sehr merkwürdig.

                sentinel 1 Reply Last reply Reply Quote 0
                • sentinel
                  sentinel @sentinel last edited by

                  @paul53
                  c806ee87-2a26-4ff8-84fd-4923f6032fd5-image.png
                  Tatsache, da sind immer 60s zwischen den Erkennungen, obwohl
                  3c8dbe53-4177-4633-bb8c-84c83992acf7-image.png
                  gesetzt ist.

                  paul53 sentinel 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @sentinel last edited by

                    @sentinel sagte: da sind immer 60s zwischen den Erkennungen

                    Auch, nachdem das Bad verlassen wurde? Du hast geschrieben

                    aber das Licht geht nach der Timerzeit nicht aus.

                    1 Reply Last reply Reply Quote 0
                    • sentinel
                      sentinel @sentinel last edited by

                      @paul53
                      Habe jetzt einen anderen Aqara Bwm genommen und siehe da, es funktioniert wie geplant.
                      Keine Ahnung, wie die 60s Pause da reingekommen sind.
                      Fehlersuche macht eigentlich Spaß, kostet nur auch Nerven.
                      Danke wieder einmal für deine Hilfe.

                      sentinel 1 Reply Last reply Reply Quote 0
                      • sentinel
                        sentinel @sentinel last edited by

                        @paul53
                        Wenn ich noch einmal stören dürfte.
                        In dem Script ist ja bei Betätigung des Lichtschalters Dauerlicht in kalt gewünscht.
                        Jetzt ist mir aufgefallen, dass meine Mädels es gerne auch mal super hell haben möchten, dann aber im verwöhnten Bewegungsmeldermodus sind und den Taster nicht mehr drücken. Die Lampen sind mitunter stundenlang an. Das möchte ich natürlich gerne verhindern.
                        Hab mich da auch schon dran versucht, nach z.B. 10 Minuten ohne Bewegung im cold Modus mit voller Helligkeit, hat aber nicht funktioniert.

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

                          @sentinel sagte: nach z.B. 10 Minuten ohne Bewegung

                          Bild_2022-12-21_200130002.png

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

                            @paul53
                            Bleibt so noch der vorherige Scriptablauf bestehen?
                            Habe selber mit einem zweiten timeout bei dem Taster-action Teil rumprobiert.

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

                              @sentinel sagte: Bleibt so noch der vorherige Scriptablauf bestehen?

                              Ja, das ist der sonst-Zweig.

                              @sentinel sagte in [gelöst] Lichtsteuerung mit BWM und Hue Wall Switch:

                              mit einem zweiten timeout bei dem Taster-action Teil rumprobiert.

                              Der zweite Timeout muss auf Bewegung reagieren.

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

                                @paul53
                                Da habe ich deinen Vorschlag wohl falsch umgesetzt, denn Licht cold geht auch nach 10s aus.
                                638a9d49-af7e-4f2b-8c6c-e307e9fdd2ba-image.png

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

                                  @sentinel sagte: Vorschlag wohl falsch umgesetzt

                                  Ja.

                                  Bild_2022-12-21_205947509.png

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

                                    @paul53
                                    Ich wünsche schöne Festtage.
                                    Das Script habe ich um Beachtung von Wochenenden/Feiertagen, sowie Uhrzeit/Helligkeit ergänzt. Dabei ist mir aufgefallen, dass der Helligkeitswert unbeachtet bleibt und das Licht immer angeht.
                                    Die gleiche Konstellation in einem kurzen Testscript funktioniert jedoch. Das verstehe ich nicht und finde wieder keine Lösung. Darf ich erneut auf deine Hilfe hoffen? Danke.
                                    Helligkeitsregelung funktioniert:
                                    0c4a8cda-058d-4738-96ad-6492ae171a0d-image.png

                                    Helligkeitsregelung funktioniert nicht:
                                    205a2c4c-b329-4392-9864-79f4c879c2c6-image.png

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

                                      @sentinel sagte: der Helligkeitswert unbeachtet bleibt und das Licht immer angeht.

                                      Nimm mal als Vergleichswert eine Zahl anstelle des Strings und entferne "Illuminance" aus dem Trigger.
                                      Im Testskript wird zusätzlich der "Wert von Occupancy" geprüft.
                                      Soll die Helligkeit nur zu Feiertagen und an Wochenenden geprüft werden?

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

                                        @paul53
                                        Danke für deine Hinweise. Ob Zahl, oder String scheint egal zu sein, habe es af Zahl angepasst. Illuminance habe ich beim Trigger entfernt. Die Helligkeit soll immer geprüft werden, habe dies angepasst.
                                        Habe testweise einen "sonst" Befehl mit Licht aus hinzugefügt und bin verhalten optimistisch.
                                        Das Licht verhält sich gerade mit BWM wie gewünscht. Werde dies jetzt eine Zeit lang beobachten.
                                        933ddb7c-1bb8-446a-b068-3dea951b0df8-image.png

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

                                          @sentinel sagte: Illuminance habe ich beim Trigger entfernt. Die Helligkeit soll immer geprüft werden, habe dies angepasst.

                                          Da auf "ist wahr" getriggert wird, ist die Abfrage von "Wert von Occupancy" nicht erforderlich. Die Abfrage der Helligkeit und Uhrzeit lässt sich vereinfachen:

                                          Bild_2022-12-27_133135835.png

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

                                            @paul53
                                            Sehr cool, vielen Dank für deine Profitipps. Schaue ich mir sofort an.
                                            Arbeite mich zwischen den Feiertagen mehr in das Thema ein. Die Möglichkeiten faszinieren mich.
                                            Gerade sind meine bestellten Aqara FP1 mmWellen Präsenzmelder gekommen. Erhoffe mir bessere Erkennung bei sehr geringen Bewegungen und batterielos.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            560
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            28
                                            1325
                                            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