jens-maus / RaspberryMatic

:house: A feature-rich but lightweight, buildroot-based Linux operating system alternative for your CloudFree CCU3/ELV-Charly 'homematicIP CCU' IoT smarthome central. Running as a pure virtual appliance (ProxmoxVE, Home Assistant, LXC, Docker/OCI, Kubernetes/K8s, etc.) on a dedicated embedded device (RaspberryPi, etc.) or generic x86/ARM hardware.
https://raspberrymatic.de
Apache License 2.0
1.53k stars 186 forks source link

Alarmmeldungen & Servicemeldungen - Counter keine "Aktualisierung" #992

Open mbhomie007 opened 3 years ago

mbhomie007 commented 3 years ago

Hallo zusammen,

Der Issue betrifft die Triggerung der Alarmmeldungen und sowohl auch Servicemeldungen.

Folgendes ist mir aufgefallen und wurde schon anhand von Servicemeldungen hier getestet: https://homematic-forum.de/forum/viewtopic.php?f=31&t=24618&start=1590 fortlaufend

CCU-Programm "auf Aktualisierung".

image

Erste Auslösung Beispiel SABOTAGE. Counter Servicemeldungen springt auf 1. (Die Zeiten weichen leicht ab, da bin ich wohl nochmal an den "Lichtschranke" gekommen.)

image

Zweite Auslösung (z.b. durch zyklische Daten oder Bewegung) GLEICHES Gerät, aber KEINE Triggerung durch CCU-Programm Counter Servicemeldungen bleibt auf 1. Für die interne Systemvariable "Servicemeldungen" ist es keine "Aktualisierung" (die Systemvariable wird nicht angefasst).

image

Auslösung durch ANDERES Gerät. CCU-Programm wird getriggert und Counter Servicemeldungen springt auf 2. Die Systemvariable "Servicemeldungen" wird "Aktualisiert".

image

Issue: Es wird nicht getriggert, obwohl in dem CCU-Programm auf "Aktualisierung" steht. Wenn sich der Counter der Servicemeldungen nicht erhöht oder senkt, dann gibt es keine "Aktualisierung" laut der CCU-Struktur.

Erwartung: Integration einer Spalte "Anzahl Auslösungen" bei den Alarmmeldungen und Servicemeldungen.

Die Systemvariable Servicemeldungen und Alarmmeldungen sollten sich aktualisieren, wenn ein Gerät sich ein wiederholtes Mal "meldet" und es sollte somit zu einem Triggern des Programms kommen wenn "Auf Aktualisierung" ausgewählt ist.

jp112sdl commented 3 years ago

Hi,

ich verstehe das Problem noch nicht ganz.

Erste Auslösung Beispiel SABOTAGE. Counter Servicemeldungen springt auf 1.

Soweit klar - alles wie erwartet.

Zweite Auslösung (z.b. durch zyklische Daten oder Bewegung) GLEICHES Gerät, aber KEINE Triggerung durch CCU-Programm Counter Servicemeldungen bleibt auf 1.

SABOTAGE wird ja einmalig beim Event getriggert - also in dem Moment wo du die Kappe abnimmst und der Taster umgelegt wird. Warum sollte dabei nochmals die SABOTAGE-Meldung als neuerliche Servicemeldung erscheinen oder der Counter erhöht werden?

sollten sich aktualisieren, wenn ein Gerät sich ein wiederholtes Mal "meldet"

Wenn ein Temperatursensor alle 3 Minuten seine Temperatur inkl. LOWBAT-Flag sendet, soll quasi 20x pro Stunde der Servicemeldungs-Zähler erhöht werden?

mbhomie007 commented 3 years ago

Warum sollte dabei nochmals die SABOTAGE-Meldung als neuerliche Servicemeldung erscheinen oder der Counter erhöht werden?

sollten sich aktualisieren, wenn ein Gerät sich ein wiederholtes Mal "meldet"

Wenn ein Temperatursensor alle 3 Minuten seine Temperatur inkl. LOWBAT-Flag sendet, soll quasi 20x pro Stunde der Servicemeldungs-Zähler erhöht werden?

Wenn ein CCU-Programm auf "Aktualisierung" getriggert werden soll würde ich das erwarten, dass die interne Systemvariable "Servicemeldungen" angefasst wird und eine Aktualisierung stattfindet. Eine Änderung des Zeitstempels findet nämlich statt! Der Counter muss sich dabei nicht erhöhen, weil es sich ja um ein und das selbe Gerät handelt. Das gleiche Verhalten für "Alarmmeldungen".

jens-maus commented 3 years ago

@jp112sdl Hast du dieses Problem bereits reproduziert bekommen? Rein vom Text her erscheint mir die Problemmeldung ja logisch wenn es bei Geräten eigentlich auch so ist das "bei Aktualisierung" auch dann ein Programm triggert wenn der wert sich nicht verändert aber ein zeitstempel aktualisiert wird. Wenn das aber bereits bei Geräten nicht so ist würde ich das bei den sysvar jetzt auch nicht anfassen. Und wie sieht es bei normalen sysvars aus? Lässt es sich da auch reproduzieren?

jp112sdl commented 3 years ago

Nein, ich habe mich damit nicht weiter befasst. Ist mir zu aufwendig, um das nachzustellen und durchzuspielen.

Nur als Idee/Ansatz: hm_autoconf legt ein internes Programm für Alarmmeldungen/Servicemeldungen an. https://github.com/eq-3/occu/blob/master/WebUI/bin/hm_autoconf#L237-L273

Ist das vielleicht das (interne) Programm, das bei einer aufkommenden Servicemeldung die SV aktualisieren soll? Wenn ich mir das in der WebUI anschaue, dann ist im DANN nix zu sehen. Aber eigentlich müsste da was sein? https://github.com/eq-3/occu/blob/master/WebUI/bin/hm_autoconf#L265-L270

mbhomie007 commented 3 years ago

@jp112sdl Hast du dieses Problem bereits reproduziert bekommen? Rein vom Text her erscheint mir die Problemmeldung ja logisch wenn es bei Geräten eigentlich auch so ist das "bei Aktualisierung" auch dann ein Programm triggert wenn der wert sich nicht verändert aber ein zeitstempel aktualisiert wird. Wenn das aber bereits bei Geräten nicht so ist würde ich das bei den sysvar jetzt auch nicht anfassen. Und wie sieht es bei normalen sysvars aus? Lässt es sich da auch reproduzieren?

Wenn auf "Aktualisierung" bei einem Gerät oder einer SV getriggert wird, wird auch der Zeitstempel aktualisiert und ein CCU-Programm wird getriggert. Bei den internen SVs Servicemeldungen und Alarmmeldungen passiert das eben nicht...

Erwartung: Integration einer Spalte "Anzahl Auslösungen" bei den Alarmmeldungen und Servicemeldungen.

Vielleicht kann man dies integrieren: https://homematic-forum.de/forum/viewtopic.php?p=619502#p619502 Zur Veranschaulichung: https://homematic-forum.de/forum/viewtopic.php?p=199435#p199435

jp112sdl commented 3 years ago

Bei den internen SVs Servicemeldungen und Alarmmeldungen passiert das eben nicht...

Die SV sind zwar nicht "intern", aber das ist wirklich komisch.

Vielleicht kann man dies integrieren:

Wahrscheinlich habe ich immer noch nicht verstanden, wofür die Anzahl der Auslösungen brauchbar ist. Ob ein Gerät 1x oder 100x LOW BAT oder SABOTAGE meldet, hat doch eigentlich keinen Nährwert. Die Meldung steht an - fertig. Und sie verschwindet, wenn das Problem behoben wurde (z.B. neue Batterien)

Oder wäre es erledigt, wenn der Aktualisierungs-Trigger funktionieren würde?

mbhomie007 commented 3 years ago

Wenn bei "Aktualisierung" getriggert werden soll und dies nicht passiert - bei Geräten und anderen Systemvariablen aber schon, dann würde ich das als Bug bezeichnen.

Es geht auch auch nicht nur um die Servicemeldungen, sondern auch um Alarmmeldungen. Wenn ein und das gleiche Gerät einen Alarm mehrmals auslöst, wird das Programm nicht getriggert...

wolwin commented 2 years ago

Es geht auch auch nicht nur um die Servicemeldungen, sondern auch um Alarmmeldungen. Wenn ein und das gleiche Gerät einen Alarm mehrmals auslöst, wird das Programm nicht getriggert...

Genau das ist das Problem - siehe auch hier: https://homematic-forum.de/forum/viewtopic.php?f=26&t=70953&p=690232#p690218