HectorziN - Domótica y Home Assistant
Blog de HectorziN
Curso Home Assistant

Cómo integrar Telegram en Home Assistant (Método Actualizado)

La integración de Telegram con Home Assistant ha evolucionado. En esta lección aprenderás el nuevo método oficial para configurar notificaciones inteligentes y control remoto. Ya no es necesario editar manualmente el archivo configuration.yaml para la conexión básica; ahora todo se gestiona de forma más robusta desde la interfaz de usuario.

IntermedioIntegración10 minVídeo incluido·Integraciones

¿Por qué integrar Telegram en tu Smart Home?

Telegram no es solo una app de mensajería; es una herramienta de control potente y gratuita que te permite:

  • Recibir alertas en tiempo real: Avisos de inundación, intrusos o temperatura.
  • Controlar tu casa: Enviar comandos para encender luces o activar la alarma.
  • Privacidad total: Comunicación cifrada y gestión de usuarios permitidos.

Paso 1: Crear el Bot de Telegram con BotFather

El primer paso es crear el "agente" que comunicará Home Assistant con Telegram.

  1. Abre Telegram y busca al usuario @BotFather.
  2. Inicia el chat y envía el comando /newbot.
  3. Nombre del Bot: Asígnale un nombre (ej: Casa Inteligente de Héctor).
  4. Username: Debe ser único y terminar en "bot" (ej: Hectorzin_HomeBot).
  5. API Token: Al finalizar, BotFather te entregará un token (un código largo de números y letras). Guárdalo en un lugar seguro, lo necesitaremos en el paso 4.
  6. ¡IMPORTANTE!: Busca tu nuevo bot en Telegram y pulsa "Iniciar". Si no interactúas con él primero, Home Assistant no podrá enviarte mensajes.

Paso 2: Obtener tu Chat ID (Usuario y Grupos)

Home Assistant necesita saber exactamente a qué chat enviar la información. Cada usuario y cada grupo tiene un ID único.

Obtener ID de Usuario Único

  1. Busca en Telegram el bot @getidsbot o @get_id_bot.
  2. Pulsa Start. Te responderá con un número (ej: 123456789). Ese es tu ID de usuario.

Obtener ID de un Grupo (Notificaciones familiares)

  1. Crea un grupo en Telegram y añade a los miembros de tu familia.
  2. Añade temporalmente al bot @getidsbot al grupo.
  3. El bot escribirá el ID del grupo (normalmente empieza por un guion, ej: -100123456789).
  4. Elimina al bot de ID y añade a tu propio bot (el que creaste en el Paso 1) como administrador del grupo.

Paso 3: Configuración en Home Assistant

A partir de 2025/2026, la integración se realiza desde la interfaz gráfica.

  1. Ve a Ajustes > Dispositivos y Servicios.
  2. Haz clic en "Añadir integración" y busca Telegram.
  3. Selecciona Telegram Bot.
  4. Modo de conexión: Selecciona Polling (es el método más sencillo ya que no requiere abrir puertos ni certificados SSL).
  5. Introduce el API Token que te dio BotFather.
  6. En Allowed Chat IDs, introduce tu ID de usuario y el ID de tu grupo (si lo tienes). Esto asegura que solo tú puedas interactuar con el bot.

Paso 4: Reparando automatizaciones antiguas

Si vienes de versiones anteriores, tus servicios de notificación habrán cambiado. Anteriormente usabas notify.telegram_hector; ahora el sistema genera una acción unificada.

Deberás revisar tus automatizaciones y cambiar las llamadas al servicio por la nueva acción: telegram_bot.send_message.

Paso 5: Probando el funcionamiento (Código YAML)

Para verificar que todo funciona, ve a Herramientas para desarrolladores > Acciones y pega el siguiente código para enviar un mensaje de prueba:

yaml
action: telegram_bot.send_message
data:
  chat_id: 123456789  # Sustituye por tu Chat ID
  title: "🚀 Sistema Operativo"
  message: "¡Enhorabuena! La integración con Home Assistant funciona perfectamente."

Paso 6: Control remoto mediante Comandos

Una de las funciones más potentes es enviar comandos desde Telegram a Home Assistant para ejecutar acciones.

Para capturar un comando enviado desde Telegram, crea una automatización con este disparador:

yaml
alias: "Comando Telegram: Encender Luz Salón"
description: "Enciende la luz del salón al recibir el comando /luz_on por Telegram"
triggers:
  - trigger: event
    event_type: telegram_command
    event_data:
      command: "/luz_on"
conditions: []
actions:
  - action: light.turn_on
    target:
      entity_id: light.salon

  - action: telegram_bot.send_message
    data:
      chat_id: 123456789
      message: "Luz del salón encendida correctamente ✅"
mode: single

Continúa aprendiendo