@OpenSourceNomad vielen Dank für den Einblick in die ESPHome Welt.
Wenn ich das richtig verstanden habe, machen die das leider genau so wie befürchtet. Zuerst wurde dividiert, um auf die Flußvariable, bzw. die Ableitung zu kommen und jetzt wird wieder multipliziert um zurück zur ursprünglichen Variable zu integrieren - wenn auch in double.
Der Code ist sicher hochelegant geschrieben, aber eine Integer- Methode für die Totalisierung wäre aus meiner Sicht eleganter.
Bei meinem jahrelang betriebenen selbstgefrickelten Wasseruhrzähler mache ich die ganzen Rechnungen auch im ESP, incl. Histogrammbildung etc. Dort sogar mit Speicherung der Totalisierung auf einen ext. EEPROM.
Hat den Vorteil, daß ich da auch mit einer Zeitbasis von 10 Sekunden keinen Hemmungen habe - auch weil ich die Daten nur bei Bedarf übertrage (noch an Homematic), was besonders bei der Wasseruhr effizient ist. Da passiert oft stundenlang gar nichts.
Aber die gesplittete Lösung mit Anteilen auf dem ioBroker geht auch ganz gut und ist bequem zu pflegen.
Meine selbstgefrickelten ESP-Programme können schon genau das, was ich will. Allerdings habe ich den Webserver nicht wirklich gut im Griff. Das fängt bei der Ästhetik an, geht über Einstellkomfort und leider auch timingeinfluß des Webservers auf Zählungen.
Und natürlich kann meine Codequalität nicht mithalten.
Habe mal geprüft - und da kommen wir wieder bei diesem Thread an - ob der ESPEasy mit 400 Events/Sekunde zu recht kommt. Tut er, auch bei gleichzeitiger Webaktivität. Für mehr als 1kHz ist ESPEasy aber nicht ausgelegt.
Meine Selbstbaulösung hatte ich bis in den kHz Bereich getestet. Allerdings gab es dabei Einfluß durch den Webserver, weshalb ich dann 2 ESPs verwendet habe.