Flow déclenché selon un calendrier: icalCalendar

Voici ma traduction du topic sur icalCalendar, par @RobvandeGoor, merci à lui!

Il est possible de déclencher des flows à partir des évènements de votre calendrier, en utilisant l’application icalCalendar.

Paramétrage

La première chose à faire est d’ajouter votre calendrier dans l’application. Vous la possibilité d’ajouter un ou plusieurs calendriers. IcalCalendar fonctionne avec les calendriers Apple, Outlook et Gmail mais il devrait théoriquement fonctionner avec n’importe quel fournisseur tant qu’ils permettent une adresse publique en « ical » (*.ics).

Ouvrez la page de configuration de l’application, collez le lien ical et nommez votre calendrier.

Si vous ne savez pas où trouver le lien ical, suivez ces instructions :

Exchange ou Outlook :

  • Aller sur Outlook
  • Paramètres -> Afficher tous les paramètres outlook
  • Aller dans Calendrier -> calendriers partagés
  • Publiez un calendrier, cliquez sur le lien ics/ical et choisissez copier
  • Coller le lien ical/ics dans les paramètres de l’application dans Homey

Gmail :

  • Allez sur Gmail
  • Approchez le curseur et cliquez sur les 3 points à côté du calendrier que vous voulez partager -> Paramètres et partage
  • Cochez la case Rendre disponible publiquement
  • Cliquez sur Obtenir le lien partageable
  • Copiez le lien ics et cillez-le dans l’application de Homey

Apple :

  • Aller sur iCloud
  • Sur le panneau de gauche, cliquez sur l’icone en face du nom du calendrier
  • Cochez la case Calendrier public
  • Copiez le lien
  • Copiez le lien dans l’application de Homey. Le lien est sensible à la casse, attention aux majuscules.

Utilisation

Triggers (déclencheurs)

  • Event starts – déclenchement au démarrage de n’importe quel évènement
  • Event starts in – déclenchement si un évènement démarre à la fin d’un délai donné
  • Event stops – déclenchement à la fin de n’importe quel évènement

Si vous utilisez le trigger « Event starts in », vous devrez ajouter une variable de temps. Entrez la quantité et l’unité (Minute, Hour, Day, Week). NdT : L’app n’étant pas traduite, je pense qu’il faut laisser l’unité de temps en anglais.

Vous pouvez ajouter dans la partie ET du flow une condition en sélectionnant l’application icalCalendar et une de ces options :

  • Specific event is ongoing : Vérifie qu’un évènement spécifique est ou n’est pas en cours
  • Specific event starts within : Vérifie qu’un évènement spécifique commence ou ne commence pas avant la fin du temps défini.
  • Specific event stops within : Vérifie qu’un évènement spécifique se termine ou ne se termine pas avant la fin du temps défini.

NdT :

Start in = l’évènement commence dans 10 minutes exactement.

Start/stop within = l’évènement commence/fini d’ici 10 minutes. Ça peut être 2 secondes, 2 minutes, 5 minutes et 23 secondes ou 9 minutes et 59 secondes etc, mais pas 10 minutes et 1 seconde.

Il est également possible d’ajouter des conditions supplémentaire grâce aux cartes logiques et en utilisant les tags. Choisir « Logique » dans ajouter une carte. Les tags disponibles sont les suivants :

  • Event title : nom de l’évènement
  • Event description : description
  • Event location : localisation
  • Event duration : durée
  • Event duration (minutes) : durée en minutes
  • Calendar name : nom du calendrier

Les informations des tags proviennent de votre agenda.

NE choisissant l’application icalCalendar dans la partie « Alors », vous pourrez ajouter la carte de synchronisation. Cette action téléchargera un nouveau fichier ics pour mettre à jour les évènements en cours.

Si vous voulez ajouter un tag icalcalendar au sein d’un autre flow:

  • Ajouter une carte logique
  • Sélectionnez la carte tag désirée
  • Appuyez sur l’icone de tag
  • Tout en bas de l’écran, cherchez ical

Liste des tags globaux disponibles :

  • Next event title : nom du prochain évènement
  • Next event start date : date de démarrage du prochain évènement
  • Next event start time : heure de démarrage du prochain évènement
  • Next event stop date : date de fin du prochain évènement
  • Next event stop time : heure de fin du prochain évènement
  • Next event duration : durée du prochain évènement
  • Next event duration (minutes) : idem mais en minutes
  • Next event starts in (minutes) : le prochain évènement démarre dans (minutes)
  • Next event stops in (minutes): le prochain évènement fini dans (minutes)
  • Calendar name of next event : nom du calendrier du prochain évènement
  • Todays events, title and time : Nom et heure des évènements du jour
  • Todays events (count) : nombre d’évènements du jour
  • Tomorrows events, title and time : Nom et heure des évènements de demain
  • Tomorrows events (count) : nombre d’évènement de demain
  • Todays events (per calendar) : évènements du jour (par calendrier)
  • Tomorrows events (per calendar) : évènement de demain (par calendrier)

Ces tags peuvent être utilisés dans n’importe quelle application ou service.

Synchronisation

  • L’application synchronise automatiquement les calendriers toutes les 15 minutes ou par l’utilisation de la carte de synchronisation
  • Seulement les évènements pas encore démarrés ou démarrés mais pas encore fini seront récupérés.
  • Les évènements récurrents dont la date de départ est égale ou inférieure à deux mois seront récupérés.

Evènements récurrents

Attention aux évènements récurrents multiples ou dupliqués :
Si un ou plusieurs participants ont refusé un évènement récurrent, cet évènement spécifique (c-a-d une occurrence de la répétition) sera détaché de la récurrence et apparaitra comme un évènement séparé non récurrent, avec le même nom que la récurrence, et la même date que cette occurrence.

1 Like

Bonjour,
Je tente d’utiliser votre topic mais je ne suis pas assez fort ! Pourriez-vous me donner un exemple pour recevoir un message sur mon portable tous les mardis à 19h00 svp ?
Merci par avance,
Pierre

Ça c’est simple, tu vas dans « quand » puis « date et heure” et “Il est ». Tu choisis l’horaire.

Dans « alors » tu choisis « mobile » et « notification push » que tu paramètres.

MoPepettes,
Merci effectivement j’essayais avec l’appli icalcalendar mais cela n’était pas nécessaire.
Impec ça marche…

What are the fields parsed for the containing event?

I would like my flow to start the heating of a meeting rooms based on the location of the event.

So if event location = somewhere then heat somewhere before the meeting