Die Differenz zwischen zwei Zählerstände einer Entität berechnen

Hallo zusammen,
Auch ich ich bin absoluter Neuling in Bezug auf Home Assistant.

Über Tasmota kann ich mein AS1440 Zähler zwar auslesen, und erhalte die Werte für den gesamten Bezug und die gesamte Einspeisung. Zu dem liefert dieser mir zwei Wert, die ich nicht eindeutig zuordnen kann.

Der ein könnte eine Art aktueller Bezugszähler sein, wobei dieser auch etwas Anzeigt, wenn Überschuss bereits eingespeist wird.
Der andere zeigt gelegentlich auch etwas anzeigt. und zwar wenn etwas eingespeist wird. Diese Wert passt jedoch auch nicht zu dem was eingespeist oder verbraucht wird.
Also beide Zähler liefern nicht wirklich aussagekräftige Informationen. :frowning:

Daher ist nun meine Idee, aus den beiden gesamt Zählern jeweils die Differenz zu ermitteln, und dies so als aktuelle Bezugs- bzw. Einspeise- Zähler zu definieren.

Den Bezugs-Zähler habe ich in der configuration.yam bereits wie folgt definiert:

# Definitionen Entitäten (Sensoren)
template:
  - sensor:
    # gesamter Bezug
      - name: "TEST-Stromzähler Bezug Gesamt"
        unique_id: "TEST-StromzBezugGesamt"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_2_as1440_1_8_0_bezug_gesamt') | float(0)) | round(3) }}

Dieser liefert als Beispiel den Wert 25218.330 zurück.
Nach einiger Zeit wird der Wert aktualisiert und bleibt gleich oder erhöht sich.

Daher würde ich gerne aus diesen beiden Werten ein Differenz ermitteln, und als Helfer-Entität für den aktuellen Bezug speichern.

Ist so etwas möglich? Und wenn ja, wie muss ich diese anlegen, damit ich dies in einer Helfer-Entität verwenden kann?

Ich hab hier zwar einige Lösungsansätze gesehen, jedoch war ich damit nicht erfolgreich.

Sag uns noch, wie die beiden Zähler aussehen, sonst ist es für mich etwas Rätselraten.

Sag uns noch, wie die beiden Zähler aussehen, sonst ist es für mich etwas Rätselraten

Ich bin mir nicht ganz sicher welche Info Du haben möchtest.

Also es geht mir darum, das ich zum Beispiel die kWh Differenz des Zählerstandes, welcher mir der Sensor sensor.tasmota_2_as1440_1_8_0_bezug_gesamt liefert berechnen.

Den Zählerstand würde ich zum Beispiel im Intervall von 15 Sekunden abfragen wollen.

Die Differenz zu was? Ein Zähler allein kann ja keine Differenz sein.

Ah, oder willst du ein Diagramm mit Zeitverlauf eines Zählerstandes sehen?

Edit: ach du willst die Differenz zwischen den Zuständen zweier Zeitpunkte einer Entität berechnen?! Also zB. die Differenz der Zählerstände von 9:00 und 18:00?

Du möchtest gerne die Differenz zwischen den alten und den neuen Wert des Sensors
sensor.tasmota_2_as1440_1_8_0_bezug_gesamt haben. Also den Wert zwischen den Aktualisierungen. Richtig?

Ich weiss zwar nicht zu welchem Zweck.
Aber so würde der Trigger Based Sensor aussehen.
Wenn Neuer Wert Größer als der Alte Wert, dann Neuer Wert - Alter Wert.
Sonst 0

template:
  - trigger:
      - platform: state
        entity_id: 
            - sensor.tasmota_2_as1440_1_8_0_bezug_gesamt
    sensor:
      - name: Test test
        state: |
          {% set alt = trigger.from_state.state | float(0) %}
          {% set neu = trigger.to_state.state | float(0) %}
          {{ iif(neu > alt, neu - alt, 0)}}        
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total
        unique_id: ac345373-0dc0-4801-864b-e2b44061e9e4

Gruß
Osorkon

2 „Gefällt mir“

Ich hatte gehofft, das man auch einen Zähler auslesen kann.
Dabei soll der erste Wert ermittelt werden.
Dann soll nach einem Zeitraum der gleiche Zähler erneut ausgelesen werden, damit man einen zweit Wert zu erhält.
Und diese beiden Werte würde ich gerne Vergleichen.
Das Ergebnis soll die Differenz der beiden Zählerstand wieder geben.
Und diesen Wert würde ich gerne haben wollen.

Ja, aber wenn ich dieses Beispiel eintrage, bekomme ich die Meldung “‘trigger’ is undefined”. Muss ich warten, bis sich der Wert ändert?

Wo trägst Du das ganze ein?
Es ist ein Template Sensor und gehört in die configuration.yaml.
Oder wenn Du die Konfiguration aufgeteilt hast in die template.yaml, ohne der template: Zeile

Und ja Der Wert muss sich einmal geändert haben, damit der Sensor einen Wert erhält.

Gruß
Osorkon

1 „Gefällt mir“

Ich hatte es unter Entwicklerwerkzeuge/Template eingetragen.
War wohl falsch. Sorry.

Das sieht sehr gut aus.

Vielen Dank.

1 „Gefällt mir“