Kanal 0 triggert Programm - Bug oder Feature?

Fragen, Support etc.

Moderator: Co-Administratoren

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von MichaelN » 08.09.2020, 22:22

Kann an deinen test Programmen leider keinerlei Ähnlichkeit mit dem von mir beschrieben test Aufbau feststellen. Das man mit anderen Tests andere Ergebnisse erzielt ist erstmal wenig überraschend.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Xel66 » 08.09.2020, 22:24

Logisch. Ich wollte die Testumgebung auch so einfach wie möglich gestalten. Da bekannterweise Programme auch mal intern kaputt sind, wenn man sie häufig editiert, obwohl sie korrekt in der WebUI dargestellt werden, wollte ich solches eben durch einen möglichst einfachen Aufbau ausschließen. Es bringt ja nichts, lauter Nebenbedingungen einzubauen, die letztendlich keine Funktion haben. Unterm Strich bleibt aber, dass Kanal 0 nicht triggert, sondern dass dieser Kanal immer gemeinsam mit dem Kanal 1 übermittelt wird. Daher ist die Behauptung, dass dieser Kanal irgendwas triggern würde erst mal falsch (zumindest, wenn man wie in Deinem Programm auch den Kanal 1 als Programmtrigger definiert hat).

Gruß Xel66
Zuletzt geändert von Xel66 am 08.09.2020, 22:27, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
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

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von MichaelN » 08.09.2020, 22:27

Mir fehlen langsam die Worte
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Xel66 » 08.09.2020, 22:28

Hast sie doch gefunden. Kannst Du definitiv ausschließen, dass Dein Programm nicht intern kaputt ist? Wenn ja, woran machst Du das fest? Übrigens hatte ich meinen Beitrag oben noch ergänzt. Die Ähnlichkeit meines Testaufbaus ist mit der zyklischen Statusmeldung des verwendeten TFK ausreichend gegeben.

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

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von MichaelN » 08.09.2020, 22:32

Habe ich alles schon geschrieben, wiederhole mich jetzt nicht mehr
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Xel66 » 09.09.2020, 09:00

MichaelN hat geschrieben:
08.09.2020, 22:32
Habe ich alles schon geschrieben...
Du hattest auch geschrieben, dass der Kanal 0 Dein Programm triggern würde (oder die Aktualisierung der Daten des Kanal 0). Und diese Behauptung ist definitiv falsch, denn bei der zyklischen Statusübermittlung wird auch der Statuskanal 1 nachweislich übertragen. Die Aktualisierung des Zeitstempels dieses Kanals erfolgt aber nur bei Statuswechsel. Sogar die Tabellenspalte der Geräteübersicht trägt auch den korrekten dazu passenden Namen "Letzte Änderung" und nicht "letzte Aktualisierung".

Und wenn Du mal in Dein Diagramm schaust und die ca. 45 Minuten als Aktualisierungsintervall als Basis nimmst, dann wirst du feststellen, dass zum Zeitpunkt des behaupteten Triggerns durch den Kanal 0 (was aber, wie bereits dargelegt, falsch ist) um ca. 19:56 Uhr kein Pfad Deines Programms WAHR gewesen ist und das SONST korrekterweise abgearbeitet wurde. Denn da war die Temperatur zwischen 17 und 19°C im Gegensatz zu 45 Minuten vorher. Und dieser Temperaturbereich ist in Deinem Programm nicht definiert.

Weiterhin ich vermute mal, wenn Du weiter gewartet hättest, wäre das zugehörige erste DANN beim Eintritt in den nächsten definierten Temperaturbereich (16 bis 17°C) wieder getriggert worden, auch wenn sich der Status des eigentlichen Triggers nicht geändert hat. Womit auch dieses behauptete "verspätete einmalige" Triggern plausibel ist, denn zu diesem Zeitpunkt war kein (SONST-) WENN erfüllt. Das Abarbeiten des SONST hat also seine Ursache in Deinem Programm, der Eigenheit, dass die Prüfung auf "bei Änderung" vermutlich (entgegen der Darstellung im Handbuch) Teil der Bedingungsprüfung des Programms ist, und ist durchaus plausibel.

Im Gegensatz dazu verhält sich mein Testcase nicht unbedingt gemäß meiner Hypothese bezüglich der Bedingungsprüfung sondern mehr entsprechend der Darstellung im Handbuch. Ich hätte erwartet, dass das Programm (SONST) auch zyklisch abgearbeitet wird. Die Bedingungsprüfung wird ja zyklisch getriggert. Aber die Da werde ich aber noch mit dem Hinzufügen weiterer Prüfbedingungen weitertesten.

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

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von MichaelN » 09.09.2020, 12:04

Xel66 hat geschrieben:
09.09.2020, 09:00
Und wenn Du mal in Dein Diagramm schaust und die ca. 45 Minuten als Aktualisierungsintervall als Basis nimmst, dann wirst du feststellen, dass zum Zeitpunkt des behaupteten Triggerns durch den Kanal 0 (was aber, wie bereits dargelegt, falsch ist) um ca. 19:56 Uhr kein Pfad Deines Programms WAHR gewesen ist und das SONST korrekterweise abgearbeitet wurde. Denn da war die Temperatur zwischen 17 und 19°C im Gegensatz zu 45 Minuten vorher. Und dieser Temperaturbereich ist in Deinem Programm nicht definiert.
Genau. Das ist eben das Ziel das SONST zum Auslösen zu bringen. Die SONST-WENN verhalten sich nämlich korrekt.
Deine Begründung, warum das SONST auslöst, ist auch erstmal korrekt.
Die große Preisfrage: müsste denn nicht bei jeder zyklischen Übertragung das SONST auslösen? Warum geschieht es nur 1x?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

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: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Xel66 » 09.09.2020, 12:43

MichaelN hat geschrieben:
09.09.2020, 12:04
Die große Preisfrage: müsste denn nicht bei jeder zyklischen Übertragung das SONST auslösen? Warum geschieht es nur 1x?
Eigentlich sollte es nicht zyklisch ausgelöst werden, wenn sich das System so verhält, wie es im Handbuch beschrieben ist. Das eine Mal ist eben, weil in keinem der SONST WENN ein WAHR erreicht werden konnte, weil es keinen definierten Temperaturbereich gab, der die aktuelle Temperatur abdeckt. Darum wurde auch das SONST ausgeführt. Das mit der zyklischen Triggerung, wenn sich der Status nicht geändert hat, will ich noch überprüfen. Rein logisch betrachtet, sollte das auch nur getriggert werden, wenn sich der aktuelle Status irgendwie von .LastValue() unterscheidet, denn nur eine Statusänderung soll ja das Programm triggern und nicht die Aktualisierung. Dass das eben unter bestimmten Umständen trotzdem passiert, ist ja gerade Gegenstand meiner Nachforschung. Ich möchte da eine reproduzierbare "Fehlfunktion" haben. Aus diesem Grund bin ich auch mit einem einfachen Testcase gestartet.

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

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: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Xel66 » 12.09.2020, 01:19

Update:
So, habe nun einen weiteren Test gemacht und die Bedingungen im WENN und SONST WENN einfach noch mit einer veränderlichen Zusatzbedingung versehen. Der Einfachheit halber habe ich das Zeitmodul mit der Astrofunktion genommen. Und nun kommt es auch zum Triggern und Abarbeiten im Takt der zyklischen Statusmeldungen (erstes SONST WENN).
Test zyklische Meldung V3.jpg
Den Screeshot habe ich kurz vor Mitternacht gezogen. Also war seit 19:51 Uhr wieder Ruhe, weil das zweite SONST WENN erfüllt war, es aber keine Komplementärzustandsabfrage gibt. Eigentlich hätte schon der Eintrag um 19:51 Uhr nicht existieren dürfen, weil es ja keine Änderung im Trigger, sondern nur in der zusätzlichen Bedingung gab. Somit hätte ich jetzt eine reproduzierbare Konstellation für das fehlerhafte Triggern durch zyklische Statusübermittlungen gefunden.

Das Geheimnis scheint zu sein, dass vom eigentlichen Trigger (Statusübermittlung im Kanal 1) komplemantäre Abfragen als Trigger im Programm enthalten sind, die mit einer Zusatzbedingung verknüpft sind. Abhilfe wird wohl nur sein, diese Routinen in separate Programme zu splitten. Ich teste noch weiter. Vielleicht stelle ich mal was zusammen und sende das an eQ-3. Wenn die aber ein Backup haben wollen, dann ist's Essig mit Support und der Aussicht auf Fehlerbehebung. Dann wird wieder der Superjoker "Addon installiert!" gezogen. Darum will ich einen möglichst einfachen und reproduzierbaren Testcase zusammenstellen, welchen die selbst auf die Schnelle nachklicken können. Wollen die ein Backup, muss ich die Reserve-Reserve-CCU2 (ja, ich hatte damals zwei, die ich im Wechsel bei Updates betrieben habe) rausholen, plattmachen und dort noch mal alles nachstellen. We'll see.

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

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von MichaelN » 12.09.2020, 08:50

Ah, wir kommen der Sache näher. Aus den gleichen Gründen schreibe ich Eq-3 erst gar nicht an
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Antworten

Zurück zu „Allgemeines zur OCCU“