AutomationDataset/ha-puzzles/ha-puzzles_automations.yaml

1748 lines
55 KiB
YAML

- alias: 'Heimspeicher: Erhaltungsladung starten'
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.sofar_battery_1_1_soc
- sensor.sofar_battery_1_2_soc
for:
hours: 0
minutes: 5
seconds: 0
below: 8
conditions: []
actions:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id:
- input_boolean.helper_pv_battery_mincharge_active
- if:
- condition: numeric_state
entity_id: input_number.helper_pv_battery_target_soc
below: 30
then:
- action: input_number.set_value
metadata: {}
data:
value: 30
target:
entity_id: input_number.helper_pv_battery_target_soc
alias: Stelle sicher, dass der Ziel SOC beim Netzladen ausreichend hoch eingestellt
ist, um die einzelnen Module hoch genug zu laden.
- action: input_select.select_option
metadata: {}
data:
option: Netzladen
target:
entity_id: input_select.helper_pv_battery_mode
alias: Starte Netzladen
- action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: Niedriger Speicher SOC.
message: 'Der SoC eines Speichermodules ist unter 8% gefallen. Speichermodul
1: {{ states(''sensor.sofar_battery_1_1_soc'') }}%. Speichermodul 2: {{ states(''sensor.sofar_battery_1_2_soc'')
}}%. Starte Erhaltungsladung.'
data:
notification_icon: mdi:battery-10
mode: single
- alias: 'Heimspeicher: Erhaltungsladung stoppen'
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.sofar_battery_1_1_soc
- sensor.sofar_battery_1_2_soc
above: 20
conditions:
- condition: state
entity_id: input_boolean.helper_pv_battery_mincharge_active
state: 'on'
- condition: numeric_state
entity_id: sensor.sofar_battery_1_1_soc
above: 20
- condition: numeric_state
entity_id: sensor.sofar_battery_1_2_soc
above: 20
actions:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id:
- input_boolean.helper_pv_battery_mincharge_active
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
alias: Heimspeicher Modus wieder auf Automatik stellen.
mode: single
- alias: 'EVCC: Aktualisere Min Soc des Fahrzeuges am Loadpoint'
description: ''
trigger:
- platform: state
entity_id:
- binary_sensor.evcc_lp_1_connected
- binary_sensor.evcc_lp_2_connected
- number.evcc_vehicle_1_min_soc
condition: []
action:
- service: input_number.set_value
metadata: {}
data:
value: 0
target:
entity_id:
- input_number.helper_evcc_lp_1_vehicle_min_soc_2
- input_number.helper_evcc_lp_2_vehicle_min_soc
alias: Initialize default value to 0
- alias: Aktualisiere Min Soc von Loadpoint 1 auf Min Soc von Fahrzeug 1
if:
- condition: template
value_template: '{{ states(''sensor.evcc_lp_1_vehicle_name'') == states(''sensor.evcc_vehicle_1_name'')}}'
alias: vehicle_1 mit loadpoint_1 verbunden
then:
- service: input_number.set_value
metadata: {}
data:
value: '{{ states(''number.evcc_vehicle_1_min_soc'') | int(0) }}'
target:
entity_id: input_number.helper_evcc_lp_1_vehicle_min_soc
else:
- alias: Aktualisiere Min Soc von Loadpoint 1 auf Min Soc von Fahrzeug 2
if:
- condition: template
value_template: '{{ states(''sensor.evcc_lp_1_vehicle_name'') == states(''sensor.evcc_vehicle_2_name'')}}'
alias: vehicle_1 mit loadpoint_1 verbunden
then:
- service: input_number.set_value
metadata: {}
data:
value: '{{ states(''number.evcc_vehicle_2_min_soc'') | int(0) }}'
target:
entity_id: input_number.helper_evcc_lp_1_vehicle_min_soc
- alias: Aktualisiere Min Soc von Loadpoint 2
if:
- alias: vehicle_1 mit loadpoint_2 verbunden
condition: template
value_template: '{{ states(''sensor.evcc_lp_2_vehicle_name'') == states(''sensor.evcc_vehicle_1_name'')}}'
then:
- service: input_number.set_value
metadata: {}
data:
value: '{{ states(''number.evcc_vehicle_1_min_soc'') | int(0) }}'
target:
entity_id: input_number.helper_evcc_lp_2_vehicle_min_soc
else:
- alias: Aktualisiere Min Soc von Loadpoint 2 auf Min Soc von Fahrzeug 2
if:
- condition: template
value_template: '{{ states(''sensor.evcc_lp_2_vehicle_name'') == states(''sensor.evcc_vehicle_2_name'')}}'
alias: vehicle_1 mit loadpoint_1 verbunden
then:
- service: input_number.set_value
metadata: {}
data:
value: '{{ states(''number.evcc_vehicle_2_min_soc'') | int(0) }}'
target:
entity_id: input_number.helper_evcc_lp_2_vehicle_min_soc
mode: single
- alias: 'Speicheroptimierung: Erlaube die de-prioritisierte Ladung des Speichers
während verzögertem Speicherladen, wenn ein Auto geladen wird, um den Eigenverbrauch
zu optimieren.'
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.evcc_lp_1_charging
- binary_sensor.evcc_lp_2_charging
alias: Zustand 'Laden' eines der Ladepunkte ändert sich.
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
state: 'on'
alias: Während das Laden des Speichers verzögert wird.
actions:
- choose:
- conditions:
- condition: or
conditions:
- condition: state
entity_id: binary_sensor.evcc_lp_1_charging
state: 'on'
- condition: state
entity_id: binary_sensor.evcc_lp_2_charging
state: 'on'
alias: Einer der Ladepunkte lädt gerade.
sequence:
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
alias: 'Einer der Ladepunkte lädt: Erlaube dass Überschüsse während der Fahrzeugladung
in den Speicher geladen werden.'
- conditions:
- condition: state
entity_id: binary_sensor.evcc_lp_1_charging
state: 'off'
- condition: state
entity_id: binary_sensor.evcc_lp_2_charging
state: 'off'
sequence:
- action: input_select.select_option
metadata: {}
data:
option: Nur Entladen
target:
entity_id: input_select.helper_pv_battery_mode
alias: Keiner der Ladepunkte lädt. Verhindere die weitere Ladung.
- action: script.speicheroptimierung_evcc_priority_soc_aktualisieren
metadata: {}
data: {}
mode: single
- alias: 'Speicheroptimierung: EVCC Priority SoC Aktualisieren, wenn Ladeverzögerung
oder Ladelimit sich ändert.'
description: ''
triggers:
- trigger: state
entity_id:
- input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
- trigger: state
entity_id:
- input_number.helper_speicheroptimierung_limit_soc_grenze
for:
hours: 0
minutes: 0
seconds: 5
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
actions:
- action: script.speicheroptimierung_evcc_priority_soc_aktualisieren
metadata: {}
data: {}
mode: single
- alias: 'iGo: Helper aus: Smartes Laden ausschalten'
description: ''
triggers:
- trigger: state
entity_id:
- input_boolean.helper_intelligent_go
from: 'on'
to: 'off'
alias: '''Intelligent Go'' Helper wird in Home Assistant ausgeschaltet'
conditions: []
actions:
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
mode: single
- alias: 'iGo: Helper ein: Nachts Smartes Laden einschalten'
description: ''
triggers:
- trigger: state
entity_id:
- input_boolean.helper_intelligent_go
from: 'off'
to: 'on'
alias: '''Intelligent Go'' Helper wird in Home Assistant eingeschaltet.'
conditions:
- condition: sun
before: sunrise
after: sunset
alias: In der Nacht machen wir sofort weiter. Am Tag warten wir bis Sonnenuntergang.
actions:
- action: script.igo_smartes_laden_einschalten
metadata: {}
data: {}
mode: single
- alias: 'iGo: Sonnenaufgang: Smartes Laden ausschalten'
description: ''
triggers:
- trigger: sun
event: sunrise
offset: 00:30:00
conditions: []
actions:
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
mode: single
- alias: 'iGo: Sonnenuntergang: Smartes Laden einschalten, falls gewünscht'
description: ''
triggers:
- trigger: sun
event: sunset
offset: 0
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'on'
alias: Wenn der 'Intelligent Go' Helper in Home Assistant eingeschaltet ist.
actions:
- action: script.igo_smartes_laden_einschalten
metadata: {}
data: {}
mode: single
- alias: 'Speicheroptimierung: Ladegrenze monitoren und einstellen.'
description: ''
triggers:
- trigger: state
entity_id:
- sensor.helper_speicheroptimierung_bat_soc
- trigger: state
entity_id:
- input_number.helper_speicheroptimierung_limit_soc_grenze
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
state: 'off'
alias: Wenn das Laden derzeit nicht verzögert ist.
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_limit_ein
state: 'on'
- condition: not
conditions:
- condition: state
entity_id: input_select.helper_pv_battery_mode
state: Netzladen
alias: Wenn der Speichermodus NICHT im Modus Netzladen ist.
- condition: numeric_state
entity_id: sensor.solcast_pv_forecast_forecast_tomorrow
above: input_number.helper_speicheroptimierung_limit_guter_tag_prognose
alias: Wenn morgen ein guter Sonnentag ist
- alias: Wenn die Tage ohne Vollladung noch nicht die maximale Anzahl an Tag ohne
Volllladung erreicht hat.
condition: template
value_template: '{{ states (''input_number.helper_speicheroptimierung_batterie_nicht_voll_zahler'')
| float < states(''input_number.helper_speicheroptimierung_batterie_ladelimit_max_tage'')
| float }}'
actions:
- choose:
- conditions:
- condition: template
value_template: '{{ states (''sensor.helper_speicheroptimierung_bat_soc'')
| float >= states(''input_number.helper_speicheroptimierung_limit_soc_grenze'')
| float }}'
alias: Aktueller Speicher SoC ist größer als die Ladegrenze
sequence:
- action: input_select.select_option
metadata: {}
data:
option: Nur Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
message: 'Die Ladegrenze wurde erreicht. Die weitere Ladung wurde unterbunden,
um den Speicher zu schonen:
Aktueller SOC: {{ states(''sensor.helper_speicheroptimierung_bat_soc'')
}} %.
Übrig heute: {{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
}} kWh.
Morgen: {{ states(''sensor.solcast_pv_forecast_forecast_tomorrow'') }}
kWh.'
title: Speicherladelimit erreicht.
color: green
alias: Obergrenze erreicht
- conditions:
- alias: Aktueller Speicher SoC ist unter Ladegrenze gefallen
condition: template
value_template: '{{ states (''sensor.helper_speicheroptimierung_bat_soc'')
| float < states(''input_number.helper_speicheroptimierung_limit_soc_grenze'')
| float }}'
sequence:
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
message: 'Die Ladung wurde wieder freigegeben, nachdem der Ladestand abgefallen
ist:
Aktueller SOC: {{ states(''sensor.helper_speicheroptimierung_bat_soc'')
}}%.
Forecast: {{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
}}kWh.'
title: Speicher Ladung wieder freigegeben.
enabled: false
alias: Speicherstand unter Obergrenze gefallen.
mode: single
- alias: 'Speicheroptimierung: Laden verzögern bei Erreichen von Ladeabschaltungslimit.'
description: ''
triggers:
- alias: Speicherstand überschreitet eingestellten Speicherstand zum stoppen der
Ladung.
trigger: template
value_template: '{{ states(''sensor.helper_speicheroptimierung_bat_soc'') | float
>= states(''input_number.helper_speicheroptimierung_soc_laden_deaktivieren'')
| float }}'
for:
hours: 0
minutes: 1
seconds: 0
- trigger: state
entity_id:
- input_boolean.helper_speicheroptimierung_ein
from: 'off'
to: 'on'
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
- alias: Die Energievorhersage für heute größer ist als die aktuelle Restenergie
+ 1
condition: template
value_template: '{{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
| float >= states(''sensor.helper_speicheroptimierung_restenergie_aktuell'')
| float + 1 }}'
- condition: numeric_state
entity_id: sensor.solcast_pv_forecast_forecast_today
above: input_number.helper_speicheroptimierung_limit_guter_tag_prognose
alias: Heute ist ein guter Sonnentag
- condition: not
conditions:
- condition: state
entity_id: input_select.helper_pv_battery_mode
state: Netzladen
alias: Nicht unterbrechen, wenn der Speicher derzeit im Modus 'Netzladen' ist.
actions:
- alias: Prüfe, dass kein Lesefehler beim Battery SOC aufgetreten ist.
if:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_battery_lesefehler
state: 'off'
then:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
- action: input_select.select_option
metadata: {}
data:
option: Nur Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- alias: Aktualisiere die Zustände, falls ein Auto geladen wird.
action: automation.trigger
metadata: {}
data:
skip_condition: true
target:
entity_id:
- automation.speicheroptimierung_erlaube_die_de_prioritisierte_ladung_des_speichers_wahrend_verzogertem_speicherladen_wenn_ein_auto_geladen_wird_um_den_eigenverbrauch_zu_optimieren
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
message: "Heimspeicherladung wird ab jetzt verzögert, da der Batteriestand,\
\ ab dem verzögert wird, erreicht wurde.\n\nAktueller SOC: {{ states('sensor.helper_speicheroptimierung_bat_soc')\
\ }}%. \n\nForecast: {{ states('sensor.solcast_pv_forecast_forecast_remaining_today')\
\ }}kWh."
title: Speicher Ladung verzögert.
else:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
message: 'Es gab vor kurzem offensichtlich einen Lesefehler des SOCs aus der
Heimbatterie. Automatisierung "Heimspeicher: Speicherdienlichkeit: Laden
stoppen" abgebrochen.'
title: Batterie SOC Lesefehler
color: red
mode: single
- alias: 'Heimspeicher: Manuelle Ladung abgeschlossen'
description: ''
triggers:
- trigger: template
value_template: '{{ states (''sensor.sofar_battery_capacity_total'') | float >=
states(''input_number.helper_pv_battery_target_soc'') | float }}'
alias: SoC ist gleich oder über Ziel SoC
conditions:
- condition: state
entity_id: input_select.helper_pv_battery_mode
state: Netzladen
actions:
- alias: Falls der Ziel SoC 100% beträgt, verzögere um 15 Minuten um der Batterie
noch die Zeit zu geben komplett aufzuladen und alle Zellen auszubalanzieren.
if:
- condition: template
value_template: '{{ states (''input_number.helper_pv_battery_target_soc'') |
float == 100 }}'
then:
- delay:
hours: 0
minutes: 15
seconds: 0
milliseconds: 0
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: notify.mobile_app_pixel_8
metadata: {}
data:
data:
notification_icon: mdi:home-battery
title: Heimspeicher Ladung fertig.
message: Die Ladung des Heimspeichers wurde bei einem Speicherstand von {{ states('sensor.sofar_battery_capacity_total')
}}% abgeschlossen.
mode: single
- alias: 'LP1: Bei Bedarf Fahrzeugladegrenze erhöhen'
description: ''
triggers:
- trigger: state
entity_id:
- sensor.evcc_lp_1_effective_limit_soc
- sensor.evcc_lp_1_vehicle_name
for:
hours: 0
minutes: 0
seconds: 5
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: '{{ states(''sensor.evcc_vehicle_1_name'') == states(''sensor.evcc_lp_1_vehicle_name'')
}}'
alias: Tesla (Vehicle 1) ist mit LP1 verbunden.
sequence:
- action: script.tesla_ladegrenze_bei_bedarf_erhohen
metadata: {}
data:
desired_limit_soc: '{{ states(''sensor.evcc_lp_1_effective_limit_soc'')
}}'
alias: Passe Ladegrenze von Tesla an.
- conditions:
- condition: template
value_template: '{{ states(''sensor.evcc_vehicle_2_name'') == states(''sensor.evcc_lp_1_vehicle_name'')
}}'
alias: Hyundai (Vehicle 2) ist mit LP1 verbunden.
sequence:
- action: script.hyundai_ladegrenze_bei_bedarf_erhohen
metadata: {}
data:
desired_limit_soc: '{{ states(''sensor.evcc_lp_1_effective_limit_soc'')
}}'
alias: Passe Ladegrenze von Hyundai an.
mode: single
- alias: 'LP1: iGo: EVCC auf ''Schnell'': Sofort starten'
description: ''
triggers:
- trigger: state
entity_id:
- select.evcc_lp_1_mode
to: now
alias: Der Lademodus des Ladepunktes wird auf 'Schnell' geschaltet.
conditions:
- alias: '''Intelligent Go" Helfer ist aus oder tagsüber (nachts bei aktiviertem
Smarten Laden laufen wir in Konflikt mit Intelligent Go)'
condition: or
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'off'
- condition: sun
before: sunset
after: sunrise
actions:
- action: script.tesla_ladevorgang_starten
metadata: {}
data: {}
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
mode: single
- alias: 'LP1: iGo: Smartcharging endet.'
description: ''
triggers:
- alias: Die Zeit für Smartes Laden endet.
trigger: state
entity_id:
- binary_sensor.octopus_a_<octopus_id>_intelligent_dispatching
to: 'off'
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'on'
alias: Der 'Intelligent Go' Helfer in Home Assistant ist eingeschaltet
actions:
- action: select.select_option
metadata: {}
data:
option: pv
target:
entity_id: select.evcc_lp_1_mode
alias: Lademodus des Ladepunktes zurück auf Überschussladen.
- alias: Sende eine Benachrichtigung an die Companion App
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Ladevorgang beendet'
message: Die Zeit für Smartcharging wurde beendet.
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
mode: single
- alias: 'LP1: iGo: Smartcharging startet'
description: ''
triggers:
- alias: Die Zeit für Smartes Laden startet.
trigger: state
entity_id:
- binary_sensor.octopus_a_<octopus_id>_intelligent_dispatching
to: 'on'
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'on'
alias: '''Intelligent Go" Helfer in Home Assistant ist an und erlaubt Smartes
Laden.'
actions:
- action: select.select_option
metadata: {}
data:
option: now
target:
entity_id: select.evcc_lp_1_mode
alias: 'Gebe das Laden von EVCC frei: Lademodus des Ladepunktes auf ''Schnell''.'
- alias: Sende eine Benachrichtigung an die Companion App.
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Smartcharging gestartet'
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
message: Smartcharging wurde gestartet.
mode: single
- alias: 'LP1: iGo: Tagsüber: Überprüfe ob Ladevorgang gestartet wurde'
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.evcc_lp_1_enabled
from: 'off'
to: 'on'
for:
hours: 0
minutes: 3
seconds: 0
alias: Der Ladevorgang wurde vor mehr als 3 Minuten am Ladepunkt gestartet.
conditions:
- alias: Bei 100% wird der Ladevorgang Fahrzeugseitig unterbrochen. Dies darf diese
Automation nicht triggern.
condition: numeric_state
entity_id: sensor.evcc_lp_1_vehicle_soc
below: 100
- condition: state
entity_id: binary_sensor.evcc_lp_1_connected
state: 'on'
alias: Ein Fahrzeug ist mit dem Ladepunkt verbunden.
- condition: state
entity_id: binary_sensor.evcc_lp_1_charging
state: 'off'
alias: Das Fahrzeug hat jedoch immer noch nicht mit dem Laden begonnen.
- alias: Der Lademodus ist entweder Überschussladen oder Schnell
condition: or
conditions:
- condition: state
entity_id: select.evcc_lp_1_mode
state: pv
- condition: state
entity_id: select.evcc_lp_1_mode
state: minpv
- condition: state
entity_id: select.evcc_lp_1_mode
state: now
- alias: '''Intelligent Go'' Helfer ist aus oder es ist tagsüber und wir wollen
nur per Überschuss laden.'
condition: or
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'off'
- condition: sun
before: sunset
after: sunrise
actions:
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
- action: script.tesla_ladevorgang_starten
metadata: {}
data: {}
- alias: Sende eine Benachrichtigung an die Companion App
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Ladevorgang nicht gestartet'
message: Der Ladevorgang ist nicht automatisch gestartet. Wurde nochmals im
Tesla gestartet.
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
mode: single
- alias: 'LP1: iGo: Tagsüber: Ladevorgang unterbrochen'
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.evcc_lp_1_charging
from: 'on'
to: 'off'
for:
hours: 0
minutes: 3
seconds: 0
alias: Aktiver Ladevorgang wird für mindestens 3 Minuten unterbrochen.
conditions:
- alias: Bei 100% wird der Ladevorgang Fahrzeugseitig unterbrochen. Dies darf diese
Automation nicht triggern.
condition: numeric_state
entity_id: sensor.evcc_lp_1_vehicle_soc
below: 100
- condition: state
entity_id: binary_sensor.evcc_lp_1_connected
state: 'on'
alias: Ein Fahrzeug ist am Ladepunkt verbunden
- condition: state
entity_id: binary_sensor.evcc_lp_1_enabled
state: 'on'
alias: Der Ladepunkt is aktiviert und sollte eigentlich laden.
- alias: Der Lademodus ist entweder Überschussladen oder Schnell
condition: or
conditions:
- condition: state
entity_id: select.evcc_lp_1_mode
state: pv
- condition: state
entity_id: select.evcc_lp_1_mode
state: minpv
- condition: state
entity_id: select.evcc_lp_1_mode
state: now
- alias: '''Intelligent Go'' Helfer ist aus oder es ist tagsüber und wir wollen
nur per Überschuss laden.'
condition: or
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'off'
- condition: sun
before: sunset
after: sunrise
actions:
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
- action: script.tesla_ladevorgang_starten
metadata: {}
data: {}
- alias: Sende eine Benachrichtigung an die Companion App
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Ladevorgang unterbrochen'
message: Der Ladevorgang wurde vom Tesla unterbrochen. Er wurde neu gestartet.
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
mode: single
- alias: 'LP2: Bei Bedarf Fahrzeugladegrenze erhöhen'
description: ''
triggers:
- trigger: state
entity_id:
- sensor.evcc_lp_2_effective_limit_soc
- sensor.evcc_lp_2_vehicle_name
for:
hours: 0
minutes: 0
seconds: 5
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: '{{ states(''sensor.evcc_vehicle_1_name'') == states(''sensor.evcc_lp_2_vehicle_name'')
}}'
alias: Tesla (Vehicle 1) ist mit LP1 verbunden.
sequence:
- action: script.tesla_ladegrenze_bei_bedarf_erhohen
metadata: {}
data:
desired_limit_soc: '{{ states(''sensor.evcc_lp_2_effective_limit_soc'')
}}'
alias: Passe Ladegrenze von Tesla an.
- conditions:
- condition: template
value_template: '{{ states(''sensor.evcc_vehicle_2_name'') == states(''sensor.evcc_lp_2_vehicle_name'')
}}'
alias: Hyundai (Vehicle 2) ist mit LP1 verbunden.
sequence:
- action: script.hyundai_ladegrenze_bei_bedarf_erhohen
metadata: {}
data:
desired_limit_soc: '{{ states(''sensor.evcc_lp_2_effective_limit_soc'')
}}'
alias: Passe Ladegrenze von Hyundai an.
mode: single
- alias: 'LP2: iGo: EVCC auf ''Schnell'': Sofort starten'
description: ''
triggers:
- trigger: state
entity_id:
- select.evcc_lp_2_mode
to: now
alias: Der Lademodus des Ladepunktes wird auf 'Schnell' geschaltet.
conditions:
- alias: '''Intelligent Go" Helfer ist aus oder tagsüber (nachts bei aktiviertem
Smarten Laden laufen wir in Konflikt mit Intelligent Go)'
condition: or
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'off'
- condition: sun
before: sunset
after: sunrise
actions:
- action: script.tesla_ladevorgang_starten
metadata: {}
data: {}
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
mode: single
- alias: 'LP2: iGo: Smartcharging endet.'
description: ''
triggers:
- alias: Die Zeit für Smartes Laden endet.
trigger: state
entity_id:
- binary_sensor.octopus_a_<octopus_id>_intelligent_dispatching
to: 'off'
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'on'
alias: Der 'Intelligent Go' Helfer in Home Assistant ist eingeschaltet
actions:
- action: select.select_option
metadata: {}
data:
option: pv
target:
entity_id: select.evcc_lp_2_mode
alias: Lademodus des Ladepunktes zurück auf Überschussladen.
- alias: Sende eine Benachrichtigung an die Companion App
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Ladevorgang beendet'
message: Die Zeit für Smartcharging wurde beendet.
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
mode: single
- alias: 'LP2: iGo: Smartcharging startet'
description: ''
triggers:
- alias: Die Zeit für Smartes Laden startet.
trigger: state
entity_id:
- binary_sensor.octopus_a_<octopus_id>_intelligent_dispatching
to: 'on'
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'on'
alias: '''Intelligent Go" Helfer in Home Assistant ist an und erlaubt Smartes
Laden.'
actions:
- action: select.select_option
metadata: {}
data:
option: now
target:
entity_id: select.evcc_lp_2_mode
alias: 'Gebe das Laden von EVCC frei: Lademodus des Ladepunktes auf ''Schnell''.'
- alias: Sende eine Benachrichtigung an die Companion App.
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Smartcharging gestartet'
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
message: Smartcharging wurde gestartet.
mode: single
- alias: 'LP2: iGo: Tagsüber: Überprüfe ob Ladevorgang gestartet wurde'
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.evcc_lp_2_enabled
from: 'off'
to: 'on'
for:
hours: 0
minutes: 3
seconds: 0
alias: Der Ladevorgang wurde vor mehr als 3 Minuten am Ladepunkt gestartet.
conditions:
- alias: Bei 100% wird der Ladevorgang Fahrzeugseitig unterbrochen. Dies darf diese
Automation nicht triggern.
condition: numeric_state
entity_id: sensor.evcc_lp_2_vehicle_soc
below: 100
- condition: state
entity_id: binary_sensor.evcc_lp_2_connected
state: 'on'
alias: Ein Fahrzeug ist mit dem Ladepunkt verbunden.
- condition: state
entity_id: binary_sensor.evcc_lp_2_charging
state: 'off'
alias: Das Fahrzeug hat jedoch immer noch nicht mit dem Laden begonnen.
- alias: Der Lademodus ist entweder Überschussladen oder Schnell
condition: or
conditions:
- condition: state
entity_id: select.evcc_lp_2_mode
state: pv
- condition: state
entity_id: select.evcc_lp_2_mode
state: minpv
- condition: state
entity_id: select.evcc_lp_2_mode
state: now
- alias: '''Intelligent Go'' Helfer ist aus oder es ist tagsüber und wir wollen
nur per Überschuss laden.'
condition: or
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'off'
- condition: sun
before: sunset
after: sunrise
actions:
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
- action: script.tesla_ladevorgang_starten
metadata: {}
data: {}
- alias: Sende eine Benachrichtigung an die Companion App
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Ladevorgang nicht gestartet'
message: Der Ladevorgang ist nicht automatisch gestartet. Wurde nochmals im
Tesla gestartet.
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
mode: single
- alias: 'LP2: iGo: Tagsüber: Ladevorgang unterbrochen'
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.evcc_lp_2_charging
from: 'on'
to: 'off'
for:
hours: 0
minutes: 3
seconds: 0
alias: Aktiver Ladevorgang wird für mindestens 3 Minuten unterbrochen.
conditions:
- alias: Bei 100% wird der Ladevorgang Fahrzeugseitig unterbrochen. Dies darf diese
Automation nicht triggern.
condition: numeric_state
entity_id: sensor.evcc_lp_2_vehicle_soc
below: 100
- condition: state
entity_id: binary_sensor.evcc_lp_2_connected
state: 'on'
alias: Ein Fahrzeug ist am Ladepunkt verbunden
- condition: state
entity_id: binary_sensor.evcc_lp_2_enabled
state: 'on'
alias: Der Ladepunkt is aktiviert und sollte eigentlich laden.
- alias: Der Lademodus ist entweder Überschussladen oder Schnell
condition: or
conditions:
- condition: state
entity_id: select.evcc_lp_2_mode
state: pv
- condition: state
entity_id: select.evcc_lp_2_mode
state: minpv
- condition: state
entity_id: select.evcc_lp_2_mode
state: now
- alias: '''Intelligent Go'' Helfer ist aus oder es ist tagsüber und wir wollen
nur per Überschuss laden.'
condition: or
conditions:
- condition: state
entity_id: input_boolean.helper_intelligent_go
state: 'off'
- condition: sun
before: sunset
after: sunrise
actions:
- action: script.igo_smartes_laden_ausschalten
metadata: {}
data: {}
- action: script.tesla_ladevorgang_starten
metadata: {}
data: {}
- alias: Sende eine Benachrichtigung an die Companion App
action: notify.mobile_app_<companion_app_device_name>
metadata: {}
data:
title: 'iGo: Ladevorgang unterbrochen'
message: Der Ladevorgang wurde vom Tesla unterbrochen. Er wurde neu gestartet.
data:
notification_icon: mdi:car-electric
tag: igo-charging
group: igo-charging
mode: single
- alias: 'Speicheroptimierung: Täglicher Maximalwert schreiben'
description: ''
triggers:
- trigger: state
entity_id:
- sensor.helper_speicheroptimierung_bat_soc
conditions:
- condition: numeric_state
entity_id: sensor.helper_speicheroptimierung_bat_soc
above: input_number.helper_speicheroptimierung_today_max_soc
- condition: sun
after: sunrise
alias: Erst nach Sonnenaufgang setzen, da nach der Nacht der Speicherstand vermutlich
eher klein sein wird.
actions:
- action: input_number.set_value
metadata: {}
data:
value: '{{ states(''sensor.helper_speicheroptimierung_bat_soc'') }}'
target:
entity_id: input_number.helper_speicheroptimierung_today_max_soc
mode: single
- alias: 'Speicheroptimierung: Täglicher Maximalwert nicht erreicht: Meldung'
description: ''
triggers:
- trigger: sun
event: sunset
offset: 0
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_benachrichtigungen
state: 'on'
actions:
- choose:
- conditions:
- condition: numeric_state
entity_id: input_number.helper_speicheroptimierung_today_max_soc
below: number.evcc_site_priority_soc
sequence:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
tag: speicheroptimierung_maximalwert
notification_icon: mdi:home-battery-outline
message: Der Heimspeicher hat heute nicht den Wert von EVCC Priority SOC
erreicht. Der maximal erreichte SOC war {{ states('input_number.helper_speicheroptimierung_today_max_soc')
}}.
title: Heimspeicher unter Priority SOC geblieben.
color: red
- conditions:
- condition: numeric_state
entity_id: input_number.helper_speicheroptimierung_today_max_soc
below: 100
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_limit_ein
state: 'off'
sequence:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
tag: speicheroptimierung_maximalwert
notification_icon: mdi:home-battery-outline
message: Der Heimspeicher ist heute nicht ganz voll geworden, ist aber über
den EVCC Priority SOC gekommen. Wenn bis zum Abend ein Auto geladen wurde
ist dies OK. Der maximal erreichte SOC war {{ states('input_number.helper_speicheroptimierung_today_max_soc')
}}.
title: Heimspeicher nicht voll geworden.
color: gray
alias: Keine Ladestandsbegrenzung aktiv und nicht 100% erreicht.
- conditions:
- condition: numeric_state
entity_id: input_number.helper_speicheroptimierung_today_max_soc
below: input_number.helper_speicheroptimierung_limit_soc_grenze
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_limit_ein
state: 'on'
sequence:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
tag: speicheroptimierung_maximalwert
notification_icon: mdi:home-battery-outline
message: 'Die maximale Ladestandbegrenzung ist aktiv. Der Heimspeicher hat
jedoch die Grenze von {{ states(''input_number.helper_speicheroptimierung_limit_soc_grenze'')
}} % nicht erreicht.
Der maximal erreichte SOC war {{ states(''input_number.helper_speicheroptimierung_today_max_soc'')
}}.'
title: Heimspeicher hat nicht die Ladegrenze erreicht.
color: gray
alias: Ladestandsbegrenzung aktiv und Ladestandsgrenze nicht erreicht.
mode: single
- alias: 'Heimspeicher: Modus geändert'
description: ''
triggers:
- trigger: state
entity_id:
- input_select.helper_pv_battery_mode
- input_number.helper_pv_battery_max_discharge_power
- input_number.helper_pv_battery_max_charge_power
for:
hours: 0
minutes: 0
seconds: 3
- trigger: state
entity_id:
- sensor.evcc_site_battery_discharge_control
to: 'false'
- trigger: state
entity_id:
- sensor.evcc_site_battery_grid_charge_active
to: 'false'
conditions:
- condition: and
conditions:
- condition: state
entity_id: sensor.evcc_site_battery_discharge_control
state: 'false'
- condition: state
entity_id: sensor.evcc_site_battery_grid_charge_active
state: 'false'
alias: EVCC hat derzeit keine Kontrolle über die Batterieladung
actions:
- action: script.heimspeicher_modus_setzen
metadata: {}
data: {}
mode: restart
- alias: 'Heimspeicher: Nächtliches Speichersparen morgens beenden'
description: ''
triggers:
- alias: Morgens um 6:30
trigger: time
at: 06:30:00
conditions:
- condition: state
entity_id: input_boolean.helper_nightly_battery_saver
state: 'on'
alias: Wenn nächtliches Speichersparen aktiviert wurde.
actions:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.helper_nightly_battery_saver
data: {}
alias: Flag löschen
- action: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.helper_home_battery_discharge_disabled
alias: Speicher aktivieren
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
alias: Heimspeicher Modus wieder auf Automatik
mode: single
- alias: 'Heimspeicher: Nächtliches Speichersparen aktivieren'
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.sofar_battery_capacity_total
below: 35
for:
hours: 0
minutes: 5
seconds: 0
- trigger: time
at: 00:00:00
conditions:
- alias: Zwischen 0:00 und 6:30
condition: time
after: 00:00:00
before: 06:00:00
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
- sun
- condition: numeric_state
entity_id: sensor.sofar_battery_capacity_total
below: 35
actions:
- action: input_select.select_option
metadata: {}
data:
option: Nur Laden
target:
entity_id: input_select.helper_pv_battery_mode
alias: Heimspeicher Entladung deaktivieren.
mode: single
- alias: 'Speicheroptimierung: Laden bei zu niedrigem Speicherstand starten'
description: ''
triggers:
- alias: Speicherstand unterschreitet minimalen Speicherstand.
trigger: template
value_template: '{{ states(''sensor.helper_speicheroptimierung_bat_soc'') | float
<= states(''input_number.helper_speicheroptimierung_min_soc_laden_aktivieren'')
| float }}'
for:
hours: 0
minutes: 1
seconds: 0
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
actions:
- alias: Prüfe, dass kein Lesefehler beim Battery SOC aufgetreten ist.
if:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_battery_lesefehler
state: 'off'
then:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
message: 'Der Speicherstand ist auf einen zu niedrigen Stand gefallen. Die
Speicherladung wird wieder aktiviert.
Aktueller SOC: {{ states(''sensor.helper_speicheroptimierung_bat_soc'')
}}%.
Forecast: {{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
}}kWh.'
title: Speicher Ladestand zu niedrig. Ladung aktiviert.
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
- action: switch.turn_off
metadata: {}
data: {}
target:
entity_id:
- switch.evcc_lp_1_battery_boost
- switch.evcc_lp_2_battery_boost
alias: Falls bei einem Ladevorgang der Battery Boost aktiv ist, diesen deaktivieren.
else:
- alias: Sende Benachrichtigung, falls gewünscht.
if:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_benachrichtigungen
state: 'on'
then:
- alias: Benachrichtigung bei Lesefehler
action: notify.mobile_app_pixel_8
metadata: {}
data:
data:
tag: battery-delayed-charging
notification_icon: mdi:home-battery
message: 'Es gab vor kurzem offensichtlich einen Lesefehler des SOCs aus
der Heimbatterie. Automatisierung "Heimspeicher: Netzdienlichkeit: Laden
bei zu niedrigem Speicherstand starten" abgebrochen.'
title: Batterie SOC Lesefehler
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
message: 'Es gab vor kurzem offensichtlich einen Lesefehler des SOCs aus der
Heimbatterie. Automatisierung "Heimspeicher: Netzdienlichkeit: Laden bei
zu niedrigem Speicherstand starten" abgebrochen.'
title: Batterie SOC Lesefehler
color: red
mode: single
- alias: 'EVCC: Morgendlicher reset von Battery Grid Charge Limit'
description: ''
triggers:
- trigger: time
at: 09:00:00
conditions: []
actions:
- action: number.set_value
metadata: {}
data:
value: '0'
target:
entity_id: number.evcc_site_battery_grid_charge_limit
mode: single
- alias: 'EVCC: LP1: Reset nach ausstecken'
description: ''
triggers:
- entity_id:
- binary_sensor.evcc_lp_1_connected
to: 'off'
from: 'on'
trigger: state
conditions: []
actions:
- metadata: {}
data:
value: '0.20'
target:
entity_id: number.evcc_lp_1_smart_cost_limit
action: number.set_value
- action: select.select_option
metadata: {}
data:
option: pv
target:
entity_id: select.evcc_lp_1_mode
mode: single
- alias: 'EVCC: LP2: Reset nach ausstecken'
description: ''
triggers:
- entity_id:
- binary_sensor.evcc_lp_2_connected
to: 'off'
from: 'on'
trigger: state
conditions: []
actions:
- metadata: {}
data:
value: '0.20'
target:
entity_id: number.evcc_lp_2_smart_cost_limit
action: number.set_value
- action: select.select_option
metadata: {}
data:
option: pv
target:
entity_id: select.evcc_lp_2_mode
mode: single
- alias: 'Speicheroptimierung: Vermutlicher SoC Lesefehler: helper_speicheroptimierung_battery_lesefehler
an für 2 minuten.'
description: ''
triggers:
- trigger: state
entity_id:
- sensor.helper_speicheroptimierung_bat_soc
to: '0'
conditions: []
actions:
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id:
- input_boolean.helper_speicheroptimierung_battery_lesefehler
- delay:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id:
- input_boolean.helper_speicheroptimierung_battery_lesefehler
mode: restart
- alias: 'Speicheroptimierung: Nach Sonnenaufgang noch genug Kapazität.'
description: ''
triggers:
- trigger: sun
event: sunrise
offset: 00:30:00
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
- alias: Die Energievorhersage für heute größer ist als die aktuelle Restenergie
+ 1
condition: template
value_template: '{{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
| float >= states(''sensor.helper_speicheroptimierung_restenergie_aktuell'')
| float + 1 }}'
- condition: numeric_state
entity_id: sensor.solcast_pv_forecast_forecast_today
above: input_number.helper_speicheroptimierung_limit_guter_tag_prognose
alias: Heute ist ein guter Sonnentag
- alias: Aktueller Ladestand des Speichers ist über der eingestellten minimalen
Restkapazität.
condition: template
value_template: '{{ states(''sensor.helper_speicheroptimierung_bat_soc'') | float
>= states(''input_number.helper_speicheroptimierung_soc_laden_deaktivieren'')
| float }}'
- condition: not
conditions:
- condition: state
entity_id: input_select.helper_pv_battery_mode
state: Netzladen
alias: Nicht unterbrechen, wenn der Speicher derzeit im Modus 'Netzladen' ist.
actions:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
message: "Morgens noch genug im Speicher. Heimspeicherladung wird jetzt blockiert.\
\ \n\nAktueller SOC: {{ states('sensor.helper_speicheroptimierung_bat_soc')\
\ }}%. \n\nForecast: {{ states('sensor.solcast_pv_forecast_forecast_remaining_today')\
\ }}kWh."
title: Speicher Ladung verzögert.
- action: input_select.select_option
metadata: {}
data:
option: Nur Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: input_boolean.turn_on
metadata: {}
data: {}
target:
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
mode: single
- alias: Speicheroptimierung ausgeschaltet
description: ''
triggers:
- trigger: state
entity_id:
- input_boolean.helper_speicheroptimierung_ein
from: 'on'
to: 'off'
conditions: []
actions:
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
mode: single
- alias: 'Speicheroptimierung: Tage ohne Vollladung setzen. Max SoC zurücksetzen'
description: ''
triggers:
- trigger: time
at: 00:00:00
conditions: []
actions:
- if:
- condition: numeric_state
entity_id: input_number.helper_speicheroptimierung_today_max_soc
below: 100
then:
- action: input_number.increment
metadata: {}
data: {}
target:
entity_id: input_number.helper_speicheroptimierung_batterie_nicht_voll_zahler
else:
- action: input_number.set_value
metadata: {}
data:
value: 0
target:
entity_id: input_number.helper_speicheroptimierung_batterie_nicht_voll_zahler
alias: Tage ohne Vollladung erhöhen falls nicht voll, oder zurücksetzen.
- alias: Maximalen SoC Wert zurücksetzen.
action: input_number.set_value
metadata: {}
data:
value: 0
target:
entity_id:
- input_number.helper_speicheroptimierung_today_max_soc
mode: single
- alias: 'Speicheroptimierung: Verspätetes Laden starten'
description: ''
triggers:
- trigger: state
entity_id:
- sensor.solcast_pv_forecast_forecast_remaining_today
enabled: true
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
state: 'on'
- condition: template
value_template: '{{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
| float <= states(''sensor.helper_speicheroptimierung_restenergie_aktuell'')
| float }}'
enabled: true
alias: Restliche Energievorhersage unter der aktuellen Restenergie für den Ladestart.
actions:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
title: Speicher Ladung gestartet.
message: 'Heimspeicher beginnt nun zu laden.
Aktueller SOC: {{ states(''sensor.helper_speicheroptimierung_bat_soc'') }}%.
Forecast: {{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
}}kWh.'
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
- action: script.speicheroptimierung_evcc_priority_soc_aktualisieren
metadata: {}
data: {}
mode: single
- alias: 'Speicheroptimierung: Wenn Speicher für mehr als 30 Tage nicht vollgeworden
ist, erzwinge Netzladen'
description: ''
triggers:
- trigger: numeric_state
entity_id:
- input_number.helper_speicheroptimierung_batterie_nicht_voll_zahler
above: 30
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
actions:
- action: input_number.set_value
metadata: {}
data:
value: 100
target:
entity_id: input_number.helper_pv_battery_target_soc
alias: Auf 100% laden.
- action: input_select.select_option
metadata: {}
data:
option: Netzladen
target:
entity_id: input_select.helper_pv_battery_mode
alias: Netzladen starten.
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
notification_icon: mdi:home-battery-outline
title: Speichervollladung erzwungen.
message: Nachdem der Speicher für mehr als 30 Tage nicht vollgeworden ist, wird
eine Vollladung nun aus dem Netz erzwungen um den LFP Speicher wieder zu kalibrieren.
color: red
tag: speicheroptimierung-ladungerzwungen
mode: single
- alias: 'Speicheroptimierung: Vorhersage fällt unter Limit für ausreichend guten
Tag'
description: ''
triggers:
- trigger: template
value_template: '{{ states(''sensor.solcast_pv_forecast_forecast_today'') | float
< states(''input_number.helper_speicheroptimierung_limit_guter_tag_prognose'')
| float }}'
conditions:
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_ein
state: 'on'
- condition: state
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
state: 'on'
actions:
- action: script.speicheroptimierung_benachrichtigung
metadata: {}
data:
title: Speicher Ladung gestartet.
message: 'Heimspeicher beginnt nun zu laden.
Aktueller SOC: {{ states(''sensor.helper_speicheroptimierung_bat_soc'') }}%.
Forecast: {{ states(''sensor.solcast_pv_forecast_forecast_remaining_today'')
}}kWh.'
- action: input_select.select_option
metadata: {}
data:
option: Automatisches Laden und Entladen
target:
entity_id: input_select.helper_pv_battery_mode
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.helper_speicheroptimierung_verzoegertes_laden_aktiv
- action: script.speicheroptimierung_evcc_priority_soc_aktualisieren
metadata: {}
data: {}
mode: single
- alias: 'Heimspeicher: Modus erneut setzen bei unerwarteten Änderungen am Passive
Mode'
description: ''
triggers:
- trigger: state
entity_id:
- number.sofar_passive_mode_grid_power
for:
hours: 0
minutes: 0
seconds: 2
- trigger: state
entity_id:
- number.sofar_passive_mode_battery_power_max
for:
hours: 0
minutes: 0
seconds: 2
- trigger: state
entity_id:
- number.sofar_passive_mode_battery_power_min
for:
hours: 0
minutes: 0
seconds: 2
- trigger: state
entity_id:
- select.sofar_charger_use_mode
for:
hours: 0
minutes: 0
seconds: 2
conditions:
- condition: state
entity_id: input_boolean.helper_battery_updating_passive_mode
state: 'off'
alias: Die Werte werden gerade durch das Script geändert.
- condition: and
conditions:
- condition: state
entity_id: sensor.evcc_site_battery_discharge_control
state: 'false'
- condition: state
entity_id: sensor.evcc_site_battery_grid_charge_active
state: 'false'
alias: EVCC hat derzeit keine Kontrolle über die Batterieladung
actions:
- variables:
old_desired_grid_power: '{{ states(''number.sofar_passive_mode_grid_power'')
}}'
old_battery_max_power: '{{ states(''number.sofar_passive_mode_battery_power_max'')
}}'
old_battery_min_power: '{{ states(''number.sofar_passive_mode_battery_power_min'')
}}'
old_use_mode: '{{ states(''select.sofar_charger_use_mode'') }}'
- action: script.heimspeicher_modus_setzen
metadata: {}
data: {}
response_variable: return_values
- if:
- condition: template
value_template: '{{ return_values.values_updated == true }}'
then:
- action: notify.mobile_app_pixel_8
metadata: {}
data:
title: Passive Mode Werte wurden unerwartet geändert.
message: "Die gewünschten Werte wurden wieder hergestellt. \nDesired Grid\
\ Power: {{ old_desired_grid_power }} -> {{ states('number.sofar_passive_mode_grid_power')\
\ }} \nMax Battery Power: {{ old_battery_max_power }} -> {{ states('number.sofar_passive_mode_battery_power_max')\
\ }} \nMin Battery Power: {{ old_battery_min_power }} -> {{ states('number.sofar_passive_mode_battery_power_min')\
\ }}"
data:
notification_icon: mdi:home-battery
color: red
alias: Benachrichtige, wenn sich die Leistungswerte geändert haben.
- if:
- condition: template
value_template: '{{ return_values.energy_storage_mode_changed == true }}'
then:
- action: notify.mobile_app_pixel_8
metadata: {}
data:
title: Energy Storage Mode wurde unerwartet geändert.
message: "Passive mode wurde wieder gesetzt. \nÄnderung: {{ old_use_mode }}\
\ -> {{ states('select.sofar_charger_use_mode') }}"
data:
notification_icon: mdi:home-battery
color: red
alias: Benachrichtige, wenn sich der Storage Mode geändert hat.
mode: single