Hallo zusammen,
ich wollte mal kurz meine Automatisierung vorstellen, die ich für Home Assistant erstellt habe.
Seit Mitte März benutze ich die Anker Solix 2 Pro mit einem Erweiterungsakku und Smart Meter.
Was mich bisher am Smart Meter gestört hat, ist die Tatsache, dass, solange Leistung gebraucht wird, die vollen 800 Watt eingespeist werden.
Wenn jedoch ein schlechter Tag ist und keine 800 Watt Solarleistung erbracht werden, wird der Akku erst geladen und dann wieder entladen.
Da man ja die bekannte Verlustleistung beim Laden und Entladen hat, kommt folgende Automation ins Spiel:
Der Modus steht auf manuell. Alle 5 Minuten wird die Gesamtsolarleistung abgefragt und dementsprechend die Ausgabeleistung angepasst.
Diese Regelung gilt von 10 Watt bis 800 Watt.
Natürlich wird dies erst ausgeführt, wenn die Akkuleistung 12 % beträgt.
Zusätzlich ist hinterlegt, dass bei über 800 Watt Leistung der Modus von manuell auf Smart Meter gewechselt wird und das gleiche wieder zurückgeschaltet wird, wenn die Solarleistung auf 700 Watt fällt.
Soweit, so gut! Was haltet ihr von der Idee und der Umsetzung? Habt ihr eventuell Verbesserungsvorschläge?
Hier die yaml fals jemand interesse hat.
alias: Dynamische Umschaltung des Benutzermodus basierend auf Solarleistung
description: ""
triggers:
- entity_id: sensor.solarbank_2_e1600_pro_solarleistung
trigger: state
conditions:
- condition: numeric_state
entity_id: sensor.solarbank_2_e1600_pro_ladestand
above: 12
actions:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.solarbank_2_e1600_pro_solarleistung
above: 800
sequence:
- target:
entity_id: select.solarbank_2_e1600_pro_benutzermodus
data:
option: smartmeter
action: select.select_option
- conditions:
- condition: numeric_state
entity_id: sensor.solarbank_2_e1600_pro_solarleistung
below: 700
sequence:
- target:
entity_id: select.solarbank_2_e1600_pro_benutzermodus
data:
option: manual
action: select.select_option
- target:
entity_id: number.solarbank_2_e1600_pro_system_einspeisevorgabe
data:
value: >
{% set solarleistung =
states('sensor.solarbank_2_e1600_pro_solarleistung') | float %} {% if
solarleistung < 10 %}
0.0
{% else %}
{{ ([((solarleistung / 10) | round(0)) * 10, 800] | min) | float }}
{% endif %}
action: number.set_value
- delay: "00:05:00"
- condition: template
value_template: >
{% set solarleistung =
states('sensor.solarbank_2_e1600_pro_solarleistung') | float %} {% set
vorgabe = states('number.solarbank_2_e1600_pro_system_einspeisevorgabe') |
float %} {{ vorgabe == [((solarleistung / 10) | round(0)) * 10, 800] | min
}}
- choose:
- conditions:
- condition: template
value_template: >
{% set vorgabe =
states('number.solarbank_2_e1600_pro_system_einspeisevorgabe') |
float %} {% set solarleistung =
states('sensor.solarbank_2_e1600_pro_solarleistung') | float %} {{
vorgabe != [((solarleistung / 10) | round(0)) * 10, 800] | min }}
sequence:
- target:
entity_id: number.solarbank_2_e1600_pro_system_einspeisevorgabe
data:
value: >
{% set solarleistung =
states('sensor.solarbank_2_e1600_pro_solarleistung') | float %}
{% if solarleistung < 10 %}
0
{% elif solarleistung >= 10 %}
{{ [((solarleistung / 10) | round(0)) * 10, 800] | min }}
{% endif %}
action: number.set_value
Da ich die Automation erst seit heute am Laufen habe, muss ich noch schauen, ob auf Smart Meter umgestellt wird. Leider kommen heute keine 800 Watt Solarleistung zustande.
Kleiner Nachtrag, mittlerweile hatten wir über 800 Watt Solarleistung, es wird wie in der Automation, auf Smart-Meter und ggf, wieder auf Manuel umgeschaltet.