Chaque matin à 7h30, je reçois un message Telegram de mon homelab : consommation électrique de la nuit, état du chauffage, température extérieure. À la fin d’un cycle de machine à laver, une notification me le rappelle. Ces deux automatisations m’ont prouvé que Home Assistant + Telegram n’est pas un gadget — c’est un assistant qui fait vraiment gagner du temps.
\n\n\n\n\nPourquoi Telegram
\nHome Assistant supporte des dizaines de canaux de notification : email, push natif, Slack, Discord, SMS… Telegram est mon choix pour ces raisons :
\n- \n
- Gratuit, sans limitations \n
- Bots Telegram : tu peux créer un bot privé qui envoie des messages ET reçoit des commandes. Bidirectionnel. \n
- Boutons inline : dans HA, tu peux envoyer des notifications avec des boutons cliquables — « Ouvrir les volets » dans la notification elle-même \n
- Fonctionne sans VPN : les notifications arrivent depuis le cloud Telegram, pas besoin d’accès à ton homelab \n
- Uptime Kuma aussi : un seul bot pour toutes tes alertes homelab \n
Créer un bot Telegram
\nOuvre Telegram et cherche @BotFather. C’est le bot officiel Telegram (le service qui permet de créer et gérer des bots) pour créer des bots.
\n/newbot\n→ Choisir un nom : "MaxHomelab"\n→ Choisir un username : maxhomelab_bot\n→ BotFather répond avec le TOKEN API : 1234567890:ABCdefGHIjklMNOpqrstUVWxyz\n\nNote ce token — il te servira dans la configuration HA.
\n\nObtenir ton chat_id
\nEnvoie un message à ton bot (cherche-le par son username dans Telegram). Puis, dans un navigateur :
\nhttps://api.telegram.org/bot<TOKEN>/getUpdates\n\nLa réponse JSON contient ton chat.id (identifiant numérique unique de ta conversation avec le bot) — note-le.
Configuration dans Home Assistant
\n\nAjouter Telegram à configuration.yaml
\ntelegram_bot:\n - platform: polling # polling = HA interroge Telegram régulièrement (plus simple que webhook pour un homelab)\n api_key: "1234567890:ABCdefGHIjklMNOpqrstUVWxyz"\n allowed_chat_ids:\n - 123456789 # ton chat_id personnel\n\nnotify:\n - name: telegram_maxime\n platform: telegram\n chat_id: 123456789\n\nRedémarre Home Assistant. Tu peux maintenant envoyer des messages depuis les automatisations.
\n\n[SCREENSHOT: Home Assistant — éditeur d’automatisation avec une action notify.telegram_maxime configurée]\n\nNotifications de base
\nalias: "Notification test"\ntrigger: []\naction:\n - service: notify.telegram_maxime\n data:\n message: "Home Assistant fonctionne correctement !"\n title: "Test"\n\n\nNotification avec photo
\n- service: notify.telegram_maxime\n data:\n message: "Mouvement détecté — jardin"\n data:\n photo:\n - url: "http://192.168.10.50/snapshot.jpg"\n caption: "Caméra jardin — {{ now().strftime('%H:%M') }}"\n\n\nNotifications utiles que j’utilise
\n\nRésumé matinal
\nalias: "Résumé matin 8h"\ntrigger:\n - platform: time\n at: "08:00:00"\naction:\n - service: notify.telegram_maxime\n data:\n message: |\n ? **Bonjour !**\n ? Salon : {{ states('sensor.temperature_salon') }}°C\n ⚡ Conso nuit : {{ states('sensor.energie_nuit') }} kWh\n ? Tesla : {{ states('sensor.tesla_battery_level') }}%\n ? Météo : {{ states('weather.maison') }}\n\n\nAlerte porte de garage ouverte depuis 10 min
\nalias: "Garage ouvert alerte"\ntrigger:\n - platform: state\n entity_id: binary_sensor.porte_garage\n to: "on"\n for: "00:10:00"\naction:\n - service: notify.telegram_maxime\n data:\n message: "⚠️ La porte de garage est ouverte depuis 10 minutes !"\n\n\n[SCREENSHOT: Telegram — notification avec boutons inline « Fermer volets » et « Voir dashboard » qui déclenchent des actions HA]\n\nContrôle à distance avec les boutons inline
\nC’est la fonctionnalité la plus puissante. Tu peux envoyer une notification avec des boutons d’action qui déclenchent des scripts HA :
\nalias: "Notification avec action"\naction:\n - service: notify.telegram_maxime\n data:\n message: "Tu n'as pas fermé les volets. Fermer maintenant ?"\n data:\n inline_keyboard:\n - - text: "✅ Fermer les volets"\n callback_data: "/fermer_volets"\n - text: "❌ Laisser ouverts"\n callback_data: "/ignorer"\n\n\nDans HA, écoute les callbacks Telegram :
\nalias: "Telegram - Callback fermer volets"\ntrigger:\n - platform: event\n event_type: telegram_callback\n event_data:\n data: "/fermer_volets"\naction:\n - service: script.volets_mode_depart\n - service: telegram_bot.answer_callback_query\n data:\n callback_query_id: "{{ trigger.event.data.id }}"\n message: "Volets fermés ✅"\n\n\nCommandes depuis Telegram
\nTu peux aussi envoyer des commandes texte au bot pour contrôler HA :
\nalias: "Telegram commande /status"\ntrigger:\n - platform: event\n event_type: telegram_text\n event_data:\n text: "/status"\naction:\n - service: notify.telegram_maxime\n data:\n message: |\n ? Status homelab :\n • HA : {{ states('sensor.ha_uptime') }}\n • Tesla : {{ states('sensor.tesla_state') }}\n • Alarme : {{ states('alarm_control_panel.maison') }}\n\n\n
Audits automatiques par thématique
Au-delà des alertes événementielles, j’ai mis en place des audits quotidiens programmés par thématique : chaque jour de la semaine déclenche une vérification différente du homelab. Un rapport Telegram arrive chaque matin avec exactement les métriques du jour — rien de plus, rien de moins.
Mon calendrier d’audits
Lundi → Backups : dernier backup PBS, état des snapshots
Mardi → Réseau : uptime services, expiration SSL, latence DNS
Mercredi → Énergie : conso hebdo, production solaire, coût estimé
Jeudi → Proxmox : RAM / CPU / stockage de chaque nœud
Vendredi → Médias : espace Plex, files Sonarr/Radarr en attente
Samedi → Batteries : état de toutes les piles Zigbee
Dimanche → Sécurité : dernières connexions HA, alertes manquées
Exemple : audit piles Zigbee le samedi matin
J’ai une cinquantaine de capteurs Zigbee dans la maison — détecteurs de mouvement, capteurs de porte, température, vibration. Suivre manuellement leur niveau de batterie dans l’interface HA est une corvée. L’audit Telegram du samedi règle ça :
alias: "Audit Samedi — Batteries Zigbee"
trigger:
- platform: time
at: "09:00:00"
condition:
- condition: time
weekday:
- sat
action:
- variables:
batteries_faibles: >
{% set ns = namespace(liste=[]) %}
{% for entity in states.sensor
if 'battery' in entity.entity_id
and entity.state not in ['unavailable','unknown']
and entity.state | int < 20 %}
{% set ns.liste = ns.liste + [entity.name ~ ' : ' ~ entity.state ~ '%'] %}
{% endfor %}
{{ ns.liste | join('
• ') }}
- service: notify.telegram_maxime
data:
message: |
🔋 **Audit batteries — {{ now().strftime('%d/%m/%Y') }}**
{% if batteries_faibles %}
⚠️ Capteurs à remplacer :
• {{ batteries_faibles }}
{% else %}
✅ Toutes les batteries sont au-dessus de 20 %
{% endif %}
Le samedi matin, Telegram m’envoie la liste exacte des capteurs sous 20 %. Pas besoin d’ouvrir l’interface — j’ai l’info avant le café.
Audit backups PBS le lundi
alias: "Audit Lundi — Backups PBS"
trigger:
- platform: time
at: "08:00:00"
condition:
- condition: time
weekday:
- mon
action:
- service: notify.telegram_maxime
data:
message: |
💾 **Audit backups — {{ now().strftime('%d/%m/%Y') }}**
Dernier backup : {{ states('sensor.pbs_last_backup') }}
Espace utilisé : {{ states('sensor.pbs_storage_used') }} GB
Snapshots actifs : {{ states('sensor.pbs_snapshot_count') }}
{% if states('sensor.pbs_last_backup_status') == 'OK' %}
✅ Backup OK
{% else %}
🚨 Vérifier PBS immédiatement
{% endif %}
Un Telegram par jour, une thématique — facile à lire, facile à agir. C’est ça la vraie valeur de HA + Telegram : pas juste des alertes, mais un système de veille qui tourne seul.
Sécuriser le bot
\nLe paramètre allowed_chat_ids dans la config HA limite le bot à répondre uniquement aux messages de tes chat_ids autorisés. Un inconnu qui trouve le username de ton bot ne peut pas interagir avec ton HA.
Pour les notifications critiques (alarme, intrusion), utilise un deuxième bot distinct — ça t’évite qu’une erreur de config dans le bot « quotidien » coupe aussi les alertes critiques.
\n\n\nCrée un groupe Telegram familial avec ton bot dedans. Les notifications de ton HA arrivent dans un groupe partagé visible par toute la famille — « Porte de garage ouverte » est vu par tout le monde, pas juste toi. Configure les notifications non urgentes (résumé météo, statut voitures) dans le groupe, et les alertes critiques (alarme, fuite d’eau) en message direct à toi seul. Deux canaux, deux niveaux d’urgence.\n
? Pour aller plus loin : mes automatisations Home Assistant complètes, Uptime Kuma avec alertes Telegram, et Zigbee2MQTT pour les capteurs.
\n\nTelegram : l’interface secrète de ton homelab
\nL’intégration Telegram est bidirectionnelle sans ouvrir de port sur Internet. Pas de VPN requis pour envoyer une commande à HA depuis l’extérieur — le bot Telegram fait le pont.
\nCommence par les notifications, puis ajoute progressivement les boutons de contrôle. Et partage tes automatisations en commentaire — je suis curieux de voir ce que vous avez imaginé.
\n\nFAQ
\nTelegram ou notifications push Home Assistant ?
Les notifications push HA nécessitent l’app companion sur chaque appareil. Telegram est multi-appareils nativement, bidirectionnel (tu peux envoyer des commandes au bot), et les boutons inline permettent des actions directement dans la notification. Sur mon homelab, Telegram est mon canal principal.
Faut-il un VPN pour recevoir les notifications Telegram ?
Non. Les messages passent par les serveurs Telegram dans le cloud. Ton instance Home Assistant envoie les notifications via l’API Telegram — pas besoin d’exposer HA à internet.
Combien de bots Telegram peut-on créer ?
Pas de limite pratique. Je recommande un bot dédié au homelab. Créer un bot prend 30 secondes via @BotFather dans Telegram.









