@cbrocker
Guten Morgen!
Zu deinen Fragen: Mein Hauptskript (nicht veröffentlicht) regelt die Zendure-Geräte basierend auf dem aktuellen Zählerwert meines Hausanschlusses.
Mein Setup zur Datenerfassung:
Ich triggere die Regelung alle 5 Sekunden über einen UART-IR-Lesekopf am Zähler (per LAN/WT32-ETH01 angebunden).
Als Backup dient ein Shelly 3 pro EM – sollte der Lesekopf keine plausiblen Werte liefern, schaltet das Skript automatisch auf den Shelly um (Failover).
Statt bunter Grafiken erfasse ich die harten Fakten direkt in einer CSV-Datei und logge nur das Nötigste (Gesamtverbrauch, Einspeisung, Zählerstände).
Das reicht mir völlig, um die Unversehrtheit des Systems und die realen IST-Zustände zu überwachen.
Zudem bietet das CSV-file den Vorteil, dass man daraus bei Bedarf jederzeit visuelle Grafiken (z. B. mit Grafana oder Excel) erzeugen kann.
Mir ist ein funktionierendes System und der reale Zählerwert wichtiger als tägliche Diagramme.
Interessanter ist am Ende, was auf der Stromrechnung steht – das ist für mich KISS (Keep It Simple, Stupid).
Zu MQTT & zenSDK:
Du hast recht: Das von Zendure offiziell angebotene lokale MQTT ist mit Aktualisierungsraten von bis zu 90 Sekunden leider sehr langsam.
Deshalb habe ich hier mein Skript für das zenSDK (HTTP) bereitgestellt.
Es ist aktuell der beste Weg: Man bleibt bei der offiziellen Schnittstelle, kann App und Cloud weiterhin nutzen und ist dennoch deutlich schneller als das gedrosselte lokale MQTT.
Schneller ist nur das Umbiegen der Cloud-URL (DNS-Umleitung auf lokale IP).
Dann verliert man aber App und natürlich auch die Cloud, was die meisten nicht möchten.
Zu setDeviceAutomationInOutLimit:
Das ist eine adapterinterne Komfortfunktion und kein offizieller Bestandteil des Zendure-Systems.
Soll Bedienung vereinfachen, löst aber im Hintergrund Befehlsketten aus, die für den Nutzer nicht direkt ersichtlich sind.
Ich bevorzuge die volle, eigenverantwortliche Kontrolle über jeden einzelnen Befehl, basierend auf dem offiziellen Zendure-Protokoll.
So weiß ich genau, was wann gesendet wird und vermeide unvorhergesehene Nebeneffekte oder unnötige Schreibvorgänge im Flash-Speicher.
Jeder soll für sich entscheiden, wie viel Abstraktion oder Kontrolle er in seinem System möchte.
Mehr möchte ich dazu eigentlich nicht sagen.