Die Logik von WebUI - Programmen

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Gluehwurm
Beiträge: 12432
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Die Logik von WebUI - Programmen

Beitrag von Gluehwurm » 07.08.2021, 20:28

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

Xel66
Beiträge: 14085
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 580 Mal
Danksagung erhalten: 1492 Mal

Re: Die Logik von WebUI - Programmen

Beitrag von Xel66 » 07.08.2021, 21:57

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
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“