Verständnisfrage Cron
Verfasst: So Aug 16, 2020 2:02 pm
Hallo Gemeinde,
ich sitzte gerade wieder mal an viel diskutierten Logig-Engine und versuche mich mit der Funktionsweise der Custom-Logic vertraut zu machen.
Dabei habe ich gerade ein Verständnisproblem zur Cron-Funktion.
In der Knowledge-Database steht dazu folgendes
Cron
Triggert eine Logik zu definierten Zeitpunkten, die mittels Cron-String definiert werden.
["Cron","$Start","$Alarm","$NextTrigger","$CronExpr"]
$Start: Boolscher Eingang. True schaltet den Timer aktiv (triggert bei nächsten Cron-Zeitpunkt).Falseschaltet den Timer inaktiv (nichts passiert).
$Alarm: Boolscher Ausgang. Wird zum Cron-Zeitpunkt true ansonsten false
$NextTrigger: Integer Ausgang: Gibt den Cron-Zeitpunkt aus (in Unix-Zeit), wann der Timer das nächste mal triggert. Oder den Wert 0, falls der Timer inaktiv ist.
$CronExpr: Der Cron-String (um Sekunden erweitert) der die Trigger-Zeitpunkte festlegt.
Mir geht es um den Paramter $Alarm, der ja laut beschreibung nur zum Trigger-Zeitpunkt "true" sein soll und ansonsten "false".
Wenn ich nun versuche ein Cron-Trigger zu bauen, der einfach jede Minute ein "true" ausgibt sollte das ja dann ganz einfach sein. Aber mir gelingt es nicht...
Der Code sieht wie folgt aus
{
"Input":[
["Enalbe","Eingang","$Enable","c"]
],
"Output":[
["CronTrig","Ausgang","$CronTrig","c"]
],
"Level":[
["$Enable","bool",false],
["$CronTrig","bool",false],
["$CronExpr","string","0 0-59 13 * * *"]
],
"Module":[
["Cron","$Enable","$CronTrig",0,"$CronExpr"]
]
}
Wenn ich die "Logic" jedoch debuge, dann sieht es im Grafana so aus als ob der Cron-Ausgang immer auf "true" bleibt.
Den Punkte auf dem Plot entnehme ich das dort etwas "geschieht", aber meiner Meinung nach immer nur "true", das "false" zwischen den Triggerzeitpunkten fehlt mir.
Kann mir jemand auf die Sprünge helfen?
Weiter würde mich interessieren wo Fehler in der Knowledge-Database "gemeldet" werden können?
Aktuelle SW auf dem TWS 1.6.0 Release Candidate 3
Gruß
Ralf
ich sitzte gerade wieder mal an viel diskutierten Logig-Engine und versuche mich mit der Funktionsweise der Custom-Logic vertraut zu machen.
Dabei habe ich gerade ein Verständnisproblem zur Cron-Funktion.
In der Knowledge-Database steht dazu folgendes
Cron
Triggert eine Logik zu definierten Zeitpunkten, die mittels Cron-String definiert werden.
["Cron","$Start","$Alarm","$NextTrigger","$CronExpr"]
$Start: Boolscher Eingang. True schaltet den Timer aktiv (triggert bei nächsten Cron-Zeitpunkt).Falseschaltet den Timer inaktiv (nichts passiert).
$Alarm: Boolscher Ausgang. Wird zum Cron-Zeitpunkt true ansonsten false
$NextTrigger: Integer Ausgang: Gibt den Cron-Zeitpunkt aus (in Unix-Zeit), wann der Timer das nächste mal triggert. Oder den Wert 0, falls der Timer inaktiv ist.
$CronExpr: Der Cron-String (um Sekunden erweitert) der die Trigger-Zeitpunkte festlegt.
Mir geht es um den Paramter $Alarm, der ja laut beschreibung nur zum Trigger-Zeitpunkt "true" sein soll und ansonsten "false".
Wenn ich nun versuche ein Cron-Trigger zu bauen, der einfach jede Minute ein "true" ausgibt sollte das ja dann ganz einfach sein. Aber mir gelingt es nicht...
Der Code sieht wie folgt aus
{
"Input":[
["Enalbe","Eingang","$Enable","c"]
],
"Output":[
["CronTrig","Ausgang","$CronTrig","c"]
],
"Level":[
["$Enable","bool",false],
["$CronTrig","bool",false],
["$CronExpr","string","0 0-59 13 * * *"]
],
"Module":[
["Cron","$Enable","$CronTrig",0,"$CronExpr"]
]
}
Wenn ich die "Logic" jedoch debuge, dann sieht es im Grafana so aus als ob der Cron-Ausgang immer auf "true" bleibt.
Den Punkte auf dem Plot entnehme ich das dort etwas "geschieht", aber meiner Meinung nach immer nur "true", das "false" zwischen den Triggerzeitpunkten fehlt mir.
Kann mir jemand auf die Sprünge helfen?
Weiter würde mich interessieren wo Fehler in der Knowledge-Database "gemeldet" werden können?
Aktuelle SW auf dem TWS 1.6.0 Release Candidate 3
Gruß
Ralf