Automation mit Zustandsabfrage (IDs ) nur in Intervallen ausführen

Ich bin mal wieder gescheitert mit meiner Suche.
Problemstellung: Ich möchte einen Heizstab steuern wenn PV Überschuß da ist.
Ging zunächst mal einfach. Zunächst habe ich alle 2 min abgefragt und bei 700W (bzw den 30 sec Mittelwert des Smartmeters) eingeschaltet. Aber wenn ich 800W Überschuss habe und zB bei 700W einschalte, dann ist es bei der nächsten Abfrage ja unter 700 und er wird ausgeschaltet. Dann wird er nach 2 min wieder eingeschaltet. Um das zu verhindern habe ich auf 3 Zustände getriggert. Soweit so gut. Nun ist es aber so, dass wenn zB die Waschmaschine läuft gerade bei etwa 1500W Überschuss die Automation ständig hin und her schaltet. Was ich also möchte ist das die Gesamte Abfrage nur alle 2 min läuft. Irgendwie bekomme ich das nicht hin da ich nur eine Triggerebene im vis. Editor habe,Ich müsste also eine übergeordnete Intervallauslösung einbauen, aber wie?
Oder einen ganz andere Ansatz finden,
Hier mal die Yaml (time pattern habe ich deaktiviert daher “false”

alias: testWP mit Nous an
description: ""
trigger:
  - platform: time_pattern
    minutes: /2
    enabled: false
  - platform: numeric_state
    entity_id:
      - sensor.statistical_characteristic
    below: -700
    id: unter 7
  - platform: numeric_state
    entity_id:
      - sensor.statistical_characteristic
    above: -700
    below: -100
    id: 7-1
  - platform: numeric_state
    entity_id:
      - sensor.statistical_characteristic
    id: über 1
    above: -100
condition: []
action:
  - if:
      - condition: template
        value_template: "{{ now().month <= 3 and now().month >= 10 }}"
        enabled: false
      - condition: numeric_state
        entity_id: sensor.warmwasser_temp
        below: 87
      - condition: sun
        before: sunset
        after: sunrise
    then:
      - type: turn_on
        device_id: 945c67db4bb849bd3cb0e51ee95f7b88
        entity_id: b7f4b6ae8c85dad17fccef405f1202c6
        domain: switch
    else:
      - type: turn_off
        device_id: 945c67db4bb849bd3cb0e51ee95f7b88
        entity_id: b7f4b6ae8c85dad17fccef405f1202c6
        domain: switch
  - choose:
      - conditions:
          - condition: trigger
            id:
              - unter 7
        sequence:
          - type: turn_on
            device_id: 945c67db4bb849bd3cb0e51ee95f7b88
            entity_id: b7f4b6ae8c85dad17fccef405f1202c6
            domain: switch
      - conditions:
          - condition: trigger
            id:
              - 7-1
        sequence:
          - type: turn_on
            device_id: 945c67db4bb849bd3cb0e51ee95f7b88
            entity_id: b7f4b6ae8c85dad17fccef405f1202c6
            domain: switch
      - conditions:
          - condition: trigger
            id:
              - über 1
        sequence:
          - type: turn_off
            device_id: 945c67db4bb849bd3cb0e51ee95f7b88
            entity_id: b7f4b6ae8c85dad17fccef405f1202c6
            domain: switch
mode: single

Wenn Du nicht willst, das beim unterschreiten eines Wertes sofort ausgeführt wird, dann nimm doch den Auslöser:

Wert sinkt unter X für X Minuten

Gruß
Osorkon

:+1:Danke, bin ich nicht drauf gekommen! Ist nun bereits umgesetzt!

tja, so richtig läuft es nicht. Ich bin jetzt zwar in der Lage zu überwachen und die Automation haut auch soweit hin WENN die eingestellten Werte getroffen werden.
Wenn sie aber vorhanden sind klappt es nicht. Deshalb hattest du mir mal bei einer anderen Sache geraten eine minütliche Abfrage zu machen.
Wenn ich aber als Trigger “Zeit” (also alle x Minuten) nehme, dann kann ich keine Optionen definieren… Ich möchte ja erreichen das je nach PV Erzeugung verschiedene Zusände geschaltet bzw abgeschaltet werden und das abhängig davon, das der Wert überschritten IST (und nicht überschritten wird wie ich es jetzt habe…) Das geht sicher aber mir fehlt das wie :woozy_face:

alias: testWP mit Nous an
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.statistical_characteristic
    id: über 1
    above: -100
    for:
      hours: 0
      minutes: 0
      seconds: 10
    enabled: true
  - platform: numeric_state
    entity_id:
      - sensor.statistical_characteristic
    below: -700
    id: unter 7
    for:
      hours: 0
      minutes: 0
      seconds: 10
    enabled: true
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - unter 7
        sequence:
          - type: turn_on
            device_id: 945c67db4bb849bd3cb0e51ee95f7b88
            entity_id: b7f4b6ae8c85dad17fccef405f1202c6
            domain: switch
      - conditions:
          - condition: trigger
            id:
              - über 1
        sequence:
          - type: turn_off
            device_id: 945c67db4bb849bd3cb0e51ee95f7b88
            entity_id: b7f4b6ae8c85dad17fccef405f1202c6
            domain: switch
    enabled: true
  - if:
      - condition: template
        value_template: "{{ now().month >= 3 and now().month <= 10 }}"
        enabled: false
      - condition: numeric_state
        entity_id: sensor.warmwasser_temp
        above: 85
        enabled: true
      - condition: sun
        before: sunrise
        after: sunset
        enabled: true
    then:
      - type: turn_off
        device_id: 945c67db4bb849bd3cb0e51ee95f7b88
        entity_id: b7f4b6ae8c85dad17fccef405f1202c6
        domain: switch
        enabled: true
    enabled: true
mode: single