126 lines
4.2 KiB
YAML
126 lines
4.2 KiB
YAML
# ============================================
|
|
# Battery Charging Optimizer - Automatisierungen
|
|
# ============================================
|
|
# Diese Automatisierungen zu deiner automations.yaml hinzufügen
|
|
# oder über die UI erstellen
|
|
|
|
automation:
|
|
# Automatisierung 1: Tägliche Planerstellung um 14:05 Uhr
|
|
- id: battery_optimizer_daily_calculation
|
|
alias: "Batterie Optimierung: Tägliche Planung"
|
|
description: "Erstellt täglich um 14:05 Uhr den Ladeplan basierend auf Strompreisen"
|
|
trigger:
|
|
- platform: time
|
|
at: "14:05:00"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.battery_optimizer_enabled
|
|
state: "on"
|
|
action:
|
|
- service: pyscript.calculate_charging_schedule
|
|
data: {}
|
|
- service: notify.persistent_notification
|
|
data:
|
|
title: "Batterie-Optimierung"
|
|
message: "Neuer Ladeplan für morgen erstellt"
|
|
mode: single
|
|
|
|
# Automatisierung 2: Stündliche Ausführung des Plans
|
|
- id: battery_optimizer_hourly_execution
|
|
alias: "Batterie Optimierung: Stündliche Ausführung"
|
|
description: "Führt jede Stunde den Ladeplan aus"
|
|
trigger:
|
|
- platform: time_pattern
|
|
minutes: "5"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.battery_optimizer_enabled
|
|
state: "on"
|
|
- condition: state
|
|
entity_id: input_boolean.battery_optimizer_manual_override
|
|
state: "off"
|
|
action:
|
|
- service: pyscript.execute_current_schedule
|
|
data: {}
|
|
mode: single
|
|
|
|
# Automatisierung 3: Notfall-Überprüfung bei niedrigem SOC
|
|
- id: battery_optimizer_low_soc_check
|
|
alias: "Batterie Optimierung: Niedrig-SOC Warnung"
|
|
description: "Warnt wenn Batterie unter Minimum fällt"
|
|
trigger:
|
|
- platform: numeric_state
|
|
entity_id: sensor.battery_state_of_charge
|
|
below: 20
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.battery_optimizer_enabled
|
|
state: "on"
|
|
action:
|
|
- service: notify.persistent_notification
|
|
data:
|
|
title: "Batterie-Warnung"
|
|
message: "Batterie-SOC ist unter {{ states('input_number.battery_optimizer_min_soc') }}%. Prüfe Ladeplan!"
|
|
mode: single
|
|
|
|
# Automatisierung 4: Initiale Berechnung nach Neustart
|
|
- id: battery_optimizer_startup_calculation
|
|
alias: "Batterie Optimierung: Start-Berechnung"
|
|
description: "Erstellt Ladeplan nach Home Assistant Neustart"
|
|
trigger:
|
|
- platform: homeassistant
|
|
event: start
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.battery_optimizer_enabled
|
|
state: "on"
|
|
action:
|
|
- delay: "00:02:00" # 2 Minuten warten bis alles geladen ist
|
|
- service: pyscript.calculate_charging_schedule
|
|
data: {}
|
|
mode: single
|
|
|
|
# Automatisierung 5: Preis-Update Trigger
|
|
- id: battery_optimizer_price_update
|
|
alias: "Batterie Optimierung: Bei Preis-Update"
|
|
description: "Erstellt neuen Plan wenn neue Strompreise verfügbar"
|
|
trigger:
|
|
- platform: state
|
|
entity_id: sensor.hastrom_flex_pro
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.battery_optimizer_enabled
|
|
state: "on"
|
|
- condition: template
|
|
value_template: >
|
|
{{ trigger.to_state.state != trigger.from_state.state and
|
|
now().hour >= 14 }}
|
|
action:
|
|
- service: pyscript.calculate_charging_schedule
|
|
data: {}
|
|
- service: notify.persistent_notification
|
|
data:
|
|
title: "Batterie-Optimierung"
|
|
message: "Neuer Ladeplan nach Preis-Update erstellt"
|
|
mode: single
|
|
|
|
# Automatisierung 6: Manueller Override Reset
|
|
- id: battery_optimizer_manual_override_reset
|
|
alias: "Batterie Optimierung: Manueller Override beenden"
|
|
description: "Deaktiviert manuellen Override nach 4 Stunden"
|
|
trigger:
|
|
- platform: state
|
|
entity_id: input_boolean.battery_optimizer_manual_override
|
|
to: "on"
|
|
for:
|
|
hours: 4
|
|
action:
|
|
- service: input_boolean.turn_off
|
|
target:
|
|
entity_id: input_boolean.battery_optimizer_manual_override
|
|
- service: notify.persistent_notification
|
|
data:
|
|
title: "Batterie-Optimierung"
|
|
message: "Manueller Override automatisch beendet"
|
|
mode: restart
|