NEWS
[gelöst] Probleme mit Schedule
-
Hallo Zusammen,
kann mir bitte jemand erklären warum er bei 40secs (völlig ok) UND bei 0secs auslöst?
Nach meinem Verständnis macht der 2 Einträge in schedule1 und löscht diese beim letzten Durchlauf und hat dann nur noch bei 40secs zum Auslösen
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="YPOJ3U]cF:UhW-C(R9DL">i</variable> <variable type="cron" id="schedule1">schedule1</variable> </variables> <block type="timeouts_wait" id="t,}fh)@#x:GUHcSzEXRF" x="-337" y="-512"> <field name="DELAY">10</field> <field name="UNIT">sec</field> <next> <block type="controls_for" id="fK6R7$XAZM#X)X?#Za)E"> <field name="VAR" id="YPOJ3U]cF:UhW-C(R9DL">i</field> <value name="FROM"> <shadow type="math_number" id="ECDy1m8UyU0Yr_2^?Y@5"> <field name="NUM">0</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="/mO%TGS|H2*%`Je~G5Nt"> <field name="NUM">2</field> </shadow> </value> <value name="BY"> <shadow type="math_number" id="#tO;I|!j5faZ4FG!12ZK"> <field name="NUM">1</field> </shadow> </value> <statement name="DO"> <block type="controls_if" id="Hf/BZ4`q*@_dj6lT$ufM"> <value name="IF0"> <block type="logic_compare" id="?b2+{9?D.-d4w8mpA|.r"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="%I4Q5DH?H@b$^[]Deu91"> <field name="VAR" id="YPOJ3U]cF:UhW-C(R9DL">i</field> </block> </value> <value name="B"> <block type="math_number" id="C0G7gS:]L}!HZjc/xjJP"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="schedule_clear" id="Rz%UZo@``?albIjO@O_S"> <field name="NAME">schedule1</field> </block> </statement> <next> <block type="schedule_create" id="Z:8|^}]d{hsCi6H5ECpp"> <field name="NAME">schedule1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="k+tVG(C)iA4;+)nag^Lo"> <field name="CRON">* * * * *</field> </shadow> <block type="cron_builder" id="C?FF1k(hWMT!]IX_X39t"> <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="true" as_line="false"></mutation> <field name="LINE">FALSE</field> <field name="WITH_SECONDS">TRUE</field> <value name="DOW"> <shadow type="text" id="kT+kE?yOdYbug_2m`v:)"> <field name="TEXT">*</field> </shadow> </value> <value name="MONTHS"> <shadow type="text" id="Q8o0zbZ@.$@.VzyjVfqY"> <field name="TEXT">*</field> </shadow> </value> <value name="DAYS"> <shadow type="text" id="N,+oCO]iS:kZD,b5Rt;|"> <field name="TEXT">*</field> </shadow> </value> <value name="HOURS"> <shadow type="text" id="UiQhUBt!UoD;Uo*.IZj9"> <field name="TEXT">*</field> </shadow> </value> <value name="MINUTES"> <shadow type="text" id="~(s;RW3%^036|`LA*ae}"> <field name="TEXT">*</field> </shadow> </value> <value name="SECONDS"> <shadow type="text" id="tq?wkVQC_2J0k`|AfA_["> <field name="TEXT">*</field> </shadow> <block type="math_arithmetic" id="MlVRJ%**;V3*.ijY}.Y?"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="NjYbS@EKT9=T!Hl@C.r9"> <field name="NUM">20</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="(~,-l/$Y:LRsN2JKPkUz"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="q.TXMwTVr;_Y#Vg06v%O"> <field name="VAR" id="YPOJ3U]cF:UhW-C(R9DL">i</field> </block> </value> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="debug" id="j1wEbvJoCi0P]1,6%a`y"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="NX/^6FZAj_cH@MX$|#,g"> <field name="TEXT">test</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </xml>Danke für eure Antworten :-)
-
Hallo Zusammen,
kann mir bitte jemand erklären warum er bei 40secs (völlig ok) UND bei 0secs auslöst?
Nach meinem Verständnis macht der 2 Einträge in schedule1 und löscht diese beim letzten Durchlauf und hat dann nur noch bei 40secs zum Auslösen
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="YPOJ3U]cF:UhW-C(R9DL">i</variable> <variable type="cron" id="schedule1">schedule1</variable> </variables> <block type="timeouts_wait" id="t,}fh)@#x:GUHcSzEXRF" x="-337" y="-512"> <field name="DELAY">10</field> <field name="UNIT">sec</field> <next> <block type="controls_for" id="fK6R7$XAZM#X)X?#Za)E"> <field name="VAR" id="YPOJ3U]cF:UhW-C(R9DL">i</field> <value name="FROM"> <shadow type="math_number" id="ECDy1m8UyU0Yr_2^?Y@5"> <field name="NUM">0</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="/mO%TGS|H2*%`Je~G5Nt"> <field name="NUM">2</field> </shadow> </value> <value name="BY"> <shadow type="math_number" id="#tO;I|!j5faZ4FG!12ZK"> <field name="NUM">1</field> </shadow> </value> <statement name="DO"> <block type="controls_if" id="Hf/BZ4`q*@_dj6lT$ufM"> <value name="IF0"> <block type="logic_compare" id="?b2+{9?D.-d4w8mpA|.r"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="%I4Q5DH?H@b$^[]Deu91"> <field name="VAR" id="YPOJ3U]cF:UhW-C(R9DL">i</field> </block> </value> <value name="B"> <block type="math_number" id="C0G7gS:]L}!HZjc/xjJP"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="schedule_clear" id="Rz%UZo@``?albIjO@O_S"> <field name="NAME">schedule1</field> </block> </statement> <next> <block type="schedule_create" id="Z:8|^}]d{hsCi6H5ECpp"> <field name="NAME">schedule1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="k+tVG(C)iA4;+)nag^Lo"> <field name="CRON">* * * * *</field> </shadow> <block type="cron_builder" id="C?FF1k(hWMT!]IX_X39t"> <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="true" as_line="false"></mutation> <field name="LINE">FALSE</field> <field name="WITH_SECONDS">TRUE</field> <value name="DOW"> <shadow type="text" id="kT+kE?yOdYbug_2m`v:)"> <field name="TEXT">*</field> </shadow> </value> <value name="MONTHS"> <shadow type="text" id="Q8o0zbZ@.$@.VzyjVfqY"> <field name="TEXT">*</field> </shadow> </value> <value name="DAYS"> <shadow type="text" id="N,+oCO]iS:kZD,b5Rt;|"> <field name="TEXT">*</field> </shadow> </value> <value name="HOURS"> <shadow type="text" id="UiQhUBt!UoD;Uo*.IZj9"> <field name="TEXT">*</field> </shadow> </value> <value name="MINUTES"> <shadow type="text" id="~(s;RW3%^036|`LA*ae}"> <field name="TEXT">*</field> </shadow> </value> <value name="SECONDS"> <shadow type="text" id="tq?wkVQC_2J0k`|AfA_["> <field name="TEXT">*</field> </shadow> <block type="math_arithmetic" id="MlVRJ%**;V3*.ijY}.Y?"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="NjYbS@EKT9=T!Hl@C.r9"> <field name="NUM">20</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="(~,-l/$Y:LRsN2JKPkUz"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="q.TXMwTVr;_Y#Vg06v%O"> <field name="VAR" id="YPOJ3U]cF:UhW-C(R9DL">i</field> </block> </value> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="debug" id="j1wEbvJoCi0P]1,6%a`y"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="NX/^6FZAj_cH@MX$|#,g"> <field name="TEXT">test</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </xml>Danke für eure Antworten :-)
@plasmachef sagte in Probleme mit Schedule:
kann mir bitte jemand erklären warum er bei 40secs (völlig ok) UND bei 0secs auslöst?
Wie soll er den ersten löschen? Wenn
i = 0und danachi = 1ist die Referenz auf den ersten Schedule weg.Du musst Dir das so vorstellen, dass man eine ID zurückbekommt, wenn man einen Schedule anlegt (vereinfacht gesagt). Diese ID kann man dann in eine Variable speichern um damit später den Schedule wieder anzuhalten.
- Ist nun
i = 0bekommst Du z.B.2348als ID nach dem Anlegen - Diese ID wird in der Variablen
schedule1gespeichert - Jetzt ist
i = 1und Du bekommst6589als ID beim Anlegen - Diese ID wird in der Variablen
schedule1gespeichert (und der alte Wert ersetzt) - Jetzt ist
id = 2und Du löschst den Schedule mit ID6589(steht ja in Variableschedule1- den vorigen Wert der Variablen kennst Du nicht mehr. Daher läuft der andere Schedule weiter.
Das ist das Problem an der (seltsamen) Logik. Es gibt keine "zwei Einträge" in
schedule1. Nur den letzten. Das lässt sich mit Blockly so nicht lösen - da müsste man auf JavaScript wechseln und z.B. eine Liste (Array) bauen, welches alle vorigen IDs enthält und diese dann abbrechen. - Ist nun
-
@plasmachef sagte in Probleme mit Schedule:
kann mir bitte jemand erklären warum er bei 40secs (völlig ok) UND bei 0secs auslöst?
Wie soll er den ersten löschen? Wenn
i = 0und danachi = 1ist die Referenz auf den ersten Schedule weg.Du musst Dir das so vorstellen, dass man eine ID zurückbekommt, wenn man einen Schedule anlegt (vereinfacht gesagt). Diese ID kann man dann in eine Variable speichern um damit später den Schedule wieder anzuhalten.
- Ist nun
i = 0bekommst Du z.B.2348als ID nach dem Anlegen - Diese ID wird in der Variablen
schedule1gespeichert - Jetzt ist
i = 1und Du bekommst6589als ID beim Anlegen - Diese ID wird in der Variablen
schedule1gespeichert (und der alte Wert ersetzt) - Jetzt ist
id = 2und Du löschst den Schedule mit ID6589(steht ja in Variableschedule1- den vorigen Wert der Variablen kennst Du nicht mehr. Daher läuft der andere Schedule weiter.
Das ist das Problem an der (seltsamen) Logik. Es gibt keine "zwei Einträge" in
schedule1. Nur den letzten. Das lässt sich mit Blockly so nicht lösen - da müsste man auf JavaScript wechseln und z.B. eine Liste (Array) bauen, welches alle vorigen IDs enthält und diese dann abbrechen.wow, was für eine Erklärung!
Ich dachte schedule1 steht für das komplette Paket an "Triggern".
Habs verstanden!
Herzlichen Dank dafür :-) - Ist nun
-
wow, was für eine Erklärung!
Ich dachte schedule1 steht für das komplette Paket an "Triggern".
Habs verstanden!
Herzlichen Dank dafür :-) -
noch ne ganz kleine Frage an Rand:
Werden bei blockly beim Stoppen des "Scripts" alle Trigger gelöscht (ausgeführt wird ja nichts mehr) oder müllt man sich grade beim Testen eines neuen Triggers so das System voll?
Denn aktiv meldet man sie ja nicht ab. -
noch ne ganz kleine Frage an Rand:
Werden bei blockly beim Stoppen des "Scripts" alle Trigger gelöscht (ausgeführt wird ja nichts mehr) oder müllt man sich grade beim Testen eines neuen Triggers so das System voll?
Denn aktiv meldet man sie ja nicht ab.@plasmachef sagte in [gelöst] Probleme mit Schedule:
Werden bei blockly beim Stoppen des "Scripts" alle Trigger gelöscht (ausgeführt wird ja nichts mehr)
Ja, wäre schlimm wenn nicht :)
-
@plasmachef sagte in [gelöst] Probleme mit Schedule:
Werden bei blockly beim Stoppen des "Scripts" alle Trigger gelöscht (ausgeführt wird ja nichts mehr)
Ja, wäre schlimm wenn nicht :)
Danke dir!
Wünsche dir einen schönen Tag :-)
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
