HomeMatic
14 Kommentare

Duty Cycle Probleme – So bekommst Du sie in den Griff!

Ich denk jeder, der sich etwas mehr mit HomeMatic oder homematic IP beschäftigt wird früher oder später über den Begriff Duty Cycle stolpern. Aber was ist eigentlich dieser Duty Cycle – wofür ist er gut und was macht er? All diese Themen wollen wir nun einmal hier besprechen.

Was ist der Duty Cycle

Alle funkbasierten Homematic Produkte – sei es nun das klassische HomeMatic oder homematic IP funken auf der Frequenz von 868MHz. Diese Frequenz hat nichts mit WLAN oder Bluetooth zu tun – der Frequenzbereich ist ein ganz anderer.

Die 868MHz Frequenz ist eine Lizenzfreie Frequenz, die von jedem genutzt werden darf. Es gibt viele Geräte, die auf dieser Frequenz Daten bzw. Informationen verschiedenster Art austauschen. So gibt es Babyphone, Funkmikros, Türklingeln, usw usw die diese Frequenz für sich beanspruchen. Würde nun ein Gerät auf dieser Frequenz pausenlos funken, so könnten andere Geräte ggf. nicht mehr miteinander kommunizieren.
Aus diesem einfachen Grund wurde festgelegt, dass die Hersteller nur ein Prozent einer Stunde die Frequenz nutzen können – und dies sind somit 36 Sekunden. Innerhalb dieser 36 Sekunden müssen also alle möglichen Informationen getauscht werden.

Zu erwähnen ist hierbei aber, das die Telegramme, welche die Homematic Zentrale mit den verschiedenen Komponenten austauscht – recht klein sind. Im normalen Betrieb sollte also der Duty Cycle nie hoch gehen. Was allerdings auch berücksichtigt werden sollte ist ein Firmware Update. Hierbei werden nicht nur die Status Informationen übertragen, die man eh immer hat (wie z.B. ein Temperaturwert) sondern auch die Daten für das Update der Firmware. Aus diesem Grund sollte man immer die Updates der Firmware nach und nach starten – nie zu viele auf einmal um den Duty Cycle zu schonen.

Wie hoch ist mein Duty Cycle?

Diese Information kannst Du auf der Startseite Deiner CCU sehen. Hier wird der Duty Cycle für die CCU eingeblendet. Ist dieser auf 100%, so sind die 36 Sekunden aufgebraucht und entsprechend können keine Daten mehr übertragen werden.

Duty Cycle der CCU

Auch homematic IP hat einen Duty Cycle – hier jedoch gibt es keinen Status wie bei der CCU, wo man den aktuellen Stand sehen kann. Allerdings – bei zu hohem Duty Cycle – bekommt man über die App einen Hinweis.

Duty Cycle zu hoch – was tun?

Hierfür gibt es ein paar Dinge, die man auf jeden Fall machen sollte. Fangen wir mal vorne an:

  1. Batterien der Aktoren überprüfen
    Sind die Batterien leer, so kommt es sehr häufig vor, dass der Duty Cycle in die Höhe geht. Dies liegt daran, dass die Zentrale in regelmäßigen Abständen die Werte der Aktoren abfragt. Kommt keine Verbindung zustande (weil die Funkleistung des Aktors nach lässt), fragt die Zentrale nochmals an. Dies allein trägt dazu bei, dass mehr Funk Telegramme geschickt werden und dadurch der Duty Cycle auch hoch geht.
    Also immer gleich die Batterie tauschen, wenn es hier eine Service Meldung gibt 🙂 !
  2. Firmware Updates
    Wie bereits geschrieben kann auch ein Firmware Update Probleme bereiten. Solltest Du also ein Firmware Update gestartet haben, dann beobachte hier einmal den Duty Cycle. Ebenso kann es vorkommen, dass bei einem abgeschlossenen Firmware Update der Duty Cycle probleme macht (hatte ich persönlich bei HMIP Thermostaten). Hier einfach mal das Changelog vom Update lesen – hin und wieder taucht dort die Information auf, dass man nach dem Update das Gerät nochmal resetten und neu anlernen muss.
  3. Programme fragen Status ab
    Hast Du Programme die recht oft z.B. die Temperatur vom Aktor abfragen kann auch dies Grund für einen zu hohen Duty Cycle sein. Aus diesem Grund einfach alle Programme deaktiveren und dann warten (mindestens eine Stunde). Ist dann der Duty Cycle wieder auf einem normalen Niveau, nach und nach (abstand ebenfalls eine Stunde) die Programme wieder aktivieren und immer den Duty Cycle im Blick haben.
    Hierbei auch beachten, dass externe Anwendungen wie z.B. der ioBroker auch Einfluss auf den Duty Cycle haben können, indem hier Werte abgefragt werden.
  4. Empfangsstärke überprüfen
    Leider bietet die CCU in der Grundausstattung nicht die Möglichkeit den RSSI Wert zu überprüfen. Nutzt Du allerdings RaspberryMatic, dann kannst Du hier den Empfang selbst checken. Hier einfach im WebUI die Systemsteuerung -> Geräteliste öffnen. Dort findest Du eine Spalte mit dem Empfang. Wichtig hier zu wissen ist, dass je näher der RSSI Wert an die 0 geht – desto besser.
    Ein Wert von -90 ist also nicht so gut – ein Wert von -30 viel viel besser!

HomeMatic Funkverkehr analysieren

In der hier gezeigten Anleitung kannst Du den Funkverkehr Deiner CCU mitloggen. Dies ist sehr praktisch um Fehler zu finden. Dieses funktioniert nur mit der CCU – nicht aber mit der Homematic IP AccessPoint.

Schritt 1 – USB Stick vorbereiten

Kann nun doch kein Fehler gefunden werden – der Duty Cycle ist dennoch sehr hoch – müssen wir zu einer weiteren Anwendung greifen. Auf der Webseite von Asksinpp gibt es bereits eine Menge an eigenen Homematic Geräten, die hier selbst entworfen wurden. Als Basis dient hier der Arduino.

Hier gibt es bereits eine Anleitung, wie man sich einen 868MHz Empfänger selbst zusammenlöten kann. In Kommentaren habe ich oft gelesen, dass nicht jeder löten kann. Daher möchte ich an dieser Stelle einmal zeigen, wie man dies auch mit Hilfe eines CUL Sticks selbst erstellen kann – ohne lötarbeiten. Diese Vorgehensweise ist nicht meine Idee – sondern diese habe ich aus dem Homematic Forum. Daher geht das Lob an dieser Stelle nicht an mich 🙂 (QUELLE)

Als Basis dient – wie gesagt – der Nano Cul Stick. Hierbei flashen wir den Stick, so das wir diesen danach mit der Analyzer Software nutzen können. Aber starten wir nun erstmal mit dem Stick. Die Anleitung aus dem Forum ist für Windows gedacht – diese funktioniert aber 1:1 auch auf dem Mac.

Wir starten nun erstmal mit der Software. Um den Stick zu flashen benötigen wir die Arduino Software. Diese gibt es unter dem folgenden Link: https://www.arduino.cc/en/software

Ebenso benötigen wir für den Arduino noch einen Treiber – sonst erkennt die Arduino software die Arduino Platine nicht. Hierfür gibt es bereits eine vielzahl von Anleitungen, weshalb ich hier nicht darauf eingehen möchte. Als Tipp gebe ich einmal die folgenden an Dich weiter:

Ist der Treiber installiert, so können wir mit der Software beginnen. Hier wie folgt vorgehen:

  1. Dies Asksinpp Github Seite öffnen und hier die Bibliothek herunterladen -> https://github.com/pa-pa/AskSinPP
  2. In der Arduino Software die Bibliothek einbinden => Sketch -> Bibliothek einbinden -> ZIP-Bibliothek hinzufügen.
    Hier einfach die soeben heruntergeladene ZIP Datei einbinden.
  3. Die LowPower Bibliothek genauso wie unter Punkt 1 und 2 beschrieben einbinden. Diese gibt es unter: https://github.com/rocketscream/Low-Power
  4. In der Arduino Software auf Sketch -> Bibliothek einbinden -> Bibliotheken verwalten öffnen. Hier im Suchfeld die folgende Bibliothek suchen und installieren: EnableInterrupt
  5. Eine neue Textdatei erstellen und diese mit dem Namen AskSinSniffer328P.txt speichern
  6. Die folgende Webseite öffnen – https://raw.githubusercontent.com/jp112sdl/AskSinAnalyzer/master/AskSinSniffer328P/AskSinSniffer328P.ino
    Den Code komplett markieren und in die Zwischenablage kopieren.
  7. Den kopierten Inhalt in unsere Textdatei einfügen und speichern. Den Texteditor nun schliessen
  8. Die Dateiendung in .ino umbenennen. Sie sollte dann also heissen -> AskSinSniffer328P.ino
  9. Den Sketch ( AskSinSniffer328P.ino ) durch doppelklicken öffnen. Es kommt eine Meldung, dass die Datei verschoben wird – einfach mit “Ja” bestätigen
  10. In der Datei die folgende Zeile suchen:

    typedef AskSin<StatusLed<4>, NoBattery, Radio<LibSPI<10>, 2>> HalType;

    Hier einfach die 2 gegen eine 3 austauschen. Somit kann der genutzte CUL Stick verwendet werden
  11. In der Arduino Software über Werkzeuge -> Board – den Arduino Nano auswählen
  12. In der Arduino Software über Werkzeuge -> Prozessor – den ATmega328P auswählen. Klappt dies später beim Kompilieren nicht, dann hier einfach den mit (old Bootloader) auswählen
  13. In der Arduino Software über Werkzeuge -> Port – den Com Port auswählen. Dies ist der USB Stick. Der CUL Stick sollte also schon am Rechner angeschlossen sein
  14. Auch in der Software auf Sketch überprüfen / kompilieren klicken. Sollte es hier keinen Fehler geben, dann weiter zum nächsten Punkt. Gab es einen Fehler, dann ggf. den Prozessor in den Einstellungen wechseln (Siehe Punkt 12) und nochmal testen
  15. Sketch hochladen – fertig!

Schritt 2 – Software installieren

Ist der USB Stick fertig fehlt nun noch die Software zur Auswertung. Diese gibt es in verschiedenen Versionen. Einmal für Windows – einmal für den Mac und ebenso einfach für z.B. den Raspberry Pi. Die Software kann im letzten Falle einfach über den Webbrowser geöffnet werden. Hier im Artikel und im Video gehe ich einfach auf die Mac Version ein.

Zum Download gibt es die Software unter folgendem Link: https://github.com/psi-4ward/AskSinAnalyzerXS/releases

Ist die Software heruntergeladen einfach auf dem Gerät installieren. Nach dem ersten Start der Software müssen wir hier in den Einstellungen noch angaben zur CCU machen. Hier einfach im Dropdown den Port und Baudrate vom Stick eintragen. Ebenso die IP Adresse der CCU eintragen.

Wenn Du möchtest kannst Du ebenfalls noch die Daten auf Deinem Rechner fest speichern. Hierfür dann die Persistente Datenspeicherung aktivieren

Sind die Daten eingetragen dieses mit “Speichern und Initialisieren” bestätigen

Schritt 3 – CCU vorbereiten

Wenn Du neugierig bist und in der Software schonmal auf die Telegramm Übersicht klickst, dann wirst Du sehen das hier noch keine richtigen Namen hinterlegt sind. Also müssen wir auch in der CCU etwas vorbereiten. Hierfür erstellen wir uns ein neues Programm, welches einmal am Tag ein Skript ausführt. Dieses Skript erstellt eine neue Systemvariable, in der eine Übersicht von all Deinen Geräten gespeichert ist.

Das Skript lassen wir einfach einmal die Nacht durchlaufen – so können wir uns auch bei neuen Geräten sicher sein, dass alle Daten im Analyzer aktuell sind. Alle weiteren Infos gibt es hier: https://github.com/jp112sdl/AskSinAnalyzer/wiki/CCU_Unterst%C3%BCtzung

Ist das Programm gespeichert kannst Du dieses am einfachsten auch einmal manuell ausführen. Dies in der WebUI einfach unter Status und Bedienung -> Programme. Hier das gerade geschriebene Programm suchen und rechts auf “Start” klicken. Somit müssen wir nicht bis Nachts warten und alle Daten stehen schon im Analyzer bereit, nachdem Du die Software neu gestartet hast.

Der AskSinAnalyzer XS

Ist nun alles eingerichtet, dann können wir den Analyzer starten. Es sollte an dieser Stelle keine Fehlermeldung oder ähnliches auftauchen. Wenn Du nun ein Homematic Gerät zur Hand nimmst und eine Aktion ausführst, dann solltest Du auch in der Lage sein dieses im Analyzer zu sehen!

Nach einigen Stunden hat man dann eine so schöne Auswertung. Was man hier sieht – und was wichtig zu wissen ist – das der grüne und gelbe Bereich recht groß sind. Dieses sind Telegramme von der CCU selbst. Einmal Homematic (grün) und homematic IP (gelb). Die Zentrale fragt hierbei reihum die Geräte ab – ob sie neue Daten haben – noch erreichbar sind – Batteriestatus ect.

Also nicht wundern, wenn der Bereich auch bei Dir entsprechend groß ausfällt.

Video

Links

Den von mir verwendeten Stick:

Link bei Amazon: https://amzn.to/36a1OQ3

Vielleicht auch interessant?

Beitrag teilen:

14 Kommentare. Hinterlasse eine Antwort

  • Hallo Stephan,
    erstmal vielen Dank für das tolle Tutorial.

    Kann es sein, dass in der obigen Anleitung unter dem Punkt: Anleitung für Arduino Nano
    Unter Punkt 1 ein falscher link zur Bibliothek steht?
    Im Video wiederum stimmt der Link.
    Viele Grüße aus Hamm
    Norbert

    Antworten
  • Michael Schwabe
    30. Januar 2021 15:36

    Hallo Stefan,

    super Video.
    Als Hinweis sagst du, mann solle ein Update der Geräte immer nacheinander machen.
    Schön und gut, wenn es verschiedene Geräte sind. Hast du aber mehrere der gleichen Sorte ist es egal, du lädst eine Firmware herunter und fügst sie in der CCU ein und sofort werden alle Geräte die diese Firmware benötigen gleichzeitig angesprochen. Und das war es dann, der DutyCycle steigt und steigt. Bis die CCU nicht mehr das macht was sie soll. Bei 12 Geräten habe ich dies dann nach 8 Tagen abgebrochen (bei allen stand noch das die Daten übertragen werden). Dann ein Gerät abgelernt, an einer anderen CCU das Update durchgeführt und es dann an der ersten CCU wieder angelernt. Und das 11 mal, Gerät für Gerät schön hintereinander. Beim 12. Klappte es dann auch an der ersten CCU. Gibt es dazu eine Lösung?

    Antworten
  • Christian Geisler
    1. Februar 2021 20:04

    Hallo!
    Eine richtig tolle Sache!! Vielen Dank für die Anleitung. Ich musste allerdings seltsamerweise den uno anstatt nano auswählen. Erst danach ging das Hochladen.
    Leider funktioniert bei mir die Auflösung der Gerätenamen. Die Software bringt mir immer eine Fehlermeldung: Error fetching device list: RequestError: connect ETIMEDOUT 192.xxx.x.xxx:8181.
    Die CCU (Raspberrymatic) zeigt mir unter den Variablen aber eine Zuordnung.

    Gruß Christian

    Antworten
  • Christian Geisler
    2. Februar 2021 8:58

    Hallo Stefan.
    Das ist mir die Nacht eingefallen. Werde ich mal probieren. Vielen Dank!!

    Antworten
    • Hallo Christian,
      hatte ich auch. Du musst in der CCU unter Sicherheit die Authentifizierung ausschalten. Gefällt mir zwar nicht, aber dann kommen auch die Devicenamen. Keine Ahnung ob man den Analyzer mit einem User starten kann, dann kann man den Haken lassen. Evtl. hat Stefan eine Idee.

      Antworten
  • Christian Geisler
    3. Februar 2021 20:10

    Ja das hat geklappt!!

    Antworten
  • Tobias Gräber
    5. April 2021 22:12

    Hallo Stefan,
    wieder mal bin ich auf eine deiner Anleitungen gestoßen und hänge das erste Mal fest. Ich möchte auch gerne den DutyCycle bei mir auslesen und habe mir den Stick (wie du ihn von Amazon verlinkt hast) gekauft.
    Ich komme jedoch nicht mit der Software weiter. Wenn ich die Daten versuchen möchte zu übertragen, bekomme ich immer folgende Fehlermeldung.

    Arduino: 1.8.13 (Windows 10), Board: “Arduino Nano, ATmega328P (Old Bootloader)”

    In file included from C:\Users\RaYman\Documents\Arduino\libraries\AskSinPP-master/AskSinPP.h:63:0,

    from C:\Users\RaYman\Desktop\AskSinSniffer328P\AskSinSniffer328P.ino:10:

    C:\Users\RaYman\Documents\Arduino\libraries\AskSinPP-master/Activity.h:13:10: fatal error: LowPower.h: No such file or directory

    #include

    ^~~~~~~~~~~~

    compilation terminated.

    exit status 1

    Fehler beim Kompilieren für das Board Arduino Nano.

    Dieser Bericht wäre detaillierter, wenn die Option
    “Ausführliche Ausgabe während der Kompilierung”
    in Datei -> Voreinstellungen aktiviert wäre.

    Vielleicht hast Du ja eine Idee… Vielen Dank für deine Hilfe und eine angenehme Woche,
    Tobi

    Antworten
  • Ansgar Hösker
    14. Mai 2021 16:24

    Hallo,
    ich bekomme den AskSin Analyzer XS 1.7.1 nicht am laufen . Bekomme die Meldung: Error tetching deice list: HTTPError: Response code 401 (Unauthorized).
    Das Flash und Beschreiben des NanoCUL868 (wie in der Kaufempfehlung) hat bei einer Baudrate von 115200 alles funktioniert. Habe dann beim “AskSin Analyzer XS ” auch die Baudrate 56700 und 115200 ausprobiert (auch im Gerätemanager in Windows umgestellt), geht trotzdem nicht, er zeigt einer Geräte an mit Werten an. Die Anzeige bleibt leer. Habe in der CCU3 (RasberryMatic 3.57.5.20210424) auch das Programm und die Variable erstellt. Wenn ich die Abfrage startet “!Abfrage im Browser mit http://192.168.178.53:8181/ret.exe?ret=dom.GetObject(ID_SYSTEM_VARIABLES).Get(“AskSinAnalyzerDevList”).Value()” will er jedes mal den Benutzer und das Passwort haben.
    Einstellungen in dem “AskSin Analyzer XS”:
    SerialPort: COM4
    BaudRate: 57600
    CCU Adresse: 192.168.178.53
    Max.-Telegramme: 20000
    Persistente Datenspeicherung: 180
    Recent History: 0
    Albert-Trigger: 30 / -100 / HTTP GET / http://raspberrymatic:8181/a.exe?r=dom.GetObject(“AskSinAnalyzerAlarm”).State(true)
    Was muss ich tun?

    Antworten
    • Hallo, unten in den Einstellungen steht als Adresse “http://raspberrymatic:8181/a.exe?r=dom.GetObject(“AskSinAnalyzerAlarm”).State(true)” – hast Du hier auch Deine IP Adresse eingetragen?
      Ist ein Benutzer erstellt? Schau dafür mal in der CCU nach – eigentlich sollte hier Benutzer und Passwort bei der Einrichtung der CCU schon erstellt worden sein.

      Antworten
  • Hallo,
    Ich habe das selbe Problem.
    Auch mit 1.7.1.
    Die Url mit den Systemvariablen, lässt sich nach User , pw eingabe auslösen.
    Der Analyzer Zeigt aber http 401. an
    Die Geräte werden nicht aufgelöst,
    Sonst scheint alles zu funktinieren
    Grüsse Frank

    Antworten
  • Habe es gerade gefunden bei der ccu
    Admin:pw@ip. Eintragen
    Grüsse Frank

    Antworten
  • Hallo cooles Tool!

    bei mir kommen Funk Signale an aber ohne Bezeichnung.
    Als fehler im AskSin Analyzer kommt die Fehlermeldung

    Error fetching device list: RequestError: connect ETIMEDOUT 192.168.188.23:8181

    eigentilch habe ich alles in der CCU3 gespeichert

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.

Weitere ähnliche Beiträge auf verdrahtet.info:

Menü