Zum Hauptinhalt springen

Nintendo Parental Controls Smart-Home-Integration, kostenlos und Open Source

Nintendo Parental Controls-Integration für Gladys Assistant

Spielzeit der Nintendo Switch: Tageslimit, Bonuszeit, aktuelles Spiel, Hinweise und Tasten.

Überblick​

Diese Integration bringt die Jugendschutzeinstellungen der Nintendo Switch nach Gladys, wie die Smartphone-App „Nintendo Switch-Jugendschutzeinstellungen“: für jede mit deinem Nintendo-Konto verknüpfte Konsole die Spielzeit von heute, das Tageslimit, die verbleibende Zeit, die Bonuszeit, das aktuelle oder letzte Spiel, ob gerade jemand spielt, und was beim Limit passiert (nur ein Alarm oder die Software wird unterbrochen).

Die Integration handelt auch wie die App: das Tageslimit ändern, Bonuszeit für heute hinzufügen, die Software beim Limit unterbrechen. Szenen-Auslöser lassen Gladys reagieren, wenn ein Kind zu spielen beginnt, wenn das Limit bald erreicht oder überschritten ist, und ein Dashboard-Widget zeigt die Konsolen mit den Tasten „+15 Min.“ und „Unterbrechen“.

Unterstützt werden die Nintendo Switch, die Nintendo Switch Lite, die Nintendo Switch OLED und die Nintendo Switch 2, über die Server von Nintendo (die Konsole braucht Internetzugang). Verwendet wird dieselbe private API wie die App, dokumentiert von der Bibliothek pynintendoparental, die Home Assistant verwendet. Diese Integration ist nicht mit Nintendo verbunden: Nintendo Switch ist eine Marke von Nintendo.

Ohne die Hardware entwickelt: weder Konsole noch Nintendo-Konto waren zur Hand, alles wurde auf echten Antworten aufgebaut, die mit pynintendoparental veröffentlicht sind. Rückmeldungen willkommen, im Forum oder in den GitHub-Issues.

Voraussetzungen​

  • Gladys Assistant 5.1.0 oder neuer.
  • Ein Nintendo-Konto (das der Eltern), mit der oder den Konsolen bereits in der App Nintendo Switch-Jugendschutzeinstellungen gekoppelt (einrichten).
  • Der Browser eines Computers für die Anmeldung (der zu kopierende Link ist dort leichter zu bekommen als auf einem Telefon).

Konfiguration​

In Gladys Integrationen, Nintendo Parental Controls, Konfiguration:

  1. Klicke neben „Nintendo-Konto“ auf Verbinden: die Anmeldeseite von Nintendo öffnet sich in einem neuen Tab.
  2. Melde dich mit dem Elternkonto der Jugendschutz-App an. Dein Passwort tippst du nur auf nintendo.com, es geht nie über Gladys.
  3. Nintendo zeigt das Konto und einen roten Knopf Diese Person auswählen. Klicke nicht darauf: klicke mit der rechten Maustaste darauf und wähle Linkadresse kopieren (auf einem Telefon: lange drücken, Link kopieren). Der Link beginnt mit npf54789befb391a838://auth#.
  4. Füge ihn in Link von „Diese Person auswählen“ ein und speichere. Das Abzeichen wechselt in wenigen Sekunden auf verbunden. Der Link gilt nur einmal und nur wenige Minuten: wird er abgelehnt, klicke erneut auf Verbinden und füge den neuen Link zügig ein.
FeldInhalt
Nintendo-KontoDie Taste Verbinden.
Link von „Diese Person auswählen“Der kopierte Link. Wird einmal benutzt: danach behält die Integration ihre eigene Nintendo-Sitzung in ihrem Datenvolume, nie in den Protokollen.
Aktualisierungsintervall1, 2 oder 5 Minuten (standardmäßig 1 Minute).
Sprache der FunktionsnamenEnglisch, Französisch (Standard), Deutsch oder Spanisch: die Namen der Funktionen, die Liste der Limits und die Texte an die Szenen.

Öffne danach den Tab Erkennung und füge die gewünschten Konsolen als Geräte hinzu.

Geräte​

Ein Gerät pro Konsole, benannt nach ihrem Namen in der App und ihrem Modell, zum Beispiel „Wohnzimmer (Nintendo Switch 2)“.

FunktionTypInhalt
Spielzeit heuteDauer (Minuten)Gesamte Spielzeit der Konsole heute, alle Spieler zusammen.
Verbleibende ZeitDauer (Minuten)Was das Limit plus Bonus übrig lässt, oder die Zeit bis zum Schlafenszeit-Alarm, wenn er früher kommt. Ohne Limit und Schlafenszeit: die Zeit bis Mitternacht, wie in der App.
TageslimitListe (Befehl)„Kein Limit“ oder 15 Minuten bis 6 Stunden in 15-Minuten-Schritten, die Auswahl der App. Im Modus „jeden Tag gleich“ ändert es sich für alle Tage; im Modus „pro Tag“ nur für diesen Wochentag, wie in der App.
Bonuszeit heuteDauer (Minuten)Heute gewährte Zusatzzeit, sonst 0. „Heute kein Limit“ erscheint als 1440.
Aktuelles oder letztes SpielTextDas Spiel, dessen Spielzeit zuletzt gestiegen ist, oder das zuletzt gespielte Spiel.
SpieltBinär1, solange die Spielzeit steigt. Siehe „Grenzen“: mit einigen Minuten Verspätung bekannt.
OnlineBinär1, wenn die Konsole in den letzten 20 Minuten Spieldaten gesendet hat oder gerade spielt.
Software beim Limit unterbrechenSchalter (Befehl)Ein: die Software wird beim Erreichen des Limits unterbrochen. Aus: nur ein Alarm.

Die zwei Befehle sind Elterneinstellungen, wie in der App: sie geben nie etwas frei, das Eltern nicht gewählt haben. Jeder Gladys-Benutzer, der Geräte steuern darf (oder ein mit Gladys verbundener Sprachassistent), kann sie benutzen: halte die Konsolen bei Bedarf aus den Räumen heraus, die du mit den Kindern teilst.

Widget​

Das Widget Nintendo Switch zeigt für die in seinen Einstellungen gewählte Konsole (oder die einzige des Kontos): die Spielzeit, die verbleibende Zeit und das Limit, das aktuelle oder letzte Spiel, den Modus beim Limit und drei Tasten, jede mit einer Bestätigung:

  • +15 Min.: 15 Minuten Bonus für heute;
  • Nur Alarm und Unterbrechen: was beim Limit passiert, der aktuelle Modus mit einem Haken markiert.

Sobald für den Tag ein Bonus gewährt ist, lehnt Nintendo jede Änderung des Modus oder des Limits bis zum nächsten Tag ab: das Widget sagt das anstelle der Modus-Tasten. Ohne gewählte Konsole und mit mehreren Konsolen listet das Widget alle auf (Spielzeit / Limit), ohne Tasten.

Szenen-Auslöser​

Jeder lässt sich auf eine Konsole beschränken und gibt der Szene den Namen der Konsole und das Spiel weiter.

  • Beginnt zu spielen: die Spielzeit der Konsole steigt wieder (eine neue Sitzung nach einer Pause von mehr als 20 Minuten). Ein optionaler Filter behält ein Spiel (genauer Name, wie in der App). Mit einigen Minuten Verspätung bekannt (siehe „Grenzen“).
  • Limit bald erreicht: während gespielt wird, sinkt die verbleibende Zeit bis zum Limit oder zum Schlafenszeit-Alarm auf 30, 15, 10 oder 5 Minuten (im Auslöser gewählt). Einmal pro Unterschreiten; ein Bonus oder ein höheres Limit macht ihn wieder scharf.
  • Limit überschritten: die Spielzeit des Tages erreicht das Tageslimit plus die Bonuszeit. Einmal pro Tag, und erneut, wenn ein Bonus aufgebraucht ist.

Die erste Abfrage nach einem Start der Integration und der Beginn eines neuen Tages setzen nur den Bezugswert: kein Ereignis.

Szenen-Aktionen​

  • Bonuszeit hinzufügen: 5, 10, 15 oder 30 Minuten für heute, wie in der App. Gibt den Bonus des Tages und die verbleibende Zeit an die nächsten Schritte weiter. Nintendo lehnt sie nach der Schlafenszeit ab oder wenn der Tag nicht mehr verlängert werden kann: die Szenen-Aktion schlägt dann mit dem Grund fehl.
  • Tageslimit ändern: „Kein Limit“ oder 15 Minuten bis 6 Stunden, dorthin geschrieben, wo die App es schreibt (jeden Tag, oder diesen Wochentag im Modus pro Tag).

Sobald für den Tag ein Bonus gewährt ist, lehnt Nintendo ein neues Limit bis zum nächsten Tag ab: die Szenen-Aktion schlägt dann mit dem Grund fehl.

Konfigurations-Aktionen​

  • Verbindung prüfen: liest jetzt die Konsolen des Kontos und listet sie auf, oder sagt, was nicht stimmt.
  • Von Nintendo abmelden: löscht die Nintendo-Sitzung der Integration. Verbinde dich erneut, um sie zu benutzen.

Beispielszenen​

  • Vor dem Ende warnen: Auslöser „Limit bald erreicht“, 10 Minuten, die Konsole im Wohnzimmer → auf dem Lautsprecher im Wohnzimmer „Noch 10 Minuten Switch“ ansagen.
  • Das Limit ist vorbei: Auslöser „Limit überschritten“ → den Eltern eine Nachricht senden und „Software beim Limit unterbrechen“ für die nächsten Tage einschalten.
  • Erst die Hausaufgaben: Auslöser „Beginnt zu spielen“ an einem Wochentag vor 17 Uhr → den Eltern eine Benachrichtigung mit dem Spiel senden (Variablen console_name, game).
  • Belohnung: wenn in Gladys eine Aufgabe als erledigt markiert wird → Szenen-Aktion „Bonuszeit hinzufügen“, 15 Minuten.

Aktualisierung und Kontingente von Nintendo​

Die Integration fragt Nintendo selbst im gewählten Intervall ab (sie hängt nicht von der Abfrage durch Gladys ab): pro Konsole zwei Anfragen pro Aktualisierung (die Zusammenfassungen von heute und die Einstellungen), dazu die Liste der Konsolen alle 30 Minuten und etwa alle 10 Minuten ein neues Zugriffstoken. Mit einer Konsole und dem Standardintervall etwa 2 Anfragen pro Minute, das Tempo der Home-Assistant-Integration.

Nintendo veröffentlicht kein Kontingent für diese private API; antwortet sie „zu viele Anfragen“ (HTTP 429), pausiert die Integration 5 Minuten. Die Daten sind nie frischer als das, was die Konsole sendet: eine Konsole lädt ihre Spielzeit alle paar Minuten hoch, ein kürzeres Intervall bringt also keine frischeren Daten.

Die API ist die der offiziellen App, hier genauso benutzt, nur für dein eigenes Konto. Nintendo kann sie jederzeit ändern: verlangt sie eine neuere App-Version, sagt das die Konfigurationsseite und ein Update der Integration ist nötig.

Fehlerbehebung​

  • „Der eingefügte Text ist nicht der Link…“: kopiere die Linkadresse des roten Knopfs „Diese Person auswählen“, nicht die Adresse der Seite.
  • „Nintendo hat den Link abgelehnt“: der Link wurde schon benutzt oder ist zu alt (wenige Minuten). Klicke erneut auf Verbinden und füge den neuen Link zügig ein.
  • „Dieser Link stammt von einer anderen Anmeldung“: der Link wurde nach einem weiteren Klick auf Verbinden oder aus einem anderen Werkzeug kopiert. Klicke erneut auf Verbinden und benutze die neue Seite.
  • „Nintendo hat die Sitzung beendet“: das Passwort wurde geändert oder das Konto auf allen Geräten abgemeldet. Verbinde dich erneut.
  • „Mit diesem Nintendo-Konto ist keine Konsole verknüpft“: kopple die Konsole zuerst in der App Nintendo Switch-Jugendschutzeinstellungen.
  • Die Spielzeit bewegt sich nicht: die Konsole muss mit dem Internet verbunden sein; sie sendet ihre Spielzeit alle paar Minuten.
  • Protokolle: in Gladys auf der Seite der Integration, Protokolle. Setze die Variable LOG_LEVEL auf debug, um jede Aktualisierung zu sehen. Dort steht nie ein Token.

Grenzen​

  • Ohne die Hardware entwickelt: jede Antwort von Nintendo stammt aus den veröffentlichten Tests von pynintendoparental. Rückmeldungen willkommen.
  • Spielt, Beginnt zu spielen und das aktuelle Spiel werden aus der steigenden Spielzeit abgeleitet: Nintendo veröffentlicht keine Angabe „spielt gerade“. Alle drei sind mit einigen Minuten Verspätung bekannt, und ein Spiel, das weniger als eine Minute lief, erscheint vielleicht nicht.
  • Online bedeutet „hat in den letzten 20 Minuten Spieldaten gesendet“: Nintendo gibt keine Live-Anwesenheit der Konsole.
  • Der Schlafenszeit-Alarm und sein Ende, die Einstellungen pro Tag, die Inhaltsbeschränkungen, die PIN und die Monatsberichte sind nicht verfügbar: ändere sie in der App.
  • Sobald für den Tag ein Bonus gewährt ist, lehnt Nintendo jede Änderung des Limits oder des Modus bis zum nächsten Tag ab.
  • Ein Nintendo-Konto pro Integration.

Konfigurationseinstellungen​

Diese Einstellungen fragt Nintendo Parental Controls in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein Nintendo-Konto verbindensectionNeinKlicke auf Verbinden und melde dich mit dem Elternkonto der Jugendschutz-App an. Klicke dann mit der rechten Maustaste auf den roten Knopf „Diese Person auswählen“, kopiere die Linkadresse und füge sie unten ein. Dein Passwort geht nie über Gladys.
Nintendo-Kontoaccount_linkNeinÖffnet die Anmeldeseite von Nintendo.
Link von „Diese Person auswählen“secretNeinBeginnt mit npf54789befb391a838://auth. Wird einmal benutzt: danach behält die Integration ihre eigene Sitzung.
AktualisierungsintervallselectNeinWie oft Nintendo gefragt wird. Die Konsole selbst meldet sich alle paar Minuten.
Sprache der FunktionsnamenselectNeinGilt auch für die Spieltitel und die Texte an die Szenen.

So installierst du Nintendo Parental Controls in Gladys​

  1. Öffne in Gladys Integrationen: Nintendo Parental Controls erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-nintendo-parental:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-nintendo-parental.

Nintendo Parental Controls benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Nintendo Parental Controls ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂