Differenzwerte loggen & Min/Max ermitteln

Hallo Zusammen,

ich habe mir zwei Skripte gestrickt, die über Homematic Schaltsteckdosen mit Leistungsmessung zusammen feststellen ob meine Spülmaschine läuft und wenn Sie fertig ist eine Push-Nachricht verschickt.
Also faktisch kann ich grob messen wann die Maschine eingeschaltet ist und wann sie fertig ist.
Dabei geht eine Bool-Variable von false–>true = Beginn und true–>false = Ende.

Jetzt hat die Steckdose eine Variable in der die verbrauchten Wattstunden geloggt als Zählervariable geloggt werden.
Was ich jetzt (wie auch immer) gerne machen würde wäre:

  1. Den Verbrauch pro Zyklus loggen (wie außer irgendwie aufaddieren, auch in eine Zählervariable schreiben?).
  2. Min/ Max feststellen über alle bisher geloggten Zyklen.
  3. Durchschnittsverbrauch errechnen.

Das ganze geht relativ umständlich über das Schreiben von mehreren Werten (beim Einschalten, beim Abschalten etc.) und errechnen der Differenzen usw.
Mache ich bei der Heizungslaufzeit alle 24h (Gesamtwert einlesen, in „Alt-Variable“ schreiben, in der Nacht darauf alten Wert von neuem abziehen, neuer Wert dann in „Alt-Variable“ schreiben).
Dazu ist das Ganze recht fehleranfällig.

Geht das irgendwie über Timestamps o.Ä.?
Danke & Gruß,
Matthias