1748 lines
55 KiB
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
|