HAllo,
ich habe hier zwei kleine Probleme und weiß nicht weiter.
Ich habe eine Automatisierung, die mir, wenn bestimmte Ganztages-Kalendereinträge vorhanden sind, einen Helfer (Bool) schaltet.
Die Kalendereinträge, bei denen ausgelöst werden soll, sind
"J: Frei"
"S: Frei"
"J: Urlaub"
"S: Urlaub"
"JS: Frei"
"JS: Urlaub"
"SJ: Urlaub"
"SJ: Frei"
(jeweils ODER und ohne Anführungszeichen)
Das erste Problem:
Bisher klappte die Automatisierung zwar, aber auch wenn irgendwo "Frei" oder "Urlaub" stand, unabhängig von den
Buchstaben davor. Ich würde aber gerne den ganzen String abfragen, weiß aber nicht wie ich das im Template "verschachtel".
Das zweite Problem ist, dass die Automatisierung nicht auslöst, wenn mehrere Ganztages-Kalendereinträge vorhanden sind.
Die Automatisierung:
Code: Alles auswählen
alias: "Helfer: Kalender Frei/Urlaub TEST"
description: Helfer für Steuerung wenn Urlaub oder Frei
trigger:
- platform: calendar
event: start
offset: "-0:1:0"
entity_id: calendar.kalender_junds_junds
id: start
- platform: calendar
event: end
offset: "0:1:0"
entity_id: calendar.kalender_junds_junds
id: ende
condition:
- condition: or
conditions:
- condition: template
value_template: "{{ 'Urlaub' in trigger.calendar_event.summary }}"
enabled: true
- condition: template
value_template: "{{ 'Frei' in trigger.calendar_event.summary }}"
enabled: true
action:
- choose:
- conditions:
- condition: trigger
id: start
sequence:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.kalender_helfer_frei_urlaub
- conditions:
- condition: trigger
id: ende
sequence:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.kalender_helfer_frei_urlaub
mode: parallel
max: 15
Beispieltag, an dem generell es nicht funktioniert:
Code: Alles auswählen
message: Test Termin 1
all_day: true
start_time: "2024-06-03 00:00:00"
end_time: "2024-06-04 00:00:00"
location: ""
description: ""
data:
- summary: Test Termin 1
start: "2024-06-03"
end: "2024-06-04"
all_day: true
description: ""
location: ""
categories: []
sensitivity: Normal
show_as: Busy
attendees: []
uid: >-
AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO6beEGAAA=
- summary: Test Termin 2
start: "2024-06-03"
end: "2024-06-04"
all_day: true
description: ""
location: ""
categories: []
sensitivity: Normal
show_as: Busy
attendees: []
uid: >-
AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO6beEHAAA=
- summary: "J: Frei"
start: "2024-06-03"
end: "2024-06-04"
all_day: true
description: ""
location: ""
categories: []
sensitivity: Normal
show_as: Busy
attendees: []
uid: >-
AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO6beEIAAA=
- summary: "Karin: Weg"
start: "2024-06-03"
end: "2024-06-14"
all_day: true
description: ●
location: ""
categories: []
sensitivity: Normal
show_as: Busy
attendees: []
uid: >-
AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAO4TGKCAAA=
- summary: "J: HomeOffice"
start: "2024-06-03"
end: "2024-06-05"
all_day: true
description: ""
location: ""
categories: []
sensitivity: Normal
show_as: Free
attendees: []
uid: >-
AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgFRAAgI3INgHJ5AAEYAAAAAOVebM9HYmE_C190mZEOZcQcAsoKupPg-CUycXwqVmFwjtwAAAAABDQAAsoKupPg-CUycXwqVmFwjtwABpnMJiAAAEA==
color: light_green
hex_color: "#058039"
offset_reached: false
friendly_name: Kalender Jens und Silke
Der Trace zu der Automatisierung sieht so aus:
Code: Alles auswählen
this:
entity_id: automation.helfer_frei_urlaub
state: 'on'
attributes:
id: '1673613538241'
last_triggered: '2024-06-01T22:01:00.001889+00:00'
mode: single
current: 0
friendly_name: 'Helfer: Automatisierung: Frei / Urlaub'
last_changed: '2024-06-01T10:36:47.299926+00:00'
last_reported: '2024-06-01T22:01:00.003256+00:00'
last_updated: '2024-06-01T22:01:00.003256+00:00'
context:
id: 01HZAX3ZB108JSK92A24VPDRDD
parent_id: null
user_id: null
trigger:
id: start
idx: '0'
alias: null
platform: calendar
event: start
offset:
__type: <class 'datetime.timedelta'>
total_seconds: -60
calendar_event:
start: '2024-06-03'
end: '2024-06-05'
summary: 'J: HomeOffice'
description: ''
location: ''
uid: >-
AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgFRAAgI3INgHJ5AAEYAAAAAOVebM9HYmE_C190mZEOZcQcAsoKupPg-CUycXwqVmFwjtwAAAAABDQAAsoKupPg-CUycXwqVmFwjtwABpnMJiAAAEA==
recurrence_id: >-
AAMkADVlZDNiM2Y3LWE5YTQtNDk5OC1iZDMwLTZlZTMzOWE3MjJmZgBGAAAAAAA5V5sz0diYT4LX3SZkQ5lxBwCygq6k_D8JTJxfCpWYXCO3AAAAAAENAACygq6k_D8JTJxfCpWYXCO3AAGmcwmIAAA=
all_day: true
Es scheint, als würde nur der erste Kalendereintrag abgefragt und wenn der nicht passt ("Frei" oder "Urlaub"), wird abgebrochen.
Wie kann man die Automatisierung funktionsfähig hinbekommen und optimieren?