Interactions en mode Callback
Une notification de type « Callback » permet, depuis la notification reçue, un « Rappel » à votre eedomus. Ce rappel permet d’exécuter des actions précises que vous aurez prédéfinies, telles que l’ouverture d’un portail, la fermeture d’un volet, ou l’exécution d’une nouvelle notification qui enverrait par exemple la capture d’une caméra.
Dans Telegram, ce rappel prend la forme d’un bouton. L’exemple de notification Callback, proposé à l’installation du plugin sous eedomus, envoie la notification « Vous partez ? » avec deux callback intégrés : « Activer l’alarme » et « Fermer le volets ». Cela donne le résultat suivant :
Un appui sur le bouton « Fermer les volets » renverra donc l’ordre à votre eedomus pour fermeture des volets.
Vous pouvez donc créer autant de callback que vos besoins et imagination. A savoir :
- Il y a au maximum 4 boutons dans une notification callback
- 1 callback positionne un périphérique eedomus sur une de ses valeurs possibles. Il est aussi possible d’exécuter une macro d’un périphérique
- Le texte d’un bouton callback peut lui-même être la valeur d’un périphérique (identifié par son code API eedomus)
- Le texte de notification en en-tête des callback peut lui-même être mis en forme comme lors d’une notification simple
Exemple concrêt : Je souhaite créer une notification en cas d’intrusion en mon absence, qui m’indiquerait l’état des différentes ouvertures. Cette notification devra intégrer 3 actions possibles rapidement (3 callbacks) :
- « Lever le doute » : ce rappel me renverrait la capture de la caméra de la cour. Pour cela, j’appelle la valeur 6 de mon périphérique de notification Telegram eedomus de code API 123456
- « Sirène maintenant » : ce rappel lancerait les différentes sirènes d’alarme de la maison. Pour cela, je positionne le périphérique de code API 456879 à la valeur 100
- « Désarmer l’alarme » : ce rappel coupe l’alarme. Pour cela, je positionne la macro 987654 d’un périphérique.
Voici à quoi doit ressembler ma notification dans le plugin eedomus :
[B]Intrusion détectée à [TIME] ! [/B] ([I][1576612][/I]) [CALLBACK:Lever le doute,123456,6,Sirène maintenant,456879,100,Désarmer l’alarme,M987654,1]
L’état des ouvertures m’est retourné avec [1576612] qui est le code API du périphérique « Etat des ouvertures », issu du plugin du même nom dans le store eedomus.
Voici ce que donne le résultat de cette notification dans Telegram, ainsi que ce que j’obtiens en cliquant sur le bouton « Lever le doute » :
Notez également la petite icône de validation avant l’affichage de la capture, qui confirme que ma demande de callback a bien été transmise à mon eedomus.
Avec ce scénario, vous voyez qu’un callback peut appeler une nouvelle notification, et donc potentiellement d’autres notifications avec callback intégrés. Il est donc tout à fait possible de se construire une navigation en cascade, par exemple :
- 1ère notification avec callbacks « Fermer les volets », « Eteindre les lumières »
- Le choix « Fermer les volets » renvoie une notification avec callbacks : « Fermer le salon », « Fermer la cuisine », « Fermer les chambres »…
- etc.
Vous noterez qu’un bouton de callback affiché dans votre messagerie Telegram sera toujours opérationnel. Sa capacité d’action n’a pas de date d’expiration (sauf bien sûr si vous supprimez les messages reçus). Par ailleurs, il n’y a pas d’action automatique prévue dans le cas où vous ne répondez pas à la notification. C’est ce qui fait la différence entre une Notification Callback et l’utilisation du plugin Ask du store edomus, qu’on évoquera dans un prochain article.
A suivre, l’interaction en langage naturel entre le Bot Telegram et la box eedomus, grâce au plugin ChatBot du store…
1 réflexion au sujet de « Interactions domotiques avec Telegram et eedomus (1/3) »