Lancement automatisation via Telegram

Bonjour,

J’essaie de créer une automatisation qui me permette d’activer ou désactiver le mode absence en envoyant un message via Telegram. J’ai déjà créé une automatisation “mode absent” qui déclenche l’activation de la caméra, la détection des portes, etc (Test manuel OK). Et aussi j’ai bien créé un bot Telegram et je reçois les notifications correctement (par exemple lorsqu’on sonne à la porte). Je voudrais maintenant pouvoir envoyer un message à mon bot pour activer ou désactiver le mode absence. J’ai tout essayé, j’ai regardé partout, mais je suis un peu perdu et je n’y arrive pas depuis l’interface d’automatisations :

Merci d’avance pour votre aide.

Bonjour @FKAJ35

Un petit exemple qui pourrait t’aider :
A 12h30 je reçois unmessage sur Telegram

alias: Telegram Alerte médicament 12h30
description: ""
triggers:
  - trigger: time
    at: "12:30:00"
conditions: []
actions:
  - data:
      message: ⚡Bruno doit prendre son médicament pour la tension
      title: Santé
      data:
        inline_keyboard:
          - OK bien prit:/switch_on_medicament
    action: notify.telegram_ha
mode: single

Dans le message Telegram, j’ai donc un bouton d’action “Ok bien prit”
Si je clique je déclenche ceci:

alias: Telegram prise médicament
description: ""
triggers:
  - event_type: telegram_callback
    event_data:
      command: /switch_on_medicament
    trigger: event
conditions:
  - condition: state
    entity_id: input_text.prise_medicament
    state: KO
actions:
  - action: input_text.set_value
    metadata: {}
    data:
      value: OK
    target:
      entity_id: input_text.prise_medicament
  - data:
      message_id: last
      chat_id: "{{trigger.event.data.chat_id}}"
      inline_keyboard: null
    action: telegram_bot.edit_replymarkup
  - data:
      message: Bruno a prit son cachet à {{now().strftime("%Hh%M")}} 👍
    action: notify.telegram_ha
mode: single
initial_state: true

Dans mon cas, dans les actions je modifie un input_text mais tu peux aussi appeler une automatisation. J’ai donc aussi le retour de l’action sur Telegram.

Bob

1 « J'aime »

Merci pour ta réponse rapide. Je pense que ce n’est pas pareil car tu reçois un message au début moi non je voudrais déclencher l’automatisation en envoyant un message via telegram (commande : ?)

Dans ce cas :

alias: Telegram test command
description: ""
triggers:
  - trigger: event
    event_type: telegram_command
    event_data:
      command: /lumiere
conditions: []
actions:
  - action: light.turn_on
    metadata: {}
    data:
      color_temp_kelvin: 4520
      brightness_pct: 78
    target:
      entity_id: light.lampe_marine
mode: single

Si tu tapes dans ton bot Telegram : /lumiere → ça active bien l’automatisation ci-dessus.
Après, c’est peut être plus rapide de le faire directement dans HA non ?

Bob

1 « J'aime »

Oui, la commande /lumiere sert juste pour un test simple, mais elle ne fonctionne pas quand je l’envoie depuis Telegram. L’objectif, c’est de pouvoir activer ou désactiver le mode absence depuis l’extérieur, puisque Home Assistant est inaccessible quand je suis à l’extérieur.

Tu n’as pas accès à HA quand tu n’es pas chez toi ? Ce n’est pas très domotique :wink:
Alors je doute que tu y arrives, comment Telegram pourrais taper ton HA si toi tu ne peux pas !
L’exemple que je t’ai donné fonctionne depuis mon téléphone sans être sur mon réseau WIFI.

Si tu as un souci pour y accéder depuis l’extérieur il y a plein de sujet là dessus, tu ne veux pas ou n’a pas encore essayé ?
Bob

1 « J'aime »

Oui, je reçois les notifications de HA sur Telegram quand je suis à l’extérieur. Je me demande s’il est possible de lancer une automatisation directement depuis Telegram. Je suis partant pour accéder à HA depuis l’extérieur, mais il me semble que ce n’est pas gratuit, ou que la configuration est assez compliquée si pas payant. Je me disais donc que ce serait peut-être plus simple d’envoyer une seule automatisation via Telegram (seulement pour activer ou désactiver le mode absence).

Pour ça il il te faut un accès extérieur. Ce n’est pas cher est assez simple.
Perso je fais toujours au plus simple, même si ça coute un peu (6€ / an), mon temps compte :slight_smile:
Regarde sur le forum, si tu es chez Free ce sera encore plus simple avec un nom de domaine OVH sans faire de pub.
Regarde les sujets du forum, ouvres l’accès HA et reviens tester cette solution qui fonctionne.

Bob

Salut,

Il faut utiliser telegram_text, exemple :

alias: Test via Telegram
triggers:
  - event_type: telegram_text
    event_data:
      text: test
    trigger: event
actions:
  - action: telegram_bot.send_message
    metadata: {}
    data:
      config_entry_id: *****
      message: ceci est un test
mode: single

Normalement pas besoin d’avoir un accès exterieur d’apès ChatGPT => via Polling : Home Assistant va chercher les messages (outbound HTTPS vers les serveurs Telegram). Aucun port entrant n’est nécessaire : HA initie la connexion et reçoit les messages via polling.

Déclencher une automation à la réception d’un message Telegram => Home Assistant publie des événements quand le bot reçoit un message : telegram_command pour les commandes /ma_commande (contient command, args, chat_id, user_id, …). telegram_text pour un message texte classique (contient text, chat_id, etc.).

1 « J'aime »

parce que c’est pas toi qui vas taper dedans mais télégram via l’intégration justement

Ok, @FKAJ35 , je t’ai donné une solution qui fonctionne chez moi avec un HA en https accessible de l’extérieur.
Si @ddfdom te dit que Telegram peut accéder à ton HA qui n’est pas exposé sur internet, je suis surpris mais je ne suis pas expert réseau.
Je te laisse poursuivre.

Bob

Je confirme, mon home assistant n’est pas accessible depuis l’extérieur, j’ai un vpn pour y accéder et telegram fonctionne.

Après, je pense qu’il faut l’intégration telegram bot pour que cela fonctionne et pas l’intégration telegram classic

1 « J'aime »

Bonsoir,

Voici celles que j’ai :

Bob

Salut

@Bob pas besoin des 2 integrations, simplement la dernière telegram bot suffit. L’autre est certainement celle définie dans ton config yaml avant que l’integration se fasse par l’ui. Tu peux normalement la supprimer.

@FKAJ35 l’exemple donné par bob est bon mais par contre est ce que ton integration telegram est bien définie sur polling ? il me semble que sans ça, cela ne fonctionne pas.

Bonjour @Tochy

« Tu peux normalement la supprimer. », normalement ou certainement :wink:

Donc supprimer ça dans configuration.yaml et le pendant dans secrets.yaml?

notify:
  - name: Telegram HA
    platform: telegram
    chat_id: !secret id_telegram_ha

Bob

Met les 4 lignes en commentaire, ça te permettra de tester et si c’est pas bon tu enlèves juste les commentaires.

Mais de mémoire j’avais la même chose avant de basculer sur l’Ui.

Là en commentant j’ai une erreur côté automatisation.


Effectuer l'action « notify.telegram_ha »
Arrêté car une erreur s'est produite le 24 octobre 2025 à 12:53:26 (durée d'exécution : 6.28 secondes)

Action notify.telegram_ha not found

En fait j’ai une utilisation peut être particulière et mal paramétrée.

Cas 1:
Automatisation HA avec caméra Reolink qui utilise ce paramétrage puisque sans j’ai une erreur.

Cas 2:
Un gros flux Node Red qui prend des photos et des infos maison et les envoi sur Telegram, mais depuis longtemps j’ai cette alerte dans Node Red:

24/10/2025 13:05:20noeud: 73fb3779fd8121ec
msg : string[112]
"ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"

Sur Telegramm je reçois bien sur deux Bot distincts, il va falloir que je m’y penche :wink: mais tant que tout fonctionne…

Je ne vais pas soustraire le sujet de départ, @FKAJ35 , ça avance ?

Bob

Pour la partie HA, il me semble que le notify.telegram (défini dans ton config yaml) dans les automatisations et script est à remplacer par telegram_bot.send_message, en tout cas c’est que j’utilise quand j’envoi des messages sur telegram.

action: telegram_bot.send_message
data:
  title: mon titre
  message: mon message

Dans outils de dev/actions quand tu recherche telegram tu as plein d’actions possibles.

Pour la partie node red je ne saurai te dire je ne l’utilise pas.

Après tant que ça fonctionne tu peux laisser tel quel.

J’ai tout configurer avec cette syntaxe et supprimer la partie Telegram dans configuration.yaml.

Merci
Bob

1 « J'aime »