Créer un système de notifications domotiques avec Telegram et Node-RED

Créer un système de notifications domotiques avec Telegram et Node-RED

Recevoir une alerte sur son téléphone quand un mouvement est détecté dans le garage, être prévenu dès que la température chute sous les 5°C dans la serre ou encore savoir en instantané lorsque la porte d’entrée est laissée ouverte trop longtemps… Voilà typiquement le genre de petites fonctionnalités domotiques qui changent la vie au quotidien. Et croyez-moi, le faire avec Telegram et Node-RED, c’est à la fois simple, rapide et ultra flexible.

Cet article vous guide pas à pas pour mettre en place un système de notifications domotiques avec Telegram et Node-RED, à intégrer dans votre installation domotique existante (Home Assistant, Jeedom, etc.). Oui, avec un brin de logique et un soupçon de bidouille.

Pourquoi choisir Telegram pour les notifications domotiques ?

Avant de rentrer dans le vif du sujet, penchons-nous une minute sur le choix de Telegram. Pourquoi pas WhatsApp ou une simple notification push via votre box domotique ? Très bonne question.

  • Fiabilité : Telegram est extrêmement stable et rapide. Pas de retard ou de messages manquants, même avec une couverture réseau moyenne.
  • Facilité d’API : L’API de Telegram est bien documentée et ouverte à tous. Un bot se crée en trois clics et s’intègre parfaitement à Node-RED.
  • Séparation des notifications : Avec un bot dédié, vos alertes domotiques sont séparées de vos messages personnels – terminé les messages importants perdus entre les GIF de chats et les groupes familiaux.
  • Gratuit à 100 % : Pas de limite de notifications ni besoin d’abonnement comme c’est parfois le cas avec d’autres services tiers.

En bref, Telegram coche toutes les cases pour une solution simple, robuste et flexible.

Node-RED, le « couteau suisse » de la domotique

Node-RED, pour ceux qui ne le connaissent pas encore, est un outil de programmation visuelle basé sur des flux. Développé par IBM et utilisé par une immense communauté de passionnés, il permet de créer des scénarios domotiques en reliant des blocs logiques façon Lego.

Si vous êtes du genre à préférer bidouiller plutôt que cliquer sur des menus tout faits, Node-RED est fait pour vous. Il peut fonctionner de façon autonome sur un Raspberry Pi, ou être intégré à Home Assistant, Jeedom ou tout autre système qui parle MQTT, HTTP ou JSON.

Créer son bot Telegram en moins de 2 minutes

La première étape consiste à créer un bot Telegram. C’est ici que vous enverrez les notifications depuis vos scénarios Node-RED.

Ouvrez Telegram et cherchez le contact @BotFather. C’est le maître des bots. Tapez la commande /newbot et suivez les instructions. Il va vous demander :

  • Un nom pour le bot (par exemple : « MaisonAlerteBot »)
  • Un identifiant unique qui doit se terminer par « bot » (par exemple : maison_alert_bot)

À la fin de la procédure, vous recevrez un Token d’accès. Gardez-le précieusement : c’est votre clé d’entrée à l’API Telegram.

Installer Remote Telegram sur Node-RED

Passons maintenant à Node-RED. Si ce n’est pas encore fait, installez le module node-red-contrib-telegrambot. Pour cela, allez dans « Manage palette » > « Install » et cherchez ce paquet. Une fois installé, vous aurez accès à plusieurs nouveaux nœuds :

  • telegram receiver : pour recevoir des messages de l’utilisateur
  • telegram sender : pour envoyer des messages (ce qui nous intéresse ici)

Dans « Configuration », ajoutez votre bot en collant le Token que vous avez reçu de BotFather. C’est aussi à cette étape que vous choisirez si vous voulez une communication avec TLS, les ID d’utilisateurs autorisés, etc.

Récupérer votre Chat ID Telegram

Une étape souvent négligée et pourtant cruciale : récupérer l’ID du chat ou du groupe Telegram avec lequel votre bot communiquera.

  1. Démarrez une conversation avec votre bot (envoyez-lui un « Bonjour »).
  2. Dans Node-RED, placez un nœud « telegram receiver » connecté à un « debug » et déployez.
  3. Envoyez un message au bot et observez la « payload » capturée. Dedans, vous trouverez quelque chose comme msg.payload.chatId : c’est l’ID à utiliser dans les notifications.

Créer un premier scénario d’alerte dans Node-RED

À présent, mettons tout cela en pratique. Imaginons le cas suivant : vous voulez recevoir une notification chaque fois que le capteur de la porte d’entrée est ouvert pendant plus de 30 secondes.

Voici un exemple de flux Node-RED typique :

  1. Entrée : un nœud MQTT qui capture l’état du capteur (ex : home/entrée/porte)
  2. Switch : pour filtrer uniquement les messages indiquant « ouvert »
  3. Delay : un nœud avec option « Rate limit » configuré à 30 secondes avec « drop intermediate messages ».
  4. Notification : un nœud « telegram sender » avec un texte personnalisé.

Astuce sympa : vous pouvez même inclure la date, l’heure et l’état du capteur dans le même message, comme ceci :

msg.payload = {  chatId: '12345678',  type: 'message',  content: '🚪 La porte d’entrée est restée ouverte plus de 30 secondes !'};

Vous pouvez ensuite déclencher une alerte locale (sonnerie dans la maison, lumière rouge dans le couloir…) : la domotique, c’est ça aussi, une symphonie de déclenchements automatiques.

Exemples d’usages concrets qui valent le détour

Si vous cherchez de l’inspiration, voici quelques scénarios que j’ai personnellement mis en place chez moi avec le combo Telegram + Node-RED :

  • Surveillance congélateur : température qui dépasse -15°C = message urgent sur Telegram (et clignotement rouge du bandeau LED dans la cuisine).
  • Alerte présence extérieure : détection de mouvements par la caméra extérieure entre 22h et 6h = photo prise et envoyée via Telegram en pièce jointe.
  • Etat de la chaudière : un récapitulatif quotidien envoyé à 8h00 sur le rendement, les heures de chauffe, et les éventuelles erreurs.

Et vous ? Que diriez-vous de recevoir une photo de votre bouteille de gaz quand elle est presque vide ? Un simple capteur de poids, un peu de Node-RED, et hop, plus jamais de panne pendant les raclettes !

Sécurité et confidentialité : quelques bonnes pratiques

Comme toute intégration entre plusieurs services, il est essentiel de garder un œil sur la sécurité. Voici quelques conseils :

  • Ne partagez jamais votre token API publiquement (ni sur un forum, ni dans un fichier de debug).
  • Filtrez les messages entrants dans Node-RED : autorisez uniquement votre ID Telegram afin que personne d’autre ne puisse interagir avec votre bot.
  • Stockez les tokens/API clés dans des variables d’environnement plutôt que dans les nœuds « en dur ».

Et comme toujours, pensez à faire des sauvegardes régulières de vos flux Node-RED, surtout si vous commencez à cumuler des automatisations vitales.

Aller plus loin : interactions bidirectionnelles

Et si, au lieu de simplement recevoir des alertes, vous pouviez interagir avec votre maison depuis Telegram ? C’est tout à fait possible !

Par exemple, en envoyant “Chauffage ON” à votre bot, celui-ci peut déclencher une action via Node-RED pour allumer la chaudière. Les possibilités sont infinies :

  • Demander l’état de la maison : « Statut » → le bot vous renvoie température, portes/fenêtres, consommation.
  • Déclencher un scénario : un simple « Bonne nuit » et tous les volets se ferment, les lampes s’éteignent…
  • Recevoir des photos : demandez « Caméra salon » et le bot vous envoie un snapshot instantané de votre living.

Le tout avec un zeste de logique Node-RED, et aucune limite de créativité.

Telegram + Node-RED, c’est un peu comme si vous aviez un majordome numérique – rapide, fiable, et qui ne dort jamais. Ce n’est peut-être pas Jarvis, mais on s’en rapproche.