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

[Problem] Verständnisfrage Cron

Informationen und Diskussionen über Logik-Engine und Logik-Editor
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

Ersteller
SchlaubySchlu
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

#1

Beitrag von SchlaubySchlu »

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.
Cron_Grafana.JPG
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

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#2

Beitrag von Robert_Mini »

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
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
SchlaubySchlu
Reactions:
Beiträge: 211
Registriert: Mo Aug 13, 2018 9:32 pm
Wohnort: Allgäu
Hat sich bedankt: 106 Mal
Danksagung erhalten: 91 Mal

#3

Beitrag von SchlaubySchlu »

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
Timberwolf Server 2600 #196, VPN offen, Reboot nach Vereinbarung, BM 729

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#4

Beitrag von Robert_Mini »

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...
Welche Cron-Expression meinst du genau? Ich würde das natürlich gerne richtig stellen.

Danke
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
SchlaubySchlu
Reactions:
Beiträge: 211
Registriert: Mo Aug 13, 2018 9:32 pm
Wohnort: Allgäu
Hat sich bedankt: 106 Mal
Danksagung erhalten: 91 Mal

#5

Beitrag von SchlaubySchlu »

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
Timberwolf Server 2600 #196, VPN offen, Reboot nach Vereinbarung, BM 729

adimaster
Reactions:
Beiträge: 375
Registriert: So Apr 14, 2019 11:12 am
Hat sich bedankt: 203 Mal
Danksagung erhalten: 198 Mal

#6

Beitrag von adimaster »

SchlaubySchlu hat geschrieben: So Aug 23, 2020 3:55 pm [..] der kann einem, verzweifelten Anfänger, ganz schön Nerven kosten ;-)
Ich bin auch einmal kurz drüber gestolpert, aber relativ schnell drauf gekommen.
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
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1152
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 744 Mal
Danksagung erhalten: 923 Mal

#7

Beitrag von starwarsfan »

Hallo miteinander
adimaster hat geschrieben: Mo Aug 24, 2020 9:54 pm @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?
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... :think:
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

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

#8

Beitrag von StefanW »

starwarsfan 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..
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 Geduld

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.

adimaster
Reactions:
Beiträge: 375
Registriert: So Apr 14, 2019 11:12 am
Hat sich bedankt: 203 Mal
Danksagung erhalten: 198 Mal

#9

Beitrag von adimaster »

StefanW hat geschrieben: Di Aug 25, 2020 7:56 am ich bin gerade im Urlaub und versuche alles zu schaffen was ich kann und bitte um etwas Geduld
Das brennt ja nicht wirklich! Schönen Resturlaub noch!!! :handgestures-thumbsup:
Grüße, Adi
TWS 2600 ID: 331, VPN geschlossen, Reboot nach Rücksprache
Benutzeravatar

starwarsfan
Reactions:
Beiträge: 1152
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 744 Mal
Danksagung erhalten: 923 Mal

#10

Beitrag von starwarsfan »

StefanW hat geschrieben: Di Aug 25, 2020 7:56 am 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 Geduld
Stefan, Stefan! Manchmal habe ich echt das Gefühl, Du schmeisst den Laden ganz alleine!? :think:
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. :handgestures-thumbupright: :clap:
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -
Antworten

Zurück zu „Logikengine & Logik-Editor“