Hello
Petit soucis, mais gros problèmes à trouver une solution !
Je voulais faire une petite automation pour récupérer dans le calendrier familial (intégration calendrier ios partagé dans calendar) et détecter si c’est un évènement de congés pour adapter certaines automation.
Le code actuel est le suivant :
Résumé
alias: Calendrier Famille - Récup congés du jour et demain
description: ""
trigger:
- platform: time_pattern
hours: /1
minutes: "5"
condition: []
action:
- service: calendar.get_events
target:
entity_id:
- calendar.famille
data:
start_date_time: "{{ today_at() }}"
duration:
hours: 24
response_variable: agenda_today
alias: Evenements du jour sur calendrier famille
- alias: XXXX en congé ce jour
if:
- condition: template
value_template: |
{{
agenda_today['calendar.famille'].events
| map(attribute='summary')
| select('search', 'Congé')
| select('search', 'XXXX')
| list
| count >= 1
}}
then:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.XXXX_en_conges_aujourd_hui
data: {}
else:
- service: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.XXXX_en_conges_aujourd_hui
- service: calendar.get_events
target:
entity_id:
- calendar.famille
data:
start_date_time: "{{ today_at() + timedelta(days=1) }}"
duration:
hours: 24
response_variable: agenda_tomorrow
alias: Evenements demain sur calendrier famille
- alias: XXXX en congé demain
if:
- condition: template
value_template: |
{{
agenda_tomorrow['calendar.famille'].events
| map(attribute='summary')
| select('search', 'Congé')
| select('search', 'XXXX')
| list
| count >= 1
}}
then:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.XXXX_en_conges_demain
data: {}
else:
- service: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.XXXX_en_conges_demain
mode: single
En gros on check aujourd’hui, puis demain si il y a un évènement, et si cet évènement contient « Congé » et le prénom de la personne, j’active ou non un input_boolean.
La variable va par exemple me retourner :
agenda_today:
calendar.famille:
events:
- start: '2024-05-21'
end: '2024-05-25'
summary: 'Congés XXXX '
Et c’est la que mon problème commence. Ce sont des éléments type « journée entière », donc sur l’affichage calendrier, ca sera coloré pour les 21->24 mai. Pas le 25 mai, ce qui est normal puisque en « jour entier » c’est censé se terminer le 25/05 à 00:00:00.
Par contre l’automation pense que le 25 est bien un jour de congé.
Du coup pour généraliser, si je suis en congés un lundi, le script va me détecter en congés le lundi et mardi.
Vous auriez une idée pour mieux gérer mes conditions ?
Merci