Poder averiguar en todo momento qué dispositivos están conectados a nuestra red local, puede ser algo muy útil, y hasta imprescindible, cuando queremos integrar algo por IP en nuestro sistema domótico.
Por ejemplo, si instalo una interfaz AC de Intesis para controlar mi sistema de climatización por conductos, tengo que conocer la IP asignada a esa interfaz para poder integrarla en Jeedom a través del plugin disponible para ello.
En este nuevo artículo de trucos rápidos para Jeedom, te voy a enseñar, si no lo sabes ya, cómo hacer de forma sencilla un escaneo de la red local para conocer la IP y la MAC de todos los dispositivos conectados.
Como muchos controladores domóticos, Jeedom corre sobre un sistema operativo Linux. En el caso de Jeedom, la distribución Linux oficialmente soportada es Debian (caso de los Jeedom Smart y Jeedom Pro) o sus derivados (Raspbian si tienes Jeedom en una RPi, por ejemplo). No quiere decir que no puedas instalar Jeedom sobre otras distribuciones, sino que Debian es la oficialmente soportada, nada más.
Pues en Debian existe un servicio llamado NMAP (siempre y cuando esté instalado, que en principio debe ser que sí), que permite administrar redes desde la línea de comandos. No pretendo hacer aquí un tutorial completo sobre NMAP, ni mucho menos. Si te interesa saber más sobre este servicio, encontrarás muchas información en Internet.
En este post, me voy a limitar a explicarte cómo usar NMAP desde tu Jeedom con un par de comandos sencillos para conseguir lo que queremos, que es hacer un escaneo de red para saber qué dispositivos están conectados a nuestra red local y cuál es la MAC de cada uno de ellos.
Paso 1 – En Jeedom nos vamos a _OS/DB
Si estás en Jeedom V3, tienes que ir al menú superior derecho, Rueda dentada / Configuración / _OS/DB. Si estás en Jeedom V4, tienes que ir, en el menú superior, a Ajustes / Sistema / Configuración / _OS/DB.
Llegarás a una pantalla como la que puedes ver a continuación:
Como te habrás percatado, en esta página sale una advertencia en rojo, y no es para menos. Este apartado sólo lo debes usar si sabes lo que estás haciendo. En el caso de este tutorial, te voy a indicar los comandos que debes usar y no habrá problema, ¡¡¡pero no hagas experimentos en este apartado!!!
Como indico en la imagen superior, debes hacer clic en “Iniciar”, tras lo cual accederás a la siguiente pantalla:
En la casilla que he señalado con una flecha, es donde vas a tener que introducir los comandos que te voy a detallar a continuación. Sólo te voy a indicar dos comandos, no más.
Paso 2 – Comandos a usar
Si no sabes cuál es la IP de tu router, introduce el siguiente comando y pincha en “OK”:
sudo route
En el cuadro de abajo, Jeedom te indicará la IP de tu router.
Para hacer un escaneo de tu red local y conocer los dispositivos conectados a la red con la MAC de cada uno de ellos, introduce este comando y pincha en “OK” (suponiendo que la IP de tu router sea 192.168.0.1. Si fuera otra, tendrás que poner la tuya):
sudo nmap -sP 192.168.0.1-255
Obtendrás en el cuadro inferior una lista de todos los dispositivos conectados a tu red local, con su nombre, su IP y su MAC.
Ya está, ya puedes hacer escaneos de red desde tu Jeedom.
Espero que te sea útil.
Esto no se podría hacer con el plugin script y tener retornos de valor? (Podría ser útiles para escenas cuando se conecta algo por ejemplo un telefono por la mac o por la ip fija) o cuando se conecta alguien en general.
Esto es únicamente a efectos de tener una visión global de los dispositivos conectados a tu red local, es decir un mero escaneo de red. Lo que tu planteas es hacer un ping a un dispositivo para saber si está en la red y eso lo debes hacer con el plugin Networks (lo que pasa es que cuando el teléfono entre en reposo, no responderá al ping, salvo que hagas un ping tipo “ARP” y tu teléfono responda siempre a ese tipo de ping, incluso cuando está en reposo).
Luego en el market tienes otro plugin que permite saber si un teléfono está cerca, pero por BT. Funciona muy bien, aunque con las limitaciones del BT en cuanto a alcance.
Saludos.