Modul zur Überwachung von Fehlern von Homematic

Gibt es eine Möglichkeit die Instanzen von Homematic Geräten oder dem Homematic Socket von einem Modul aus zu überwachen um Fehler beim ansteuern von Geräten zu erfassen um später erneut den Befehl an das Gerät zu senden?

In den Events habe ich leider nichts gefunden, was geeignet wäre.

Ja, nennt sich Event-Control.

Das geht aber, so pauschal, nicht.

Michael

Ich hatte gestern eine spontane Idee und auch bereits einen Skript zum testen erstellt.
Ich wollte nur nachfragen ob es durch diese Art der Verwendung in Zukunft Probleme geben könnte.

Ich hoffe ich habe dabei auch den Unterschied zwischen IPS_RequestAction und RequestAction richtig verstanden und auch richtig angewendet.

Wenn das so geht würde ich das irgendwann in ein Modul packen.

Ablauf:
1. Ich setze für die entsprechenden Variable mit IPS_SetVariableCustomAction ein eigenes PHP Skript.

2. Prüfung im Skript ob die Variable überhaupt geändert wird. Bei identischem Wert wird „true“ zurückgegeben und die Aktion abgebrochen um bei HM die Funklast zu reduzieren.

3. Im Skript wird per IPS_RequestAction die eigentliche Aktion direkt auf der übergeordneten Instanz ausgeführt.

4. Bei Fehler wird ein Event mit Auslöser zu bestimmter zeit erstellt. Dieses versucht später mit RequestAction die Variable erneut über die CustomAction zu setzen.

5. Dadurch wird wiederum die CustomAction gestartet. Bei erneutem Fehler wird die Fehlerzahl erhöht und auch die Zeit für das Event exponentiell erhöht.

6. Bei Erfolg oder nach 10 Versuchen wird das Event und alle zugehörigen Fehlerzähler gelöscht.

Das sollte also theoretisch mit allen variablen funktionieren, solange diese direkt angesprochen wurden und nicht über Funktionen, welche direkt die übergeordnete Instanz schalten.

Nur eines macht mir noch Kopfzerbrechen. Wenn die Variable bereits eine CustomAction hat, wie kann ich diese durch meine eigenen ersetzen und dann aus meiner CustomAction die bereits vorhandene CustomAction ausführen? (Wird vermutlich eh nie vorkommen)