Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Bewegungsmelder mit Dauer-An /Dauer-Aus Funktion

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Bewegungsmelder mit Dauer-An /Dauer-Aus Funktion

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyscenes
15 Beiträge 4 Kommentatoren 2.0k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F Offline
    F Offline
    freak1051
    schrieb am zuletzt editiert von Negalein
    #1

    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==========

    paul53P 2 Antworten Letzte Antwort
    0
    • M Offline
      M Offline
      Muchul
      schrieb am zuletzt editiert von
      #2

      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 Antwort Letzte Antwort
      0
      • F freak1051

        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==========

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @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

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        paul53P 1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Muchul
          schrieb am zuletzt editiert von Muchul
          #4

          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 Antwort Letzte Antwort
          0
          • paul53P 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

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @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>
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            F 1 Antwort Letzte Antwort
            0
            • paul53P 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 Offline
              F Offline
              freak1051
              schrieb am zuletzt editiert von freak1051
              #6

              @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 ?

              paul53P 1 Antwort Letzte Antwort
              0
              • F freak1051

                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==========

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @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 ?

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                F 1 Antwort Letzte Antwort
                0
                • F 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 ?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @freak1051 sagte:

                  Hier Setze ich wahrscheinlich nun auch den Office Tasmota Power ein

                  Ja. Darauf deutet auch der Variablenbezeichner hin.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • paul53P 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 Offline
                    F Offline
                    freak1051
                    schrieb am zuletzt editiert von
                    #9

                    @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 ?

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • F freak1051

                      @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 ?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      @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.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      0
                      • F Offline
                        F Offline
                        freak1051
                        schrieb am zuletzt editiert von freak1051
                        #11

                        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.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • F 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.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #12

                          @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 ?

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • F Offline
                            F Offline
                            freak1051
                            schrieb am zuletzt editiert von
                            #13

                            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

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • F freak1051

                              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

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #14

                              @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.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              1 Antwort Letzte Antwort
                              0
                              • R Offline
                                R Offline
                                roolix
                                schrieb am zuletzt editiert von roolix
                                #15

                                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

                                as of August '23
                                RPi4
                                Plattform: linux
                                RAM: 3.75 GB
                                Node.js: v18.17.1
                                NPM: 9.6.7

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                725

                                Online

                                32.6k

                                Benutzer

                                82.3k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe