Hilfe Grundverständnis Bedingungen
Moderator: Co-Administratoren
-
- Beiträge: 712
- Registriert: 09.04.2017, 10:16
- System: CCU
- Wohnort: Nierstein [D]
- Hat sich bedankt: 90 Mal
- Danksagung erhalten: 68 Mal
Hilfe Grundverständnis Bedingungen
Hallo zusammen,
irgendwie fand ich das Handbuch "20.2.1.5 Bedingungen definieren" nur bedingt hilfreich und eine Forensuche ist immer nur so gut, wie der gewählte Suchbegriff.
Mein Problem:
Aktuell baue ich relativ verschachtelte Programme um Auslöser und Prüfgrößen abzufragen. Die Variablen / Geräte / Whatever können aber auch beides sein.
Ein Beispiel: Würde ich, wenn ich mir den 2. Prüfbaum spare und beide Geräte (hier Sensoren) auf "Auf Änderung auslösen" setze, das gleiche Ergebnis erzielen? Sind also Bedingungen, die auf "auf Änderungen auslösen" stehen auch gleichzeitig zu erfüllende Prüfbedingungen?
Vielen Dank für Eure Hilfe.
Ralf
irgendwie fand ich das Handbuch "20.2.1.5 Bedingungen definieren" nur bedingt hilfreich und eine Forensuche ist immer nur so gut, wie der gewählte Suchbegriff.
Mein Problem:
Aktuell baue ich relativ verschachtelte Programme um Auslöser und Prüfgrößen abzufragen. Die Variablen / Geräte / Whatever können aber auch beides sein.
Ein Beispiel: Würde ich, wenn ich mir den 2. Prüfbaum spare und beide Geräte (hier Sensoren) auf "Auf Änderung auslösen" setze, das gleiche Ergebnis erzielen? Sind also Bedingungen, die auf "auf Änderungen auslösen" stehen auch gleichzeitig zu erfüllende Prüfbedingungen?
Vielen Dank für Eure Hilfe.
Ralf
Aufgrund wiederholter nerviger Werbung und "product placement" würde ich mein Haus eher entsmarten als Mediola/NEO zu kaufen.
-
- Beiträge: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Hilfe Grundverständnis Bedingungen
Ja!
Begründung:
Gemäß der Logik der WebUi-Programm wird ein Programm abgearbeitet (und wirklich nur dann - es wird nicht ständig geprüft!), wenn eine einzige Bedingungszeile mit "bei Änderung auslösen" ihren Inhalt ändert.
Erst dann läuft das Programm ab und prüft von oben nach unten, ob ein Bedingungsblock wahr ist, führt diesen ggfls. aus und geht wieder schlafen.
Die "Auslöser" am Ende jeder zeile könnte man so ausführlicher beschreiben:
nur prüfen = erst wenn das Programm getriggert wird (einmalig abläuft) wird diese zeile in die Prüfung mit eingebunden
bei Änderung auslösen = das Programm auslösen, wenn sich der Wahrheitsgehalt dieser einzelnen Zeile ändert
bei aktualisierung auslösen = das Programm jedesmal auslösen, wenn der Wert dieser einzelnen Zeile aktualisiert wird (z.B. bei einem Temperatursensor, auch wenn der Wert gleich bleibt)
Begründung:
Gemäß der Logik der WebUi-Programm wird ein Programm abgearbeitet (und wirklich nur dann - es wird nicht ständig geprüft!), wenn eine einzige Bedingungszeile mit "bei Änderung auslösen" ihren Inhalt ändert.
Erst dann läuft das Programm ab und prüft von oben nach unten, ob ein Bedingungsblock wahr ist, führt diesen ggfls. aus und geht wieder schlafen.
Die "Auslöser" am Ende jeder zeile könnte man so ausführlicher beschreiben:
nur prüfen = erst wenn das Programm getriggert wird (einmalig abläuft) wird diese zeile in die Prüfung mit eingebunden
bei Änderung auslösen = das Programm auslösen, wenn sich der Wahrheitsgehalt dieser einzelnen Zeile ändert
bei aktualisierung auslösen = das Programm jedesmal auslösen, wenn der Wert dieser einzelnen Zeile aktualisiert wird (z.B. bei einem Temperatursensor, auch wenn der Wert gleich bleibt)
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
-
- Beiträge: 712
- Registriert: 09.04.2017, 10:16
- System: CCU
- Wohnort: Nierstein [D]
- Hat sich bedankt: 90 Mal
- Danksagung erhalten: 68 Mal
Re: Hilfe Grundverständnis Bedingungen
Super,
vielen Dank für die Rückmeldung!
Dann werde ich mal nach & nach die ganzen Programme verschlanken.
Ralf
vielen Dank für die Rückmeldung!
Dann werde ich mal nach & nach die ganzen Programme verschlanken.
Ralf
Aufgrund wiederholter nerviger Werbung und "product placement" würde ich mein Haus eher entsmarten als Mediola/NEO zu kaufen.
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Hilfe Grundverständnis Bedingungen
Was ich auch erst kürzlich lernen musste ist, dass "bei Akualisierung auslösen" selbst dann das Programm triggert, wenn die Nebenbedingung überhaupt nicht erfüllt ist.
Beispiel: Bei einem Fenster-Drehgriffsensor mit den Zuständen "offen", "gekippt" und "geschlossen" erfolgt selbst dann ein Triggern des Programms, wenn sich der Zustand von "offen" auf "gekippt" ändert, obwohl die Bedingung "geschlossen" "bei Aktualisierung auslösen" lautet. Wenn nun irgendwo ein Programmzweig mit der Bedingung "gekippt" "nur prüfen" existiert, wird dieser ausgelöst.
Bei deinem obigen Programm musst du übrigens aufpassen, ob du die beiden "bei Änderung auslösen"-Bedingungen veroderst oder verundest.
"A" "bei Änderung auslösen" UND "B" "bei Änderung auslösen" bedeutet, dass im Falle einer erfüllten Änderung der Nebenbedingung "A" oder "B" die jeweils andere "B" oder "A" geprüft wird. Das Programm löst also nur aus, wenn sich "A" oder "B" ändert UND "B" oder "A" zutrifft.
Bei "A" "bei Änderung auslösen" ODER "B" "bei Änderung auslösen" wird die jeweils andere Nebenbedingung nicht geprüft. Da genügt es, wenn sich "A" oder "B" ändern unabhängig vom Zustand der jeweils anderen Nebenbedingung.
Beispiel: Bei einem Fenster-Drehgriffsensor mit den Zuständen "offen", "gekippt" und "geschlossen" erfolgt selbst dann ein Triggern des Programms, wenn sich der Zustand von "offen" auf "gekippt" ändert, obwohl die Bedingung "geschlossen" "bei Aktualisierung auslösen" lautet. Wenn nun irgendwo ein Programmzweig mit der Bedingung "gekippt" "nur prüfen" existiert, wird dieser ausgelöst.
Bei deinem obigen Programm musst du übrigens aufpassen, ob du die beiden "bei Änderung auslösen"-Bedingungen veroderst oder verundest.
"A" "bei Änderung auslösen" UND "B" "bei Änderung auslösen" bedeutet, dass im Falle einer erfüllten Änderung der Nebenbedingung "A" oder "B" die jeweils andere "B" oder "A" geprüft wird. Das Programm löst also nur aus, wenn sich "A" oder "B" ändert UND "B" oder "A" zutrifft.
Bei "A" "bei Änderung auslösen" ODER "B" "bei Änderung auslösen" wird die jeweils andere Nebenbedingung nicht geprüft. Da genügt es, wenn sich "A" oder "B" ändern unabhängig vom Zustand der jeweils anderen Nebenbedingung.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Hilfe Grundverständnis Bedingungen
Kap. 18 im aktuellen WebUI-Handbuch.
"18.2.1.1 Grundsätzliches zur Programmerstellung" erklärt das Verhalten.
Gruß
Bruno
"18.2.1.1 Grundsätzliches zur Programmerstellung" erklärt das Verhalten.
Gruß
Bruno
- robbi77
- Beiträge: 13858
- Registriert: 19.01.2011, 19:15
- System: CCU
- Wohnort: Landau
- Hat sich bedankt: 182 Mal
- Danksagung erhalten: 739 Mal
Re: Hilfe Grundverständnis Bedingungen
Wieso sollte hier nichts zu finden sein?
Das dürfte ja sogar angepinnt sein ...
viewtopic.php?f=31&t=4251
Das dürfte ja sogar angepinnt sein ...
viewtopic.php?f=31&t=4251
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Hilfe Grundverständnis Bedingungen
Entweder ich habe es überlesen, oder es steht eben leider doch nicht explizit drin, wie sich die folgenden Verknüpfungen im Einzelnen auf das Triggern eines Programms auswirken:
- "Bedingung A" "auf Änderung auslösen" UND "Bedingung B" "auf Änderung auslösen"
- "Bedingung A" "auf Aktualisierung auslösen" UND "Bedingung B" "auf Aktualisierung auslösen"
- "Bedingung A" "auf Änderung auslösen" UND "Bedingung B" "auf Aktualisierung auslösen"
- "Bedingung A" "auf Änderung auslösen" ODER "Bedingung B" "auf Änderung auslösen"
- "Bedingung A" "auf Aktualisierung auslösen" ODER "Bedingung B" "auf Aktualisierung auslösen"
- "Bedingung A" "auf Änderung auslösen" ODER "Bedingung B" "auf Aktualisierung auslösen"
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
-
- Beiträge: 712
- Registriert: 09.04.2017, 10:16
- System: CCU
- Wohnort: Nierstein [D]
- Hat sich bedankt: 90 Mal
- Danksagung erhalten: 68 Mal
Re: Hilfe Grundverständnis Bedingungen
Vielen Dank für die vielen Hinweise, mein Handbuch war veraltet, auch wenn sich der Inhalt nicht verändert hat.
Aber offensichtlich bin ich ja nicht der einzige der mit den Bedingungen etwas kämpft.
Wenn EIN Fenster geschlossen wird, prüfe ob das ANDERE Fenster auch geschlossen ist, dann setze Variable auf zu, sonst auf offen.
(Gemeinsam angesteuerte Dachflächenfenster viewtopic.php?f=18&t=37420)
Ralf
Aber offensichtlich bin ich ja nicht der einzige der mit den Bedingungen etwas kämpft.
Das ist genau das gewünschte Verhalten: In Prosa:"A" "bei Änderung auslösen" UND "B" "bei Änderung auslösen" bedeutet, dass im Falle einer erfüllten Änderung der Nebenbedingung "A" oder "B" die jeweils andere "B" oder "A" geprüft wird. Das Programm löst also nur aus, wenn sich "A" oder "B" ändert UND "B" oder "A" zutrifft.
Wenn EIN Fenster geschlossen wird, prüfe ob das ANDERE Fenster auch geschlossen ist, dann setze Variable auf zu, sonst auf offen.
(Gemeinsam angesteuerte Dachflächenfenster viewtopic.php?f=18&t=37420)
Ralf
Aufgrund wiederholter nerviger Werbung und "product placement" würde ich mein Haus eher entsmarten als Mediola/NEO zu kaufen.
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Hilfe Grundverständnis Bedingungen
Ändert sich Bedingung A oder B wird das Programm gestartet
Aktualisierung von A oder B startet das Programm2 "Bedingung A" "auf Aktualisierung auslösen" UND "Bedingung B" "auf Aktualisierung auslösen"
Änderung von A oder Aktualisierung von B startet Programm3 "Bedingung A" "auf Änderung auslösen" UND "Bedingung B" "auf Aktualisierung auslösen"
Siehe 14 "Bedingung A" "auf Änderung auslösen" ODER "Bedingung B" "auf Änderung auslösen"
Siehe 25 "Bedingung A" "auf Aktualisierung auslösen" ODER "Bedingung B" "auf Aktualisierung auslösen"
Siehe 36 "Bedingung A" "auf Änderung auslösen" ODER "Bedingung B" "auf Aktualisierung auslösen"
Die Auswertung der Bedingungen, usw., wird erst im Programmlauf (Programm ist gestartet) durchgeführt.
Das ist die Aussage z.B. dieses Auszugs aus dem WebUI-Handbuch:
"Die Trigger-Ereignisse sind komplett losgelöst von den logischen Abfrage-Bedingungen der
Programme zu betrachten ...
Das Ereignis „Änderung“ ist selbst also nicht Teil der logischen Abfrage, sondern dient lediglich als ein Auslöser,
um die Prüfung und Abarbeitung des gesamten Programms zu starten."
Zuletzt geändert von Gluehwurm am 06.06.2019, 20:00, insgesamt 1-mal geändert.
- robbi77
- Beiträge: 13858
- Registriert: 19.01.2011, 19:15
- System: CCU
- Wohnort: Landau
- Hat sich bedankt: 182 Mal
- Danksagung erhalten: 739 Mal
Re: Hilfe Grundverständnis Bedingungen
Die „Verknüpfung“ ist egal, wenn sich eine Bedingung ändert oder aktualisiert, wird das Programm gestartet.
Wenn es durch eine Änderung oder Aktualisierung gestartet wurde, erst dann greift die „Verknüpfung“ mit UND/ODER.
Weil nach dem Start des Programmes werden die Bedingungen „geprüft“, ob die „Verknüpfungen“ passen oder eben nicht.
Und danach wird entschieden ob DANN oder SONST.
.....
Es ist eigentlich gar nicht so schwer, das schwere ist die Bedingungen so zu verknüpfen das hinten was gescheites raus kommt .... da die ccu die Eigenheit besitzt, sobald eine Bedingung zu trifft das zugehörige DANN/SONST ausgeführt wird und das Programm beendet wird. Deshalb auch immer mal der Hinweis, lieber viele kleine Programme als ein Monsterprogramm.
Nochmal zum eigentlichen Programm:
Wenn
F1 zu auf änderung
Und
F2 zu auf änderung
Dann
SV-F zu
Sonst
SV-F auf
Wenn es durch eine Änderung oder Aktualisierung gestartet wurde, erst dann greift die „Verknüpfung“ mit UND/ODER.
Weil nach dem Start des Programmes werden die Bedingungen „geprüft“, ob die „Verknüpfungen“ passen oder eben nicht.
Und danach wird entschieden ob DANN oder SONST.
.....
Es ist eigentlich gar nicht so schwer, das schwere ist die Bedingungen so zu verknüpfen das hinten was gescheites raus kommt .... da die ccu die Eigenheit besitzt, sobald eine Bedingung zu trifft das zugehörige DANN/SONST ausgeführt wird und das Programm beendet wird. Deshalb auch immer mal der Hinweis, lieber viele kleine Programme als ein Monsterprogramm.
Nochmal zum eigentlichen Programm:
Wenn
F1 zu auf änderung
Und
F2 zu auf änderung
Dann
SV-F zu
Sonst
SV-F auf
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...