J’aimerais activer le chauffage de mon bureau et régler mon réveil en fonction de mon travail (congés, télétravail ou au bureau).
Notre outil au travail ajoute automatiquement un événement « Congés », « Télétravail » ou « Bureau » pour chaque journée dans notre Google agenda. Je souhaitais donc me baser la dessus.
Cette solution me semblait parfaite pour ensuite ajouter des conditions dans mes schedulers en fonction de l’état de ces calendriers « intermédiaires ».
Mais j’arrive sur un problème. L’intégration Google Calendar permet seulement de récupérer le prochain événement ou celui en cours. Donc un seul événement.
Si une journée j’ai un événement à la journée entière qui s’appelle « Télétravail », ça va fonctionner. Mais si cette même journée j’ai un 2ème événement « Porte ouverte par exemple », il y en aura un seul des 2 qui remontera dans Home assistant et ça risque de ne pas être l’événement « Télétravail ».
Je précise que l’ajout de ces événements « Congés », « Télétravail » ou « Bureau » dans mon Google Calendar est fait automatiquement par un outil du travail, donc je ne le contrôle pas et je ne peux pas lui dire d’ajouter ces événements dans un autre calendrier malheureusement …
Est-ce que quelqu’un est confronté au même problème ou aurait une solution svp ?
Finalement j’ai trouvé une solution de contournement.
J’ai créé une automatisation qui va récupérer tous les prochains événements avec le service « calendar.get_events ». Et j’exécute toutes les heures cette automatisation pour vérifier s’il y a des événements de type « Télétravail », « Bureau » ou « Congés » dans l’heure qui suit. Et je mets les input_boolean à jour en fonction.
Découpé comme dans l’exemple que tu donnes, les calendriers ne se constituent QUE des évènements qui correspondent à la recherche :
Donc avec search: "#Télétravail" aucune chance que Porte ouverte y soit inclus dans calendar.teletravail. => X chaines = X calendriers différents.
C’est justement l’objectif initial de s’éviter que les évènements autres viennent tout casser.
Par contre effectivement, si tu cherches vraiment à trouver Porte ouverte (et à supposer que ce soit dans un calendrier que ça se situe), il faut créer le calendrier correspondant :
Ah super merci beaucoup !
Je pensais qu’avec ce calendar « intermédiaires » télétravail, ça mettait sa valeur à ON seulement si l’événement actuel de son calendar « parent » contenait « Télétravail ».
Sauf que si le calendar parent a Télétravail et Porte ouverte en même temps, son message peut être « Porte ouverte ». Et je pensais que dans ce cas ça posait souci. Mais vu ce que tu expliques, le calendrier intermédiaire noterait quand même ON.
En tout cas merci pour ton retour, ça va tout simplifier.
@Pulpy-Luke Sur la doc de l’intégration ils conseillent de ne plus utiliser les calendriers temporaires. Quel est le risque à ton avis ? S’il y a une mise à jour de l’intégration, ce serait peut-être supprimé et mes automatisations déclenchées par les calendriers intermédiaires ne fonctionneront plus ? Google Calendar - Home Assistant
Je t’avoue que ça me fait hésiter du coup à rester sur ma solution d’automation qui va chercher tous les événements de la journée avec getEvents et qui regarde s’il y en a un qui a le nom Télétravail.
Je ne peux pas choisir à ta place mais si tu as déjà un truc qui marche bien garde le
Sur ha, s’il y a une grosse mise à jour de la sorte, il y aura certainement une info avec une période 6 mois pour se retourner.
Ça fait plus de 5 ans que ça tourne nickel ici…