SmartGrid-Steuerung an Wärmepumpe (hier: Dimplex LI 16I-TUR)

Update AN- und AUS-Automationen angepasst.

An-Automation mit Träger alle 10 Minuten:

alias: Überschussheizen EIN (setzt nur Helfer)
description: >-
  Aktiviert das Warmwasser nur bei PV-Überschuss am Tag und vollem Akku (ohne
  Tageslimit). Mit Verzögerung zum letzten Ausschalten und maximal 3 Stunden am
  Tag.
triggers:
  - entity_id: sensor.grid_power_out_varta
    above: 3000
    for:
      minutes: 5
    trigger: numeric_state
  - trigger: time_pattern
    minutes: /10
conditions:
  - condition: state
    entity_id: sun.sun
    state: above_horizon
  - condition: numeric_state
    entity_id: sensor.varta_ladestand_gefiltert
    above: 95
  - condition: state
    entity_id: input_boolean.schalter_uberschussheizen
    state: "off"
    for:
      hours: 0
      minutes: 15
      seconds: 0
  - condition: template
    value_template: |
      {{ states('sensor.uberschussheizen_dauer_heute_h')|float(0) < 3 }}
actions:
  - target:
      entity_id: input_boolean.schalter_uberschussheizen
    action: input_boolean.turn_on
    data: {}
mode: single

Aus-Automation mit hartem aus bei SOC unter 75%:

alias: Überschussheizen AUS (schaltet nur Helfer)
description: >
  Stufe 1: SoC < 75% (2min) immer AUS. Stufe 2: SoC < 85% nur bei <500 W (5min).
  Stufe 3: >3h Tageslaufzeit => AUS.
triggers:
  - id: soc75
    entity_id: sensor.varta_ladestand_gefiltert
    below: 75
    for:
      minutes: 2
    trigger: numeric_state
  - id: gridlow
    entity_id: sensor.grid_power_out_varta
    below: 500
    for:
      minutes: 5
    trigger: numeric_state
  - id: maxruntime
    entity_id: sensor.uberschussheizen_dauer_heute_h
    above: 3
    trigger: numeric_state
conditions:
  - condition: state
    entity_id: input_boolean.schalter_uberschussheizen
    state: "on"
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: soc75
        sequence:
          - target:
              entity_id: input_boolean.schalter_uberschussheizen
            action: input_boolean.turn_off
            data: {}
      - conditions:
          - condition: trigger
            id: gridlow
          - condition: numeric_state
            entity_id: sensor.varta_ladestand_gefiltert
            below: 98
          - condition: state
            entity_id: input_boolean.schalter_uberschussheizen
            state: "on"
            for:
              minutes: 22
        sequence:
          - target:
              entity_id: input_boolean.schalter_uberschussheizen
            action: input_boolean.turn_off
            data: {}
      - conditions:
          - condition: trigger
            id: maxruntime
        sequence:
          - target:
              entity_id: input_boolean.schalter_uberschussheizen
            action: input_boolean.turn_off
            data: {}
  - stop: "Fertig: Überschussheizen ausgeschaltet"
initial_state: true
mode: single