Integración domótica Keenetic, gratuita y de código abierto

Routers Keenetic: presencia, estado del router, Internet y respaldo 4G, Wi-Fi de invitados.
Siga su router Keenetic desde Gladys Assistant: quién está en casa, el estado del router, su conexión a Internet y su respaldo 4G / 5G, el Wi-Fi de invitados. Todo se queda en su red local: la integración habla con el router por RCI, la interfaz JSON de su interfaz web, sin ninguna nube.
Desarrollada sin el hardware: sus comentarios son bienvenidos, en las issues del proyecto. Esta integración no está afiliada a Keenetic Ltd.
Presentación
- Presencia: cada dispositivo que elija (un teléfono, un portátil, un NAS con cable) se convierte en un sensor de presencia, presente mientras el router lo ve en línea, en su Wi-Fi, por cable o en un repetidor mesh.
- Router: carga del procesador, memoria, tiempo de funcionamiento, versión de KeeneticOS, dispositivos conectados y clientes Wi-Fi.
- Internet: si el router alcanza Internet, la conexión en uso con sus velocidades de descarga y de subida y, si el router tiene varias conexiones, si la de respaldo (módem 4G / 5G, segundo operador) está establecida y en uso.
- Escenas: un dispositivo desconocido conectado, Internet cortado y restablecido, el cambio a la conexión de respaldo y la vuelta a la principal.
- Órdenes, desactivadas por defecto: Wi-Fi de invitados encendido y apagado, bloqueo del acceso a Internet de un dispositivo (control parental), reinicio del router.
- Widgets: el estado del router y los dispositivos en casa.
Requisitos
- Un router Keenetic (Giga, Ultra, Hopper, Viva, Peak, Titan, Hero, Speedster…) con KeeneticOS 3 o posterior. La integración se escribió para KeeneticOS 4 y 5.
- Gladys Assistant 5.1 o posterior, en la misma red local que el router.
- La dirección local del router (p. ej.
192.168.1.1). Una dirección KeenDNS no funciona: el acceso remoto no ofrece el inicio de sesión de la interfaz web local.
Crear un usuario dedicado
No le dé a Gladys la cuenta admin. En la interfaz web del router, abra Usuarios y acceso (Users
and access, menú Gestión), añada un usuario, por ejemplo gladys, con una contraseña robusta, y
marque solo Interfaz web (Web interface: ni CLI, ni FTP, ni VPN).
-
Solo lectura (recomendado si no usa las órdenes): en la línea de órdenes del router (Telnet / SSH, o la CLI web en
http://<router>/a), añada la etiqueta de solo lectura:user gladys tag readonlysystem configuration saveLa presencia, las medidas y los disparadores de escena funcionan; el router rechaza las órdenes.
-
Con las órdenes: deje el usuario sin
readonlyy marque Permitir órdenes en la configuración de la integración.
Configuración
En Gladys: Integraciones → Keenetic → Configuración.
| Campo | Qué introducir |
|---|---|
| Dirección del router | La dirección IP local del router, con :puerto si su interfaz web no usa el puerto 80. |
| Nombre de usuario | El usuario dedicado, p. ej. gladys. |
| Contraseña | Su contraseña. Nunca sale de Gladys: solo viaja una respuesta de un solo uso al desafío del router. |
| Intervalo de actualización | 10 s, 15 s, 30 s (por defecto) o 1 minuto. Las velocidades son promedios sobre este intervalo. |
| Retardo de salida (minutos) | Un dispositivo que ya no se ve cuenta como ausente tras este retardo (5 minutos por defecto, 0 a 60). |
| Segmento de invitados | Vacío (por defecto): la red de invitados del router, encontrada automáticamente. Si no, un identificador como Bridge1. |
| Permitir órdenes | Desactivado por defecto. Permite a las escenas y al widget manejar el Wi-Fi de invitados, bloquear un dispositivo y reiniciar el router. |
| Idioma de los nombres | El idioma de los nombres de dispositivos y funciones, fijado al añadir un dispositivo (francés por defecto). |
Luego pulse Probar la conexión: el informe da el modelo, la versión de KeeneticOS, las conexiones a Internet por prioridad, los segmentos con su identificador, el estado del Wi-Fi de invitados y lo que el usuario no puede leer.
Dispositivos
Abra la pestaña Descubrir de la integración: primero aparece el router, luego los dispositivos de su tabla de hosts (los registrados primero). Añada los que quiera seguir.
El router
| Función | Valores |
|---|---|
| Carga del procesador | % del procesador. |
| Memoria usada | %, como la cuenta la interfaz web. |
| Tiempo de funcionamiento | Horas desde el último arranque. |
| Versión de KeeneticOS | p. ej. 4.1.7. |
| Internet disponible | 1 cuando el router alcanza Internet, 0 si no. |
| Conexión en uso | El nombre de la conexión que lleva Internet (su descripción en el router), Ninguna si hay un corte. |
| Velocidad de descarga | Mbit/s en la conexión en uso, promediados sobre el intervalo de actualización. |
| Velocidad de subida | Mbit/s en la conexión en uso. |
| Conexión de respaldo en uso | 1 cuando Internet pasa por una conexión de respaldo (solo con varias conexiones). |
| Conexión de respaldo establecida | 1 cuando la primera conexión de respaldo está establecida, lista para tomar el relevo. |
| Clientes Wi-Fi | Estaciones en el Wi-Fi del propio router (no en los repetidores mesh). |
| Dispositivos conectados | Dispositivos que el router ve en línea. |
| Wi-Fi de invitados activado | 1 cuando el Wi-Fi del segmento de invitados está encendido (solo con un segmento de invitados). |
Las conexiones a Internet son las interfaces que el router usa para Internet, según su prioridad en Internet → Prioridades de conexión (Connection priorities). Un túnel VPN usado para Internet (WireGuard, OpenVPN, IPsec…) no es una conexión a Internet por sí mismo, ni un respaldo.
Nada es un interruptor: el estado del Wi-Fi de invitados es de solo lectura, para que un asistente de voz o un toque por error en el panel nunca corten una red. Las órdenes pasan por las acciones de escena y el widget.
Dispositivos de red (presencia)
Cada dispositivo añadido es un sensor de Presencia: 1 presente, 0 ausente. Está presente mientras el router lo ve en línea (el «En línea» de su lista de dispositivos), o mientras está asociado a un punto de acceso del router. Pasa a ausente una vez transcurrido el retardo de salida desde la última vez que se vio: un teléfono en reposo deja el Wi-Fi unos minutos sin salir de casa. Cuando el router no puede leerse, nadie se declara ausente.
Widgets
- Router Keenetic: procesador, memoria, velocidades de descarga y de subida, dispositivos conectados; Internet con la conexión en uso, la conexión de respaldo (preparada, en uso, cortada), el Wi-Fi de invitados, el tiempo de funcionamiento y la versión. Con Permitir órdenes, un botón Wi-Fi de invitados (su icono muestra el estado actual) y un botón Reiniciar, ambos con confirmación.
- Dispositivos en casa: los dispositivos seguidos, presentes primero, con el tiempo desde que se fueron y los que tienen el acceso a Internet bloqueado. Su ajuste los muestra todos o solo los presentes.
Disparadores de escena
| Disparador | Cuándo | Filtros y variables |
|---|---|---|
| Dispositivo desconocido conectado | Una dirección MAC nunca vista está en línea. La primera lectura aprende la red. | Filtros: red (doméstica, de invitados, otro segmento), conectado por (Wi-Fi, cable). Variables: dirección MAC, dirección IP, nombre de host, red Wi-Fi (SSID). |
| Internet cortado | El router ya no alcanza Internet, por ninguna conexión. | Última conexión usada. |
| Internet restablecido | Internet vuelve. | Conexión, duración del corte (minutos). |
| Cambio a la conexión de respaldo | La conexión principal ha fallado, Internet pasa por una conexión de respaldo. | Conexión de respaldo, conexión principal. |
| Vuelta a la conexión principal | El router vuelve a usar su conexión principal. | Conexión principal, tiempo en el respaldo (minutos). |
Un cambio al respaldo no es un corte de Internet: «Internet cortado» solo se dispara cuando ninguna conexión funciona.
Acciones de escena
Todas requieren Permitir órdenes y un usuario sin readonly.
- Encender el Wi-Fi de invitados / Apagar el Wi-Fi de invitados: todos los puntos de acceso del segmento de invitados (2,4 y 5 GHz). Salida: Wi-Fi de invitados activado.
- Bloquear Internet de un dispositivo / Permitir Internet de un dispositivo: elija un dispositivo de red seguido por la integración. El router solo puede bloquear un dispositivo registrado en su lista de dispositivos: regístrelo primero en Listas de dispositivos (Device lists) de la interfaz web del router. Salida: acceso a Internet bloqueado.
- Reiniciar el router Keenetic: la red se corta de dos a tres minutos.
Cada orden se vuelve a leer en el router y se guarda en su configuración para que sobreviva a un reinicio.
Acciones de configuración
- Probar la conexión: vuelve a iniciar sesión y lo lee todo, luego da el informe descrito en la sección Configuración.
Ejemplos de escenas
- Invitados: cuando empieza el modo «Invitados», encender el Wi-Fi de invitados; a las 23:00, apagarlo.
- Deberes: cada día de colegio a las 21:00, bloquear Internet de la tableta de los niños; a las 7:00, permitirlo de nuevo.
- Avería: con «Cambio a la conexión de respaldo», enviar un mensaje «Fibra caída, por 4G de momento» y pausar las copias en la nube del NAS; con «Vuelta a la conexión principal», reanudarlas.
- Intruso: con «Dispositivo desconocido conectado» y el filtro red = doméstica, enviar una notificación con la dirección MAC y el nombre de host.
- Nadie en casa: cuando todos los teléfonos seguidos están ausentes, apagar las luces y armar la alarma con una escena de Gladys.
Uso de la red
- Una petición agrupada al router por intervalo de actualización (la carga, las interfaces, la tabla de hosts, las asociaciones Wi-Fi, el estado de Internet y los contadores de las conexiones), en su interfaz web local. Sin cuota, sin nube, sin datos enviados fuera de su red.
- Un inicio de sesión por sesión: el router termina una sesión tras unos minutos sin uso, la integración vuelve a iniciar sesión por sí sola.
- La integración solo guarda en
/datalas direcciones MAC ya vistas, para el disparador «Dispositivo desconocido conectado».
Solución de problemas
- «el router no responde en esta dirección»: compruebe la dirección IP local, y que Gladys está en la misma red.
- «no hay interfaz web Keenetic aquí»: la dirección apunta a otro dispositivo, o a KeenDNS: use la dirección local.
- «nombre de usuario o contraseña rechazados por el router»: compruébelos en Usuarios y acceso; la integración lo reintenta cada cinco minutos para no llenar el registro del router.
- «rechazado por el router: el usuario no tiene este permiso»: al usuario le falta el permiso de la interfaz web, o es de solo lectura y se pidió una orden.
- Registre primero este dispositivo: para bloquear un dispositivo, regístrelo en las listas de dispositivos del router.
- Un teléfono aparece ausente estando en casa: aumente el retardo de salida; algunos teléfonos duermen su Wi-Fi mucho tiempo.
- Más detalles en los registros de la integración con
LOG_LEVEL=debug.
Límites
- Desarrollada sin el hardware: probada con respuestas reales de un Keenetic Ultra (KeeneticOS 5.1) y con respuestas reconstruidas según la documentación de KeeneticOS, todavía no en un router real.
- KeeneticOS 5.2 añade tokens de acceso para los scripts del router; la integración usa el inicio de sesión de la interfaz web, aún no comprobado en KeeneticOS 5.2.
- HTTP simple en la red local (la interfaz web del router no tiene HTTPS local); la contraseña nunca viaja, las lecturas sí.
- Los clientes Wi-Fi solo cuentan las estaciones del propio router, no las de los repetidores mesh (están en línea en los dispositivos conectados).
- Sin tráfico por dispositivo, sin señal del módem 4G / 5G, sin control de VPN: la integración solo cambia el Wi-Fi de invitados, el acceso a Internet de un dispositivo elegido, y reinicia el router.
Comentarios
Preguntas, un modelo que responde de otra manera, una idea: github.com/guim31/gladys-keenetic/issues.
Parámetros de configuración
Estos son los parámetros que Keenetic te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Su router Keenetic | section | No | Cualquier Keenetic con KeeneticOS 3 o posterior, por su dirección local. Cree un usuario dedicado solo con el permiso de la interfaz web, de solo lectura si no usa las órdenes (vea la documentación). |
| Dirección del router | string | Sí | Dirección IP local del router, con :puerto si su interfaz web no usa el puerto 80. No una dirección KeenDNS. |
| Nombre de usuario | string | Sí | Un usuario de Usuarios y acceso, idealmente uno dedicado (vea la documentación). |
| Contraseña | secret | No | |
| Intervalo de actualización | select | No | Frecuencia de lectura del router (una petición). Las velocidades son promedios sobre este intervalo. |
| Presencia | section | No | Añada los dispositivos que quiera seguir desde la pestaña Descubrir: cada uno se convierte en un sensor de presencia, presente mientras el router lo ve en línea (Wi-Fi, cable o repetidor mesh). |
| Retardo de salida (minutos) | number | No | Un dispositivo que ya no se ve solo cuenta como ausente tras este retardo: un teléfono en reposo deja el Wi-Fi unos minutos. |
| Órdenes | section | No | Solo lectura por defecto. Las órdenes encienden o apagan el Wi-Fi de invitados, bloquean o permiten el acceso a Internet de un dispositivo y reinician el router, desde una escena o un widget. Nunca se cambia nada más. |
| Segmento de invitados | string | No | Vacío: la red de invitados del router, encontrada automáticamente. Si no, el identificador de un segmento, como los lista «Probar la conexión». |
| Permitir órdenes | boolean | No | Permite a escenas y widgets usar las órdenes. El usuario Keenetic no debe ser de solo lectura. |
| Idioma de los nombres | select | No | Idioma de los nombres de dispositivos y funciones, fijados cuando se añade un dispositivo a Gladys. |
Cómo instalar Keenetic en Gladys
- En Gladys, abre Integraciones: Keenetic aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-keenetic:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-keenetic.
Keenetic requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Keenetic es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación