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
      Hallo,
      Das Licht schaltete sich sowohl bei Bewegung, als auch Tastendruck immer noch nicht ein. Daraufhin habe ich die Variable Wert ausgetauscht und es wurde hell. Nur der Timer funktionierte noch nicht und das Licht ging somit noch nicht aus. Den timeout Block eine Ebene höher heben brachte dann hier auch das gewünschte Ergebnis. Lediglich untenstehende Warnmeldung taucht im log auf. Es funktioniert aber alles.
      Mega, das hätte ich ohne deine Hilfe nie so schnell geschafft. Lieben Dank dafür.
      92b6fe04-9756-4e8b-b4dd-6d8be8854bf9-image.png
      f6be292d-ecc5-4a4c-8a69-addd3e90ee9e-image.png

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

        @sentinel sagte: Warnmeldung taucht im log auf.

        Gehe nochmal auf die beiden Blöcke "stop timeout" und selektiere die Variable timeout.

        @sentinel sagte in Bewegung-Licht Blockly mit Hue Wall Switch Erweiterung:

        Nur der Timer funktionierte noch nicht und das Licht ging somit noch nicht aus.

        Wenn auf "Occupancy" wahr getriggert wird, kann es nicht funktionieren, da der sonst-Zweig bei "Occupancy" falsch ausgeführt wird.

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

          @paul53
          Super, das log ist jetzt auch sauber.
          Lerne gerade die weiteren zwei Wandschalter Module im Zigbee Adapter an und dann geht's in den Live Test.
          Ich bin begeistert. Vielen Dank und wieder viel dazugelernt.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            607
                                            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