Aber wieso wird denn getriggert, obwohl die UND Bedingung garnicht wahr ist? Das leuchtet mir nicht ein. Wenn dem so ist, hast du natürlich vollkommen recht mit deiner Erklärung. Versuche das nächste Woche mal nachzustellen...
Danke schonmal
Verhalten CUxD-Timer (TIMER EVENT / STATE / TIMER GET)
Moderator: Co-Administratoren
-
- Beiträge: 14169
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 586 Mal
- Danksagung erhalten: 1501 Mal
Re: Verhalten CUxD-Timer (TIMER EVENT / STATE / TIMER GET)
Sie ist doch wahr, sowohl bei "State=TRUE" als auch bei "TIMER_GET<=0" ergibt bei einer Prüfung ein WAHR, wenn der Timer abgelaufen (oder gestoppt) ist. Das TIMER_EVENT scheint aber nur ein kurzfristiges Ereignis - eben ein Event - zu sein, welches bei einer späteren Prüfung eben den Wahrheitsgehalt FALSCH ergibt.dodi hat geschrieben:Aber wieso wird denn getriggert, obwohl die UND Bedingung garnicht wahr ist?
Insofern ergeben sich eben unterschiedliche Verhaltensweisen bei der Abfrage. Die Ursache ist u.a. die Art und Weise, wie die CCU die Programme abarbeitet. Egal welcher Trigger die Programmabarbeitung angestoßen hat, es läuft von oben nach unten durch und prüft die Bedingungen. Und sowohl "bei Änderung" als auch "bei Aktualisierung" ergeben ein Wahr, wenn der jeweilige Zustand zum Zeitpunkt der Prüfung erfüllt ist. Das Verhalten ist somit identisch wie "nur prüfen". Und es wird dann das DANN der ersten WAHR-ergebenden Bedingung ausgeführt. Die Prüfung auf EVENT ergibt dann ein FALSCH.
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
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
Verhalten CUxD-Timer (TIMER EVENT / STATE / TIMER GET)
Verstehe ich das richtig, dass, wenn sich das triggernde Element in einer UND Abfrage befindet, welche nicht wahr ist (in meinem Fall der Timer), trotzdem das komplette Programm abgearbeitet wird. Und wenn dann ein anderes UND zu diesem Zeitpunkt wahr ist, dieses ausgeführt wird? Ich war der Meinung, dass das UND des Triggers wahr sein muss, um die Abarbeitung des Programms zu starten...
Können wir den Fall am Beispiel für einen Wochentag mal "durchdeklinieren"?
Wenn ich dich richtig verstanden habe, dann ist an einem Wochentag das erste UND wahr, wenn der Astro Timer triggert und die Variable wird zum ersten mal gesetzt. Um 8:30 triggert jetzt der feste Timer, obwohl weder das zweite noch das dritte UND wahr sind. Da der erste Timer aber immer noch STATE True hat, wird die Variable gesetzt.
Hab ich das richtig verstanden?
Können wir den Fall am Beispiel für einen Wochentag mal "durchdeklinieren"?
Wenn ich dich richtig verstanden habe, dann ist an einem Wochentag das erste UND wahr, wenn der Astro Timer triggert und die Variable wird zum ersten mal gesetzt. Um 8:30 triggert jetzt der feste Timer, obwohl weder das zweite noch das dritte UND wahr sind. Da der erste Timer aber immer noch STATE True hat, wird die Variable gesetzt.
Hab ich das richtig verstanden?
- uwe111
- Beiträge: 4821
- Registriert: 26.02.2011, 22:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 246 Mal
- Kontaktdaten:
Re: Verhalten CUxD-Timer (TIMER EVENT / STATE / TIMER GET)
Ja, egal welcher Datenpunkt in der Programmverknüpfung die Triggerung auslöst... es wird immer das gesamte Programm von oben nach unten abgearbeitet.dodi hat geschrieben:Verstehe ich das richtig, dass, wenn sich das triggernde Element in einer UND Abfrage befindet, welche nicht wahr ist (in meinem Fall der Timer), trotzdem das komplette Programm abgearbeitet wird. Und wenn dann ein anderes UND zu diesem Zeitpunkt wahr ist, dieses ausgeführt wird?
Viele Grüße
Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN Download: CUxD 2.11, SSH KeyDir
SPENDEN Download: CUxD 2.11, SSH KeyDir
Verhalten CUxD-Timer (TIMER EVENT / STATE / TIMER GET)
Ja super, das ich das nun endlich auch gerafft habe. Danke euch für eure Ruhe mir das nochmal klar zu machen. Ich habe es mehrfach schon gelesen aber immer anders interpretiert, erst mit dem Post von XEL66 ist der Groschen gefallen.
Sorry dafür und nochmals Danke.
Sorry dafür und nochmals Danke.
-
- Beiträge: 14169
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 586 Mal
- Danksagung erhalten: 1501 Mal
Re: Verhalten CUxD-Timer (TIMER EVENT / STATE / TIMER GET)
Wenn Du die Reihenfolge umkehrst, also mit dem spätesten Auslöser beginnst, dann kannst Du das Programm auch mit den anderen Triggern nutzen. Man muss bei Programmen mit solch verODERten Triggerblöcken die Reihenfolge beachten oder auf eine zusätzliche Art gegeneinander verriegeln. Manchmal kann man diese Eigenheit auch ausnutzen. Das sind dann aber ganz spezielle Anwendungsfälle.
Gruß Xel66
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
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
Re: Verhalten CUxD-Timer (TIMER EVENT / STATE / TIMER GET)
Ja, da habe ich als ich es dann verstanden hatte auch gleich drüber nachgedacht. An der Stelle bin ich dann aber ein Freund von Verriegelungen. Die verstehe ich dann auch noch in ein paar Monaten, wenn ich mir die Logik nochmal anschaue.
Nochmal vielen Dank.
Nochmal vielen Dank.