Intégrer un bot Telegram à Home Assistant facilement

Qui dit maison connectée, dit connectivité et contrôle à distance. Nos systèmes domotiques n’y échappent pas et, même s’ils proposent aujourd’hui tous des applications mobiles capables de nous transmettre des notifications, intégrer un bot Telegram à Home Assistant peut apporter certains plus non négligeables.

Nous verrons que cette convergence entre messagerie instantanée et domotique offre certains avantages, notamment celui de pouvoir converser avec Home Assistant. Ou presque. En effet, nous allons aussi bien pouvoir recevoir des notifications qu’envoyer des commandes, et même répondre à des questions que nous aurons préalablement prédéfinies. Vous avez dit génial ?

Créer un bot Telegram pour Home Assistant

Avant toute chose, il vous faut évidemment un compte Telegram. Pour ce faire, il vous suffit de télécharger l’application pour Android ou iOS et de vous inscrire. Nous passerons sur la procédure qui ne présente aucune difficulté pour des utilisateurs de Home Assistant.

Telegram
Telegram
Développeur: Telegram FZ-LLC
Prix: Gratuit
‎Telegram Messenger
‎Telegram Messenger
Développeur: Telegram FZ-LLC
Prix: Gratuit+

Comme l’indique l’intitulé de ce tutoriel, nous allons ensuite créer un bot qui agira comme interface entre notre client Telegram et Home Assistant.

Pour ce faire, c’est plutôt simple :

  1. Ouvrez l’application ou le client web de Telegram depuis un navigateur ;
  2. Dans le champ de recherche, tapez @botfather et ouvrez une conversation ;
  3. Cliquez sur Start (ou démarrer en français) et BotFather vous propose une liste des commandes possibles ;
  4. Pour créer un nouveau bot, cliquez sur /newbot, tout simplement, puis choisissez-lui un nom ;
  5. Il ne vous reste plus qu’à lui choisir un nom d’utilisateur terminant obligatoirement par bot ;
  6. Telegram vous explique ensuite un certain nombre de choses, mais le plus important reste de copier le token de l’API, que nous nommerons <MON_TOKEN> plus bas, et de le conserver précieusement dans un fichier sécurisé (un wallet par exemple) ;
  7. Il ne vous reste plus qu’à activer votre bot. Dans le champ de recherche, tapez @NomDeMonBot (ici @LesAlexiensBot) et ouvrez-le.
  8. Cliquez sur le bouton Start (ou Démarrer) pour l’activer et démarrez la discussion, avec un « Bonjour ! » par exemple ;
  9. Pour récupérer votre chat_id, ouvrez l’adresse suivante dans un navigateur web en remplaçant <MON_TOKEN> par VOTRE TOKEN (cf. étape 6) :
    https://api.telegram.org/bot<MON_TOKEN>/getUpdates
  10. Copiez votre CHAT_ID, ici en rouge, et conservez-le précieusement, il vous servira à recevoir les messages du bot. Si le Chat ID ne s’affiche pas, renvoyez un message quelconque à votre bot et rafraîchissez la page ;

Utiliser un bot Telegram sous Home Assistant

Maintenant que vous avez tout, il ne vous reste plus qu’à intégrer Telegram à Home Assistant. Pour ce faire, il vous faut éditer l’incontournable fichier configuration.yaml et copier les lignes suivantes en remplaçant les champs en rouge par vos informations personnelles :

# Bot Telegram
telegram_bot:
  - platform: polling
    api_key: VOTRE_TOKEN
    allowed_chat_ids:
      - CHAT_ID

# Notifications Telegram
notify:
  - platform: telegram
    name: NOM_BOT
    chat_id: CHAT_ID

Vous devriez avoir quelque chose comme la capture ci-dessous. Si tel est le cas, il ne vous reste plus qu’à enregistrer votre fichier configuration.yaml puis redémarrer Home Assistant. N’oubliez pas ce dernier point.

Envoyer des messages

Il ne reste plus qu’à tester le bot Telegram en lui envoyant un message depuis Home Assistant. Pour ce faire, allez dans Outils de développement > Services et recherchez le service « Telegram bot: Send message ».

Sélectionnez le service pour faire un message de test qui vous permettra de vérifier le bon fonctionnement du bot.

  1. Entrez un message de test ;
  2. Cliquez sur Appeler le service.

Si vous avez bien suivi toutes les étapes, vous devriez immédiatement recevoir ce message de test sur Telegram.

Et voilà, c’est terminé, votre bot Telegram pour Home Assistant est fonctionnel. Il ne vous reste plus qu’à utiliser les différents services disponibles dans vos automatisations.

Les services du bot Telegram

En ce qui nous concerne, nous utilisons principalement les quatre services ci-dessous. Ils permettent de très simplement recevoir des informations telles que nos relevés de température dans la maison, notre bulletin météo Home Assistant, des captures de nos caméras à intervalles réguliers, des vidéos en cas de personne détectée par nos caméras, ou encore les coordonnées géographiques de nos smartphones.

  • send_message: envoyer un message texte ;
  • send_photo: envoyer une photo (ex.: capture d’une caméra) ;
  • send_video: envoyer une vidéo (ex.: détection de mouvement enregistrée par une caméra) ;
  • send_location: vous permet d’envoyer vos coordonnées géographiques.

Ces autres services sont également disponibles :

  • send_animation
  • send_voice
  • send_sticker
  • send_document
  • edit_message
  • edit_caption
  • edit_replymarkup
  • answer_callback_query
  • delete_message
  • leave_chat
Comme vous pouvez le constater, les bots Telegram sont très intéressants pour nos automatisations Home Assistant. Nous reviendrons sur le sujet prochainement avec des exemples concrets, plus ou moins complexes, et des fonctionnalités plus avancées telles que la possibilité de converser avec le bot. Pour les plus pressés, nous vous invitons à consulter la documentation officielle (en anglais), vous y trouverez toutes les options offertes par chaque service, mais également quelques exemples si vous manquez d’inspiration. Et, si vous avez des exemples à partager, n’hésitez pas à le faire dans les commentaires !
À LIRE :
Home Assistant 2024.5 : les nouveautés du mois de mai

 

Fasciné par Alexa depuis le jour où je l'ai reçue en bêta test, je me suis peu à peu passionné pour le sujet, avant de me décider à aller plus loin en créant un site avec Jean-Christophe. Une activité qui me permet d'étancher ma soif de nouvelles technologies et de partager mes découvertes sur la plus sympathique des communautés : Les Alexiens.