Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Aqara - Bewegungsmelder, Blockly Script Optimieren

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Aqara - Bewegungsmelder, Blockly Script Optimieren

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

      Hallo zusammen,

      Ich habe hier 2x Blockly Script die ich gerade teste, aber beide Funktionieren nicht wie ich es möchte, deshalb bitte ich euch mir zu Helfen.

      Script 1:
      Funktioniert soweit gut, nur habe ich das Problem das Licht auch über 20 LUX angeht, sobald Bewegung erkannt wird, dieser soll aber nur dann angehen, wenn der Wert LUX unter 20 ist.

      Script1.png

      ID.png
      Script2:
      Licht geht zuverlässig an bzw. Auch wieder aus nur habe ich hier das Problem, das bei Bewegung das Licht plötzlich aus geht und man im Dunklen steht das ist sehr ärgerlich.

      Script2.png

      Bei diesem Script habe ich je Bewegungsmelder 1 Script laufen.

      Das Script 1 Funktioniert für mich zuverlässiger bis auf das es auch über 20 LUX angeht, deshalb benutze ich auch gerade diesen.

      Kann mir Bitte jemand Helfen den Blockly-Script zu optimieren.

      Das Script soll bei Bewegung unter 20 LUX angehen bei keiner Bewegung nach einer vorgegebenen Zeit z. B. 60 sek. Wieder ausgehen, und wenn Bewegung da ist auf jeden Fall an bleiben.

      Ich würde mich sehr darüber freuen, wenn mir jemand Hilft den Script zu Optimieren damit es zuverlässig Funktioniert.

      Vielen herzlichen Dank
      Acem

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

        @acem sagte: Script 1:

        Versuche es mal so:

        Bild_2021-06-26_151956.png

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable type="timeout" id="timeout">timeout</variable>
         </variables>
         <block type="on_ext" id="/;%(6cw*)K,,oq[EQ(oq" x="-512" y="-38">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id=":V?sH*65*jOvUY?2){lz">
               <field name="oid">zigbee.1.00158d00057f83c5.occupancy</field>
             </shadow>
           </value>
           <value name="OID1">
             <shadow type="field_oid" id="mHa:bQQM.)hc8SPfCGxM">
               <field name="oid">zigbee.1.00158d00057ff2bd.occupancy</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="controls_if" id="Cod,W2){cne2E;Y$=kr.">
               <mutation elseif="1"></mutation>
               <value name="IF0">
                 <block type="logic_operation" id="!|h/CZ#(MHX/B!{jjRlS" inline="false">
                   <field name="OP">OR</field>
                   <value name="A">
                     <block type="get_value" id="yuHB[kScC-!c@P!(B?F/">
                       <field name="ATTR">val</field>
                       <field name="OID">zigbee.1.00158d00057f83c5.occupancy</field>
                     </block>
                   </value>
                   <value name="B">
                     <block type="get_value" id="OSAj0SyR=6=+2KgZhSv%">
                       <field name="ATTR">val</field>
                       <field name="OID">zigbee.1.00158d00057ff2bd.occupancy</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="timeouts_cleartimeout" id="ZHMeZ7]4U%rurh7(#:O1">
                   <field name="NAME">timeout</field>
                   <next>
                     <block type="controls_if" id="z`DZf!Qdvx%HIY#g4zl6">
                       <value name="IF0">
                         <block type="logic_operation" id="9pKjfVb2NzQW}t4?TuNo" inline="false">
                           <field name="OP">AND</field>
                           <value name="A">
                             <block type="logic_compare" id="JK6$[$V~^R*Z2v5kyASV">
                               <field name="OP">LTE</field>
                               <value name="A">
                                 <block type="get_value" id="!ZzhVq}6iKZZ2Aq%qdI7">
                                   <field name="ATTR">val</field>
                                   <field name="OID">zigbee.1.00158d00057f83c5.illuminance</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="MzrnU??v.9[4G{.)Zlo,">
                                   <field name="NUM">20</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_compare" id="WkW7KFE#9dG@l4[I]~my">
                               <field name="OP">LTE</field>
                               <value name="A">
                                 <block type="get_value" id="1jg_am`:NshUc10r2MH/">
                                   <field name="ATTR">val</field>
                                   <field name="OID">zigbee.1.00158d00057ff2bd.illuminance</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="WBG-S:m1Xy2ho{k3{;BW">
                                   <field name="NUM">20</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="debug" id="EkxHeN)R55.0I.%q{|L*">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="oAi|QYN}-o(P}n.#o#}a">
                               <field name="TEXT">Flurlicht an</field>
                             </shadow>
                           </value>
                           <next>
                             <block type="control" id="uI@lOQfQiApmj1B@LPm@">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">sonoff.0.Flurlicht.POWER</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="JGyPlzyKk#zMqky{n4xk">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </statement>
               <value name="IF1">
                 <block type="get_value" id="O6ez`g|!nlSu(*.OC-mA">
                   <field name="ATTR">val</field>
                   <field name="OID">sonoff.0.Flurlicht.POWER</field>
                 </block>
               </value>
               <statement name="DO1">
                 <block type="timeouts_settimeout" id="?_3IX7R|!Zp#`/}RQENu">
                   <field name="NAME">timeout</field>
                   <field name="DELAY">51</field>
                   <field name="UNIT">sec</field>
                   <statement name="STATEMENT">
                     <block type="debug" id="1?+LoUBr3mJlwe5a^*zo">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="gK=Sv5Pf*tUtzvB{ONNS">
                           <field name="TEXT">Flurlicht aus</field>
                         </shadow>
                       </value>
                       <next>
                         <block type="control" id="fWu0;w)bHd0RNW[W5bM@">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">sonoff.0.Flurlicht.POWER</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="t~y$I48:2A,yca2Tx=(9">
                               <field name="BOOL">FALSE</field>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

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

          @paul53
          Wenn der Wert bei Illumiance über 20 Lux ist sollte das Licht auch bei Bewegung nicht an gehen oder? sporadisch tut er es nicht immer.

          Bei Obkjekte occupancy_timeout habe ich ein Wert von 10 sec. Stehen, ist das korrekt oder was sollte dort stehen?

          Danke
          Acem

          A crunchip 2 Replies Last reply Reply Quote 0
          • A
            acem @acem last edited by

            @acem

            Kann mir vielleicht jemand meine Frage beantworten.

            Danke

            mickym 1 Reply Last reply Reply Quote 0
            • crunchip
              crunchip Forum Testing Most Active @acem last edited by

              @acem Der Lux Wert wird nicht permanent aktualisiert, sondern nur bei Bewegung. Es kann dann somit passieren, das Bewegung auslöst, aber der Lux Wert sich noch nicht "angepasst" hat.

              @acem sagte in Aqara - Bewegungsmelder, Blockly Script Optimieren:

              occupancy_timeout habe ich ein Wert von 10 sec.

              wenn du die BWM im Originalzustand hast, wird eh nur (bin mir nicht ganz sicher) alle 60 bzw 120 sek erst erneut eine Bewegung erkannt, ausser du hast gelötet und somit können alle 5 sek eine Bewegung erfasst werden.

              Um so etwas (und noch viel mehr) ganz einfach zu steuern, seh dir mal den Adapter Smart-Control an

              1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @acem last edited by mickym

                @acem Der occupancy_timeout Parameter gibt an, wie lange nach zuletzt erkannter Bewegung, die Anwesenheit noch auf true bleibt. Mit jeder Bewegung wird es sich also immer wieder verlängern.

                Ohne irgendwelche Lötaktionen ist minimal der Wert 60s. Ich habe nichts gelötet und finde diese Auflösung auch als ausreichend. Standardmäßig stehen die bei mir alle auf 300s. Sonst ist mir das oft zu nervös.

                Ansonsten solltest Du eine Art Hysterese einbauen.

                Alles was unter 10 Lux ist - ist quasi dunkel und lässt sich nicht auflösen. Ich persönlich habe 3 Levels:

                1. Eingeschaltet wird bei mir unter 10
                2. Zwischen 10 und 20 wird nur ohne Bewegung ausgeschaltet
                3. Über 20 wird immer ausgeschaltet.

                Wenn Du auf einen Sofa sitzt und sich niemand bewegt - dann empfiehlt sich die occupancy timeout noch höher zu setzen. Maximum ist 1800s also eine halbe Stunde.

                Ansonsten musst Du aktiv das ausschalten unterbinden, wenn bestimmte andere Anwesenheiten in Ruhe aktiv sind - z. Bsp. Fernseher an.

                Die illuminance wird zwar in der Regel nur bei Bewegung aktualisiert - aber nicht ausschließlich. Wenn niemand zu Hause ist, meldet der Bewegungsmelder sich meist zwischen 1-2 Stunden mit aktualisierten Helligkeitswerten. Also es ist nicht ganz so, dass sich die Lichtwerte NUR bzw. ausschließlich durch Bewegung aktualisieren.

                Also auch wenn ich Dir jetzt kein Blockly liefern kann, vielleicht gibt es Dir ja ein paar Anregungen wie man das implementieren kann.

                crunchip 1 Reply Last reply Reply Quote 0
                • crunchip
                  crunchip Forum Testing Most Active @mickym last edited by

                  @mickym sagte in Aqara - Bewegungsmelder, Blockly Script Optimieren:

                  Alles was unter 10 Lux ist - ist quasi dunkel und lässt sich nicht auflösen. Ich persönlich habe 3 Levels:

                  @acem
                  Hängt auch davon ab, wo man einen BWM positioniert, Stichwort Lichteinfall.
                  Habe z.b. Flur oben, kein direktes Fenster, Lux 10, unten im Flur BWM in Richtung Fenster gerichtet, Lux 100. In Räumen, in denen der BWM kein direktes Licht bekommt, ebenfalls Lux 10, Räume in denen z.b. kein Fenster vorhanden ist z.b. Kleiderschrank, hab uch den Luxwert auf 2, da immer geschaltet werden soll.

                  Aber wie schon oben geschrieben, mit dem Adapter hast du ganz viele Möglichkeiten, dein Licht zu schalten, zusätzliche Bedingungen, Schalter, etc mit einzubauen.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  834
                  Online

                  32.0k
                  Users

                  80.5k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  1266
                  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