Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Bewegungsmelder mit Dauer-An /Dauer-Aus Funktion

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bewegungsmelder mit Dauer-An /Dauer-Aus Funktion

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      freak1051 last edited by Negalein

      Hallo Zusammen,

      ich bin jetzt seit n paar Tagen daran, zu versuchen, ein Bewegungsmelder mit ner Dauer-An/Dauer-Aus Funktion zu Scripten.

      Leider bin ich absolut unwissend was Java-Script anbelangt (Bin SPS-Progammierer und kann auch C# als Hochsprache). Es mangelt also nicht an der Logik. Aber dennoch nutz ich Blockly

      Das Ganze soll so aufgebaut werden:

      Ein Sonoff-Tasmota Touch schält eine konventionelle Lampe. Dies soll also mein Aktor sein. Gleichzeitig soll der Touch die Dauerlicht-Funktion an/abschalten.
      Ein Tradifri-Bewegungsmelder im Raum soll den Aktor auch ansteuern. Dieser Hat die Eigenschaft @Stock, dass er bei einer detektierten Bewegung sowieso 2 Minuten schält.
      Der Raum ist Ankleide+Büro. Bedeutet 2 Minuten zum Ankleiden reichen, bzw. bei Bewegung, was man ja so macht beim Anziehen, reagiert der Bewegungsmelder sowieso. Im "Büro-Betrieb" möchte ich über den Touch das Dauerlicht einschalten, da hier die Bewegungen nicht ausreichen, um den Melder anzusprechen.

      Die Kirsche auf der Sahne wäre, wenn ich das Dauer-An/Dauer-Aus noch mit der Alexa triggern könnte. Wobei das (denke ich) weniger das Problem ist. Genial wäre natürlich, wenn ich über die Alexa/Touch die Zeit des Bewegungsmelders noch abwürgen könnte, da das Ankleidezimmer ans Schlafzimmer angrenzt. Hier ist dann klar, dass ich das 2-Minuten Dauer-High des Melders Ignoriere.

      Ich sag es mal in SPS-Logik:

      Bewegungsmelder-Betrieb mit Internem Timer des Ikea-Bewegungsmelders. Parallel Dazu ein Dauerbetrieb über Eingang Tasmota/Alexa.
      Wenn die Lampe per Bewegungsmelder ausgelöst wurde, setz ich mir nen Schmier-Merker, damit ich, wenn dieser Aktiv ist, und ich dann händisch Ausschalte, die NEUE Bewegung erst detektiert wird, über die fallende Flanke (Zustandsübergang 1-0) erfolgt hat. Im SPS bereich wäre das ganze Kein Problemm. aber Blockly/Java-Script raubt mit hier noch den letzen nerv.

      Ich denke, dass es über Java-Script absolut kein Problem ist, (wäre es in C# auch nicht) wenn man die Sprache könnte 🙂

      Kann mir hier jemand helfen.

      Habe als Ansatz ehrlich gesagt nicht viel. Aktuell nur eine Falls Statusänderung, dann mache Licht an, über Bewegungsmelder, und das gleiche Per Alexa und "virtuellem" Gerät, um ne Routine anzuwerfen, Wobei es das denke ich nicht braucht, weil ich ja theoretisch direkt den Tasmoata anwerfen kann.

      Vielen Dank schonmal im Vorraus

      Daniel

      ====== EDIT: In SubCategory verschoben==========

      paul53 2 Replies Last reply Reply Quote 0
      • M
        Muchul last edited by

        Hallo freak1051,

        ich habe das so gelöst, das ich einen virtuellen Schalter angelegt habe, der bei Manueller Betätigung oder über Alexa Schalters auch geschaltet wird.
        Im Script für den Bewegungsmelder wird dieser Schalter abgefragt, wenn dieser ON ist, wird nicht über das Script abgeschaltet.
        Ist dieser OFF wird das licht vom Script abgeschaltet.

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

          @freak1051 sagte:

          soll der Touch die Dauerlicht-Funktion an/abschalten.

          Wenn der Touch ein Taster ist, der togglen soll, sollte es so funktionieren:

          Blockly_temp.JPG

          paul53 1 Reply Last reply Reply Quote 0
          • M
            Muchul last edited by Muchul

            Hier mein Blokly dazu:
            Ich habe da noch weitere Funktionen drin, wie Schaltung wenn es dunkel wird und auch eine Dimmung ab 23 uhr.
            Aber du kannst die Funktionen ja Rausnehmen.

            <block xmlns="http://www.w3.org/1999/xhtml" type="on" id="1:+;MB0lYbi~SK?n%E}x" x="-1813" y="-616">
              <field name="OID">zigbee.0.00158d0003fb0098.occupancy</field>
              <field name="CONDITION">any</field>
              <field name="ACK_CONDITION"></field>
              <statement name="STATEMENT">
                <block type="controls_if" id="r.).SB$~oiak./`$W1s1">
                  <value name="IF0">
                    <block type="logic_operation" id="[}TfD(makZp]Wvsz!r;u">
                      <field name="OP">AND</field>
                      <value name="A">
                        <block type="logic_compare" id="4ZhXvz(@{oDYV#V`+#2w">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="S~+_KWPsNi7D-sQR6)w!">
                              <field name="ATTR">val</field>
                              <field name="OID">zigbee.0.00158d0003fb0098.occupancy</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="Jhu68kkfU0jx_~_~|*4a">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <block type="time_compare_ex" id="HFeO=z[A]%ubi!UJvs!A">
                          <mutation end_time="true" actual_time="true"></mutation>
                          <field name="USE_ACTUAL_TIME">TRUE</field>
                          <field name="OPTION">not between</field>
                          <value name="START_TIME">
                            <shadow type="text" id="1[(WPy+={:AiX{b?hvgd">
                              <field name="TEXT">12:00</field>
                            </shadow>
                            <block type="time_astro" id="/Wdf{7nyr%j5@MynFkm|">
                              <field name="TYPE">sunrise</field>
                              <field name="OFFSET">0</field>
                            </block>
                          </value>
                          <value name="END_TIME">
                            <shadow type="text" id="`QEn)Bq-kHk`*tVUG,Z5">
                              <field name="TEXT">18:00</field>
                            </shadow>
                            <block type="time_astro" id="fP[sz*#g8T`v61RaHxYL">
                              <field name="TYPE">sunset</field>
                              <field name="OFFSET">-45</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="timeouts_cleartimeout" id="ZUWkLrRP@7|1x%H?ug)L">
                      <field name="NAME">timeout4</field>
                      <next>
                        <block type="controls_if" id="l9l5MVw5v$1)O+!?p{ax">
                          <mutation else="1"></mutation>
                          <value name="IF0">
                            <block type="time_compare_ex" id="+8O2N7*5JO3wk+YuhiF:">
                              <mutation end_time="true" actual_time="true"></mutation>
                              <field name="USE_ACTUAL_TIME">TRUE</field>
                              <field name="OPTION">not between</field>
                              <value name="START_TIME">
                                <shadow type="text" id="VVD]BPwhhHayK_MA|F.G">
                                  <field name="TEXT">06:00</field>
                                </shadow>
                              </value>
                              <value name="END_TIME">
                                <shadow type="text" id=".H)3+N#EDgFkk~$C.OGl">
                                  <field name="TEXT">23:00</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="control" id="m~pnL!oL*NaH(+T|be^l">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">zigbee.0.000b57fffe30fa58.brightness</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="math_number" id="O8/?L0w*s`rvW-7@JbtN">
                                  <field name="NUM">50</field>
                                </block>
                              </value>
                            </block>
                          </statement>
                          <statement name="ELSE">
                            <block type="control" id="mVNhKtAV,~Z`/e(%1py~">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">zigbee.0.000b57fffe30fa58.brightness</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="math_number" id="jkF;t^H2u=2DRQ;J0c8A">
                                  <field name="NUM">100</field>
                                </block>
                              </value>
                            </block>
                          </statement>
                          <next>
                            <block type="timeouts_settimeout" id="@fSo/||p?=SI2W_|;amb">
                              <field name="NAME">timeout4</field>
                              <field name="DELAY">30</field>
                              <field name="UNIT">sec</field>
                              <statement name="STATEMENT">
                                <block type="controls_if" id="Hmoo~L{dL1jr%!8=NB;v">
                                  <value name="IF0">
                                    <block type="logic_compare" id="^ZxVoN:*~|$X.K`pGWSj">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="get_value" id="w~QR3i2jz17bls`W?8#O">
                                          <field name="ATTR">val</field>
                                          <field name="OID">1Virtuelle_Geräte.0.Flur_Licht_manuell</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="^J!=4v%Cq%?]RrB6R[xu">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="control" id="C1Qopj~~AaGq(]iZe@BL">
                                      <mutation delay_input="false"></mutation>
                                      <field name="OID">zigbee.0.000b57fffe30fa58.brightness</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="math_number" id="/`MmN8?`J~Sq/U/)];?]">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
            

            BWM_Flur.JPG

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

              @paul53 sagte:

              Wenn der Touch ein Taster ist

              Wenn der Touch jedoch den Aktor enthält, der direkt von der Taste umgeschaltet wird, sollte es so funktionieren:

              Blockly_temp.JPG

              Export:

              <xml xmlns="http://www.w3.org/1999/xhtml">
               <variables>
                 <variable type="" id="J?SRdnY^Iwq2c3:ZdG0a">licht</variable>
                 <variable type="" id="vpjv.#|)AVRg=4L96v`V">bwm</variable>
                 <variable type="" id="#Qd!`lG{ye^7ebGe`vGG">dauerlicht</variable>
               </variables>
               <block type="comment" id="N@{t%%iI^]D-#.UCLJcD" x="-238" y="-563">
                 <field name="COMMENT">BWM</field>
                 <next>
                   <block type="on_ext" id="f|bj?-E,4}3(fr{_qg@I">
                     <mutation items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="E:Tfbtr8,=o-siW$?fM;">
                         <field name="oid">default</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="nTbcU|mc]UO7ga}ld;3B">
                         <value name="IF0">
                           <block type="logic_negate" id="rRyx[_Rpv]yIM+LF`.S5">
                             <value name="BOOL">
                               <block type="variables_get" id="^cYw=t?O.qKxNY;r6TI+">
                                 <field name="VAR" id="#Qd!`lG{ye^7ebGe`vGG" variabletype="">dauerlicht</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="variables_set" id="q%cV%=$./8T0lKh)s-K`">
                             <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                             <value name="VALUE">
                               <block type="on_source" id="_^Z{ED0B|8FJ2)VzWtr5">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <next>
                               <block type="control" id="Y%+P976ss3n^^LdSeM91">
                                 <mutation delay_input="false"></mutation>
                                 <field name="OID">Object ID</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="variables_get" id="4H^u$!x~|%]~V#6m{Vj:">
                                     <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                     <next>
                       <block type="comment" id="kjjmLopy%Mj[^f7$=q{q">
                         <field name="COMMENT">Lichtaktor</field>
                         <next>
                           <block type="variables_set" id="dEI5[*)P|b%Cllm%{_Qj">
                             <field name="VAR" id="J?SRdnY^Iwq2c3:ZdG0a" variabletype="">licht</field>
                             <value name="VALUE">
                               <block type="get_value" id="P,)W@Bu[-*le;xhVpFl4">
                                 <field name="ATTR">val</field>
                                 <field name="OID">ID auswählen</field>
                               </block>
                             </value>
                             <next>
                               <block type="on_ext" id="G2^IChJ~h]+%W^-SMBaK">
                                 <mutation items="1"></mutation>
                                 <field name="CONDITION">ne</field>
                                 <field name="ACK_CONDITION"></field>
                                 <value name="OID0">
                                   <shadow type="field_oid" id="rZJH[[^h$mYxI3/q`M@l">
                                     <field name="oid">default</field>
                                   </shadow>
                                 </value>
                                 <statement name="STATEMENT">
                                   <block type="variables_set" id="R|UblWWs`M=9u~$8J(tH">
                                     <field name="VAR" id="J?SRdnY^Iwq2c3:ZdG0a" variabletype="">licht</field>
                                     <value name="VALUE">
                                       <block type="on_source" id="qaALVuZWYw,g!`D[|L4i">
                                         <field name="ATTR">state.val</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="controls_if" id="g0-[wb7|KK)/^TNMW$,Z">
                                         <mutation else="1"></mutation>
                                         <value name="IF0">
                                           <block type="variables_get" id="IXy?VBV9kCHkW_nb)0.~">
                                             <field name="VAR" id="J?SRdnY^Iwq2c3:ZdG0a" variabletype="">licht</field>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="controls_if" id="0h72l]OHu_d3/KBlrl^^">
                                             <value name="IF0">
                                               <block type="logic_negate" id="xGtaxEU)2.ae@CaQGA4K">
                                                 <value name="BOOL">
                                                   <block type="variables_get" id="kMHnB,1%UMz607WrG+d7">
                                                     <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="variables_set" id="eHC/Svin:uDB@82v6HkM">
                                                 <field name="VAR" id="#Qd!`lG{ye^7ebGe`vGG" variabletype="">dauerlicht</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="JMMD}ET`~t04.Z(x6gEU">
                                                     <field name="BOOL">TRUE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                           </block>
                                         </statement>
                                         <statement name="ELSE">
                                           <block type="variables_set" id="SR(mk(27%*,j;`Xa5tF~">
                                             <field name="VAR" id="#Qd!`lG{ye^7ebGe`vGG" variabletype="">dauerlicht</field>
                                             <value name="VALUE">
                                               <block type="logic_boolean" id="uaJzg)DKmQ`rE3ENP60V">
                                                 <field name="BOOL">FALSE</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="8?5}[qjWN^165(Sv/]C.">
                                                 <field name="VAR" id="vpjv.#|)AVRg=4L96v`V" variabletype="">bwm</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="dEEw5=-hmx7]PQ+Ie+P=">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
              </xml>
              

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

                @paul53

                Habe jetzt es Soweit schon mal gemacht:

                SkriptPaul53Fragen.png

                Occupancy ist der Ausgang meines Bewegungsmelders. Dieser bleibt wie gesagt ca. 100 Sekunden auf High, sobald er eine Bewegung bekommen hat.

                Office Tasmota POWER ist der Taster/Aktor. Folglich: Wenn Bewegung dann schalte ein. Soweit verstanden.

                SkriptPaul53Fragen_1.png

                Hier Setze ich wahrscheinlich nun auch den Office Tasmota Power ein, falls ich manuell darauf klicke, dass er Das licht einschält. Soweit auch verstanden.

                Zum Verständnis:

                SkriptPaul53Fragen_2.png

                Bei ID Auswählen habe ich ja gesagt ich mach den Office Tasmota POWER rein, und Wert (unteres Kästchen) übernimmt dann den Wert, den ich in eben dieser Object ID auslese ?

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

                  @freak1051 sagte:

                  SPS-Progammierer und kann auch C#

                  Mit C-Kenntnissen sollte die Einarbeitung in Javascript nicht schwer fallen.
                  Gegenüber der zyklischen Programm-Abarbeitung in einer SPS funktioniert Javascript Ereignis gesteuert, woran man sich erst einmal gewöhnen muss. Die Javascript-Doku zu ioBroker kennst Du ?

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

                    @freak1051 sagte:

                    Hier Setze ich wahrscheinlich nun auch den Office Tasmota Power ein

                    Ja. Darauf deutet auch der Variablenbezeichner hin.

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

                      @paul53

                      Ich liebe zyklische Abarbeitung 🙂

                      Nee ich habe ich der Technikerschule vieles mit Arduino, C# usw gemacht. Mir fehlt hier eigentlich nur ein "while(true) {} " 🙂

                      Mit ist schon klar, dass ich hier Objektorientiert arbeite, ich tu mich nur Mega schwer mit dem Blocky. Allerdings finde ich die Syntax von JavaScript auch sehr Gewöhungsbedürftig. If -Else gibt es hier nicht, zumindest nicht in der Form oder ?

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

                        @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                        If -Else gibt es hier nicht, zumindest nicht in der Form oder ?

                        Doch, gibt es.

                        1 Reply Last reply Reply Quote 0
                        • F
                          freak1051 last edited by freak1051

                          Soweit bin ich jetzt:

                          SkriptPaul53Fragen_3.png

                          nur jetzt noch Logische Fragen:

                          Warum muss ich (direkt unter dem Kommentar) die Variable Licht schon mal auf den Wert des Schalters setzen, wenn ich danach, getriggert durch die Zustandsänderung, wieder Licht auf die den Zustand des Sonoff-Touch setze?. Ist das nicht doppelt gemoppelt?

                          Weiter in der Logik:

                          Wenn der BWM nicht ist, dann setzte Dauerlicht. Ich muss allerdings am BWM vorbei um den Taster zu schalten. Folglich ist der BWM nie aus wenn ich an den Taster laufe

                          Denke hier wird mein Problem liegen:

                          Der BWM wird immer High sein, wenn ich an den Taster laufe um Dauerlicht einzuschalten. Also komm ich Hier doch in eine Selbsthaltung rein ?!

                          Zudem Funktioniert mein Dauer-Aus doch auch nicht. Weil wenn ich den Schalter Aus-tapse und der bewegungsmelder Detektiert, geht er doch wieder an, oder?`

                          Ich denke, ich werde hier doch abwarten müssen und ein zusätzlichen Sonoff Switch bestellen. Dann kann ich den Wandschalter (Touch) tatsächlich NUR als Sensor/Eingang nutzen und diesen Per Touch oder Alexa steuern. Und dessen Status dann nehmen um höher Priorisiert zu sagen, wenn BWM ein Und Dauer an, dann bleib an.

                          Mit der Dauer-Aus habe ich dann och ein Kleines Problem, könnte ja aber ein zusätzliches Virtuelles Gerät mittels Alexa anlegen, welches die Höchste prio hat.

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

                            @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                            Warum muss ich (direkt unter dem Kommentar) die Variable Licht schon mal auf den Wert des Schalters setzen

                            Es ist in diesem Fall nicht nötig, da die Variable Licht nur innerhalb der Trigger-Calback-Funktion ausgewertet wird. Würde sie noch woanders ausgewertet, müsste sie so beim Skriptstart gesetzt werden.

                            @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                            Folglich ist der BWM nie aus wenn ich an den Taster laufe

                            Dann ist eine Auswertung der Quelle ohne einen Taster-Datenpunkt nicht möglich.

                            @freak1051 sagte in ewegungsmelder mit Dauer-An /Dauer-Aus Funktion:

                            Funktioniert mein Dauer-Aus doch auch nicht.

                            Das wäre ein dritter Zustand: Dauer-Aus/Dauer-Ein/Auto(BWM). Unter welchen Umständen soll dieser erreicht werden ?

                            1 Reply Last reply Reply Quote 0
                            • F
                              freak1051 last edited by

                              Hier mal eine Übersicht:

                              SkriptPaul53Fragen_4.png

                              Am Roten Kreis ist bisher ein BWM eingebaut, welcher anstatt des Konventionellen Lichtschalters fungiert. Diesen Kann ich auch auf Dauer AN oder Dauer AUS setzen.

                              Zu 90 % ist er aber im BWM Auto Betrieb. Allerdings erkennt dieser, aufgrund der niedrigen Position erst recht spät. Also muss man im Dunkeln recht weit in den Raum reinlaufen, bis das Licht angeht.

                              Um dies zu ändern war der Plan an diese Stelle einen Sonoff Touch zu setzen, welcher das Licht schällt, und den neuen BWM überhalb des PC´s zu setzten. Somit läuft man um den Raumtrenner und der BWM macht seine Arbeit wie gewohnt, nur zuverlässiger.

                              Die Dauer AN Funktion wird gebraucht um am PC/Schreibtisch zu arbeiten. Früher wurde angemacht, aber meist (weil es ja sonst immer von alleine ausgeht) Vergessen zum ausmachen. (Nervig wenn man eigentlich ins Bett gegangen ist 🙂 )

                              Die Dauer Aus Funktion soll auch schaltbar sein, wird genutzt wenn einer der 2 Bewohner (meist die Frau) schon im Bett ist und der andere ( meistens ich) noch am PC sitzt un zockt. Damit nicht bei jeder zweiten Bewegung das Licht eingeht und der schlafende gestört wird.

                              Soll die Funktion sein.

                              So wie ich das aktuell sehe brauche ich eigentlich 2 Losgelöste Schalter (Touch) und einen Switch, welchen ich direkt vor die Lampe setze.

                              Somit könnte ich Dauer ein/dauer aus schalten und die Touch als abfragen verwenden, OHNE das sie Direkt eine Last schalten. Wenn keiner der Taster aktiv ist ist die BWM-Auto Funktion scharf.

                              Die Taster kann ich einfach über ne Alexa Steuern.

                              Nun ist nur die Frage die ich mir stellen muss: Wenn ich eh schon bestelle, kaufe ich Zusätzlich einen 2-kanaligen Sonoff Touch, um Dauer An/Dauer aus zu realisieren, oder nehme ich den einkanaligen, welchen ich aktuell habe, und mach mit ihm die Steuerung Dauer An/BWM -Auto und wenn ich Dauer Aus möchte gehts nur über die Alexa. Denke um einen zusätzlichen Schalter (Sonoff Switch oder Pow oder sowas ) komme ich nicht herum

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

                                @freak1051 sagte:

                                Die Dauer AN Funktion wird gebraucht um am PC/Schreibtisch zu arbeiten.

                                Dauer AN sollte mit dem Skript oben trotz ansprechendem BWM funktionieren, wenn man per Touch aus- und gleich wieder einschaltet.
                                Für Dauer AUS benötigt man einen weiteren Datenpunkt.

                                1 Reply Last reply Reply Quote 0
                                • R
                                  roolix last edited by roolix

                                  Hallo,

                                  ich dachte mir, bevor ich einen weiteren Thread aufmache, hänge ich mich mal mit hier an, denn die Funktion, die ich realisieren will, ist sehr ähnlich:

                                  1. BWM (Xiaomi RTCGQ01LM) schaltet das Licht ein und geht nach einiger Zeit wieder automatisch aus
                                  2. Parallel soll per Taster (Xiaomi WXKG01LM) das Licht ein- und ausgeschaltet werden können, mit einem Toggle.
                                  3. Ist das Licht per BWM eingeschaltet, soll es auch per Taster ausschaltbar sein.

                                  Geschaltet wird ein Tradfri LED-Treiber 10W (IKEA ICPSHC24-10EU-IL-1) mit einer Ledberg-LED-Leiste.

                                  Mein kleines Problem liegt lt. log "nur" darin, dass nach einem regulären Timeout ein Schalten per Taster einen clearTimeout-Fehler bringt:

                                  200303-210845-Window.jpg

                                  200303-210911-Window.jpg

                                  Hat jemand eine Idee, wie ich den vermeiden kann?

                                  btw:
                                  a) stelle ich bei der Occupancy auf "wurde geändert", schaltet das Licht nach 60s wieder ein (occupancy steht nach Bewegung 60s auf true)
                                  b) da ich unterschiedliche Helligkeiten nach unterschiedlichen Zeiten erreichen will (BWM <> Taster), wird beim BMW beispielhaft dir Helligkeit angesteuert, beim Taster der Einfachheit halber aktuell nur der State direkt
                                  c) Verbesserungspotential an dem gesamten Blockly ist willkommen, meine Javascript-Kenntnisse sind, könnt ihr euch denken, miserabel

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  679
                                  Online

                                  32.0k
                                  Users

                                  80.3k
                                  Topics

                                  1.3m
                                  Posts

                                  blockly scenes
                                  4
                                  15
                                  1544
                                  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