Aller au contenu principal
Cette page vous a-t-elle été utile ?

Recettes d'automatisation

Quatre points de départ copiables pour l'action Appeler un webhook — chacun avec un objectif, des prérequis, des étapes et une configuration prête à adapter. Voir Automatisation de la maison connectée pour le fonctionnement général de l'action Appeler un webhook, et Webhooks pour l'autre côté, entrant (un système externe déclenche une règle PrimeCal).

Chaque requête d'Appeler un webhook envoie un corps JSON

L'action de webhook sortant de PrimeCal envoie toujours Content-Type: application/json avec un corps encodé en JSON — il n'y a aucun moyen de passer à un encodage de formulaire. Chacune des recettes ci-dessous appelle soit une API qui parle nativement JSON, soit passe par un service intermédiaire pour une cible qui ne parle pas JSON.

1. Home Assistant : allumer un appareil​

Objectif : faire appeler par PrimeCal une commande REST ou un webhook Home Assistant quand un événement ou une tâche démarre.

Prérequis : votre instance Home Assistant doit être accessible en HTTPS depuis internet (une adresse purement locale comme homeassistant.local est rejetée — voir Automatisation de la maison connectée pour comprendre pourquoi, et comment l'exposer avec Home Assistant Cloud ou votre propre proxy inverse). Vous aurez besoin d'un jeton d'accès longue durée de Home Assistant.

Étapes :

  1. Créez ou ouvrez une règle d'automatisation avec un déclencheur adapté (event.starts_in, task.scheduled_start, ou webhook.incoming si le déclencheur vient de Home Assistant lui-même).
  2. Ajoutez une action Appeler un webhook.
  3. Remplissez la configuration ci-dessous avec l'URL, le jeton et l'identifiant d'entité de votre propre instance.
  4. Enregistrez — une action webhook est une action sensible, la règle a donc besoin d'une approbation avant de s'exécuter réellement (voir Créer des règles d'automatisation pour l'étape d'approbation).
{
"url": "https://<your-instance>.ui.nabu.casa/api/webhook/<webhook-id>",
"method": "POST",
"authType": "bearer",
"authToken": "YOUR_HOME_ASSISTANT_LONG_LIVED_TOKEN",
"customPayload": { "entity_id": "switch.washing_machine" }
}

Limites : une action envoie une requête — enchaînez plusieurs actions Appeler un webhook dans la même règle pour contrôler plusieurs entités.

L'autre sens : si vous préférez que Home Assistant appelle PrimeCal (pour déclencher le webhook.incoming de PrimeCal, ou simplement pour que Home Assistant réagisse à ce que PrimeCal lui envoie), téléchargez le blueprint PrimeCal Webhook Action et importez-le dans Home Assistant — voir Automatisation de la maison connectée pour les étapes d'importation. Il vous donne un point de terminaison webhook côté Home Assistant et vous laisse choisir n'importe quelle action à exécuter, avec les données envoyées par PrimeCal disponibles comme variable de modèle.

2. Slack : publier un message​

Objectif : faire publier par PrimeCal un message Slack quand un événement est créé, quand le statut d'une tâche change, ou pour tout autre déclencheur.

Prérequis : une URL de webhook entrant pour le canal Slack où vous voulez publier (Paramètres de l'espace de travail Slack → Applications → Webhooks entrants → Ajouter à Slack). C'est une URL unique avec le canal déjà intégré — pas de jeton de bot, pas d'OAuth.

Étapes :

  1. Créez ou ouvrez une règle avec le déclencheur souhaité (par ex. event.created).
  2. Ajoutez une action Appeler un webhook.
  3. Collez votre URL de webhook entrant comme url, laissez authType sur none (l'URL elle-même est le secret), et définissez un customPayload avec un champ text. Les valeurs intelligentes fonctionnent dans le texte.
{
"url": "https://hooks.slack.com/services/T000/B000/XXXXXXXXXXXXXXXXXXXXXXXX",
"method": "POST",
"authType": "none",
"customPayload": { "text": "Nouvel événement : {{event.title}} à {{event.startTime}}" }
}

Limites : une URL de webhook entrant ne publie que dans le canal pour lequel elle a été créée — créez un webhook séparé (et une action ou une règle séparée) pour chaque canal que vous voulez atteindre.

3. Rappel SMS via Vonage​

Objectif : envoyer un rappel par SMS un délai configurable avant le début d'un événement.

Prérequis : un compte Vonage avec l'API Messages activée, un identifiant d'application et une clé privée échangés contre un JWT de courte durée (la référence de l'API Messages de Vonage explique comment en générer un), et un identifiant d'expéditeur ou un numéro approuvé pour votre pays.

Pourquoi l'API Messages de Vonage, et non Twilio ou l'ancienne API SMS de Vonage

L'API REST de Twilio et l'API SMS classique de Vonage (rest.nexmo.com/sms/json) attendent toutes les deux application/x-www-form-urlencoded, ce que l'action Appeler un webhook ne peut pas envoyer. La nouvelle API Messages de Vonage (api.nexmo.com/v1/messages) accepte un corps JSON avec une authentification Bearer — c'est donc la seule qui fonctionne directement depuis cette action, sans service intermédiaire.

{
"url": "https://api.nexmo.com/v1/messages",
"method": "POST",
"authType": "bearer",
"authToken": "YOUR_SHORT_LIVED_JWT",
"customPayload": {
"message_type": "text",
"text": "Rappel : {{event.title}} commence à {{event.startTime}}",
"to": "YOUR_RECIPIENT_NUMBER",
"from": "YOUR_SENDER_ID",
"channel": "sms"
}
}

Limites : un JWT de l'API Messages de Vonage est de courte durée (généralement moins d'une heure) — une règle censée continuer à fonctionner a besoin, de votre côté, d'un processus qui renouvelle le JWT et met à jour le authToken de la règle, car PrimeCal ne gère pas cela pour vous.

4. Tablette murale ou kiosque : jumeler un appareil et choisir un écran​

Objectif : mettre une tablette, un Raspberry Pi ou le navigateur d'une smart TV en mode kiosque permanent, affichant un Écran construit à partir d'un des modèles système de PrimeCal.

Étapes :

  1. Jumelez l'appareil — voir Jumeler un appareil pour le déroulé complet avec le code à 8 caractères.
  2. Ouvrez Écrans depuis la navigation principale, allez dans l'onglet Modèles, et cliquez sur Appliquer à un Écran sur l'un des trois modèles système disponibles aujourd'hui — Tableau familial, Tableau de standup d'équipe ou Focus du jour — ou construisez votre propre mise en page à partir de widgets.
  3. Assignez cet Écran à l'appareil jumelé.

L'appareil interroge ensuite en continu PrimeCal pour le contenu de son Écran assigné et l'affiche en lecture seule, sans session utilisateur propre — voir Jumeler un appareil et Modèles et partage pour le fonctionnement des modèles, de la propriété et du partage.

Voir aussi​