UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ
NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ
NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074
[Problem] Verständnisfrage Cron
Forumsregeln
- Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
- Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
- Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
- Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
-
- Reactions:
- Beiträge: 211
- Registriert: Mo Aug 13, 2018 9:32 pm
- Wohnort: Allgäu
- Hat sich bedankt: 106 Mal
- Danksagung erhalten: 91 Mal
Verständnisfrage Cron
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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von SchlaubySchlu am So Aug 16, 2020 2:10 pm, insgesamt 3-mal geändert.
Timberwolf Server 2600 #196, VPN offen, Reboot nach Vereinbarung, BM 729
-
- Reactions:
- Beiträge: 3741
- Registriert: So Aug 12, 2018 8:44 am
- Hat sich bedankt: 1164 Mal
- Danksagung erhalten: 2058 Mal
Hallo Ralph!
Passt doch? Wenn du den Output noch auf „a“ stellst, sollte die Logik minütlich ein True senden.
Dazwischen wird die Logik nicht aufgerufen, daher siehst du das false nicht und es wird auch kein false gesendet.
Was möchtest du denn erreichen?
Lg
Robert
Passt doch? Wenn du den Output noch auf „a“ stellst, sollte die Logik minütlich ein True senden.
Dazwischen wird die Logik nicht aufgerufen, daher siehst du das false nicht und es wird auch kein false gesendet.
Was möchtest du denn erreichen?
Lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
-
- Reactions:
- Beiträge: 211
- Registriert: Mo Aug 13, 2018 9:32 pm
- Wohnort: Allgäu
- Hat sich bedankt: 106 Mal
- Danksagung erhalten: 91 Mal
Hallo Robert,
danke für die Antwort das bestätigt das war ich mir schon irgendwie gedacht.
Verwenden möchte ich das in meiner Bewässerung, dort ist der Aktor so programmiert das er nach einem Trigger für 20Min die Bewässerung einschaltet.
Dafür das ich eine der bereits existierenden Bewässerungsschaltungen aus dem Forum verwende, reicht mein Logik-Wissen noch nicht aus....
In der Beschreibung zum Cron ist noch ein Fehler bei der CronExpression, wenn man das aus der Knowledge-Base herauskopiert, dann funktioniert das so nicht...
Gruß
Ralf
danke für die Antwort das bestätigt das war ich mir schon irgendwie gedacht.
Verwenden möchte ich das in meiner Bewässerung, dort ist der Aktor so programmiert das er nach einem Trigger für 20Min die Bewässerung einschaltet.
Dafür das ich eine der bereits existierenden Bewässerungsschaltungen aus dem Forum verwende, reicht mein Logik-Wissen noch nicht aus....
In der Beschreibung zum Cron ist noch ein Fehler bei der CronExpression, wenn man das aus der Knowledge-Base herauskopiert, dann funktioniert das so nicht...
Gruß
Ralf
Timberwolf Server 2600 #196, VPN offen, Reboot nach Vereinbarung, BM 729
-
- Reactions:
- Beiträge: 3741
- Registriert: So Aug 12, 2018 8:44 am
- Hat sich bedankt: 1164 Mal
- Danksagung erhalten: 2058 Mal
Welche Cron-Expression meinst du genau? Ich würde das natürlich gerne richtig stellen.SchlaubySchlu hat geschrieben: ↑So Aug 16, 2020 5:58 pm In der Beschreibung zum Cron ist noch ein Fehler bei der CronExpression, wenn man das aus der Knowledge-Base herauskopiert, dann funktioniert das so nicht...
Danke
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
-
- Reactions:
- Beiträge: 211
- Registriert: Mo Aug 13, 2018 9:32 pm
- Wohnort: Allgäu
- Hat sich bedankt: 106 Mal
- Danksagung erhalten: 91 Mal
Hallo Robert,
sorry das ich erst jetzt antworte.
Im Artikel Knowledge Base - 4.6.6 Verwendung von Standard Logikbausteinen in Custom Logik wird unter anderem der Cron / Timer beschrieben. Dabei wird auch erleutert wie Cron-Expressions auszusehen haben.
In der Erklärung zum Con, der Cron-String sieht dabei wie folgt aus ["Cron","$Start","$Alarm","$NextTrigger","$CronExpr"].
Die Cron-Expressions werden dann darunter an Beispielen dargestellt, z.B. ["$CronEpr1","string","1 2 3 * * *"] ... triggert täglich um 3:02:01
Wenn man nun einfach den Beispielhaften Cron-String in seinen Code kopiert und sich dann noch eine passenden Cron-Expression dazu "heraussucht", beides rasch in seinen Code kopiert, bei der Cron-Expression einfach die Nummer des Beispielt entfernt wundert man sich das der Code nicht "läuft".
Beim genauen hinsehen fällt einem dann auf das die Cron-Expression-Variable im Cron-String "$CronExpr" geschrieben wird und bei der Definition der Cron-Expression dann "$CronEpr", also ohne "x".
Sicher nur ein kleiner Typo aber der kann einem, verzweifelten Anfänger, ganz schön Nerven kosten
Kannst du ja bei Gelegenheit mal anpassen.
Gruß
Ralf
sorry das ich erst jetzt antworte.
Im Artikel Knowledge Base - 4.6.6 Verwendung von Standard Logikbausteinen in Custom Logik wird unter anderem der Cron / Timer beschrieben. Dabei wird auch erleutert wie Cron-Expressions auszusehen haben.
In der Erklärung zum Con, der Cron-String sieht dabei wie folgt aus ["Cron","$Start","$Alarm","$NextTrigger","$CronExpr"].
Die Cron-Expressions werden dann darunter an Beispielen dargestellt, z.B. ["$CronEpr1","string","1 2 3 * * *"] ... triggert täglich um 3:02:01
Wenn man nun einfach den Beispielhaften Cron-String in seinen Code kopiert und sich dann noch eine passenden Cron-Expression dazu "heraussucht", beides rasch in seinen Code kopiert, bei der Cron-Expression einfach die Nummer des Beispielt entfernt wundert man sich das der Code nicht "läuft".
Beim genauen hinsehen fällt einem dann auf das die Cron-Expression-Variable im Cron-String "$CronExpr" geschrieben wird und bei der Definition der Cron-Expression dann "$CronEpr", also ohne "x".
Sicher nur ein kleiner Typo aber der kann einem, verzweifelten Anfänger, ganz schön Nerven kosten
Kannst du ja bei Gelegenheit mal anpassen.
Gruß
Ralf
Timberwolf Server 2600 #196, VPN offen, Reboot nach Vereinbarung, BM 729
-
- Reactions:
- Beiträge: 375
- Registriert: So Apr 14, 2019 11:12 am
- Hat sich bedankt: 203 Mal
- Danksagung erhalten: 198 Mal
Ich bin auch einmal kurz drüber gestolpert, aber relativ schnell drauf gekommen.SchlaubySchlu hat geschrieben: ↑So Aug 23, 2020 3:55 pm [..] der kann einem, verzweifelten Anfänger, ganz schön Nerven kosten
Hilfreich für mich sind immer Minimalbeispiele.
Zum Beispiel so ähnlich wie das auf der Openhab-Seite bei den Bindings immer beschrieben wird.
@Robert_Mini, Du hast ja sehr viele Anteile in der Knowledge Base geschrieben. Editierst Du die auch regelmäßig oder wo/wie kann man "Verbesserungs-/Erweiterungsvorschläge" nennen?
Grüße
Adi
Grüße, Adi
TWS 2600 ID: 331, VPN geschlossen, Reboot nach Rücksprache
TWS 2600 ID: 331, VPN geschlossen, Reboot nach Rücksprache
-
- Reactions:
- Beiträge: 1152
- Registriert: Mi Okt 10, 2018 2:39 pm
- Hat sich bedankt: 744 Mal
- Danksagung erhalten: 923 Mal
Hallo miteinander
Das kann man hoffentlich bald im Wiki machen. Das heisst, wenn sich irgendwer um die Anmeldungen dafür kümmert, was aktuell leider nicht der Fall zu sein scheint...
-
- Elaborated Networks
- Reactions:
- Beiträge: 9689
- Registriert: So Aug 12, 2018 9:27 am
- Wohnort: Frauenneuharting
- Hat sich bedankt: 4831 Mal
- Danksagung erhalten: 7632 Mal
- Kontaktdaten:
Ich habe Dein Ticket, ich habe Deine Nachfrage und es hängt bei mir.... ich bin gerade im Urlaub und versuche alles zu schaffen was ich kann und bitte um etwas Geduldstarwarsfan hat geschrieben: ↑Di Aug 25, 2020 6:51 amDas heisst, wenn sich irgendwer um die Anmeldungen dafür kümmert, was aktuell leider nicht der Fall zu sein scheint..
lg
Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de
Link zu Impressum und Datenschutzerklärung oben.
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de
Link zu Impressum und Datenschutzerklärung oben.
-
- Reactions:
- Beiträge: 1152
- Registriert: Mi Okt 10, 2018 2:39 pm
- Hat sich bedankt: 744 Mal
- Danksagung erhalten: 923 Mal
Stefan, Stefan! Manchmal habe ich echt das Gefühl, Du schmeisst den Laden ganz alleine!?
Mea culpa, ich wollte auf keinen Fall den Urlaub stören, also lass es ruhig ruhig angehen, umso besser läuft's dann hinterher. Du hast super Mitarbeiter hier, die passen doch sicher auch gut auf, dass alles korrekt weiterläuft.