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. [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip"

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

[Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip"

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklytemplate
11 Beiträge 4 Kommentatoren 4.6k Aufrufe 9 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.
  • rantanplanR Offline
    rantanplanR Offline
    rantanplan
    schrieb am zuletzt editiert von rantanplan
    #1

    Hallo Zusammen

    In einem Fred hier im Forum wurde nach dem Badewannen-Prinzip gefragt.
    http://forum.iobroker.net/viewtopic.php … ead#p44827

    Ich setzte dieses Prinzip seit längerem an Stellen ein, wo andere Arten von Anwesenheitserkennung nur schwer oder gar nicht umsetzbar sind.
    Die ursprüngliche Idee hatte Roland M. aus dem Homatic-Forum.
    http://homematic-forum.de/forum/viewtop … 31&t=24962

    Die Einstellungen in meinem Beispiel, muss sich natürlich jeder nach seinen Bedürfnissen anpassen.
    Der betreffende BW ist folgendermaßen eingestellt:
    Auslösen bei jedem Sensor-Impuls
    Sendeabstand dynamisch
    Mindestsendeabstand 60 Sekunden
    Bei diesen Einstellungen kommt theoretisch jede Minute ein Impuls wenn sich jemand im Raum befindet.
    Das sind also max. 60 Impulse pro Stunde.
    Bei jeder erkannten Bewegung wird eine Variable (Motion_B1) um 1 erhöht.
    Und alle 30 Minuten werden von Motion_B1 wieder 10 abgezogen.
    Über die Angaben wie schnell, wieviel abgezogen wird, kann man seine Bedürfnisse anpassen

    Ich habe noch einen "Badewannen-Überlauf" eingebaut.
    Ohne "Überlauf" würde, wenn bei Motion_B1=60 keiner mehr im Raum ist, 3 Std. dauern bis Motion_B1 auf Null wäre (Alle 30 Min - 10) Das ist mir zu lang.

    Motion_B1 kann, in dem Beispiel, nicht größer als 30 werden.
    Dadurch wird nach max. 1,5 Std., ohne Bewegung, Motion_B1 auf 0 gesetzt.
    Dies wird an anderen Stellen getriggert und es erfolgen, je nach Wochentag und Tageszeit, weitere Aktionen.

    Hier ein paar Bildchen.
    Forum_Badewannenprinzip_B1.png
    Forum_Badewannenprinzip_B2.png

    Hiermit kann man sich das Blockly-Script importieren.

    <xml xmlns="http://www.w3.org/1999/xhtml">
      <block type="comment" id="dCjITNr+E3C4n~bCzT6A" x="-87" y="212">
        <field name="COMMENT">Anwesenheitserkennung nach</field>
        <next>
          <block type="comment" id="Z%{=SAN}R3~M%ru]Qk3N">
            <field name="COMMENT">"Badewannenprinzip"</field>
            <next>
              <block type="create" id="?}+9rxryWIjLf|V5PhK_">
                <field name="NAME">Motion_Raum</field>
                <next>
                  <block type="comment" id="@HdB0rR#*X1(DwRnE:.0">
                    <field name="COMMENT">"CountUp"</field>
                    <next>
                      <block type="on_ext" id="w3744~(4aM]Lmr1x%e?#">
                        <mutation items="1"></mutation>
                        <field name="CONDITION">true</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                          <shadow type="field_oid" id="rbgU::(YPcRn+0+RqqDL">
                            <field name="oid">hm-rpc.0.KEQ0972714.1.MOTION</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="comment" id="_=|iyOkm(/DPWb+|3R%^">
                            <field name="COMMENT">Wenn Bewegung erkannt</field>
                            <next>
                              <block type="comment" id="n):F#kIqAp#:22q9z0RG">
                                <field name="COMMENT">erfolgt der CountUp</field>
                                <next>
                                  <block type="controls_if" id="9?(p#xHTJ@97wE=.3Gu~">
                                    <mutation else="1"></mutation>
                                    <value name="IF0">
                                      <block type="logic_compare" id="PIv`T`NUcv6}@B=]vM|z">
                                        <field name="OP">EQ</field>
                                        <value name="A">
                                          <block type="get_value" id="58FB1t=MwH2,s+*wio5{">
                                            <field name="ATTR">val</field>
                                            <field name="OID">javascript.0.Motion_Raum</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="@}5EodeJimakIHg1,NGe">
                                            <field name="NUM">0</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="comment" id="`)QLP5HNi7/04=5UwDT}">
                                        <field name="COMMENT">Wenn der Wert 0 ist einen kleinen "Vorlauf" setzen</field>
                                        <next>
                                          <block type="comment" id="4wk%DJu0I:uTXujAcmWj">
                                            <field name="COMMENT">sonst könnte dieser beim nächsten "CountDown"</field>
                                            <next>
                                              <block type="comment" id="y%@L(;8TG[*!jJVIsT_e">
                                                <field name="COMMENT">SOFORT wieder auf Null gesetzt werden</field>
                                                <next>
                                                  <block type="control" id="|E=^o]go?T#xHZa~3sB6">
                                                    <mutation delay_input="false"></mutation>
                                                    <field name="OID">hm-rega.0.11551</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="math_arithmetic" id="aPV,*?0Vi~X[afH|to5i">
                                                        <field name="OP">ADD</field>
                                                        <value name="A">
                                                          <shadow type="math_number" id="wc,;^#NSu{I1!Hp6;(3O">
                                                            <field name="NUM">1</field>
                                                          </shadow>
                                                          <block type="get_value" id="4p#Vfti?!,xPiQkVz(zJ">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">javascript.0.Motion_Raum</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <shadow type="math_number" id=".Av%rm/b;nUSM;heLI]B">
                                                            <field name="NUM">12</field>
                                                          </shadow>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                    <statement name="ELSE">
                                      <block type="comment" id="zfi@QDP]po]IoF4[:tXi">
                                        <field name="COMMENT">Motion Wert begrenzen (hier 30)</field>
                                        <next>
                                          <block type="controls_if" id="Td7?Stv51,wH/,!(lk%m">
                                            <value name="IF0">
                                              <block type="logic_compare" id=":=jgcl95Opr]cFCsFWMG">
                                                <field name="OP">LT</field>
                                                <value name="A">
                                                  <block type="get_value" id="9(0)^Hsvw.0NzGOjDfDr">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">javascript.0.Motion_Raum</field>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="math_number" id="wgwJa}fZa}?vHaQ8v{3#">
                                                    <field name="NUM">30</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="comment" id="E[MqxsQP@+ilOFighRhc">
                                                <field name="COMMENT">Motion erhöhen</field>
                                                <next>
                                                  <block type="control" id="#k~BtfHBwLimY?r98v5#">
                                                    <mutation delay_input="false"></mutation>
                                                    <field name="OID">javascript.0.Motion_Raum</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="math_arithmetic" id="(bW;IT1c#|8OZrB+4kxb">
                                                        <field name="OP">ADD</field>
                                                        <value name="A">
                                                          <shadow type="math_number" id="wc,;^#NSu{I1!Hp6;(3O">
                                                            <field name="NUM">1</field>
                                                          </shadow>
                                                          <block type="get_value" id="|H{+Z.9,{Lupf=TC@(ej">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">javascript.0.Motion_Raum</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <shadow type="math_number" id="TSCih;^5vNn+k[G;_d~)">
                                                            <field name="NUM">1</field>
                                                          </shadow>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
      <block type="comment" id="rl9+_.4LKN]01[IKTrz|" x="-87" y="888">
        <field name="COMMENT">Alle 30 Minuten "CountDown"</field>
        <next>
          <block type="schedule" id="RxlCGpL@mvhUlw^I{@/C">
            <field name="SCHEDULE">*/30 * * * *</field>
            <statement name="STATEMENT">
              <block type="comment" id="CdLQ1%RGU;;p#@?3}EDY">
                <field name="COMMENT">Dieser Wert soll abgezogen werden</field>
                <next>
                  <block type="variables_set" id="919P*ZDse6JI;Tx?OrPR">
                    <field name="VAR">AbzugWert</field>
                    <value name="VALUE">
                      <block type="math_number" id="Cp*2Dn_*xMmR}*W-A(}B">
                        <field name="NUM">10</field>
                      </block>
                    </value>
                    <next>
                      <block type="comment" id="Qyt[7%^2[loDz^#E5Z9`">
                        <field name="COMMENT">Nicht ins Minus laufen lassen</field>
                        <next>
                          <block type="controls_if" id="S_1xt9-+tbwtdS/*.]|~">
                            <mutation else="1"></mutation>
                            <value name="IF0">
                              <block type="logic_compare" id="P!O,QbN/!t#A9@kvusRr">
                                <field name="OP">GTE</field>
                                <value name="A">
                                  <block type="get_value" id="(rPW/JXt8BC13v^W_@v=">
                                    <field name="ATTR">val</field>
                                    <field name="OID">javascript.0.Motion_Raum</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="variables_get" id="!YXQe:`It).%^=!{.wto">
                                    <field name="VAR">AbzugWert</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="comment" id="XE^UpiZ??O^`Ltcf{.C:">
                                <field name="COMMENT">AbzugsWert von Motion abziehen</field>
                                <next>
                                  <block type="control" id="*7#498bFA!D3YisX|,Xi">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">javascript.0.Motion_Raum</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="math_arithmetic" id="rm35]JDVR!vn2-M?y!O{">
                                        <field name="OP">MINUS</field>
                                        <value name="A">
                                          <shadow type="math_number" id="wc,;^#NSu{I1!Hp6;(3O">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="get_value" id="@1JoE5?c;%;K6as!]}4R">
                                            <field name="ATTR">val</field>
                                            <field name="OID">javascript.0.Motion_Raum</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <shadow type="math_number" id="MN^b`GXU.4sT?sj;]DqH">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="variables_get" id="JNcP^m!1MOASXd`}dE]q">
                                            <field name="VAR">AbzugWert</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </next>
                              </block>
                            </statement>
                            <statement name="ELSE">
                              <block type="comment" id=")S23z;Un`c|`kyrW`Fy1">
                                <field name="COMMENT">Definitiv keiner mehr anwesend</field>
                                <next>
                                  <block type="comment" id="3-Alqg!2(8zASq%D%lu_">
                                    <field name="COMMENT">Wert wird auf Null gesetzt</field>
                                    <next>
                                      <block type="comment" id="bg}hgHp%Bh.r:7@6@^a+">
                                        <field name="COMMENT">Dieser Wert auf Null wird in anderen Programmen</field>
                                        <next>
                                          <block type="comment" id="|lfOV4D`Q+@CCcCGg]:T">
                                            <field name="COMMENT">getriggert und Aktionen ausgelöst</field>
                                            <next>
                                              <block type="control" id="[Y6tCHG`[OkIxvEoPd8C">
                                                <mutation delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Motion_Raum</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="math_number" id="D:tX2*C|Vr3`f8Y(xtJC">
                                                    <field name="NUM">0</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </xml>
    

    Und für, die nichts mit Blockly am Hut haben, das generierte JavaScript.

    var AbzugWert;
    
    
    // Anwesenheitserkennung nach
    // "Badewannenprinzip"
    createState("Motion_Raum", function () {
    });
    // "CountUp"
    on({id: 'hm-rpc.0.KEQ0972714.1.MOTION', val: true}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      // Wenn Bewegung erkannt
      // erfolgt der CountUp
      if (getState("javascript.0.Motion_Raum").val == 0) {
        // Wenn der Wert 0 ist einen kleinen "Vorlauf" setzen
        // sonst könnte dieser beim nächsten "CountDown"
        // SOFORT wieder auf Null gesetzt werden
        setState("hm-rega.0.11551", (getState("javascript.0.Motion_Raum").val + 12));
      } else {
        // Motion Wert begrenzen (hier 30)
        if (getState("javascript.0.Motion_Raum").val < 30) {
          // Motion erhöhen
          setState("javascript.0.Motion_Raum"/*Motion_Raum*/, (getState("javascript.0.Motion_Raum").val + 1));
        }
      }
    });
    
    // Alle 30 Minuten "CountDown"
    schedule("*/30 * * * *", function () {
      // Dieser Wert soll abgezogen werden
      AbzugWert = 10;
      // Nicht ins Minus laufen lassen
      if (getState("javascript.0.Motion_Raum").val >= AbzugWert) {
        // AbzugsWert von Motion abziehen
        setState("javascript.0.Motion_Raum"/*Motion_Raum*/, (getState("javascript.0.Motion_Raum").val - AbzugWert));
      } else {
        // Definitiv keiner mehr anwesend
        // Wert wird auf Null gesetzt
        // Dieser Wert auf Null wird in anderen Programmen
        // getriggert und Aktionen ausgelöst
        setState("javascript.0.Motion_Raum"/*Motion_Raum*/, 0);
      }
    });
    

    Vielleicht kann es jemand gebrauchen.

    Grüße

    Rantanplan

    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

    1 Antwort Letzte Antwort
    2
    • B Offline
      B Offline
      brufi
      schrieb am zuletzt editiert von
      #2

      Das ist grandios! Werde ich testen! Danke!

      1 Antwort Letzte Antwort
      0
      • rantanplanR Offline
        rantanplanR Offline
        rantanplan
        schrieb am zuletzt editiert von
        #3

        @brufi:

        Das ist grandios! Werde ich testen! Danke! `
        Freut mich!

        Grüße

        Rantanplan

        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

        M 1 Antwort Letzte Antwort
        0
        • rantanplanR rantanplan

          @brufi:

          Das ist grandios! Werde ich testen! Danke! `
          Freut mich!

          Grüße

          M Offline
          M Offline
          MartyBr
          schrieb am zuletzt editiert von
          #4

          @rantanplan
          Hallo rantanplan, ich habe gerade deinen Beitrag gefunden. Er passt gut zu meiner Überlegung, die Bewegungsmelder intelligenter für die Lichtsteuerung einzusetzen.

          Ich habe dein Blocky importiert und den DP angelegt. Eine Frage habe ich aber:
          Was ist der DP "hm-rega.0.11551"? Das ist ja eine Homematic Systemvariable. Kannst du bitte diesen Punkt kurz erläutern?
          Gruß und danke für das tolle Script

          Gruß
          Martin


          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
          Raspeberry mit USB Leseköpfen für Smartmeter
          Homematic und Homematic IP

          rantanplanR 1 Antwort Letzte Antwort
          0
          • M MartyBr

            @rantanplan
            Hallo rantanplan, ich habe gerade deinen Beitrag gefunden. Er passt gut zu meiner Überlegung, die Bewegungsmelder intelligenter für die Lichtsteuerung einzusetzen.

            Ich habe dein Blocky importiert und den DP angelegt. Eine Frage habe ich aber:
            Was ist der DP "hm-rega.0.11551"? Das ist ja eine Homematic Systemvariable. Kannst du bitte diesen Punkt kurz erläutern?
            Gruß und danke für das tolle Script

            rantanplanR Offline
            rantanplanR Offline
            rantanplan
            schrieb am zuletzt editiert von
            #5

            @martybr sagte in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":

            @rantanplan
            Hallo rantanplan, ich habe gerade deinen Beitrag gefunden. Er passt gut zu meiner Überlegung, die Bewegungsmelder intelligenter für die Lichtsteuerung einzusetzen.

            Ich habe dein Blocky importiert und den DP angelegt. Eine Frage habe ich aber:
            Was ist der DP "hm-rega.0.11551"? Das ist ja eine Homematic Systemvariable. Kannst du bitte diesen Punkt kurz erläutern?
            Gruß und danke für das tolle Script

            Oh ja, ich hatte damals noch einige Programme parallel laufen.
            "hm-rega.0.11551" war eine Variable auf der CCU. Da habe ich beim Export nicht aufgepasst.
            Da muss der Datenpunkt "Motion_Raum" rein.

            Grüße

            Rantanplan

            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

            M 1 Antwort Letzte Antwort
            1
            • rantanplanR rantanplan

              @martybr sagte in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":

              @rantanplan
              Hallo rantanplan, ich habe gerade deinen Beitrag gefunden. Er passt gut zu meiner Überlegung, die Bewegungsmelder intelligenter für die Lichtsteuerung einzusetzen.

              Ich habe dein Blocky importiert und den DP angelegt. Eine Frage habe ich aber:
              Was ist der DP "hm-rega.0.11551"? Das ist ja eine Homematic Systemvariable. Kannst du bitte diesen Punkt kurz erläutern?
              Gruß und danke für das tolle Script

              Oh ja, ich hatte damals noch einige Programme parallel laufen.
              "hm-rega.0.11551" war eine Variable auf der CCU. Da habe ich beim Export nicht aufgepasst.
              Da muss der Datenpunkt "Motion_Raum" rein.

              Grüße

              M Offline
              M Offline
              MartyBr
              schrieb am zuletzt editiert von
              #6

              @rantanplan Super, danke für die Info.

              Gruß
              Martin


              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
              Raspeberry mit USB Leseköpfen für Smartmeter
              Homematic und Homematic IP

              M 1 Antwort Letzte Antwort
              0
              • M MartyBr

                @rantanplan Super, danke für die Info.

                M Offline
                M Offline
                maxpd
                schrieb am zuletzt editiert von maxpd
                #7

                @rantanplan Das Script habe ich verstanden. Aber wie steuere ich jetzt die Dauer meines Lichts? Die Variable bildet ja die Brenndauer ab. Aber weder einer Verzögerung, noch einem Timeout kann ich die Variable als Wert mitgeben.
                Wenn der Counter minütlich auch nochmal 1 Abziehen würde, würde ich es auch verstehen. Da ich dann mittels gesondertem Trigger auf 0 oder > 1 prüfen kann.

                Gruß
                maxpd

                Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                rantanplanR 1 Antwort Letzte Antwort
                0
                • M maxpd

                  @rantanplan Das Script habe ich verstanden. Aber wie steuere ich jetzt die Dauer meines Lichts? Die Variable bildet ja die Brenndauer ab. Aber weder einer Verzögerung, noch einem Timeout kann ich die Variable als Wert mitgeben.
                  Wenn der Counter minütlich auch nochmal 1 Abziehen würde, würde ich es auch verstehen. Da ich dann mittels gesondertem Trigger auf 0 oder > 1 prüfen kann.

                  rantanplanR Offline
                  rantanplanR Offline
                  rantanplan
                  schrieb am zuletzt editiert von
                  #8

                  @maxpd Das Script ist nicht dafür da um Lampen nach einer bestimmten Brenndauer auszuschalten.
                  Licht über einen Bewegungsmelder, für eine bestimmte Zeit, einzuschalten macht eigentlich nur in Durchgangsräumen Sinn. Und auch da muss es nicht optimal sein.
                  Wer kennt das nicht: Licht geht an, man hält ein Schwätzchen, Licht geht aus und alle fuchteln mit den Armen damit das Licht wieder an geht.
                  Bewegungsmelder erkennen nun mal nicht JEDE Bewegung.
                  Das "Badewannen-Prinzip" "sammelt" Bewegungen über einen gewissen Zeitraum.
                  Das Licht geht z.B. nicht aus, wenn man mal vorm PC sitzt und 15 Min. einen Bericht liest und dabei keine Bewegung macht die der BW erkennt.
                  Einfach mal den 1. Beitrag lesen und auch die Links.

                  Grüße

                  Rantanplan

                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                  M 1 Antwort Letzte Antwort
                  0
                  • rantanplanR rantanplan

                    @maxpd Das Script ist nicht dafür da um Lampen nach einer bestimmten Brenndauer auszuschalten.
                    Licht über einen Bewegungsmelder, für eine bestimmte Zeit, einzuschalten macht eigentlich nur in Durchgangsräumen Sinn. Und auch da muss es nicht optimal sein.
                    Wer kennt das nicht: Licht geht an, man hält ein Schwätzchen, Licht geht aus und alle fuchteln mit den Armen damit das Licht wieder an geht.
                    Bewegungsmelder erkennen nun mal nicht JEDE Bewegung.
                    Das "Badewannen-Prinzip" "sammelt" Bewegungen über einen gewissen Zeitraum.
                    Das Licht geht z.B. nicht aus, wenn man mal vorm PC sitzt und 15 Min. einen Bericht liest und dabei keine Bewegung macht die der BW erkennt.
                    Einfach mal den 1. Beitrag lesen und auch die Links.

                    Grüße

                    M Offline
                    M Offline
                    maxpd
                    schrieb am zuletzt editiert von
                    #9

                    @rantanplan said in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":

                    Das Licht geht z.B. nicht aus, wenn man mal vorm PC sitzt und 15 Min. einen Bericht liest und dabei keine Bewegung macht die der BW erkennt.
                    Einfach mal den 1. Beitrag lesen und auch die Links.

                    Aber exakt das ist mein Anwendungsfall. Und ich verstehe den dazugehörigen Trigger nicht eine Lampe zu schalten. Bzw. wie weiß die Lampe wann sie wieder ausgehen soll?
                    Vllt hast du für die schlussendliche Verwendung deiner Motion auch noch ein Screenshot.

                    Gruß
                    maxpd

                    Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                    rantanplanR 1 Antwort Letzte Antwort
                    0
                    • M maxpd

                      @rantanplan said in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":

                      Das Licht geht z.B. nicht aus, wenn man mal vorm PC sitzt und 15 Min. einen Bericht liest und dabei keine Bewegung macht die der BW erkennt.
                      Einfach mal den 1. Beitrag lesen und auch die Links.

                      Aber exakt das ist mein Anwendungsfall. Und ich verstehe den dazugehörigen Trigger nicht eine Lampe zu schalten. Bzw. wie weiß die Lampe wann sie wieder ausgehen soll?
                      Vllt hast du für die schlussendliche Verwendung deiner Motion auch noch ein Screenshot.

                      rantanplanR Offline
                      rantanplanR Offline
                      rantanplan
                      schrieb am zuletzt editiert von
                      #10

                      @maxpd sagte in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":

                      @rantanplan said in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":
                      Aber exakt das ist mein Anwendungsfall. Und ich verstehe den dazugehörigen Trigger nicht eine Lampe zu schalten. Bzw. wie weiß die Lampe wann sie wieder ausgehen soll?

                      Schau mal in dem "Sonst" bei dem Trigger "alle 30 Min. count down"
                      Da wird der Datenpunkt "Motion_Raum" auf 0 gesetzt.
                      Wie in dem Kommentar beschrieben, wird bei mir dieser Datenpunkt überwacht/getriggert.
                      Bei mir werden mehrere Zustände (in einem anderen Script) überprüft, wenn der Wert "Motion_Raum" auf 0 gesetzt wird. Deshalb der Weg über einen Datenpunkt.

                      Wenn Du "nur" das Licht ausschalten möchtest, einfach NACH dem "steuere Raum_Motion", Dein Licht ausschalten.

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      M 1 Antwort Letzte Antwort
                      1
                      • rantanplanR rantanplan

                        @maxpd sagte in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":

                        @rantanplan said in [Vorlage] Blockly Anwesenheitserkennung nach "Badewannen-Prinzip":
                        Aber exakt das ist mein Anwendungsfall. Und ich verstehe den dazugehörigen Trigger nicht eine Lampe zu schalten. Bzw. wie weiß die Lampe wann sie wieder ausgehen soll?

                        Schau mal in dem "Sonst" bei dem Trigger "alle 30 Min. count down"
                        Da wird der Datenpunkt "Motion_Raum" auf 0 gesetzt.
                        Wie in dem Kommentar beschrieben, wird bei mir dieser Datenpunkt überwacht/getriggert.
                        Bei mir werden mehrere Zustände (in einem anderen Script) überprüft, wenn der Wert "Motion_Raum" auf 0 gesetzt wird. Deshalb der Weg über einen Datenpunkt.

                        Wenn Du "nur" das Licht ausschalten möchtest, einfach NACH dem "steuere Raum_Motion", Dein Licht ausschalten.

                        M Offline
                        M Offline
                        maxpd
                        schrieb am zuletzt editiert von
                        #11

                        @rantanplan danke. Hab es für meinen Zweck ganz gut hinbekommen und werde es noch an 3 anderen Stellen einsetzen. :)

                        af3dd5e4-462e-46be-8c88-59aa9072d0ea-image.png

                        Gruß
                        maxpd

                        Raspi 4 8gb | iobroker + pivccu3 | 46 Adapter | 68 Scripte, 120 Devices

                        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

                        383

                        Online

                        32.4k

                        Benutzer

                        81.6k

                        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