Ich habe heute mal im MQTT Explorer die Intervalle von messages etwas beobachtet und es fällt auf daß da jede Menge aus meiner Sicht unnötiger traffic generiert wird durch wiederholtes schreiben von identischen payloads. MQTT ist ja eigentlich ein eventbasiertes Protokoll, daher könnte/sollte man sich das zyklische Senden sparen.
Hier mal einige topics die ich im wenige Sekundentakt beobachte (z.T. sogar deutlich unter dem Regelintervall von 10s):
- chargepoint/get/power
- chargepoint/get/imported und exported
- openWB/chargepoint/X/set/current
- diverse topic unter openWB/chargepoint/X/get die sich inhaltlich nicht oft ändern
- diverse topic unter openWB/counter/X/get die sich inhaltlich nicht oft ändern
- openWB/internal_chargepoint/X/get: hier wird immer alles alle 1-2s geschrieben
- openWB/pv/get
Kann man da nicht Sendefilter davor bauen die prüfen ob ein Wert sich wirklich geändert hat und damit zu senden ist? Das würde auch einiges an Arbeit und eine Reduktion der Weiterverarbeitungsaufwände in anderen Systemen vermeiden...
P.S. es gibt auch einige topics da funktioniert das senden nur bei Wertänderung, es geht also eventbasiert
z.B. bei dem Batterietopic openWB/bat/get (zumindest bei mir mit dem Victron Modul)