Servicemeldungen automatisch bestätigen

Ist die CCU2 erstmal eingezogen, kommen schnell Aktoren, Sensoren und Taster hinzu. Je mehr HomeMatic-Geräte im Einsatz sind, desto größer ist die Wahrscheinlichkeit von Funkkollisionen. Die Service-LED der CCU fängt an zu blinken und in der WebUI der CCU2 werden die Servicemeldungen „Kommunikation zur  Zeit gestört“ und „Kommunikation war gestört“ angezeigt.

Damit du diese Meldungen nicht mehr per Klick bestätigen muss, gibt es im Netz einige HomeMatic-Skripte. Ich bevorzuge das Skript von Christian Lütgens, welches ich auch für diese Anleitung verwende.

Das erste Skript wird durch die Systemvariable „Servicemeldungen“ getriggert und startet sobald sich der Wert dieser Systemvariable ändert.

servicemeldungen03

! HomeMatic-Script
! "KOMMUNIKATION GESTOERT" BEHEBEN
! http://www.christian-luetgens.de/homematic/hardware/funkstoerungen/servicemeldungen/Servicemeldungen.htm

string itemID;
string address;
object aldp_obj;

foreach(itemID, dom.GetObject(ID_DEVICES).EnumUsedIDs()) {
   address = dom.GetObject(itemID).Address();
   aldp_obj = dom.GetObject("AL-" # address # ":0.STICKY_UNREACH");
   if (aldp_obj) {
     if (aldp_obj.Value()) {
       aldp_obj.AlReceipt();
     }
   }
}

!  Ende des Scripts

Damit das Skript bei sehr vielen Servicemeldungen nicht endlos läuft, wird es mit einer Verzögerung von 10 Sekunden ausgeführt. Wichtig dabei ist der Haken „Vor dem Ausführen alle laufenden Verzögerungen für dieses Aktivitäten beenden (z.B. Retriggern)“.

Das zweite Skript überprüft einmal pro Stunde ob die HomeMatic-Geräte mit der Servicemeldung „Kommunikation zur  Zeit gestört“ wieder erreichbar sind. Sind die HomeMatic-Geräte erreichbar, wird die Servicemeldung automatisch gelöscht.

servicemeldungen01

servicemeldungen02

! HomeMatic-Script
! "KOMMUNIKATION GESTOERT" BEHEBEN
! http://www.christian-luetgens.de/homematic/hardware/funkstoerungen/servicemeldungen/Servicemeldungen.htm

string itemID;
string address;
object aldp_obj;
string channel;
var x;

foreach(itemID, dom.GetObject(ID_DEVICES).EnumUsedIDs()) {
   address = dom.GetObject(itemID).Address();
   aldp_obj = dom.GetObject("AL-" # address # ":0.UNREACH");
   if (aldp_obj) {
     if (aldp_obj.Value()) {
       foreach (channel, dom.GetObject(itemID).Channels().EnumUsedIDs()) {
         x = dom.GetObject(channel).State();
       }
     }
   }
}

!  Ende des Scripts

Seitdem ich diese beiden Skripte in Betrieb genommen habe, muss ich Servicemeldungen nicht mehr per Hand bestätigen. Natürlich nur, wenn auch alle  HomeMatic-Geräte irgendwann erreichbar sind. Ein häufiger Grund für nicht löschbare Servicemeldungen ist ein temporär nicht verwendeter Funk-Schaltaktor Zwischenstecker, der aus der Steckdose rausgezogen wurde.

Autor: Erhard Simdorn

Am 1. September 2014 habe ich mir meine erste CCU2 gekauft und war von den Möglichkeiten der Hausautomation sofort begeistert. Am 22. November 2014 folgte dann die zweite CCU2 für einen weiteren Standort und bis heute sind es schon acht CCU2 für die ich der "Auslöser" war.

14 Gedanken zu „Servicemeldungen automatisch bestätigen“

  1. Hallo, ich beschäftige mich gerade mit der Kopplung und es taucht die Frage auf, ob auch die Lightify Pro-Variante mit der CCU koppelbar ist. Können Sie das beantworten? Meine Recherche blieb wenig aufschlussreich…
    Danke!

    1. Hallo Michael,

      leider konnte ich bisher noch kein Lightify Pro Gateway ausprobieren. Mein Kenntnisstand ist allerdings der, dass die Pro-Variante ein sehr gekapseltes System ist und somit eine Abfrage per Developer-Api nicht zulässt.

      Gruß Erhard

  2. Hallo Erhard,

    Danke für die Scripts – funktioniert wie immer tadellos 🙂

    Viele Grüße
    Andreas

  3. Ich komme einfach nicht weiter. Bei mir gibt es keine Systemvariable „Systemmeldungen“ – ich kann dieses Script so wie oben beschrieben nicht einfügen !!!

    1. Hallo Denny,

      die Systemvariable heißt „Servicemeldungen“ und nicht „Systemmeldungen“, es ein Tippfehler in meiner Doku! Sorry, habe ihn bereits korrigiert, danke für deinen Hinweis.

      Gruß Erhard

  4. Hallo,

    danke für den Super Tipp.
    Gibt es vielleicht auch eine Möglichkeit hier noch eine PushUp Meldung hinzuzufügen die mitteilt das eine Servicemeldung gelöscht wurde und auch was für eine Servicemeldung gelöscht wurde?

    Vielen Dank !

    Uwe

    1. Hallo Uwe,

      vor einigen Tagen ist die neue Firmware 2.29.22 für die CCU2 veröffentlich worden, in dieser Version werden die Servicemeldungen komplett anders behandelt. Ich bin derzeit noch am evaluieren, welche Auswirkungen diese Firmware auf das Programm „Servicemeldungen automatisch bestätigen“ hat. Ich werde bei Gelegenheit diesen Blog-Beitrage entsprechend ergänzen.

      Gruß Erhard

  5. Es gibt jetzt in der Userverwaltung den Punkt zum anhacken:
    Automatische Bestätigung der Servicemeldung „Gerätekommunikation war gestört“
    ersetzt das das Script ?

    lg Richard

    1. Hallo Richard,

      im Prinzip ja, allerdings muss zum Bestätigung der Servicemeldungen der Benutzer sich an der CCU2 anmelden. Somit bleiben die Servicemeldungen bis zur Anmeldung bestehen. Ich nutze deshalb weiterhin das Script zur automatischen Bestätigung der Servicemeldungen.

      Gruß Erhard

      1. Hallo Erhard

        Funktioniert dein Script nun weiterhinn mit der aktuellen Firmware 2.29.23 ?

        lg Richard

        1. Hallo Richard,

          ja, das Script funktioniert weiterhin mit der Firmware 2.29.23. Seit dieser Version werden anstehende Servicemeldungen auch bei Anmeldung des Benutzer „admin“ an der CCU2 automatisch gelöscht.

          Gruß Erhard

Kommentare sind geschlossen.