Integración domótica Nintendo Parental Controls, gratuita y de código abierto

Tiempo de juego de Nintendo Switch: límite diario, tiempo extra, juego actual, avisos y botones.
Presentación
Esta integración trae el control parental de Nintendo Switch a Gladys, como la aplicación para móvil «Control parental de Nintendo Switch»: para cada consola vinculada a su cuenta Nintendo, el tiempo de juego de hoy, el límite diario, el tiempo restante, el tiempo extra, el juego actual o el último, si alguien está jugando, y qué pasa al llegar al límite (solo una alarma, o el programa suspendido).
También actúa como la aplicación: cambiar el límite diario, añadir tiempo extra para hoy, suspender el programa al llegar al límite. Los disparadores de escena permiten a Gladys reaccionar cuando un niño empieza a jugar, cuando el límite está casi alcanzado o se ha superado, y un widget del panel muestra las consolas con los botones «+15 min» y «Suspender».
Funciona con Nintendo Switch, Nintendo Switch Lite, Nintendo Switch OLED y Nintendo Switch 2, a través de los servidores de Nintendo (la consola necesita acceso a Internet). Usa la misma API privada que la aplicación, documentada por la biblioteca pynintendoparental que usa Home Assistant. Esta integración no está afiliada a Nintendo: Nintendo Switch es una marca de Nintendo.
Desarrollada sin el hardware: no había ni consola ni cuenta Nintendo a mano, todo se construyó sobre respuestas reales publicadas con pynintendoparental. Sus comentarios son bienvenidos, en el foro o en las issues de GitHub.
Requisitos previos
- Gladys Assistant 5.1.0 o posterior.
- Una cuenta Nintendo (la del padre o la madre), con la consola o las consolas ya vinculadas en la aplicación Control parental de Nintendo Switch (configurarla).
- El navegador de un ordenador para el paso de inicio de sesión (allí es más fácil copiar el enlace que en un teléfono).
Configuración
En Gladys, Integraciones, Nintendo Parental Controls, Configuración:
- Haga clic en Conectar junto a «Cuenta Nintendo»: la página de inicio de sesión de Nintendo se abre en una pestaña nueva.
- Inicie sesión con la cuenta de padre usada en la aplicación de control parental. Su contraseña se escribe solo en nintendo.com y nunca pasa por Gladys.
- Nintendo muestra la cuenta y un botón rojo Seleccionar a esta persona. No haga clic en él: haga clic derecho encima y elija Copiar dirección del enlace (en un teléfono: pulsación larga, Copiar enlace). El enlace empieza por
npf54789befb391a838://auth#. - Péguelo en Enlace de «Seleccionar a esta persona» y guarde. La insignia pasa a conectado en unos segundos. El enlace sirve una sola vez y solo unos minutos: si se rechaza, haga clic de nuevo en Conectar y pegue pronto el nuevo enlace.
| Campo | Contenido |
|---|---|
| Cuenta Nintendo | El botón Conectar. |
| Enlace de «Seleccionar a esta persona» | El enlace copiado. Se usa una vez: luego la integración conserva su propia sesión de Nintendo en su volumen de datos, nunca en los registros. |
| Intervalo de actualización | 1, 2 o 5 minutos (1 minuto por defecto). |
| Idioma de los nombres de funciones | Inglés, francés (por defecto), alemán o español: los nombres de las funciones, la lista de límites y los textos enviados a las escenas. |
Abra después la pestaña Descubrimiento y añada las consolas deseadas como dispositivos.
Dispositivos
Un dispositivo por consola, con el nombre que tiene en la aplicación y su modelo, por ejemplo «Salón (Nintendo Switch 2)».
| Función | Tipo | Contenido |
|---|---|---|
| Tiempo de juego hoy | Duración (minutos) | Tiempo de juego total de la consola hoy, todos los jugadores sumados. |
| Tiempo restante | Duración (minutos) | Lo que deja el límite más el tiempo extra, o el tiempo hasta la alarma de la hora de dormir si llega antes. Sin límite ni hora de dormir: el tiempo hasta medianoche, como en la aplicación. |
| Límite diario | Lista (comando) | «Sin límite», o de 15 minutos a 6 horas de 15 en 15 minutos, las opciones de la aplicación. En el modo «igual todos los días» cambia todos los días; en el modo «por día», solo este día de la semana, como la aplicación. |
| Tiempo extra hoy | Duración (minutos) | Tiempo adicional concedido hoy, 0 si no hay. «Sin límite hoy» aparece como 1440. |
| Juego actual o último juego | Texto | El juego cuyo tiempo subió el último, o el último juego jugado. |
| Jugando | Binario | 1 mientras el tiempo de juego sigue subiendo. Vea «Limitaciones»: se sabe con unos minutos de retraso. |
| En línea | Binario | 1 cuando la consola envió sus datos de juego en los últimos 20 minutos, o está jugando. |
| Suspender el programa en el límite | Interruptor (comando) | Encendido: el programa se suspende al alcanzar el límite. Apagado: solo una alarma. |
Los dos comandos son ajustes parentales, como en la aplicación: nunca desbloquean nada que un padre no haya elegido. Cualquier usuario de Gladys autorizado a controlar los dispositivos (o un asistente de voz vinculado a Gladys) puede usarlos: si hace falta, mantenga las consolas fuera de las habitaciones compartidas con los niños.
Widget
El widget Nintendo Switch muestra, para la consola elegida en sus ajustes (o la única de la cuenta): el tiempo jugado, el tiempo restante y el límite, el juego actual o el último, el modo en el límite, y tres botones, cada uno con una confirmación:
- +15 min: 15 minutos extra para hoy;
- Solo alarma y Suspender: qué pasa al llegar al límite, el modo actual marcado con una marca de verificación.
Una vez concedido tiempo extra en el día, Nintendo rechaza cualquier cambio del modo o del límite hasta el día siguiente: el widget lo indica en lugar de los botones de modo. Sin consola elegida y con varias consolas, el widget las lista todas (tiempo jugado / límite), sin botones.
Disparadores de escena
Cada uno puede limitarse a una consola, y pasa a la escena el nombre de la consola y el juego.
- Empieza a jugar: el tiempo de juego de la consola vuelve a subir (una nueva sesión tras una pausa de más de 20 minutos). Un filtro opcional conserva un solo juego (nombre exacto, como en la aplicación). Se sabe con unos minutos de retraso (vea «Limitaciones»).
- Límite casi alcanzado: mientras se juega, el tiempo restante antes del límite o de la alarma de la hora de dormir baja a 30, 15, 10 o 5 minutos (elegido en el disparador). Una vez por cruce; un tiempo extra o un límite más alto lo rearma.
- Límite superado: el tiempo de juego del día alcanza el límite diario más el tiempo extra. Una vez al día, y de nuevo cuando se agota un tiempo extra.
La primera lectura tras un arranque de la integración, y el comienzo de un nuevo día, solo fijan la referencia: ningún evento.
Acciones de escena
- Añadir tiempo extra: 5, 10, 15 o 30 minutos para hoy, como la aplicación. Pasa el tiempo extra del día y el tiempo restante a los pasos siguientes. Nintendo lo rechaza después de la hora de dormir o cuando el día ya no puede ampliarse: la acción de escena falla entonces con el motivo.
- Cambiar el límite diario: «Sin límite» o de 15 minutos a 6 horas, escrito donde lo escribe la aplicación (todos los días, o este día de la semana en el modo por día).
Una vez concedido tiempo extra en el día, Nintendo rechaza un nuevo límite hasta el día siguiente: la acción de escena falla entonces con el motivo.
Acciones de configuración
- Comprobar la conexión: lee ahora las consolas de la cuenta y las lista, o indica qué falla.
- Cerrar sesión de Nintendo: borra la sesión de Nintendo que guarda la integración. Conéctese de nuevo para usarla.
Ejemplos de escenas
- Avisar antes del final: disparador «Límite casi alcanzado», 10 minutos, la consola del salón → anunciar «Quedan 10 minutos de Switch» en el altavoz del salón.
- Se acabó el límite: disparador «Límite superado» → enviar un mensaje a los padres, y encender «Suspender el programa en el límite» para los días siguientes.
- Primero los deberes: disparador «Empieza a jugar» un día laborable antes de las 17:00 → enviar una notificación a los padres con el juego (variables
console_name,game). - Recompensa: cuando se marca una tarea como hecha en Gladys → acción de escena «Añadir tiempo extra», 15 minutos.
Actualización y cuotas de Nintendo
La integración consulta a Nintendo por sí misma con el intervalo elegido (no depende del sondeo de Gladys): por consola, dos peticiones por actualización (los resúmenes de hoy y los ajustes), más la lista de consolas cada 30 minutos y un nuevo token de acceso cada 10 minutos aproximadamente. Con una consola y el intervalo por defecto, unas 2 peticiones por minuto, el ritmo de la integración de Home Assistant.
Nintendo no publica ninguna cuota para esta API privada; cuando responde «demasiadas peticiones» (HTTP 429), la integración hace una pausa de 5 minutos. Los datos nunca son más recientes que lo que envía la consola: una consola sube su tiempo de juego cada pocos minutos, así que un intervalo más corto no da datos más recientes.
La API es la de la aplicación oficial, usada aquí del mismo modo, solo para su propia cuenta. Nintendo puede cambiarla en cualquier momento: si exige una versión más reciente de la aplicación, la pantalla de configuración lo indica y hace falta actualizar la integración.
Solución de problemas
- «El texto pegado no es el enlace…»: copie la dirección del enlace del botón rojo «Seleccionar a esta persona», no la dirección de la página.
- «Nintendo ha rechazado el enlace»: el enlace ya se usó o es demasiado antiguo (unos minutos). Haga clic de nuevo en Conectar y pegue pronto el nuevo enlace.
- «Este enlace viene de otro inicio de sesión»: el enlace se copió tras otro clic en Conectar, o desde otra herramienta. Haga clic de nuevo en Conectar y use la nueva página.
- «Nintendo ha cerrado la sesión»: se cambió la contraseña, o se cerró la sesión de la cuenta en todos los dispositivos. Conéctese de nuevo.
- «No hay ninguna consola vinculada»: vincule primero la consola en la aplicación Control parental de Nintendo Switch.
- El tiempo de juego no se mueve: la consola debe estar conectada a Internet; envía su tiempo de juego cada pocos minutos.
- Registros: en Gladys, la página de la integración, Registros. Ponga la variable
LOG_LEVELendebugpara ver cada actualización. Nunca se escribe ahí ningún token.
Limitaciones
- Desarrollada sin el hardware: cada respuesta de Nintendo viene de las pruebas publicadas de pynintendoparental. Sus comentarios son bienvenidos.
- Jugando, Empieza a jugar y el juego actual se deducen de la subida del tiempo de juego: Nintendo no publica ninguna información de «jugando ahora». Se saben con unos minutos de retraso, y un juego de menos de un minuto puede no aparecer.
- En línea significa «envió datos de juego en los últimos 20 minutos»: Nintendo no da la presencia en directo de la consola.
- La alarma de la hora de dormir y su fin, los ajustes por día, las restricciones de contenido, el PIN y los informes mensuales no están expuestos: cámbielos en la aplicación.
- Una vez concedido tiempo extra en el día, Nintendo rechaza cualquier cambio del límite o del modo hasta el día siguiente.
- Una sola cuenta Nintendo por integración.
Parámetros de configuración
Estos son los parámetros que Nintendo Parental Controls te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Conectar su cuenta Nintendo | section | No | Haga clic en Conectar e inicie sesión con la cuenta de padre de la aplicación de control parental. Luego haga clic derecho en el botón rojo «Seleccionar a esta persona», copie la dirección del enlace y péguela abajo. Su contraseña nunca pasa por Gladys. |
| Cuenta Nintendo | account_link | No | Abre la página de inicio de sesión de Nintendo. |
| Enlace de «Seleccionar a esta persona» | secret | No | Empieza por npf54789befb391a838://auth. Se usa una vez: luego la integración conserva su propia sesión. |
| Intervalo de actualización | select | No | Con qué frecuencia se consulta a Nintendo. La propia consola informa cada pocos minutos. |
| Idioma de los nombres de funciones | select | No | También se usa para los títulos de los juegos y los textos enviados a las escenas. |
Cómo instalar Nintendo Parental Controls en Gladys
- En Gladys, abre Integraciones: Nintendo Parental Controls 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-nintendo-parental: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-nintendo-parental.
Nintendo Parental Controls 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
Nintendo Parental Controls 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