Recibir notificación por telegram cada vez que un usuario se conecta a la red wifi de Invitados (Extrapolable a la wifi normal)

pablozg del grupo “Mikrotik España (Spain)” de telegram nos explica cómo recibir notificación por telegram cada vez que un usuario se conecta a la red wifi de Invitados (Extrapolable a la wifi normal).

Pasos a seguir

Consideraciones previas

Para poder aplicar esta guía necesitas tener un bot en telegram: token y chat ID. Si no lo tienes aún, puedes seguir las pautas de los dos primeros apartados de la siguiente guía: «Notificar con mensajes de telegram desde domoticz«.

Configuración de nuestra mikrotik

Configuramos DHCP Server

Abrimos winbox y entramos en nuestra mikrotik. Nos vamos a:

IP -> DHCP Server

En la pestaña DHCP elegimos el dhcp de la red que nos interese que nos envíe notificación cuando un dispositivo se conecta a ella. Hacemos doble click sobre ella y vamos a la pestaña script:

En el cuadro en blanco introducimos el siguiente texto modificando el campo ROJO. El campo azul no lo modificamos salvo que queramos nombrar al script posterior de otra manera (luego lo veréis):

:if ($leaseBound = "1") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) got address $leaseActIP from dhcp_br0"
:execute "Envia_mensaje_telegram";
}

Donde:

  • dhcp_br0 es exactamente el mismo nombre de nuestro dhcp (visualizado en la lista de la pestaña DHCP en DHCP Server).
  • Envia_mensaje_telegram será el nombre del script que vamos a generar a continuación.

Clicamos sobre APPLY y OK

Creamos el script

Vamos a la siguiente ruta y creamos un nuevo script:

System > Scripts

Si no sabes cómo crearlo echa un vistazo a: «Qué es un script en mikrotik«.

Introducimos el siguiente script:

:global telegramMessage
:local botid
:local chatid
set botid "idDelBot"
set chatid "idDelChat"
/tool fetch url="https://api.telegram.org/bot$botid/sendMessage\?chat_id=$chatid&text=$telegramMessage" keep-result=no
:delay 2

Donde:

  • IdDelBot es tu Bot ID. Normalmente el Bot ID empieza por Bot:xxxxxxxxx:xxxxxx. En este caso, obiamos el Bot: e introducimos simplemente xxxxxxxxx:xxxxxx.
  • IdDelChat es tu Chat ID.

Clicamos sobre APPLY y OK

Comprobamos su funcionamiento

Para comprobar su funcionamiento podemos utilizar nuestro teléfono móvil. Lo desconectamos de la wifi durante unos segundos y volvemos a conectarlo. Telegram debería notificarnos con un mensaje.

Notificación que recibimos

En caso de querer modificar el texto de la notificación que recibimos, cambiaremos el texto introducido en DHCP Server > Script por el que más nos interese, por ejemplo:

Texto del tutorial:

:if ($leaseBound = "1") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) got address $leaseActIP from dhcp_br0"
:execute "Envia_mensaje_telegram";
}

Texto modificado:

:if ($leaseBound = "1") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) entra en la red $leaseActIP por dhcp_br0"
:execute "Envia_mensaje_telegram";
}

Escoger una sola MAC de la que recibir notificaciones de conexión

Si queremos recibir notificación solo de un dispositivo deberíamos establecer el siguiente texto en el script de DHCP Server:

:if ($leaseBound = "1" and $leaseActMAC = "XX:XX:XX:XX:XX:XX") do={
global telegramMessage "$"lease-hostname" ($leaseActMAC) got address $leaseActIP from dhcp_br0"
:execute "Envia_mensaje_telegram";
}

Donde XX:XX:XX:XX:XX:XX es el MAC del dispositivo a monitorizar.

Así recibiremos notificación sólo cuando se conecte ese dispositivo a la red.

Para cualquier duda o consulta tienes disponible el grupo de telegram «Domoticz a lo Spain» para entrar, ponerte cómodo y participar cuanto quieras.

Clica aquí para entrar en él

Cualquier duda, sugerencia o comentario será bien recibida en la web!