Frage zum float-Befehl

Ich habe mittels des Kombinationssensors eine Summe verschiedener Entitäten gebildet (in diesem Fall sind diese Entitäten die monatlichen Einspeisungen (kWh)meiner PV-Anlage, d.h. der Kombisensor ermittelt die Einspeisung für das aktuelle Jahr.
Wenn ich diesen Sensor aufrufe erhalte ich eine Kurve:

Jetzt möchte ich die Vergütung berechnen mittels:

#Berechnung der Einspeisevergütung
  - sensor:
      - name: "Einspeisevergütung 2025"
        unique_id: "Einspeiseverguetung_2025"
        state: >
            {{ (float(states('sensor.gesamt_einspeisung_2025'))) * 0.082 | round(2) }}

Wenn ich aber jetzt diese Vergütung mir über Zeit ansehe bekomme ich dies:

Warum kommt hier nicht auch eine Kurve raus, so wie im ersten Beispiel?

Vielleicht hilft das laut KI:

sensor:
  - platform: template
    sensors:
      einspeiseverguetung_2025:
        friendly_name: "Einspeisevergütung 2025"
        unit_of_measurement: "€"
        value_template: >
          {{ (float(states('sensor.gesamt_einspeisung_2025')) * 0.082) | round(2) }}

Das hat leider erstmal nicht funktioniert, allerdings habe ich den code etwas abgeändert zu:

  - sensor:
      - name: "Einspeisverguetung 2025"
        unique_id: "Einspeiseverguetung 2025_n"
        unit_of_measurement: "€"
        value_template: >
          {{ (float(states('sensor.gesamt_einspeisung_2025'))) * 0.082 | round(2) }}

weil mir dieser teil nicht ganz geheuer ist:

sensor:
  - platform: template
    sensors:

Bin mir nicht sicher, ob das so in meine Struktur passt.

probiere mal so

 {{ (states('sensor.gesamt_einspeisung_2025') |  float(0) * 0.082) | round(2) }}

Leider kann ich auch nicht sicher sagen woran es liegt aber ich vermute es ist das > Zeichen. Deshalb hier mein Vorschlag.

#Berechnung der Einspeisevergütung
  - sensor:
      - name: "Einspeisevergütung 2025"
        unique_id: "Einspeiseverguetung_2025"
        state:  {{ float(states('sensor.gesamt_einspeisung_2025')) * 0.082 | round(2) }}

weil dir state_class: measurement fehlt.

LG

@totow
das war die Antwort, die ich gesucht habe. Die eigentliche Berechnungszeile ist wahrscheinlich relativ wurscht, solange sie richtig ist. Aber ohne das “state_ class: measurement” geht es nicht.
Ich habe es jetzt so gemacht:

  - sensor:
      - name: "Einspeiseverguetung 2025_n"
        unique_id: "Einspeiseverguetung 2025_n"
        unit_of_measurement: "€"
        device_class: current
        state_class: measurement
        state: >
            {{ states('sensor.gesamt_einspeisung_2025') | float(default=0.0) | multiply(0.082) | round(2) }}

und das funktioniert.

Aber doch noch eine Frage zur Berechnungszeile:
meine ursprüngliche Berechnung

{{ (float(states('sensor.gesamt_einspeisung_2025'))) * 0.082 | round(2) }}

liefert nicht den ganz genauen Wert (351.35 über Taschenrechner), sondern 342.776 (warum 3 Stellen nach dem Komma, trotz round(2)?

Diese Berechnung, die hier vorgeschlagen wurde, schon, nämlich : 351.35

{{ states('sensor.gesamt_einspeisung_2025') | float(default=0.0) | multiply(0.082) | round(2) }}

Bei deiner Berechnung

{{ (float(states('sensor.gesamt_einspeisung_2025'))) * 0.082 | round(2) }}

wird nur die 0.082 auf 2 Stellen gerundet. Du müsstest es so schreiben

{{ (float(states('sensor.gesamt_einspeisung_2025')) * 0.082) | round(2) }}

4.284,756097561 × 0,08 (weil round 2) = 342,78

Edit; Sirector war schneller

ok, das heißt round wirkt immer nur auf den letzten Ausdruck vor dem |
und nicht, wie ich dachte, auf alles, was vor dem | steht
Daher die Klammern, damit es auf alles wirkt.
Ganz schön verzwickt

Ist wie Mathe, mehr nicht.

Mathe? Meinst du die Regel “Punkt vor Strich” ?
:thinking:

Im Ernst, ich kann nicht sagen warum genau aber mein Bauchgefühl hätte auch gesagt dass * vor | kommt.

Genau das war auch mein Bauchgefühl

Nein, ich meine eher sowas
(168 + 67) * 3
Also das mit der Klammer.

Wir driften aber jetzt etwas vom Thema ab.

Du hast ja auch das in Klammern gesetzt, weil das float sich auf den states beziehen sollte

Na gut, jedenfalls ist es jetzt klar. D.h. ich muss nun in meinen Berechnungszeilen die Klammern ergänzen und die “measurement class” und vielleicht auch die “measurement unit” hinzufügen.
Das kann ich aber machen, ohne dass ich Name oder Entity-ID neu definieren muss, also ich kann die alten Bezeichnungen behalten?