Starke Schwankungen und negative Werte bei Zählerkaskade auslesen

Ich habe ein Problem mit der Messung meiner Momentanleistung/-verbrauchs der Wärmepumpe.
Ich habe zwei Zähler als Kaskadenschaltung. Die Momentanleistung ergibt sich aus der Differenz der beiden Zählerwerte. Ausgelesen werden die Zählerdaten mit Tasmota/Hichi und per mqtt an den HA übertragen.
Insbesondere, wenn die Sonne scheint und ich tüchtig einspeise, “spinnt” der Graph:
Bildschirmfoto 2024-06-15 um 16.06.14

Starke Schwankungen und negative Werte. Wieso das passiert, ist mir recht klar. (Die zugrunde liegenden Messewerte werden zu unterschiedlichen Zeitpunkten ausgelesen und dann rechnerisch in Beziehung gesetzt. (Im Tasmota habe ich die mqtt-Sende-Frequenz auf das Minimum gesetzt - hilft aber nicht wirklich.)
Ich suche jetzt nach einer Lösung, wie ich die Werte glätten/filtern kann. Mit dem Filter-Element in HA komme ich noch nicht klar/stehe ich auf der Leitung.

in meiner configuration.yml habe ich für die Wärmepumpe folgende Eintragung:

  - sensor:
    # Netzverbrauch Wärmepumpe
      - name: "Netzverbrauch Wärmepumpe"
        unique_id: "NetzverbrauchWaermepumpe"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_z_1_total_in')) - float(states('sensor.tasmota_z_2_total_in_haus')) | round(3) }}
  - sensor:
    # Solarverbrauch Wärmepumpe
      - name: "Solarverbrauch Wärmepumpe"
        unique_id: "SolarverbrauchWaermepumpe"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_z_2_einspeisen_wp')) - float(states('sensor.tasmota_z_1_einspeisen')) | round(3) }}
  - sensor:
    # Gesamtverbrauch Wärmepumpe
      - name: "Gesamtverbrauch Wärmepumpe"
        unique_id: "GesamtverbrauchWaermepumpe"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.solarverbrauch_warmepumpe')) + float(states('sensor.netzverbrauch_warmepumpe')) | round(3) }}

Mit Google bin ich auf vieles gestoßen, aber auf keine für erkennbare Lösung.
Jetzt hoffe ich hier auf die Profis.

Hallo,

eine solche Anwendung funktioniert mit den Tasmota-Lesekopf einfach nicht… Das ist, als würde man sich einen Smart kaufen, um mit der 4köpfigen Familie in Urlaub zu fahren.
Da kann man solange herum docktoren wie man will… hab ich auch versucht.

Nutze statt dessen ein Leistungs-/Strom-Zähler wie diesen für sowas: https://www.shelly.com/de/products/shelly-pro-3em-x1

Hier bekommst du den aktuellen Messwert im Sekundentakt und kannst damit auch zuverlässige Berechnungen machen.

Ich nutze die Tasmota-Sensoren nur noch zum Zählerstand auslesen…

Ich hab es inzwischen mit dem Kombinationssensor (Helfer) lösen können. Der mittelt die Werte und gibt „was sauberes“ aus.