Timer starten bzw. zurücksetzen

Hallo zusammen,
ich weiß nicht ob der Themen-Titel tatsächlich beschreibt, was ich suche…
Also: ich habe eine Automation, die jedes Mal, wenn etwas passiert, ein Script triggert. Also z.B. Fenster geht auf – Script auslösen. Jemand kommt nach Hause – Script auslösen. Und dann gibt es einen Trigger alle 15 Minuten – Script auslösen.
Kann man den “alle-15-Minuten-Trigger” durch das Auslösen der anderen Trigger auch zurücksetzen?
Ich meine, 13 Minuten vom 15-Minuten-Timer sind rum, ein Fenster geht auf, das Script wird ausgelöst, zwei Minuten später sind die 15 Minuten rum und das Script läuft wieder.
Ich hoffe ich habe einigermaßen rüberbringen können was ich suche…:grimacing:

Das geht über Timer-Helfer (siehe Timer - Home Assistant). Du könntest deinen 15 Minuten Trigger durch einen Timer ersetzen, den du nach Belieben steuern kannst. Über Einstellungen=>Geräte&Dienste=>Helfer einen Timer-Helfer erstellen (Laufzeit kann dabei angegeben werden).

Im Automationsbereich „Trigger“ kannst du auf die verschiedenen Timer-Events reagieren, z.B.

triggers:
  - trigger: event
    event_type: timer.finished
    event_data:
      entity_id: timer.timer_kueche_ttuer_licht
    id: Timer_Kueche_TT_Finished
  - trigger: event
    event_type: timer.cancelled
    event_data:
      entity_id: timer.timer_kueche_ttuer_licht
    id: Timer_Kueche_TT_Cancelled
    enabled: false
.
.
.

man kann auf die verschiedene Events (timer.cancelled , timer.finished, timer.started, timer.restarted, timer.paused ) reagieren und die States auswerten (idle, active, paused). Wenn der Timer läuft, dann ist der State=active.

Beispiel:


         - if:
              - condition: and
                conditions:
                  - condition: state
                    entity_id: timer.timer_kueche_ttuer_licht
                    state: active
                  - condition: state
                    entity_id: input_boolean.kueche_auto_licht_ttuer
                    state: "on"
            then:
              - action: timer.cancel
                metadata: {}
                data: {}
                target:
                  entity_id: timer.timer_kueche_ttuer_licht
              - action: light.turn_off
                metadata: {}
                data: {}
                target:
                  entity_id: light.kuechenstation_neopixel_ws2812b_60_kueche

Man kann den Timer innerhalb der Automation stoppen, starten und auch eine neue Zeit vorgeben, z.B.

              - action: timer.start
                data:
                  duration: "20"
                target:
                  entity_id: timer.timer_kueche_ttuer_licht


Okay, Danke!
Vermutlich hab ich nur die Hälfte verstanden, wenn überhaupt.
In deinem Beispiel hast du einen Timer “Küche Tür Licht”, den du ausschaltest, wenn das “Küche Auto Licht” an ist. Soweit richtig?

Die Beispiele sollten nur die Verwendung eines Timers (timer.timer_kueche_ttuer_licht) zeigen. Es sind Bruchstücke einer größeren Automation mit Bewegungsmelder, Helligkeitssensor, Türsensor…
“input_boolean.kueche_auto_licht_ttuer” ist hier nur ein Helfer-Schalter, der über die Oberfläche gesetzt wird und die gesamte Automation ein- bzw. ausschaltet.

Das Ganze beginnt so:

alias: Kueche_Auto_Licht_TTuer
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.tuer_geschlossen
    from: "off"
    to: "on"
    id: Kuechentuer_geoeffnet
  - trigger: state
    entity_id:
      - binary_sensor.kuechenstation_bewegungsmelder
    to: "on"
    id: Motion_Erkannt_Kueche
  - trigger: event
    event_type: timer.finished
    event_data:
      entity_id: timer.timer_kueche_ttuer_licht
    id: Timer_Kueche_TT_Finished
.
.
.	
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Kuechentuer_geoeffnet
        sequence:
          - if:
              - condition: and
                conditions:
                  - condition: state
                    entity_id: input_boolean.kueche_auto_licht_ttuer
                    state: "on"
                  - condition: numeric_state
                    entity_id: sensor.kuechenstation_kueche_helligkeit
                    below: 0.04
            then:
              - action: light.turn_on
                metadata: {}
                data:
                  rgb_color:
                    - 255
                    - 255
                    - 255
                  brightness_pct: 50
                target:
                  entity_id: light.kuechenstation_neopixel_ws2812b_60_kueche
              - action: timer.start
                data:
                  duration: "30"
                target:
                  entity_id: timer.timer_kueche_ttuer_licht
      - conditions:
          - condition: trigger
            id:
              - Motion_Erkannt_Kueche
        sequence:
.
.
.

Begriffen. :sweat_smile:
Ein Timer ist eine Entität, die beim Timerablauf ihren Zustand zu “idle” ändert, dies löst das Skript aus und anschließend wird er (durch einen Trigger) neu gestartet.
Kommt etwas dazwischen, weil sich eine andere Entität ändert, löst dies den Restart des Timers aus.

Du hast mir geholfen, Danke!:+1: