Kalender ganz tätiges Ereignis als Trigger

alias: Kalender UrlaubHELFER - Test
description: Schaltet den Urlaubshelfer ein/aus nach Kalender Urlaub
triggers:
  - trigger: time
    at: "06:00:00"
conditions: []
actions:
  - sequence:
      - action: calendar.get_events
        metadata: {}
        data:
          duration:
            hours: 23
            minutes: 59
            seconds: 59
          start_date_time: >-
            {{ now().replace(hour=0, minute=0, second=0) | as_timestamp |
            timestamp_custom('%Y-%m-%d %H:%M:%S') }}
        target:
          entity_id: calendar.urlaub
        response_variable: vacation_today
      - if:
          - condition: template
            value_template: |-
              {% set events = vacation_today['calendar.urlaub']['events'] %}
              {{ events 
                 | selectattr('summary', 'equalto', 'Urlaub') 
                 | selectattr('start', 'search', now().strftime('%Y-%m-%d')) 
                 | list | count > 0 }}
        then:
          - action: input_boolean.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: input_boolean.urlaubshelfer
          - action: notify.mobile_app_dane_s_iphone_13
            metadata: {}
            data:
              message: Urlaub erkannt – HELFER eingeschaltet
        else:
          - action: input_boolean.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: input_boolean.urlaubshelfer
          - action: notify.mobile_app_dane_s_iphone_13
            metadata: {}
            data:
              message: Kein Urlaub – HELFER ausgeschaltet
mode: single

So hier der Bugfix für dich. :wink:

Das Problem was du hattest war das der Termin ein ganztägiger Termin ist, somit beginnt der Termin wie in deinem Beispiel am Montag 30.06.2025 um 0:00 Uhr, allerdings endet der Termin am 01.07.2025 um 0:00 Uhr. Da der Zeitraum der Prüfung von 0:00 Uhr bis 23:59:59 Uhr geht wurde der Termin am Dienstag dem 01.07.2025 weiterhin erfasst. Und erst am 02.07.2025 nicht mehr erkannt.

Was ich geändert habe ist das jetzt nach einem Termin mit der Bezeichnung Urlaub und dem Terminbeginn mit dem heutigen Datum gesucht wird. Und je nachdem ob die Bedingung erfüllt ist oder nicht, werden deine gewünschten Aktionen diesmal korrekt ausgeführt.

Hab das ganze bei mir getestet, hat bei mir super funktioniert. Hoffe ich habe keine Bugs drin, falls doch sag mir Bescheid dann schau ich natürlich nochmal rein.

2 „Gefällt mir“