Notifications Telegram sur Home Assistant




Les notifications Telegram sur Home Assistant permettent de recevoir instantanément les alertes et informations de votre maison connectée directement sur Telegram. Elles signalent des événements importants comme une alarme, un mouvement détecté, une porte ouverte ou une fuite d’eau, offrant un suivi simple, rapide et efficace de votre installation domotique.


  • Création d’un bot Telegram pour Home Asssitant:
  • Si ce n’est pas fait créez un compte sur l’application Telegram. Le principe est de créer un bot (robot) en capacité de relayer des fichiers photo, vidéo, du texte etc. dès qu’il en reçoit l’ordre par Home Assistant.


  1. Ensuite, cliquez sur le bouton Démarrer, dans la liste des options qu’il propose sélectionner l’option /newbot ou lui envoyer le texte /newbot



  1. Attribuez un nom à votre bot et un non d'utilisateur se terminant par « bot » en réponse à BotFather. Il vous générera votre API token. C'est la clé de votre maison Copiez-le et ne le donnez à personne ! Ensuite, ouvrez le chat avec le bot, puis cliquer sur Démarrer et écris-lui un message pour l’initialiser.






  1. Le bot vous retourne votre ID, là encore notez-le et conservez le précieusement car nous allons l’utiliser dans la configuration de Home Assistant.



  • Prérequis : avoir Création d’un bot Telegram:
  • Pour ajouter l'integration Telegram bot dans integration de votre instance Home Assistant, utilisez ce bouton My:
Open your Home Assistant instance and show an integration.

  1. Sélectionnez l'option Sondage, saisissez votre token API et confirmez.

Pour expliquer les différents modes en quelques secondes:


  • Diffuser: Envoi de message mais aucune reception
  • Sondage: Envoi et reception regulier (Configuration simple)
  • Webhooks: Envoi et reception instantanés (Configuration plus complexe)



  1. Appuyez sur « Ajouter l'ID de discussion autorisé », entrez ensuite votre ID de chat, puis confirmez. Sans cette étape, le bot vous écartera pour des raisons de sécurité. (veuillez également entrer les ID de vos groupes qui commencent par - )










  • Créer une automatisation pour envoyer des notification par Telegram:
  • Rendez-vous dans le menu Automatisations de votre instance Home Assistant, utilisez ce bouton My:

Open your Home Assistant instance and show your automations.

  1. Cliquez sur Créer une automatisation puis Créer une nouvelle automatisation
  2. Dans Actions, Alors faire rechercher Telegram bot
  3. Puis Choisissez: Send message
  4. Il est possible de saisir un titre et/ou un message.



  • Dans Target, saisissez l'ID du groupe de discussion Telegram (à renseigner uniquement si vous expédiez vers un groupe de discussion Telegram).



  • Dans Inline keyboard, pour pouvoir créer des boutons paramétrables, descendez jusqu'à "Inline Keyboard". Chaque ligne devra commencer par "un tiret", puis le mot affiché dans le bouton suivi de :/ et "le nom de la variable". Si vous souhaitez ajouter un deuxième bouton à côté, il faudra continuer sur la même ligne avec "une virgule", "le mot du deuxième bouton" :/ et le nom de la deuxième variable".



  • Mettre en place une nouvelle automatisation pour les commandes de boutons ou opter pour l'option Choisir.
  1. En Déclencheurs Choisissez un Événement manuel




    1. Dans Actions, Alors faire rechercher Telegram bot
    2. Puis Choisissez: Telegram bot: Answer callback query et fermer le portail puis Telegram bot: Edit message

    • pour éviter les erreurs sur le téléphone lors de la pression des boutons, placez Telegram bot: Answer callback query en tête de la liste des actions.



      1. Crée l'action, par exemple fermer le portail.
      2. Puis Dans Actions, Alors faire rechercher Telegram bot: Edit message




        • Voici les code en .yaml
        • Voivi code de Notification portail Garage - Telegram message:
        description: "Notification portail Garage - Telegram message:"
        mode: single
        triggers:
          - trigger: state
            entity_id:
              - binary_sensor.portailgarage_capteur_portail_ouvert
            from:
              - "off"
            to:
              - "on"
        conditions: []
        actions:
          - action: telegram_bot.send_message
            metadata: {}
            data:
              message: Voulez-vous fermer le garage ?
              title: Portail Garage est Ouvert
              inline_keyboard:
                - oui:/fermer-garage, non:/ignorer-fermeture
              target:
                - "-00000000"
        
        • Voivi code de Notification portail Garage- Telegram bouton (Action):
        alias: Notification portail Garage- Telegram (Action)
        description: ""
        triggers:
          - trigger: event
            event_type: telegram_callback
            event_data:
              command: /fermer-garage
            id: fermer-garage
          - trigger: event
            event_type: telegram_callback
            event_data:
              command: /ignorer-fermeture
            id: ignorer-fermeture
        conditions: []
        actions:
          - choose:
              - conditions:
                  - condition: trigger
                    id:
                      - fermer-garage
                sequence:
                  - action: telegram_bot.answer_callback_query
                    metadata: {}
                    data:
                      show_alert: false
                      message: Prise en compte de la demande...
                      callback_query_id: "{{ trigger.event.data.id }}"
                  - action: cover.close_cover
                    metadata: {}
                    data: {}
                  - action: telegram_bot.edit_message
                    metadata: {}
                    data:
                      message_id: "{{ trigger.event.data.message.message_id }}"
                      chat_id: "{{ trigger.event.data.chat_id }}"
                      message: >-
                        ✅ Le portail a été fermé par: {{ trigger.event.data.from_first
                        }}
              - conditions:
                  - condition: trigger
                    id:
                      - ignorer-fermeture
                sequence:
                  - action: telegram_bot.answer_callback_query
                    metadata: {}
                    data:
                      show_alert: false
                      message: Prise en compte de la demande...
                      callback_query_id: "{{ trigger.event.data.id }}"
                  - action: telegram_bot.edit_message
                    metadata: {}
                    data:
                      message_id: "{{ trigger.event.data.message.message_id }}"
                      chat_id: "{{ trigger.event.data.chat_id }}"
                      message: >-
                        🛑 Demande de fermeture du portail annulée par {{
                        trigger.event.data.from_first }}
          - choose:
              - conditions: []
                sequence: []
        mode: single