Seite 18 von 18

Re: Die Logik von WebUI - Programmen

Verfasst: 07.08.2021, 20:28
von Gluehwurm
Wie im WebUI-Handbuch auch zu lesen ist, sind Programmstart und Prüfung der Bedingungen zwei paar Stiefel.

Um "bei Aktualisierung" zu bleiben, das Programm wird gestartet, wenn der Auslöse-Wert aktualisiert wird. Dann läuft das Programm los und die Bedingung(en) wird/werden geprüft. Wenn Bedingung(en) erfüllt -> entsprechende Ausführung im DANN, usw.

a) Nein
b) Ja

Re: Die Logik von WebUI - Programmen

Verfasst: 07.08.2021, 21:57
von Xel66
Man muss sich gedanklich von dem "Starten eines Programms" trennen, denn das bietet viel zu viel Missverständnismöglichkeiten. Hier versteht jeder was anderes drunter. Für den einen wird das Programm getriggert, für den anderen wird es abgearbeitet (Aktionen ausgeführt). Es ist einfacher, Programme getrennt in Bedingungsteil (WENN, SONST WENN) und Ausführungsteil (DANN, SONST) zu betrachten. Die Prüfung der Bedingungen findet immer statt, wenn sich ein enthaltener Trigger geändert hat. Ergibt die Prüfung einer der angelegten Bedingungen im WENN oder SONST WENN ein WAHR, dann wird das zugehörige DANN abgearbeitet. Ist keine der angelegten verknüpften Bedingungen WAHR, dann wird ein ggf. enthaltenes SONST abgearbeitet. Bei all diesen "Aktionen" wird der Zeitstempel des Programms aktualisiert.

Es stellt sich weiterhin so dar, als ob die Prüfung auf "bei Änderung" ein Teil der Bedingungsprüfung des Programms ist, auch wenn es anders im Handbuch steht. Dort wird der Eindruck vermittelt, dass diese Prüfung (wird ein definierter Grenzwert über-/unterschritten?, wechselt ein boolscher Status?) vor dem Starten der Prüfung der verknüpften Bedingungen eines Programms erledigt wird. Enthält ein Programm auch nur einen Trigger, dann stellt es sich auch genau so dar. Sind mehrere verknüpfte Bedingungen vorhanden, stimmt die Beschreibung im Handbuch definitiv nicht mehr, was man schon an der Aktualisierung des Zeitstempels sieht, auch wenn keine Aktion ausgeführt wurde.

Gruß Xel66