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

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

-
@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 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
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden