Skip to content

pantherale0/ha-nintendoparentalcontrols

Repository files navigation

Nintendo Switch Parental Controls

GitHub Release GitHub Activity License

hacs

Integration to integrate with ha-nintendoparentalcontrols.

This integration will set up the following platforms.

Platform Description
sensor Read only states (such as current screen time)
switch Per app and device controls
time Control limit time and bonus time for current day

Supported features

  • Sensor for used screen time
  • Screen time sensor displays last 5 days of usage, including applications used and players.
  • Switch to enable/disable the "Suspend Software" mode once the screentime limit has been reached.
  • Switch to enable and disable alarms for the current day, Nintendo resets this back at midnight.
  • Time platform to adjust the total amount of time allowed to play in the day, setting this to 0:00 and turning on "Suspend Software Limit" will effectively disable the device unless you enter the parental controls pin
  • Optional switches to control the whitelist state of applications, this needs to be configured from the options menu.

Installation

  1. Add repository URL into HACS and install "Nintendo Switch Parental Controls"
  2. Restart Home Assistant
  3. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Nintendo Switch Parental Controls
  4. You will be prompted for an access token, click the link provided in the description of the dialog (this is unique) and login to your Nintendo account.
  5. After login, you will see a Linking an External Account screen. For the account you wish to link, right click on the red button Select this person and click Copy Link
  6. #Optional# - If you inspect the link you should find the following format npf54789befxxxxxxxx://auth#session_token_code={redacted}&state={redacted}&session_state={redacted}
  7. Close the Nintendo Account tab
  8. Paste the previously copied value into the Access token field (the entire string you copied)
  9. Click Submit
  10. The configuration flow should then show some additional options, don't adjust the first box as this is the refresh token that will be used to refresh the access tokens in the background and is retrieved from Nintndo using the token you previously provided.
  11. Click Submit

Configuration is done in the UI

You can configure applications to register entites for within the "CONFIGURE" menu after setting up the integration for the first time.

Enabling debugging will produce a lot of log entiries.

Known issues

  • New Nintendo Switch devices (or ones recently enrolled in Nintendo Parental Controls) don't usually provide enough data for the integration to function properly. If you see different errors and warnings such as Unable to update daily summary for device Switch 1: A summary for the given date 2024-01-01 20:00:00 does not exist this will resolve itself if left for a period of time once Nintendo has started to collect data from your Switch. See #55
  • Duplicate application names in configuration menu - this is purely cosemtic, the underlying IDs are identical between different consoles.

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines