Mehr Nein denn Ja würde ich sagen.
Hier ist ein Kalender-Such-Script welches ich in einem Countdown Wie lange noch bis zum Zahnarzt? Countdown bis zu einem bestimmten Kalendertermin eingearbeitet haben. Es ist nicht Deine Lösung aber gibt eine Idee/Richtung, in der Du probieren kannst.
Zusammenfassung
sequence:
- variables:
kalendername: |
calendar.{{states('input_select.selectbox_meinekalender')}}
suchtext: |
{{states('input_text.countdown_kalender_termintext') | lower}}
kalenderjahre: |
{{states('input_number.countdown_kalenderjahre')}}
startzeit: |
{{ now() }}
endzeit: |
{{ as_datetime(startzeit) + timedelta(days=kalenderjahre * 365) }}
- if:
- condition: template
value_template: "{{states('input_text.countdown_kalender_termintext') | count == 0}}"
then:
- action: input_text.set_value
metadata: {}
data:
value: Bitte ein Suchwort eingeben!
target:
entity_id: input_text.countdown_kalender_termintext
- stop: Kein Suchwort vorhanden!
- action: calendar.get_events
metadata: {}
data:
start_date_time: "{{startzeit}}"
end_date_time: "{{endzeit}}"
target:
entity_id: "{{kalendername}}"
response_variable: termine
- variables:
starttermin: >-
{% set TerminGefunden = false %} {% set events = termine.values() |
map(attribute='events') | list | first %} {% set ns =
namespace(found=false) %} {% for e in events %}
{% if not ns.found and suchtext | string in e.summary | lower %}
{{ e.start }}
{% set ns.found = true %}
{% endif %}
{% endfor %}
- if:
- condition: template
value_template: "{{starttermin != ''}}"
then:
- action: input_datetime.set_datetime
metadata: {}
data:
datetime: "{{starttermin}}"
target:
entity_id: input_datetime.countdown_start_date
enabled: true
else:
- action: input_text.set_value
metadata: {}
data:
value: Keinen passenden Termin gefunden!
target:
entity_id: input_text.countdown_kalender_termintext
- action: input_datetime.set_datetime
metadata: {}
data:
date: "2025-01-01"
target:
entity_id: input_datetime.countdown_start_date
alias: om_scr_tech_finde_naechsten_termin
description: >-
## Script sucht in einem Kalender nach einen bestimmten Termin und speichert
dessen Starttermin in einen Datumshelfer
mode: restart