Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Bewegungsmelder Lichtsteuerung

    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] Bewegungsmelder Lichtsteuerung

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

      @CruziX sagte in Bewegungsmelder Lichtsteuerung:

      erkennst, dass es durch den Schalter aktiviert wurde und machst das beschriebene.

      Wie erkenne ich das?

      1 Reply Last reply Reply Quote 0
      • Uli977
        Uli977 @CruziX last edited by

        @CruziX
        Das heißt, der Lichtschalter müsste immer auf AN bleiben und mein Skript darf nicht den Lichtschalter steuern?? - oder?

        C 1 Reply Last reply Reply Quote 0
        • C
          CruziX @Uli977 last edited by CruziX

          @Uli977 Da gibt es einige Möglichkeiten.
          Du könntest einen Trigger auf deinen Lichtschalter setzen.
          Dann schaust du ob der Einschalt-Befehl vom Homematic Adapter kam, sollte ja dann beim Betätigen des Schalters von dem kommen (ich nutze kein Homematic) und setzt dann deine Logik um, sprich timeout aus, falls er an ist, eine variable setzen damit der bewegungsmelder den timeout nicht wieder aktiviert, Helligkeit erhöhen.

          Dann natürlich auf Schalter aus prüfen um den Bewegungsmelder wieder zu aktivieren

          Uli977 1 Reply Last reply Reply Quote 0
          • Uli977
            Uli977 @CruziX last edited by

            @CruziX sagte in Bewegungsmelder Lichtsteuerung:

            Dann schaust du ob der Einschalt-Befehl vom Homematic Adapter kam

            Ich wüsste nicht wie ich dies feststellen kann, von wo der Einschaltbefehl gekommen ist.

            Aber ansonsten habe ich deinen Ansatz sinngemäß verstanden.

            C 1 Reply Last reply Reply Quote 0
            • C
              CruziX @Uli977 last edited by

              @Uli977 So wie hier:


              759e0d45-82da-4505-a9bf-f4e29e8d0640-image.png

              Uli977 1 Reply Last reply Reply Quote 0
              • Uli977
                Uli977 @CruziX last edited by Uli977

                @CruziX

                Oh, je.... da bin ich raus. Das übersteigt meine Horizont.... sorry.

                <xml xmlns="http://www.w3.org/1999/xhtml">
                 <variables>
                   <variable type="undefined" id="timeout3">timeout3</variable>
                   <variable type="undefined" id="timeout4">timeout4</variable>
                   <variable type="" id=":b!]mT(G8+2qJr28xm4P">level</variable>
                 </variables>
                 <block type="on_ext" id="nikZ%BgFPf|9Kg{BsjTB" x="38" y="762">
                   <mutation items="1"></mutation>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="#Qnk{`4feYeZ{YNSs}cl">
                       <field name="oid">hm-rpc.2.000C1A498E0782.1.PRESENCE_DETECTION_STATE</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="Vj*8G=nXz|+98+[-T/CN">
                       <mutation else="1"></mutation>
                       <value name="IF0">
                         <block type="logic_compare" id="pRasV2!_xx`UG]In`=9t">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="bFemW@N~VwrX~]W2(*Wt">
                               <field name="ATTR">val</field>
                               <field name="OID">hm-rpc.2.000C1A498E0782.1.PRESENCE_DETECTION_STATE</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="logic_boolean" id="FU*@3onbse=~UQNpCh~V">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="timeouts_cleartimeout" id="A1F#~0(/W|Y76xeYSPLy">
                           <field name="NAME">timeout3</field>
                           <next>
                             <block type="controls_if" id=":JQG`zC+DFr.jwkO7x6F">
                               <value name="IF0">
                                 <block type="logic_compare" id="6v=;y+x}?oPwMFPHhu9*">
                                   <field name="OP">LT</field>
                                   <value name="A">
                                     <block type="get_value" id="Anwg(*o:YispG%kt1M`p">
                                       <field name="ATTR">val</field>
                                       <field name="OID">hm-rpc.2.000C1A498E0782.1.ILLUMINATION</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="XQX+$./QxhYDIZc]UB#*">
                                       <field name="NUM">500</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="controls_if" id="$cn5;0DVEJ2X_oWZJ1Af">
                                   <mutation else="1"></mutation>
                                   <value name="IF0">
                                     <block type="time_compare" id="(15Gqrq!XXYcM.UBh$c!">
                                       <mutation end_time="true"></mutation>
                                       <field name="OPTION">between</field>
                                       <field name="START_TIME">06:00</field>
                                       <field name="END_TIME">20:00</field>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="comment" id="Iduv3M*f4%f{=1mQ!mM@">
                                       <field name="COMMENT">Lichtstärke Tag</field>
                                       <next>
                                         <block type="variables_set" id="h,DIGSG(rB3)~?Y.c{0f">
                                           <field name="VAR" id=":b!]mT(G8+2qJr28xm4P" variabletype="">level</field>
                                           <value name="VALUE">
                                             <block type="math_number" id="ZjR+dU4etUp_B;o[?!%}">
                                               <field name="NUM">100</field>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                   <statement name="ELSE">
                                     <block type="comment" id="A*gg/}M2o#f,=pDJDThr">
                                       <field name="COMMENT">Lichtstärke Abend/Nacht</field>
                                       <next>
                                         <block type="variables_set" id="vOFm.?)N;Y``_aI1N$cL">
                                           <field name="VAR" id=":b!]mT(G8+2qJr28xm4P" variabletype="">level</field>
                                           <value name="VALUE">
                                             <block type="math_number" id="3wQR3WE9t~L`D7pYHquZ">
                                               <field name="NUM">20</field>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                   <next>
                                     <block type="control" id="FHDHE3IO:Pr-Wy07)5q)">
                                       <mutation delay_input="false"></mutation>
                                       <field name="OID">hm-rpc.1.KEQ0198945.1.STATE</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="logic_boolean" id="IC{]w7:vUZ5r}YPO$#~I">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="control" id="z!~ehFVPxx@j1cp}=tjr">
                                           <mutation delay_input="true"></mutation>
                                           <field name="OID">hue.0.Philips_hue.KiZi_Philipp.level</field>
                                           <field name="WITH_DELAY">TRUE</field>
                                           <field name="DELAY_MS">1000</field>
                                           <field name="UNIT">ms</field>
                                           <field name="CLEAR_RUNNING">FALSE</field>
                                           <value name="VALUE">
                                             <block type="variables_get" id="sVYz{3[=JHHYlF|0g(pD">
                                               <field name="VAR" id=":b!]mT(G8+2qJr28xm4P" variabletype="">level</field>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <statement name="ELSE">
                         <block type="timeouts_settimeout" id="XBe@QksGZ$gj,8eqzn3(">
                           <field name="NAME">timeout3</field>
                           <field name="DELAY">15</field>
                           <field name="UNIT">sec</field>
                           <statement name="STATEMENT">
                             <block type="control" id="]7x7lJsd6`fSp~0Vbe#+">
                               <mutation delay_input="false"></mutation>
                               <field name="OID">hm-rpc.1.KEQ0198945.1.STATE</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="$7Kq7hw:w$fBcs?$?V{Q">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                   </statement>
                   <next>
                     <block type="comment" id="aTc1JTq|9/Jrs~vuHx5R">
                       <field name="COMMENT">Wenn Philipp nachts aus Bett, Licht Flur1OG an</field>
                       <next>
                         <block type="on_ext" id="pJfk4=7-%FqF,4U46{E}">
                           <mutation items="1"></mutation>
                           <field name="CONDITION">ne</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid" id="~/m%9Z(|e6STG6Dt.^u9">
                               <field name="oid">hm-rpc.2.000C1A498E0782.1.PRESENCE_DETECTION_STATE</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="controls_if" id="=_Nqbi5s]|XIDWiD2-m%">
                               <value name="IF0">
                                 <block type="logic_operation" id="RzgH+_j+/D~vl:KK[zjZ" inline="false">
                                   <field name="OP">AND</field>
                                   <value name="A">
                                     <block type="logic_compare" id="N$YNKOU:/7n9CAaBr9Ya">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="get_value" id="QIM*~yM?ex4}XQE0q+=+">
                                           <field name="ATTR">val</field>
                                           <field name="OID">hm-rpc.2.000C1A498E0782.1.PRESENCE_DETECTION_STATE</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_boolean" id="Xwq1:2FEPV~VU}B[k$2X">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="time_compare" id="iMMOKoakw%i($!u(1S{?">
                                       <mutation end_time="true"></mutation>
                                       <field name="OPTION">between</field>
                                       <field name="START_TIME">21:00</field>
                                       <field name="END_TIME">06:00</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="control" id="8ec-$c,@FEg+b`y1EVc]">
                                   <mutation delay_input="false"></mutation>
                                   <field name="OID">hue.0.Philips_hue.1OG_Lampe_Flur.level</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="fNZ]@rh?B(8%u?Z.X2^6">
                                       <field name="NUM">100</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="timeouts_settimeout" id=",bY/b2jdK6dK8P+^KF:J">
                                       <field name="NAME">timeout4</field>
                                       <field name="DELAY">2</field>
                                       <field name="UNIT">min</field>
                                       <statement name="STATEMENT">
                                         <block type="control" id="WWmWI(]#W8hnFxcar,UU">
                                           <mutation delay_input="false"></mutation>
                                           <field name="OID">hue.0.Philips_hue.1OG_Lampe_Flur.level</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="math_number" id="}P`qS{uelIUG$?7ZW*7@">
                                               <field name="NUM">0</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                </xml>
                


                Hier nochmal mein jetziges Skript

                Ich glaube ich brauche einen NOTFALL Button, welcher den Bewegungsmelder ausschaltet. Das scheint mir am Einfachsten zu sein.

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

                  @Uli977 sagte :

                  das Licht ginge nach der eingestellten Zeit wieder auf 20%

                  Den Timer beim Auschalten stoppen und beim Wiedereinschalten prüfen, ob der Timer gestoppt wurde. Etwa so:

                  Blockly_temp.JPG

                  Das funktioniert natürlich nur, wenn der BWM in dieser Zeit ständig Bewegung erkennt, also seinen Wert nicht ändert.

                  Uli977 1 Reply Last reply Reply Quote 0
                  • C
                    CruziX @Uli977 last edited by

                    @Uli977 An sich ist das nicht so schwer.
                    Am besten überlegst du erstmal wie du es gerne machen möchtest und dann schauen wir hier wie das am besten zu lösen ist, da es ja wie immer mehrere Wege gibt 🙂

                    Uli977 1 Reply Last reply Reply Quote 0
                    • Uli977
                      Uli977 @CruziX last edited by

                      @CruziX
                      Naja... am einfachsten wäre es natürlich wenn ich diese Problematik nur mit dem bereits vorhandenen HM Lichtschalteraktor lösen könnte und nicht mit noch einem zusätzlichen Signalgeber. Oder wie meins du das genau mit "Am besten überlegst du erstmal wie du es gerne machen möchtest"

                      C 1 Reply Last reply Reply Quote 0
                      • dslraser
                        dslraser Forum Testing Most Active @Uli977 last edited by

                        @Uli977 sagte in Bewegungsmelder Lichtsteuerung:

                        Alexa, schalte Bewegungsmelder Philipp aus

                        Bis zur finalen Lösung bzw. als zusätzliche Möglichkeit geht das auch erstmal...(und dann automatisch wieder aktivieren, z.B. nach Zeit)

                        1 Reply Last reply Reply Quote 0
                        • C
                          CruziX @Uli977 last edited by

                          @Uli977 Ok, hatte sich angehört, als ob du nun doch auf einen extra Button zurückgreifen möchtest.
                          Also ich denke, dass sollte eig. eine gute Lösung sein, wenn du das mit der Ursprungsprüfung machst.

                          Zum Testen kannst du dir den Ursprung ja auch mal als Logausgabe reinsetzen.
                          So kannst du genau sehen, was in die Prüfung für den Ursprung rein muss, wenn du schaltest

                          dslraser 1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @CruziX last edited by dslraser

                            @CruziX sagte in Bewegungsmelder Lichtsteuerung:

                            Zum Testen kannst du dir den Ursprung ja auch mal als Logausgabe reinsetzen.

                            @Uli977

                            hier mal als Beispiel mit einer Fernbedienung (das sind Button, deshalb der Trigger auf wurde aktualisiert)

                            Bildschirmfoto 2020-03-02 um 12.04.52.png

                            2.3.2020, 12:04:34.066	[info ]: javascript.0 (26416) script.js.05_Bewegungsmelder.Badezimmer.BWM_Badezimmer_aus: Welches Gerät hat ausgelöst: Fernbedienung Heiko Taster eins.PRESS_SHORT
                            2.3.2020, 12:04:37.423	[info ]: javascript.0 (26416) script.js.05_Bewegungsmelder.Badezimmer.BWM_Badezimmer_aus: Welches Gerät hat ausgelöst: Fernbedienung Heiko Taster zwei.PRESS_SHORT
                            

                            Und hier mit Präsenzmeldern:

                            Bildschirmfoto 2020-03-02 um 12.11.47.png

                            2.3.2020, 12:10:40.357	[info ]: javascript.0 (26416) script.js.05_Bewegungsmelder.Badezimmer.BWM_Badezimmer_aus: Welches Gerät hat ausgelöst: Präsenzmelder Badezimmer.PRESENCE_DETECTION_STATE
                            2.3.2020, 12:10:46.510	[info ]: javascript.0 (26416) script.js.05_Bewegungsmelder.Badezimmer.BWM_Badezimmer_aus: Welches Gerät hat ausgelöst: Präsenzmelder Dusche.PRESENCE_DETECTION_STATE
                            
                            C 1 Reply Last reply Reply Quote 0
                            • C
                              CruziX @dslraser last edited by

                              @dslraser Danke für die Visualisierung, wobei man bei seinem Beispiel natürlich das "Name" auf "Ursprung" ändern müsste 🙂

                              dslraser 1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @CruziX last edited by

                                @CruziX sagte in Bewegungsmelder Lichtsteuerung:

                                Name" auf "Ursprung

                                Warum auf Ursprung ? der Melder und der Schalter kommen doch beide über rpc.x
                                Ich dachte, so wie in meinem Beispiel, hat man gleich das passende Gerät ?

                                C 1 Reply Last reply Reply Quote 0
                                • C
                                  CruziX @dslraser last edited by

                                  @dslraser Also, kann auch sein, dass ich da jetzt einen Denkfehler habe, aber ich dachte es folgendermaßen:

                                  Trigger auf den Homematic Schalter.
                                  Wenn nun der Bewegungsmelder das Licht einschaltet, sollte ja im Ursprung kein Homematic stehen, da über Blockly eingeschaltet.
                                  Wird nun per Schalter das Licht geschaltet, steht im Ursprung homematic drin und man kann den Timeout deaktivieren etc.

                                  1 Reply Last reply Reply Quote 0
                                  • Uli977
                                    Uli977 last edited by

                                    Vielen Dank dass Ihr euch so einsetzt, aber ich komme gedanklich nicht hinterher und bekomme es dann auch nicht umgesetzt.
                                    Ich muss nochmal sortieren und schauen was ich umgesetzt bekomme.

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

                                      @paul53

                                      Hab das gerade mal versucht umzusetzten.
                                      99a7c188-bdd7-4551-8359-72219ecba921-image.png
                                      Aber das Licht geht nach kurzer Zeit auf 20% zurück

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

                                        @Uli977 sagte:

                                        Aber das Licht geht nach kurzer Zeit auf 20% zurück

                                        Dann wird immer mal wieder Bewegung / keine Bewegung erkannt. Falls möglich, sollte der BWM deaktiviert werden.

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

                                          @paul53 so in dieser Art?

                                          73bcf0d9-1db5-490b-9a70-6414852e99c0-image.png

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

                                            @Uli977 sagte:

                                            so in dieser Art?

                                            Ja, so etwa. 10 s sind auf jeden Fall zu wenig, um ein Bett zu machen.

                                            Blockly_temp.JPG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            685
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            6
                                            88
                                            4007
                                            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