NEWS
Blockly - Wert über einen Zeitraum prüfen *gelöst*
-
Hallo zusammen,
ich lasse im Sommer meine Rolladen herunterfahren, wenn die Sonne an der Südseite scheint.
Wenn es aber ein bewölkter Tag ist, an dem die Sonne nur mal kurz für 5 Minuten rauskommt, sollen nicht gleich überall die Rolladen herunterfahren.Wie kann ich per Blockly einen Wert über einen Zeitraum abprüfen lassen? Ich möchte das Skript ausführen, wenn der Wert ca. 10 Minuten größer / gleich dem eingestellten Helligkeitswert ist.
Mein jetziges Skript prüft einfach nur über einen Helligkeitssensor ab, ob ein Wert überschritten wird.
(in meinem Skript wird nur eine Variable gesetzt, die steuert dann aber bei Änderung die Rolladen)<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="Ic?72UEi*Ei*}z;A6Uj|" x="262" y="-487"> <field name="COMMENT">Variable Sonne_scheint_stark auf wahr setzen</field> <next> <block type="schedule" id="GKv7T;KFJm!Ag9Qy#c^9"> <field name="SCHEDULE">{"time":{"start":"09:00","end":"12:30","mode":"minutes","interval":5},"period":{"months":"[4,5,6,7,8]"},"valid":{"from":"09.05.2022"}}</field> <statement name="STATEMENT"> <block type="controls_if" id="V-e2^hDJ$F}Ob?0[:T+l"> <value name="IF0"> <block type="logic_compare" id="R!R{:,)hOMc]iN1*Rk2N"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id=":tJ59;5X@*QXIGnI!eE4"> <field name="ATTR">val</field> <field name="OID">alias.0.Helligkeit-Wohnzimmer-oben.Helligkeit-Wohnzimmer-oben</field> </block> </value> <value name="B"> <block type="math_number" id="^T%K:,%Y|EL;aM9|G;/."> <field name="NUM">15000</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="uypSXACUP(n}vC#Q]N1{"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Sonne_scheint_stark</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="K?+DKaFZ+gk$=}6[I9|8"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="debug" id="*0TnBy{p0iV6E.QoiO*/"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id="l.@c5mm@H!hb93U7B:FB"> <field name="TEXT">Sonne scheint stark</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> <block type="comment" id="PyO2RMd_tv*;;$mC%R_V" x="738" y="-237"> <field name="COMMENT">Variable Sonne_scheint_stark auf falsch setzen</field> <next> <block type="schedule" id="oYpd0ZPF^ljGNsqaZyGF"> <field name="SCHEDULE">{"time":{"exactTime":true,"start":"19:00"},"valid":{"from":"09.05.2022"},"period":{"months":"[4,5,6,7,8,9]"}}</field> <statement name="STATEMENT"> <block type="control" id="b(M/cdkw`sKm9|HLtECr"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Sonne_scheint_stark</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="osd(IHmD?JxcBs?Z?75d"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="debug" id="|RmVOmrm]lPfYXNvW/G}"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id="D.%{g(r98t-/trK{x|7%"> <field name="TEXT">Variable Sonne_scheint_stark zurückgesetzt</field> </shadow> </value> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
@surfer09 sagte in Blockly - Wert über einen Zeitraum prüfen:
Wie kann ich per Blockly einen Wert über einen Zeitraum abprüfen lassen?
Indem Du zunächst mal einen Screenshot lieferst.
Nur die Wenigsten haben Lust, das XML erstmal zu importieren, um einen Blick darauf werfen zu können.
Auf Mobilgeräten eh nicht möglich. -
@codierknecht Sorry, aber sonst bekommt man immer Kommentare zurück, dass man den Code posten soll und keine Screenshots. Irgendwie weiß man manchmal nicht, wie man es richtig machen soll..
Aber nun ja, hier der Screenshot, wie es jetzt aufgebaut ist.
-
@surfer09 sagte: wenn der Wert ca. 10 Minuten größer / gleich dem eingestellten Helligkeitswert ist.
-
@paul53 Danke Paul!
Ich komme mit diesen Timeouts nie zurecht, aber ich wusste, dass das dort wieder irgendwie eingebaut werden muss.
Wenn das "Grundgerüst" von meinem Skript bestehen bleiben soll, kann ich das auch so machen?
-
@surfer09 sagte: kann ich das auch so machen?
Wenn du den Zeitraum eingrenzen möchtest, dann besser so:
-
@paul53 Super, vielen Dank!
-
@surfer09 sagte in Blockly - Wert über einen Zeitraum prüfen *gelöst*:
@codierknecht Sorry, aber sonst bekommt man immer Kommentare zurück, dass man den Code posten soll und keine Screenshots. Irgendwie weiß man manchmal nicht, wie man es richtig machen soll..
Blockly ist da die Ausnahme, weil sonst jeder, der Dir helfen will, das XML bei sich importieren müsste, um zu sehen, was da genau wie passieren soll, oder fähig ist, sich aus dem XML die Bilder passend im Kopf zusammenzubauen. Da ist ein Bild ausnahmsweise einfacher zu lesen.
Gruss, Jürgen