Hallo zusammen,
ich möchte hier eine Automatisierung teilen, die ich entwickelt habe, um die maximale Leistung meines Solar-Wechselrichters in Abhängigkeit von der aktuellen Stromaufnahme zu steuern. Um unnötige Schaltvorgänge zu vermeiden und die Stabilität zu erhöhen, habe ich eine Hysterese in die Steuerung eingebaut.
Ziel der Automatisierung:
Die Automatisierung passt die maximale Leistung des Solar-Wechselrichters (number.solar_maximale_leistung
) an den aktuellen Stromverbrauch (sensor.gesamt_strom
) an. Eine Hysterese sorgt dafür, dass kleine Schwankungen im Stromverbrauch nicht sofort zu Änderungen führen, um die Häufigkeit der Anpassungen zu reduzieren.
Bei AP-Systems lässt sich der Bezug leider nicht auf 0 setzen. Daher setze ich es auf 30W als Minimum.
Ich verwende einen Helper um den letzten Wert zwischen zu speichern.
Im Zendure habe ich keinen Modus ausgewählt und den Maximal Output Richtung WR auf den Maximalen Wert 600 gesetzt
alias: Verbrauchssteuerung Hysterese
description: ""
trigger:
- platform: time_pattern
seconds: /5
enabled: false
- platform: state
entity_id:
- sensor.gesamt_strom
action:
- data:
entity_id: number.solar_maximale_leistung
value: >
{% set power = states('sensor.gesamt_strom') | float %}
{% set max_wr = states('number.solar_maximale_leistung') | int %}
{% set new_wr = max_wr + power + 5 | int %}
{% set last_power = states('input_number.last_power') | int %}
{% set hysteresis = 15 %}
{% set difference = max_wr - last_power %}
{% if difference > hysteresis or difference < -hysteresis %}
{% if -5 < power < 30 %}
{{ max_wr }}
{% else %}
{% if new_wr < 30 %}
30
{% else %}
{{ [new_wr | int, 600] | min }}
{% endif %}
{% endif %}
{% else %}
{{ max_wr }}
{% endif %}
action: number.set_value
- data:
entity_id: input_number.last_power
value: |
{{ states('sensor.gesamt_strom') | float }}
action: input_number.set_value