NEWS
Fehler im Blockly Skript?
-
Ich habe ein Blockly Script, welches den Zustand der Fenster überwacht.
Wenn eines der Fenster länger als 5 min offen, bekomme ich eine pushover-Nachricht, die sich wiederholt, solange das Fenster offen ist.
Wird es geschlossen soll die zykl. Ausführung des Intervalls beendet werden.
Soweit die Theorie, klappt eigentlich auch...
Aber nur, wenn ich das Script einmal täglich neu starte ?!
Ansonsten wird auch bei geschlossenem Fenster weiterhin alle 5 min eine Nachricht gesendet.
Nur durch beenden und neu starten des Scripts kann ich das stoppen.
Wo ist der Fehler ?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="on_ext" id="Ty@mssCsr(s}$kH?Y805" x="-287" y="-1087"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="JSq!b)+Wk$E3L3v!`cqV"> <field name="oid">ID auswählen</field> </shadow> <block type="selector" id="+[*~LKMm==^d@`zRJe~}"> <field name="TEXT">state[id=*](functions=window)</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="JWHtK(UZyf|gax~IpYRa"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="M8e#jTS8?{Qb#3v@2++f"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="ooO4n[n/Q0WF#?Yto9|`"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="XAtpxatc;^2/U]Q=rj%Z"> <field name="NUM">23</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="JO4~RuqgerV`:k!U}edG"> <field name="NAME">Intervall</field> </block> </statement> <statement name="ELSE"> <block type="timeouts_setinterval" id=")_U]2N/*_bJ3k)J*DhJi"> <field name="NAME">Intervall</field> <field name="INTERVAL">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="pushover" id="GV%#B{OOsSgE~Xp7:#dg"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <field name="FORMAT">none</field> <value name="MESSAGE"> <shadow type="text" id="np5{yP1[}jVo:2v-pc1R"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="fPED;j?F#/wq7pEC_{2!"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="!kd%pYLUOY,~hB;K7JZl"> <field name="TEXT">Fenster </field> </block> </value> <value name="ADD1"> <block type="on_source" id="`EH5`!QQ+sBLFT0sINh4"> <field name="ATTR">common.name</field> </block> </value> <value name="ADD2"> <block type="text" id="U*e7JfJ#4,W;Kck7K/oL"> <field name="TEXT"> > 5min offen</field> </block> </value> </block> </value> <value name="SOUND_CUSTOM"> <shadow type="text" id="rH/^WHF/y(^(J+lQ?0fL"> <field name="TEXT"></field> </shadow> </value> </block> </statement> </block> </statement> </block> </statement> </block> </xml> -
Ich habe ein Blockly Script, welches den Zustand der Fenster überwacht.
Wenn eines der Fenster länger als 5 min offen, bekomme ich eine pushover-Nachricht, die sich wiederholt, solange das Fenster offen ist.
Wird es geschlossen soll die zykl. Ausführung des Intervalls beendet werden.
Soweit die Theorie, klappt eigentlich auch...
Aber nur, wenn ich das Script einmal täglich neu starte ?!
Ansonsten wird auch bei geschlossenem Fenster weiterhin alle 5 min eine Nachricht gesendet.
Nur durch beenden und neu starten des Scripts kann ich das stoppen.
Wo ist der Fehler ?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="on_ext" id="Ty@mssCsr(s}$kH?Y805" x="-287" y="-1087"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="JSq!b)+Wk$E3L3v!`cqV"> <field name="oid">ID auswählen</field> </shadow> <block type="selector" id="+[*~LKMm==^d@`zRJe~}"> <field name="TEXT">state[id=*](functions=window)</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="JWHtK(UZyf|gax~IpYRa"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="M8e#jTS8?{Qb#3v@2++f"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="ooO4n[n/Q0WF#?Yto9|`"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="XAtpxatc;^2/U]Q=rj%Z"> <field name="NUM">23</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="JO4~RuqgerV`:k!U}edG"> <field name="NAME">Intervall</field> </block> </statement> <statement name="ELSE"> <block type="timeouts_setinterval" id=")_U]2N/*_bJ3k)J*DhJi"> <field name="NAME">Intervall</field> <field name="INTERVAL">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="pushover" id="GV%#B{OOsSgE~Xp7:#dg"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <field name="FORMAT">none</field> <value name="MESSAGE"> <shadow type="text" id="np5{yP1[}jVo:2v-pc1R"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="fPED;j?F#/wq7pEC_{2!"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="!kd%pYLUOY,~hB;K7JZl"> <field name="TEXT">Fenster </field> </block> </value> <value name="ADD1"> <block type="on_source" id="`EH5`!QQ+sBLFT0sINh4"> <field name="ATTR">common.name</field> </block> </value> <value name="ADD2"> <block type="text" id="U*e7JfJ#4,W;Kck7K/oL"> <field name="TEXT"> > 5min offen</field> </block> </value> </block> </value> <value name="SOUND_CUSTOM"> <shadow type="text" id="rH/^WHF/y(^(J+lQ?0fL"> <field name="TEXT"></field> </shadow> </value> </block> </statement> </block> </statement> </block> </statement> </block> </xml>@wak sagte in Fehler im Blockly Skript?:
Wo ist der Fehler ?
ich nehme an, dass es durch den Selector virkommen kann, dass das selbe Intervall 2x gestartet wird, bevor es gestoppt wurde.
Mehrfach laufende Intervalle sind nicht mehr zu stoppen.
-
@wak sagte in Fehler im Blockly Skript?:
Wo ist der Fehler ?
ich nehme an, dass es durch den Selector virkommen kann, dass das selbe Intervall 2x gestartet wird, bevor es gestoppt wurde.
Mehrfach laufende Intervalle sind nicht mehr zu stoppen.
-
@Homoran sagte in Fehler im Blockly Skript?:
Mehrfach laufende Intervalle sind nicht mehr zu stoppen.
Kann man das auch auf einfache Art anders lösen, als mit den Intervallen ?
@wak sagte in Fehler im Blockly Skript?:
Kann man das auch auf einfache Art anders lösen, als mit den Intervallen ?
Bestimmt. Musst du aber nicht.
schieb einfach den
stop zyklische Ausführung Intervallblock vor diefallsAbfrage, und du bist sicher. -
@wak sagte in Fehler im Blockly Skript?:
Kann man das auch auf einfache Art anders lösen, als mit den Intervallen ?
Bestimmt. Musst du aber nicht.
schieb einfach den
stop zyklische Ausführung Intervallblock vor diefallsAbfrage, und du bist sicher.@Asgothian sagte in Fehler im Blockly Skript?:
schieb einfach den stop zyklische Ausführung Intervall block vor die falls Abfrage, und du bist sicher.
Danke. ich hoffe, so ist's gemeint 🤔, bin absoluter Beginner 😎

Funktionieren, tut's erst einmal...
-
@Asgothian sagte in Fehler im Blockly Skript?:
schieb einfach den stop zyklische Ausführung Intervall block vor die falls Abfrage, und du bist sicher.
Danke. ich hoffe, so ist's gemeint 🤔, bin absoluter Beginner 😎

Funktionieren, tut's erst einmal...
@wak sagte in Fehler im Blockly Skript?:
tut's erst einmal...
wenn's noch schön aussehen soll, ändere das falls auf "ist nicht 23", schieb den Block aus dem sonst ins falls und lösche die Option sonst
-
@wak sagte in Fehler im Blockly Skript?:
tut's erst einmal...
wenn's noch schön aussehen soll, ändere das falls auf "ist nicht 23", schieb den Block aus dem sonst ins falls und lösche die Option sonst
-
genau!
ich hoffe s tut's noch 😉 -
@Asgothian sagte in Fehler im Blockly Skript?:
schieb einfach den stop zyklische Ausführung Intervall block vor die falls Abfrage, und du bist sicher.
Danke. ich hoffe, so ist's gemeint 🤔, bin absoluter Beginner 😎

Funktionieren, tut's erst einmal...
@wak sagte: Funktionieren, tut's erst einmal...
Wenn mehrere Fenster geöffnet werden, wird nur das zuletzt geöffnete Fenster gemeldet; wenn zwischendurch irgend ein Fenster geschlossen wird, erfolgt keine Meldung mehr.
Problem: Jedes Fenster benötigt ein eigenes Intervall, was in Blockly mit dem Selektor nur sehr schlecht realisierbar ist. -
@wak sagte: Funktionieren, tut's erst einmal...
Wenn mehrere Fenster geöffnet werden, wird nur das zuletzt geöffnete Fenster gemeldet; wenn zwischendurch irgend ein Fenster geschlossen wird, erfolgt keine Meldung mehr.
Problem: Jedes Fenster benötigt ein eigenes Intervall, was in Blockly mit dem Selektor nur sehr schlecht realisierbar ist. -
@wak sagte: Gibt's da 'ne Lösung, die auch ein NOOB realisieren kann ?
Jedes Fenster hat seinen eigenen Trigger und sein eigenes Intervall. Wie viele Fenster sind es?
