RaspberryMatic – Verbindungsfehler und der Duty Cycle

Bei Homematic ist nicht alles perfekt. Es kommt häufiger vor als es einem lieb ist, dass es Verbindungsfehler in verschiedenen Ausprägungen gibt. In diesem Artikel knöpfen wir uns den wichtigsten vor, da wir diesen überwachen bzw. erkennen können, ihm entgegen wirken können und vor allem er uns aufgezwungen wird – Grund: der Duty Cycle.

Was ist der Duty Cycle?

Das Frequenzband auf dem Homematic sendet nutzen auch andere Teilnehmer. Daher ist gesetzlich festgeschrieben, dass ein ein Gerät nur eine bestimmte Zeit pro Stunde auf dem Frequenzband sendet. Ist dieses Limit erreicht, so darf es nichts mehr senden, bis das Limit wieder unterschritten wird. Das Zeitfenster ist ein sogenanntes „Sliding-Window“. Das bedeutet, dass zu jedem Zeitpunkt immer die direkt vergangenen 60 Minuten angeschaut werden. So muss man also nicht ein ganze Stunde warten, wenn das Sendelimit erreicht wurde.

Was kann man gegen das Erreichen machen?

Gegen manche Gründe kann man nichts machen. Steht zum Beispiel ein Update von Geräten, von welchen man viele besitzt, so verbraucht die Übertragung zwangsläufig eine gewisse Menge an Sendezeit. Allerdings scheint die CCU das relativ gut über einen Zeitraum zu verteilen. Das ist übrigens auch der Grund, warum es bis zu 48 Stunden dauern kann, bis ein Update vollständig übertragen ist.
Auch direkt nach einem Neustart kommt es meist zu einer erhöhten Sendefrequenz. Also, besser nur selten neu starten.
Es gibt aber auch gewisse Regeln, die man einhalten sollte.

Als erstes sollte man bei der Automation immer darauf achten, überflüssige Kommandos zu verschicken. Wenn man zum Beispiel einen Timer implementiert, nach dessen Ablaufen ein Licht ausgeschaltet werden soll, so ist es ratsam vorher zu prüfen, ob das Licht nicht vielleicht nicht schon aus ist.

Da eigentlich ausschließlich Automationen zu Sendebefehlen der CCU führen, kommt man erst mit der Zeit und bei entsprechend vielen Geräten ans Limit. Um dem entgegen zu wirken, kann man ebenfalls Automationen den Geräten selbst auftragen. Im gerade beschriebenen Beispiel mit dem Timer, kann man das gleiche auch in einem Programm in der CCU lösen. Dabei definiert man den Anschaltbefehl gleich mit einer Laufzeit. So wird der Sendebefehl zum Ausschalten eingespart. Dazu werde ich aber ggf. in einem anderen Beitrag schrieben.

Als letzte Möglichkeit kann man in Betracht ziehen, mehrere CCU einzusetzten. Da das Sendelimit immer nur für ein Gerät gilt, würde man mit einer zweiten CCU theoretisch die Sendelast halbieren. Natürlich muss man dann auch die Geräte gleichmäßig nach Nutzung auf die zwei CCU verteilen.

Duty Cycle überwachen

Hat man die Homematic hosts-Definition in der Home Assistant Konfiguration eingetragen, so kann man in der WebUI den aktuellen Wert in Prozent bereits kontrollieren.

Besser ist es jedoch einen Template-Sensor zu erstellen, da dessen Wert von Home Assistant über die Zeit aufgezeichnet wird und später auch genutzt werden kann, um einen Alarm zu verschicken oder andere Reaktionen zu implementieren.

Erstelle den Sensor im Verzeichnis sensors/system/gfccu_dutycycle.yaml.

Sensor zum Tracking des DutyCycle
 
# Implementing Duty Cycle of Lower Floor CCU
platform: template
sensors:
        gf_ccu3_dutycycle:
                entity_id: homematic.gf_ccu3
                value_template: "{{ state_attr('homematic.gf_ccu3', 'DutyCycle') }}"
                friendly_name: CCU Ground Floor - Duty Cycle
                unit_of_measurement: '%'
                icon_template: "mdi:axis-arrow"

 

Quellen

  • https://www.christian-luetgens.de/homematic/hardware/funkstoerungen/dutycycle/Duty_Cycle.htm
Press Ctrl+C to copy the following code.
"