Aus 2 Entitäten eine machen (mit Vorzeichenwechsel)?

Hallo zusammen,
meine PV-Anlage ist endlich in Betrieb gegangen und nun suche ich nach einer Möglichkeit zwei Sensor-Entitäten in eine Entität zusammen zu fassen.
Und zwar geht es um die Lade- und Entladeleistung vom Akkuspeicher, diese möchte ich gerne in einer “Gauge”-Anzeige darstellen, Ladung positiv und Entladung negativ.
Dazu habe ich diese beiden Templateentitäten, die mit dem Blueprint für den Wechselrichter erzeugt wurden, zur Verfügung:
sensor.battery_charging_power
sensor.battery_discharging_power

Beide Entitäten geben jeweils einen positiven Wert zwischen 0 und 12000W zurück.
Das würde bedeuten, dass ich beide Entitäten addieren, die “sensor.battery_discharging_power” zusätzlich mit -1 multiplizieren und das Ergebnis in eine neue Entität schreiben muss.

Gibt es dafür einen einfachen Weg oder muss dafür wieder kompliziert im Editor geyamlt werden? :thinking:

Danke im Vorraus.

Schau mal hier, da hatte ich mal ein Video zu gemacht :smiley:

Danke für die Antwort, nur wird der errechnete Wert irgendwie nicht negativ wenn Strom aus dem Speicher genommen wird. Die Anzeige geht dann nur auf 0W.
Screenshot 2023-10-22 154008

Oder habe ich einen Syntaxfehler?

{{ (float(states('sensor.battery_charging_power'))) + ((float(states('sensor.battery_discharging_power'))) * -1) | round(0) }}

Ich hab um die discharge Entität extra noch eine Klammer gesetzt, damit der Wert in der Klammer auf jeden Fall negativ ist…

Der Eintrag in der configuration.yaml:

template:
  - sensor:
    # Batterieleistung PV-Anlage
    - name: "Batterie Leistung"
      unique_id: "batterie_leistung_pv"
      state: >-
        {{ (float(states('sensor.battery_charging_power'))) + ((float(states('sensor.battery_discharging_power'))) * -1 ) | round(0) }}
      unit_of_measurement: 'W'
      device_class: "power"

Wie werde ich die nicht benötigte Nachkommastelle in der Berechnung los?

Wäre es da nicht sinnvoller zu fragen if charge größer gleich null dann nimm diesen wert und else discharge * -1

Nachtrag:

{% set charge = 1000 %}
{% set discharge = -1 * 1000 %}

{% if charge >= 0: %}
{{ charge }}
{% else %}
{{ discharge }}
{% endif %}

1000 dann eben mit state ersetzen

Das round hatte ich dann noch völlig übersehen…

Nutze doch einfach int statt float

:crayon:by HarryP: Zusammenführung Doppelpost