Bislang habe ich in der configuration.yaml diverse Berechnungen, durch die aus anderen Entitäten Werte für neue Entitäten entstehen. Da ich mein Ausreißer-Problem beim Neuladen der Config noch weiter in den Griff bekommen will, würde ich - wie schon durch das Anlegen von Verbrauchszählern - gerne weitere Helfer aus der configuration.yaml entfernen.
Jetzt habe ich mir das
mal angeschaut. Allerdings nutzt das allenfalls für manche Berechnungen:
Kombinationssensor
Erstellt einen Sensor, der aus einer Liste von Eingabesensoren deren Minimal-, Maximal-, Mittel-, Median- oder Summenwert berechnet.
Damit lassen sich also nur Additionen realisieren.
Hier mal ein paar Bsp:
- Differenzbildung
# PV neu: Eigenverbrauch
- sensor:
- name: Eigenverbrauch PV neu (mit Langzeitkorrektur)
unique_id: eigenverbrauch_pv_neu
device_class: Energy
state_class: total_increasing
unit_of_measurement: "kWh"
state: >
{% set neuer_wert = states('sensor.gesamtertrag_pv_neu') | float(0) - states('sensor.verbrauchszaehler_einspeisung_pv_neu_korrigiert') | float(0) %}
{% set alter_wert = states('sensor.eigenverbrauch_pv_neu') | float(neuer_wert) %}
{% set differenz = neuer_wert - alter_wert %}
{% if 0 < differenz <= 0.5 %}
{{ neuer_wert }}
{% else %}
{{ alter_wert }}
{% endif %}
Die Werte von Gesamtertrag und Einspeisung (brauche ich auch für das EVU) kann ich aus dem Wechselrichter und Stromzähler erfassen, den des Eigenverbrauchs muss ich berechnen.
- Multiplikation
# Kosten pro 100 km
- sensor:
- name: Kosten pro 100 km
unique_id: kosten-pro-100-km
device_class: Monetary
state_class: total
unit_of_measurement: "€/100 km"
state: "{{ states('sensor.evcc_statistik_wallbox_warp3_und_ladesteckdose_preis_kwh_gesamt') | float(0) * states('input_number.durchschnittsverbrauch') | float(0) }}"
Das kann ich ebenfalls nur berechnen.
- Division und Multiplikation
# Berechnung des Wirkungsgrades
- sensor:
- name: Wirkungsgrad (Stromspeicher)
unique_id: wirkungsgrad_stromspeicher
device_class: battery
state_class: measurement
unit_of_measurement: "%"
state: "{{ (states('sensor.total_battery_discharge') | float(0) / states('sensor.total_battery_charge') | float(0)) * 100 }}"
Auch das kann ich nur berechnen. Das wird vom Wechelrichter / Speicher nicht zur Verfügung gestellt.