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.