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.
    • dslraser
      dslraser Forum Testing Most Active @Uli977 last edited by dslraser

      @Uli977

      aber dann schaltest Du den Lichtschalter irgendwo ein, z.B. mit einem anderen Script oder mit einer Direktverknüpfung....

      Homematic IP Präsenzmelder
      Homemeatic Lichtschalter
      Philips Hue LED

      Ich habe so einen Lichtschalter nicht. Bei mir sind die HUE immer an bzw. ich schalte die über den HUE Adapter.

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

        @paul53 Nein. Schalter und Aktor in einem.

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

          Ich schalte alle meine HUE über Bewegungs- oder Präsenzmelder (HMIP) ohne extra HMIP Schalter dazwischen.

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

            @Uli977 sagte in Bewegungsmelder Lichtsteuerung:

            Schalter und Aktor in einem.

            Dann ist eine Unterscheidung durch getrennte Datenpunkte nicht möglich. Schaltet das Licht nicht ohnehin ein (20 %), wenn jemand das Zimmer betritt ? Dann kann man nur das Licht am Schalter erst ausschalten und gleich wieder anschalten (100 %).

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

              @dslraser
              Ja, ich habe halt den Lichtschalteraktor und wenn der aus ist, dann haben die Hue kein Strom.
              Könnte ich den vielleicht irgendwie programmieren, dass wenn ich den Lichtschalter 2x nach oben kippe (also 2x einschalte), dann der Bewegungsmelder aus sein soll?

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

                @paul53 Das stimmt, das geht.... aber dann würde ja der timer auch anfangen und das Licht ginge nach der eingestellten Zeit wieder auf 20%

                C paul53 2 Replies Last reply Reply Quote 0
                • C
                  CruziX @Uli977 last edited by

                  @Uli977 Mach es doch so wie @paul53 schrieb und geh sicher, dass das Licht eben nicht durch den Bewegungsmelder aktiviert wurde und dann deaktivierst du einen vll vorhandenen Timeout und lässt ihn auch nicht erneut starten.
                  Also gehst du ins Zimmer, der Bewegungsmelder reagiert, du machst das Licht aus und ein, erkennst, dass es durch den Schalter aktiviert wurde und machst das beschriebene.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            843
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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