Nintendo Switch Home Assistant Integration

Hi all! I am really new in Home Assistant and at the moment I am just tinkering and taking notes for a future full implementation.

I am currently obtaining all information available to connect my devices to HA and I am currently searching online for a Nintendo Switch integration, just like PlayStation 4.

I have found this searching online.

I have very limited programming knowledge, at least to build an integration.

This is why I am asking to the HA community if anyojne is capable of building this. I offer my help in Spanish translations, testing, …

Thank you for reading.

P.S. Let me add also this link for anyone interested.

8 Likes

@alessbarb : any progress on this?

2 Likes

reviving the thread

Would love a Nintendo parental control command to suspend the Nintendo switch play.

1 Like

I do ping to the switch to monitor play time and speak that out load every half hour.
This is not 100% right (see Filter ping on 30 seconds active time - Configuration - Home Assistant Community (home-assistant.io))
So some minor error, but monitoring play time works good enough. Of course an integration with more options would be better.

2 Likes

is it possible to control daily play time limit from homeassistant? That would be dope :slight_smile:

1 Like

That indeed would be nice, I’m not aware of any control from HA. The links in the first post share some information, I am not able to deep dive into that

For your info: My Nintendo Switch stopped responding to ping commands :frowning:

Ok, so it’s not a me issue. I had just started to setup a ping to the Switch this weekend, and it worked the first session (Jan 30th), and then never again.
I figured maybe it just stayed “offline” while we were playing since it wasn’t an online game.
But now even going to the News or eShop, it’s not responding to ping…
FW update? I’m on 15.0.1

I guess so, my son is the user of the switch, do not know when he updates. 15.0.1 (as we are also running) seems to be out for some months already…
A nice integration supported by nintendo API would be nice :slight_smile:

Just FYI, the switch started responding to pings again on Feb 24th, and I just checked and it is on FW 16.0. So that was a temp bug in the 15.0.1 FW.
But still… Only ping monitoring, nothing else.

Same result here

My use case is that I want to prevent my little boy from playing in the weekend.
I’m using a somewhat similar method. I have a TP-Link Deco HACS integration through which I detect (online/offline) status.
It never failed me.
Would love to know everyone’s experience / alternative methods.

If ping integration fails again, try NMAP instead. I’m pretty sure it continued working when ping didn’t.

Put it on a smart plug, tell him you integrated it into haas, and then program the smart plug not to turn on on the weekends. The liklihood that they will check the electrical socket after you have told them you integrated it, is probably minimal, no?

It has a battery so it can be played while not plugged into power though. Otherwise not a bad idea.

1 Like

Here you go :slight_smile:

This is pretty stable at the moment (as far as I’m aware) and will poll the same API that the Switch Parental Controls app uses.

2 Likes

Thanks, working great and stable !

I’m not familiar with using Attributes from sensor. Would you mind sharing how you define your card for used_screen_time ?

I don’t actually use the attributes personally, just added them in because, why not lol.

:grinning:

I came up with something that give some results, I will keep investigating and learning to come up with something better.

type: custom:flex-table-card
entities:
  include:
    - sensor.used_screen_time
columns:
  - data: daily.0.playedApps.0.imageUri.small
    name: ''
    modify: '''<img src="'' + x + ''"width="100" height="100">'''
  - data: daily.0.playedApps.0.title
    name: Name
  - data: daily.0.devicePlayers.0.imageUri
    name: ''
    modify: '''<img src="'' + x + ''"width="100" height="100">'''
  - data: daily.0.devicePlayers.0.nickname
    name: Player
  - data: daily.0.devicePlayers.0.playingTime
    name: TimePlayed
1 Like