Kanal 0 triggert Programm - Bug oder Feature?

Fragen, Support etc.

Moderator: Co-Administratoren

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 » 07.09.2020, 14:33

MichaelN hat geschrieben:
07.09.2020, 14:31
Mein SRH hat aber nur auf Kanal 0 gesendet.
Woran machst Du das fest? Nur am Zeitstempel des Kanals? Der ist trügerisch. Der wird nur bei Änderung im Statuskanal aktualisiert. Hatten wir gerade kürzlich in einem anderen Thread.

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 » 07.09.2020, 14:36

An den Zeitstempel die ich mit Blacks SDV ausgelesen habe.
UND: Wenn der Kanal 1 auch alle ~40 Minuten aktualisiert würde, würde das Programm auch entsprend oft triggern. Es triggert aber nur 1x "zuviel" nach der Betätigung des SRH.
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 » 07.09.2020, 15:19

Update: Gerade hat sich der Drehgriffkontakt meiner Terrassentür mit seiner zyklischen Statusübermittlung gemeldet. Es wurden zeitgleich in Kanal 1 der Status (STATE) und in Kanal 0 die übrigen Verwaltungsinformationen (ERROR CODE, UNREACH, LWO_BAT etc.) übertragen. Die Übermittlung unterscheidet sich somit nicht von einer normalen Statusübertragung bei Änderung der Stellung des Drehgriffes. Im WebUI wurde der Zeitstempel bei dieser zyklischen Übermittlung nicht aktualisiert (trägt die Uhrzeit der letzten Betätigung). Insofern ist es auch nicht verwunderlich, dass der SDV diese Zeitstempel plausibel ausgibt.

Insofern triggert nicht der Kanal 0 die Bedingungsprüfung Deines Programms, sondern die zyklische Statusübermittlung auf Kanal 1. Gerade bei mehrfacher Verwendung des gleichen Triggers innerhalb eines Programms in unterschiedlichen Bedingungen (ggf. verknüpft mit weiteren Werten oder Statusinformationen) kann das somit zur Ausführung eines SONST führen. Das Programm verhält sich in diesem Falle wie "bei Aktualisierung". Ist also ein Feature und der Eigenheit geschuldet, dass eben die Auswertung auf "bei Änderung" (im Gegensatz zur Darstellung im WebUI-Handbuch) Teil der Bedingungsprüfung des Programms und nicht des eigentlichen Triggers im Vorfeld zu sein scheint. Auskunft über die wahre Abarbeitung solcher Informationen kann aber nur jemand mit Einblick in den Quellcode der Programmierung geben.

Gruß Xel66
Zuletzt geändert von Xel66 am 07.09.2020, 15:22, 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

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Black » 07.09.2020, 15:22

eigentlich isses ein BUG...

auf Änderung heisst, triggerung des Programmes findet nur statt, wenn sich Value in den testbeerich bereich hinein geändert hat.
Dieses Verhalten entspricht: auf Aktualisierung und ist damit buggy.

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

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 » 07.09.2020, 15:31

Black hat geschrieben:
07.09.2020, 15:22
auf Änderung heisst, triggerung des Programmes findet nur statt, wenn sich Value in den testbeerich bereich hinein geändert hat.
Nun ja, für ein einzelnes Programm und die einfache Verwendung des Triggers verhält es sich auch so und ist damit konform mit der Darstellung im Handbuch. Aber gerade in komplexen Programmen kommt diese Eigenheit zum Tragen. Dann muss die Prüfung auf "bei Änderung" bzw. auf "bei Aktualisierung" im Vorfeld gemacht werden und darf nicht Teil der Bedingungsprüfung des Programms sein. Hierzu müssten die Status der Geräte nochmals zwischengespeichert werden und eine Auswertung auf "bei Änderung/Aktualisierung" aus den Bedingungsprüfungen der Programme ausgelagert werden (oder alternativ der Zeitstempel der Statusinformation gegengeprüft werden).

Könnte man an eQ-3 melden. Gerade die Diskrepanz zwischen Darstellung im WebUI-Handbuch und realem Verhalten in komplexeren Programmen macht es problematisch. Ich glaube aber kaum, dass sie so grundsätzlichen Programmcode verändern, weil die Seiteneffekte kaum zu überschauen sind. Es müsste das Triggerverhalten aller Geräte um diese Funktion ergänt werden. Schließlich handelt es sich bei der Logikengine nicht um eine Eigenentwicklung sondern um zugekauften Programmcode. Heißt, die eigenlichen Verantwortlichen sitzen ganz woanders. Vielleicht könnte sich auch jmaus des Problems annehmen, wenn er Zugriff auch den dieser Funktion zugrundeligenden Code hat.

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

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Daimler » 07.09.2020, 15:58

Hi,
Xel66 hat geschrieben:
07.09.2020, 15:31
Vielleicht könnte sich auch jmaus des Problems annehmen, wenn er Zugriff auch den dieser Funktion zugrundeligenden Code hat.
Da halte ich aber mal sowas von überhaupt nichts von.

Das würde nur zu endlosen Freds führen - der Fragesteller setzt die originale oder fast originale FW (CCU3, Charly oder piVCCU) ein und der Antwortende RMatic und erklärt den Fragestellenden spätestens auf der 3. Seite für do.. :twisted:

Bei solch grundlegenden Sachen sollte kein System eine Extrawurst bilden.

My 2 Cents.
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

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 » 07.09.2020, 16:05

Ich mache es mir da sehr einfach:
Entweder wird ein Wert übermittelt und der Zeitstempel aktualisiert oder eben nicht
Alles andere ist ein Bug
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 +++

Daimler
Beiträge: 9114
Registriert: 17.11.2012, 10:47
System: Alternative CCU (auf Basis OCCU)
Wohnort: Köln
Hat sich bedankt: 37 Mal
Danksagung erhalten: 283 Mal

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Daimler » 07.09.2020, 16:13

Hi,
MichaelN hat geschrieben:
07.09.2020, 16:05
Ich mache es mir da sehr einfach:
Jetzt machst du es dir aber zu einfach.
MichaelN hat geschrieben:
07.09.2020, 16:05
der Zeitstempel aktualisiert
Tja und da das bei Tastern ja nicht ohne Dummy-Prog geht, landen wir dann hier:
viewtopic.php?f=71&t=58947
Und das auch wenn das DumPr später wieder gelöscht wird. :twisted:
Gruß Günter

pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .

Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

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 » 07.09.2020, 16:30

Xel66 hat geschrieben:
07.09.2020, 15:19
Update: Gerade hat sich der Drehgriffkontakt meiner Terrassentür mit seiner zyklischen Statusübermittlung gemeldet. Es wurden zeitgleich in Kanal 1 der Status (STATE) und in Kanal 0 die übrigen Verwaltungsinformationen (ERROR CODE, UNREACH, LWO_BAT etc.) übertragen. Die Übermittlung unterscheidet sich somit nicht von einer normalen Statusübertragung bei Änderung der Stellung des Drehgriffes. Im WebUI wurde der Zeitstempel bei dieser zyklischen Übermittlung nicht aktualisiert (trägt die Uhrzeit der letzten Betätigung).
Und wie ermittlest Du dann, daß eine Datenübertragung stattgefunden hat?
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 +++

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Kanal 0 triggert Programm - Bug oder Feature?

Beitrag von Black » 07.09.2020, 16:45

Daimler hat geschrieben:
07.09.2020, 16:13
Hi,
MichaelN hat geschrieben:
07.09.2020, 16:05
Ich mache es mir da sehr einfach:
Jetzt machst du es dir aber zu einfach.
MichaelN hat geschrieben:
07.09.2020, 16:05
der Zeitstempel aktualisiert
Tja und da das bei Tastern ja nicht ohne Dummy-Prog geht, landen wir dann hier:
viewtopic.php?f=71&t=58947
Und das auch wenn das DumPr später wieder gelöscht wird. :twisted:
das geht auch ohne dummyprog, wenn ich ein reportValueUsage auf den Kanal mache...
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „Allgemeines zur OCCU“