Beiträge von ralf084

    Hinter meinem Shelly 1PM mini Gen4 liegen immerhin 4 LED Strahler und da ändert sich nichts "laufend".

    Spannung und Netzfrequenz ändern sich tatsächlich laufend - die werden sehr hochaufgelöst erfasst (10mV und 10mHz).

    Die Leistung wird nur auf ein Watt genau übermittelt - da ändert sich bei LED Lasten de facto nur beim Ein-/Ausschalten etwas und auch der Strom ist mit einer Erfassungsgenauigkeit von 1mA relativ "konstant".

    Was glaubst du wie viele Shelly 1PM Mini Gen4 im Zigbee-Modus könnte dein Netzwerk mit deinen "optimierten Parametern" nun vertragen? D.h.: wie GROß könnte so ein Netzwerk theoretisch werden?
    Ich frage nur weil hier im Forum teilweise Leute >80 Shelly's im Einsatz haben => währe so ein Netzwerk mit Zigbee überhaupt noch umsetzbar?

    Das ist wirklich schwer zu sagen. Zum einen kann man ja mit angepassten Parametern für 'reportable_change' die Aktualisierungsfrequenz nahezu beliebig herunter setzen, zum Anderen ist mein Netzwerk auch so schon relativ groß - ich hab im Moment 68 Geräte am ZHA Coordinator. Ärger gab es erst seitdem ich die Shellys integriert habe. Kurz - ich weiss es nicht.

    Problem

    Nach der Integration von 16 Shelly 1PM Mini Gen4 im Zigbee-Modus in Home Assistant (ZHA) wurde mein Zigbee-Coordinator regelmäßig überlastet. Das Zigbee-Subsystem startete teilweise im Abstand von weniger als einer Stunde neu, es fielen Geräte aus dem Netz, das Wiederanmelden von Geräten wurde zum Glücksspiel und die Ausführung von Aktionen lief oft in ein Timeout.

    Ursache: Die Shellys reporten standardmäßig Spannung und Netzfrequenz, aber auch Strom und Leistung mit sehr hoher Frequenz - bei 16 Geräten × 4 Attribute = 64 Datenströme, die das Netzwerk fluten.

    Lösung

    Mit zha-toolkit (HACS) lassen sich die Reporting-Intervalle per Zigbee direkt auf den Geräten konfigurieren.

    Relevante Attribute (Cluster 0x0B04 - Electrical Measurement)

    MesswertAttribut-IDDivisorEinheit
    Spannung0x05051000,01V
    Strom0x050810000,001A
    Leistung0x050B11W
    Frequenz0x03001000,01Hz

    Skalierung auslesen

    Die Divisoren können vom Gerät gelesen werden (Entwicklerwerkzeuge -> Aktionen):

    Code
    service: zha_toolkit.attr_read
    data:
      ieee: button.SOME_SHELLY_ENTITY
      endpoint: 1
      cluster: 0x0B04
      attribute: 0x0601  # AC Voltage Divisor
      event_done: zha_done

    Weitere Divisor-Attribute: 0x0601 (Spannung), 0x0603 (Strom), 0x0605 (Leistung)

    Reporting konfigurieren

    Code
    service: zha_toolkit.conf_report
    data:
      ieee: button.SOME_SHELLY_ENTITY
      endpoint: 1
      cluster: 0x0B04
      attribute: 0x0505        # rms_voltage
      min_interval: 120        # Sekunden
      max_interval: 300        # Sekunden
      reportable_change: 50    # 0,5V (Rohwert × Divisor)
      tries: 3

    Meine Konfiguration jetzt

    Attributreportable_changeEntspricht
    Spannung500,5V
    Strom1010mA
    Leistung11W
    Frequenz20,02Hz

    Wichtige Erkenntnisse

    min_interval wird teilweise ignoriert:

    Die Shelly-Firmware respektiert 'reportable_change' (aktualisiert nur bei Wertänderung), aber nicht immer das minimale Zeitintervall. Bei mir kommen trotz 'min_interval: 120' Updates alle ~40 Sekunden - aber nur wenn sich der Wert tatsächlich ändert.

    reportable_change funktioniert:

    Kleine Schwankungen werden gefiltert - das reduziert den Traffic erheblich.

    Ergebnis

    Nach der Konfiguration ist mein Zigbee-Coordinator stabil - keine Neustarts mehr. Die Messwerte werden weiterhin zuverlässig aktualisiert, nur nicht mehr im Sekundentakt. Aktionen werden wieder zuverlässig ausgelöst.

    Ich habe ein Home Assistant Script gebaut, das beim Start automatisch alle Shelly-Zigbee-Geräte im Netz parametriert. Siehe Dateianhang.

    ---

    Setup: