Hi,
folgender Fall:
Ich habe eine Balkonkraftwerkanlage mit Speicher.
Nun ist das folgende Szenario, das ich ausrechnen will, wie viel Sonnenenergie erzeugt wurde.
Dafür habe ich den Sensor des Smartes Steckers, welcher den Totalen kWh Input zählt, der ins Haus ging.
Dazu kommen zwei Sensoren vom Akku. Nämlich einmal akku_geladen (also was in den Akku geht) und akku_entnommen.
Nun war meine Idee, um auszurechnen, wie viel Sonnenenergie erzeugt wurde, folgende Formel anzuwenden.
(sensor.stecker + sensor.akku_geladen) - sensor.akku_entnommen
Kann man dies als Helfer irgendwo anlegen oder kann man so einfache Rechnungen zum Multiplizieren/subtrahieren nicht nutzen?
Ich habe dafür schon ausprobiert ein Template anzulegen, mit folgendem Code:
- sensor:
- name: 'solarcalculation'
device_class: energy
unit_of_measurement: kWh
state_class: total
state: >
{% if is_number(states('sensor.solarcalculation')) and is_number(states('sensor.hauseinspeisung_heute')) and is_number(states('sensor.akku_geladen_heute')) and is_number(states('sensor.akku_entnommen_heute')) %}
{% set new_state = (states('sensor.hauseinspeisung_heute')|float + states('sensor.akku_geladen_heute')|float) - states('sensor.akku_entnommen_heute')|float %}
{% if new_state >= states('sensor.solarcalculation')|float and is_number(states('sensor.hauseinspeisung_heute')) and is_number(states('sensor.akku_geladen_heute')) and is_number(states('sensor.akku_entnommen_heute')) %}
{{ new_state }}
{% else %}
{{ states('sensor.solarcalculation')|float }}
{% endif %}
{% else %}
0
{% endif %}
Nur hab ich da oft das Problem, das akku_entnommen_heute oder akku_geladen_heute oft NaN hat, wenn der Akku gerade 0W reinlädt und der Riemann Umrechner dann nicht auf kWh umrechnen kann oder so…
Hab also ständig die 0 aus dem else fall… was halt den ganzen Wert dann verhaut.
Alternative Idee, kann man sonst dem Riemann Helfer sagen, das er immer mindestens eine 0 haben soll statt NaN? Dann wäre das natürlich auch erledigt