BysMax

Contenido del curso

Volver al curso

Notificaciones de Telegram en Traccar: Configuración Completa

Guía con 4 opciones para configurar notificaciones de Telegram en Traccar (incluyendo la versión 6.14). Solución de zona horaria y base de datos.

Emmanuel Díaz Leal Hernández

May 25, 2024
Intermedio

Existen cuatro opciones para configurar las notificaciones en Telegram, dependiendo de si posees un servidor propio o utilizas un servicio de terceros, así como de la versión de tu servidor Traccar (desde la versión 4.14 en adelante, incluyendo la última versión Traccar 6.14).

TIP

Recuerda que para habilitar las alertas primero debes crearlas en Ajustes > Notificaciones, y posteriormente activarlas para los rastreadores específicos seleccionando el dispositivo en el panel y marcando la casilla de notificaciones correspondiente.


Opciones de Configuración


Ajustes Adicionales de Servidor

1. Configuración de Zona Horaria (serverTimezone)

Para corregir los desfases de horario en las alertas y reportes históricos de tu base de datos, debes especificar la zona horaria de tu servidor en el archivo de configuración traccar.xml.

Edita el parámetro agregando serverTimezone en la cadena de conexión. Por ejemplo:

  • serverTimezone=Europe/Madrid& (para huso horario de España)
  • serverTimezone=America/Mexico_City& (para Ciudad de México)

Ejemplo de conexión MySQL / MariaDB configurada:

<entry key='database.url'>jdbc:mysql://192.168.1.XX:3306/traccar?serverTimezone=America/Mexico_City&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>

2. Error de Driver MySQL al Actualizar

Si al actualizar tu servidor Traccar a versiones recientes que usen MySQL experimentas el error "Driver was not found", debes actualizar la clase del controlador JDBC en el archivo de configuración traccar.xml. Para más información sobre este problema, consulta el Foro Oficial de Traccar: Conexión MySQL.

Línea a modificar:

<entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>

(Asegúrate de agregar la clase de controlador .cj. para que coincida con las versiones modernas de Java y MySQL).


Traccar en Telegram: Recibir notificaciones mediante email

Si utilizas un servidor de rastreo de terceros o uno de los servidores demo oficiales de Traccar 6.14 y no tienes acceso root para editar el archivo de configuración traccar.xml, no podrás vincular directamente un bot de Telegram mediante API HTTP. Sin embargo, existe una alternativa para recibir notificaciones instantáneas en Telegram utilizando el reenvío de correo electrónico y un bot puente.

El flujo de notificaciones funciona de la siguiente manera: Alerta en Traccar -> Envío de email a cuenta puente -> Reenvío automático filtrado -> Bot Email2Telegram en Telegram.

A continuación, se detalla el proceso paso a paso utilizando una cuenta de Gmail como puente.


Paso 1: Configurar el bot Email2Telegram en Telegram

  1. Abre la aplicación de Telegram y busca al bot @Email2TelegramBot.
  2. Presiona el botón de Iniciar o envía el comando /start.
  1. El bot te proporcionará una dirección de correo electrónico única y personalizada (por ejemplo, tu_id_unico@email2telegram.bot). Copia esta dirección de correo.

Paso 2: Configurar el reenvío filtrado en Gmail

Para evitar recibir spam o correos personales en Telegram, configuraremos un filtro en la cuenta de Gmail que reciba los correos de Traccar, de modo que solo se reenvíen las alertas de rastreo.

  1. Inicia sesión en la cuenta de Gmail que configuraste en tu panel de Traccar para recibir las notificaciones.
  2. Ve al icono de la rueda dentada en la esquina superior derecha y selecciona Ver toda la configuración.
  3. Dirígete a la pestaña Reenvío y correo POP/IMAP.
  4. Haz clic en Añadir una dirección de reenvío e introduce la dirección de correo que te proporcionó el bot de Telegram.
  1. Recibirás un mensaje en Telegram a través del bot con un código de confirmación. Introduce dicho código en la configuración de Gmail para verificar la dirección de reenvío.
  2. Una vez verificada, asegúrate de marcar la opción Inhabilitar el reenvío y guardar los cambios. El reenvío se controlará exclusivamente mediante filtros.

Paso 3: Crear el filtro para las alertas de Traccar

  1. En la configuración de Gmail, ve a la pestaña Filtros y direcciones bloqueadas y haz clic en Crear un filtro.
  1. En el campo De, introduce la dirección de correo remitente que envía las notificaciones desde tu servidor de Traccar.
  2. Haz clic en Crear filtro.
  1. En las acciones del filtro, marca las siguientes opciones:
    • Marcar como leído (opcional, para evitar saturar tu bandeja de entrada de Gmail).
    • Reenviarlo a: Selecciona la dirección de correo del bot de Telegram.
  2. Haz clic en Crear filtro para finalizar.

Paso 4: Realizar una prueba de envío

Para confirmar que la integración funciona correctamente:

  1. Accede a tu panel web de Traccar 6.14.
  2. Dirígete a Ajustes > Cuenta y haz clic en Enviar notificación de prueba.
  1. El correo de prueba será enviado por Traccar, procesado por Gmail mediante el filtro y reenviado al bot en Telegram, donde recibirás la notificación de forma instantánea.

Notificaciones de Telegram para Servidores Privados (Opción 3)

Esta es una alternativa de configuración recomendada principalmente para administradores que utilicen la opción multiusuario en servidores que corran versiones legadas de Traccar (hasta la versión 4.15).

NOTE

Si estás utilizando una versión moderna de la plataforma (como Traccar 6.14), se recomienda utilizar la integración nativa y directa de Telegram (Opción 4), la cual no tiene estas limitaciones de versión y ofrece mayor estabilidad.


Pasos para la Configuración

1. Modificar el archivo traccar.xml

Añade las siguientes directivas en tu archivo de configuración del servidor:

<entry key='notificator.types'>web,mail,telegram</entry>
<entry key='notificator.telegram.chatId'>TU_CHAT_ID_AQUI</entry>

(Nota: Debes reemplazar TU_CHAT_ID_AQUI por tu identificador de chat de Telegram. Puedes obtener este identificador enviando un mensaje a bots públicos de Telegram como @echo_bot o @userinfobot).

2. Iniciar el Bot

Busca el bot de Telegram configurado por el administrador de tu servidor privado e inícialo presionando el botón Iniciar o enviando /start.

3. Configurar el número de teléfono

  1. Inicia sesión en tu cuenta de la plataforma web de Traccar.
  2. Ve a Cuentas > Preferencias y en el campo de Teléfono introduce tu identificador de Telegram precedido del código de país (por ejemplo, 0034612345678).

Activación del Canal en Traccar

Una vez hecho esto, entra en el panel de notificaciones de Traccar y asegúrate de marcar la casilla Telegram en todos aquellos eventos sobre los que desees recibir alertas inmediatas.

Si anteriormente tenías redirecciones configuradas a cuentas de correo electrónico (Opción 1 u Opción 2), ya puedes desactivarlas para evitar alertas duplicadas.


Configurar notificaciones de Telegram en Traccar Server

Integrar alertas de Telegram en tu servidor Traccar te permite recibir alertas instantáneas directamente en tus chats o canales sin coste de SMS.

A continuación, se explica cómo crear tu bot de Telegram y configurar las claves necesarias tanto en versiones modernas (como Traccar 6.14) como en versiones legacy (hasta v4.9).


1. Crear el Bot de Telegram y obtener las claves

  1. Abre tu aplicación de Telegram y busca al usuario oficial BotFather.
  2. Envía el comando /newbot y sigue los pasos para asignarle un nombre y un nombre de usuario único a tu bot.
  3. Al finalizar, BotFather te proporcionará el Token de la API (por ejemplo: 123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ).

2. Obtener tu Chat ID de Telegram

Para que el bot sepa a qué chat o grupo enviar los mensajes, necesitas tu identificador de chat (chatId):

  1. Abre un chat con tu bot recién creado y presiona el botón Iniciar (/start). Envía un mensaje de prueba cualquiera (por ejemplo, "hola").
  2. Abre tu navegador e introduce la siguiente URL, sustituyendo <BOTAPIKEY> por tu token: https://api.telegram.org/bot<BOTAPIKEY>/getUpdates
  3. Copia el número ID que aparece dentro del objeto "chat" (por ejemplo: 564654687).
  4. (Opcional) Puedes comprobar si la API responde correctamente enviando un mensaje directo mediante esta URL en tu navegador: https://api.telegram.org/bot<BOTAPIKEY>/sendMessage?chat_id=<CHAT_ID>&text=Prueba

3. Configuración en el Servidor Traccar

Configuración en Traccar 6.14.x y Traccar 6.14 (Recomendado)

En las versiones más recientes de Traccar, solo debes añadir el token del bot a tu archivo de configuración global, ya que cada usuario puede configurar su propio chatId desde la interfaz web o mediante los atributos de usuario:

Añade las siguientes líneas en tu archivo /opt/traccar/conf/traccar.xml:

<entry key='notificator.types'>web,mail,telegram</entry>
<entry key='notificator.telegram.key'>TU_BOT_API_KEY</entry>

Posteriormente, desde el panel web de Traccar 6.14, cada usuario puede ingresar su chatId en la configuración de su cuenta personal o como atributo de usuario para canalizar las alertas de forma individual.


Configuración en versiones Legacy (v4.5 a v4.9)

En versiones antiguas, debías declarar tanto la clave del bot como el identificador de chat del administrador en el archivo traccar.xml:

<entry key='notificator.types'>telegram,web,mail</entry>
<entry key='notificator.telegram.key'>123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ</entry>
<entry key='notificator.telegram.chatId'>564654687</entry>

WARNING

Ten en cuenta que en la versión v4.4 la clave de chat ID se escribía como notificator.Telegram.chatid, mientras que a partir de la v4.5 hasta la v4.9 debió cambiarse a camelCase como notificator.telegram.chatId para evitar errores HTTP 400 (Bad Request).


Cómo configurar notificaciones de Telegram en Traccar 6.14

En Traccar 6.14, configurar las alertas de Telegram es un proceso sencillo. Gracias a las últimas optimizaciones de la plataforma (como la carga asíncrona de módulos y la renderización veloz del panel web), puedes gestionar múltiples canales de alerta con un consumo mínimo de recursos.

Existen dos alternativas para integrar Telegram en tu servidor Traccar: el método oficial directo (nativo en versiones modernas) y el método clásico por emulación de SMS.


Método 1: Método Oficial Nativo (Recomendado)

Esta es la forma oficial y más rápida de configurarlo en las versiones modernas de Traccar.

1. Modificar traccar.xml

Añade la opción telegram en la directiva de notificadores de tu archivo traccar.xml:

<entry key='notificator.types'>telegram,web,traccar,mail</entry>

2. Configurar el bot en el XML

También debes definir el token de tu bot de Telegram en el archivo de configuración:

<entry key='notificator.telegram.key'>TU_TELEGRAM_BOT_TOKEN</entry>

3. Añadir el Chat ID en el panel web

  1. Inicia sesión en tu panel web de Traccar 6.14.
  2. Ve a Ajustes -> Cuenta.
  3. En Atributos, añade un nuevo atributo y busca Telegram Chat ID.
  1. Introduce tu Chat ID personal (puedes obtenerlo usando el bot de Telegram RawDataBot buscando la clave chat.id).
  2. Por último, ve a tus notificaciones habituales y marca Telegram como canal de aviso.

Método 2: Simulación clásica mediante Cliente HTTP SMS

Si utilizas un entorno heredado o prefieres emular un cliente de mensajería SMS para redirigir los textos a Telegram, puedes seguir estos pasos.

1. Crear un bot de Telegram

  1. Abre Telegram y busca a BotFather.
  2. Envía el comando /newbot y sigue las instrucciones para crear tu bot (ej. mi_rastreador_bot).
  3. BotFather te proporcionará una clave de API (Token). Cópiala.
  4. Abre una conversación privada con tu bot recién creado y pulsa Iniciar (o envía el texto /start). Esto es obligatorio para que el bot tenga permiso de enviarte mensajes.

2. Obtener el Chat ID de cada usuario

Cada usuario que desee recibir alertas debe obtener su identificador único. Abre una conversación en Telegram con el bot RawDataBot y envíale /start.

El bot te responderá con un JSON donde verás tu ID numérico dentro del objeto chat.

3. Configurar traccar.xml para emular SMS

Abre tu archivo traccar.xml e introduce el tipo sms en los notificadores:

<entry key='notificator.types'>web,sms,mail</entry>

Añade los parámetros para redirigir las peticiones SMS a la API de Telegram:

<entry key='notificator.sms.manager.class'>org.traccar.sms.HttpSmsClient</entry>
<entry key='sms.http.url'>https://api.telegram.org/bot--TU_API_KEY_AQUI--/sendMessage?</entry>
<entry key='sms.http.user'>[YOUR_ACCOUNT_SID]</entry>
<entry key='sms.http.password'>[YOUR_AUTH_TOKEN]</entry>
<entry key='sms.http.template'>chat_id={phone}&amp;text={message}</entry>

(Sustituye --TU_API_KEY_AQUI-- por el Token completo que te dio BotFather, sin guiones extras ni espacios).

4. Asignar el Chat ID en el Teléfono del usuario

  1. Desde el panel web, ve a Ajustes -> Cuenta.
  2. En el campo de Teléfono, cada usuario debe escribir su respectivo Chat ID numérico obtenido en el paso anterior.
  1. En el apartado de Notificaciones, selecciona SMS como canal de entrega para que los mensajes se desvíen automáticamente hacia Telegram.

Puedes consultar más detalles en la guía de notificaciones de la web oficial de Traccar.

Comentarios (0)