Saltar al contenido principal

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

Integración Keenetic para Gladys Assistant

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 readonly
    system configuration save

    La presencia, las medidas y los disparadores de escena funcionan; el router rechaza las órdenes.

  • Con las órdenes: deje el usuario sin readonly y marque Permitir órdenes en la configuración de la integración.

Configuración​

En Gladys: Integraciones → Keenetic → Configuración.

CampoQué introducir
Dirección del routerLa dirección IP local del router, con :puerto si su interfaz web no usa el puerto 80.
Nombre de usuarioEl usuario dedicado, p. ej. gladys.
ContraseñaSu contraseña. Nunca sale de Gladys: solo viaja una respuesta de un solo uso al desafío del router.
Intervalo de actualización10 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 invitadosVacío (por defecto): la red de invitados del router, encontrada automáticamente. Si no, un identificador como Bridge1.
Permitir órdenesDesactivado 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 nombresEl 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ónValores
Carga del procesador% del procesador.
Memoria usada%, como la cuenta la interfaz web.
Tiempo de funcionamientoHoras desde el último arranque.
Versión de KeeneticOSp. ej. 4.1.7.
Internet disponible1 cuando el router alcanza Internet, 0 si no.
Conexión en usoEl nombre de la conexión que lleva Internet (su descripción en el router), Ninguna si hay un corte.
Velocidad de descargaMbit/s en la conexión en uso, promediados sobre el intervalo de actualización.
Velocidad de subidaMbit/s en la conexión en uso.
Conexión de respaldo en uso1 cuando Internet pasa por una conexión de respaldo (solo con varias conexiones).
Conexión de respaldo establecida1 cuando la primera conexión de respaldo está establecida, lista para tomar el relevo.
Clientes Wi-FiEstaciones en el Wi-Fi del propio router (no en los repetidores mesh).
Dispositivos conectadosDispositivos que el router ve en línea.
Wi-Fi de invitados activado1 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​

DisparadorCuándoFiltros y variables
Dispositivo desconocido conectadoUna 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 cortadoEl router ya no alcanza Internet, por ninguna conexión.Última conexión usada.
Internet restablecidoInternet vuelve.Conexión, duración del corte (minutos).
Cambio a la conexión de respaldoLa 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 principalEl 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 /data las 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ámetroTipoObligatorioDescripción
Su router KeeneticsectionNoCualquier 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 routerstringSíDirección IP local del router, con :puerto si su interfaz web no usa el puerto 80. No una dirección KeenDNS.
Nombre de usuariostringSíUn usuario de Usuarios y acceso, idealmente uno dedicado (vea la documentación).
ContraseñasecretNo
Intervalo de actualizaciónselectNoFrecuencia de lectura del router (una petición). Las velocidades son promedios sobre este intervalo.
PresenciasectionNoAñ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)numberNoUn dispositivo que ya no se ve solo cuenta como ausente tras este retardo: un teléfono en reposo deja el Wi-Fi unos minutos.
ÓrdenessectionNoSolo 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 invitadosstringNoVací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 órdenesbooleanNoPermite a escenas y widgets usar las órdenes. El usuario Keenetic no debe ser de solo lectura.
Idioma de los nombresselectNoIdioma de los nombres de dispositivos y funciones, fijados cuando se añade un dispositivo a Gladys.

Cómo instalar Keenetic en Gladys​

  1. En Gladys, abre Integraciones: Keenetic aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. 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).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. 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.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂