Strom Leser One sendet alle paar Minuten 0 TotalWerte

der stromleser one sendet in der total Energie alle paar Minuten 0 Werte über mqtt. In der App scheint es korrekt zu laufen.

Import und Export:

Das ist ja richtig bescheiden. Bei mir jeden Morgen um 3:20. Aber nur einmal. Bin am überlegen das Ding zurück zu schicken!

Ich habe jetzt unter der configuration.yaml 2 neue template sensoren angelegt:

template:

  - sensor:

      - name: "Stromleser One Import Energy"

        unique_id: stromleser_one_total_import_energy_inc

        unit_of_measurement: "Wh"

        device_class: energy

        state_class: total_increasing

        availability: >

          {{ has_value('sensor.stromleser_one_total_import_energy') }}

        state: >

          {% set neu_raw = states('sensor.stromleser_one_total_import_energy') %}

          {% if neu_raw in ['unknown', 'unavailable', 'none'] %}

            {{ this.state }}

          {% else %}

            {% set neu = neu_raw | float %}

            {% set alt = this.state | float(0) %}

            {# 0 und negative Werte ignorieren #}

            {% if neu <= 0 %}

              {{ alt }}

            {% else %}

              {{ neu if neu >= alt else alt }}

            {% endif %}

          {% endif %}




      - name: "Stromleser One Export Energy"

        unique_id: stromleser_one_total_export_energy_inc

        unit_of_measurement: "Wh"

        device_class: energy

        state_class: total_increasing

        availability: >

          {{ has_value('sensor.stromleser_one_total_export_energy') }}

        state: >

          {% set neu_raw = states('sensor.stromleser_one_total_export_energy') %}

          {% if neu_raw in ['unknown', 'unavailable', 'none'] %}

            {{ this.state }}

          {% else %}

            {% set neu = neu_raw | float %}

            {% set alt = this.state | float(0) %}

            {% if neu <= 0 %}

              {{ alt }}

            {% else %}

              {{ neu if neu >= alt else alt }}

            {% endif %}

          {% endif %}

damit werden 0 und negativ werte abgefangen.
Ich habe nämlich in den sql daten festgestellt, dass teilweise negative daten gesendet werden:

-0.1 2026-01-05 15:41:37