alias: Auto laden Laderegelung Delta (30s) description: > Regelt die Ladeleistung der Delta Wallbox anhand PV-Überschuss. PV-Überschuss: dynamisch 1400–3450W mit Hysterese beim Stopp. Ein/Nur NT: konfigurierbar. triggers: - minutes: "*" seconds: /30 trigger: time_pattern - entity_id: input_select.auto_lademodus trigger: state - entity_id: input_boolean.auto_laden_pause trigger: state - entity_id: input_number.wallbox_ladeleistung_fur_ein_nt trigger: state actions: - if: - condition: state entity_id: input_boolean.auto_laden_pause state: "on" then: - target: entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit data: value: 0 action: number.set_value - target: entity_id: input_number.wallbox_hysterese_start data: value: 0 action: input_number.set_value - stop: Pause aktiv - if: - condition: template value_template: | {{ (bezug <= ausschalten_netz_w or pv > reserve) and netzspitze_start > 0 }} then: - target: entity_id: input_number.wallbox_hysterese_start data: value: 0 action: input_number.set_value - choose: - conditions: - condition: template value_template: "{{ modus in ['Ein', 'Nur NT'] }}" sequence: - target: entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit data: value: "{{ fix_limit if wb_angeschlossen else 0 }}" action: number.set_value - target: entity_id: input_number.wallbox_hysterese_start data: value: 0 action: input_number.set_value - conditions: - condition: template value_template: "{{ modus == 'PV-Überschuss' }}" sequence: - choose: - conditions: - condition: template value_template: "{{ wb_aktiv }}" sequence: - variables: netto: "{{ pv - reserve - bezug }}" new_limit: > {% set raw = wb_limit + netto %} {% set clamped = [[raw, max_limit] | min, min_limit] | max %} {{ ((clamped // 100) * 100) | int }} - if: - condition: template value_template: > {{ wb_limit <= min_limit and bezug > ausschalten_netz_w and netzspitze_start == 0 }} then: - target: entity_id: input_number.wallbox_hysterese_start data: value: "{{ now().timestamp() | int }}" action: input_number.set_value - if: - condition: template value_template: > {{ netzspitze_start > 0 and netzspitze_seconds >= off_delay and bezug > ausschalten_netz_w and wb_limit <= min_limit }} then: - target: entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit data: value: 0 action: number.set_value - target: entity_id: input_number.wallbox_hysterese_start data: value: 0 action: input_number.set_value - stop: Hysterese abgelaufen – Wallbox gestoppt - target: entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit data: value: "{{ new_limit }}" action: number.set_value - conditions: - condition: template value_template: >- {{ not wb_aktiv and wb_angeschlossen and pv >= start_bei and bezug <= 0 }} sequence: - target: entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit data: value: "{{ min_limit }}" action: number.set_value - target: entity_id: input_number.wallbox_hysterese_start data: value: 0 action: input_number.set_value - conditions: - condition: template value_template: "{{ modus == 'Aus' }}" sequence: - target: entity_id: number.delta_ac_max_basic_evse1_ladeleistung_limit data: value: 0 action: number.set_value - target: entity_id: input_number.wallbox_hysterese_start data: value: 0 action: input_number.set_value variables: modus: "{{ states('input_select.auto_lademodus') }}" pv: "{{ states('sensor.pv_uberschuss') | float(0) }}" bezug: "{{ states('sensor.leistung_bezug_korrigiert') | float(0) }}" wb_limit: >- {{ states('number.delta_ac_max_basic_evse1_ladeleistung_limit') | float(0) }} wb_charge_state: "{{ states('sensor.delta_ac_max_basic_evse1_charge_state') | int(0) }}" wb_angeschlossen: "{{ wb_charge_state >= 1 }}" wb_aktiv: "{{ wb_charge_state == 3 and wb_limit > 0 }}" reserve: 50 min_limit: 1400 max_limit: 3450 fix_limit: "{{ states('input_number.wallbox_ladeleistung_fur_ein_nt') | int(1400) }}" ausschalten_netz_w: 300 off_delay: 120 netzspitze_start: "{{ states('input_number.wallbox_hysterese_start') | int(0) }}" netzspitze_seconds: "{{ (now().timestamp() - netzspitze_start) if netzspitze_start > 0 else 0 }}" start_bei: 1200 mode: restart