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
      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
                                        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            622
                                            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