To enable control of the NVIDIA Shield in Home Assistant, we’ll be using the Android TV integration.
The first step you’ll need to do is to enable ADB debugging on your NVIDIA Shield. ADB stands for “Android Debug Bridge” and it will essentially allow Home Assistant to communicate with your NVIDIA Shield to get data about its current status. It will talk to the NVIDIA Shield over your network connection, so no need to have a USB cable or something like that between the Shield and Home Assistant.
For the NVIDIA Shield, you can enable ADB debugging by:
Great! Now ADB Debugging should be enabled on your device and you’re ready to add the new entity to Home Assistant.
Looking back at the Andorid TV integration docs in Home Assistant, essentially all you need is the IP address and a name for the media player.
After adding your Shield to your configuration, restart Home Assistant. Stay close to your TV though, because you’ll probably get a pop up like this one wanting you to confirm it’s okay for Home Assistant to connect.
After confirming network debugging is okay, a new Home Assistant entity should exist with the name given in your configuration. You can add it to your Lovelace UI which allows you to see the current status, choose a media source, control audio level, start, play, pause, etc…
After playing around with your new integration, you might notice that certain apps don’t render their app name correctly in Home Assistant. You might see them listed as "com.company.mygreatapp"
instead of a more readable app name. Home Assistant knows how to convert some of these names for popular apps, but if you need to get it to work with an unsupported app there are a couple of steps.
I was having this problem with TinyCam, a simple app that shows RTSP feeds for checking your security cameras on your Shield.
To get Home Assistant to recognize the app name, you can provide a mapping between the “com” name and the more readable name. You can see below I’m mapping "com.alexvas.dvr.pro"
to “TinyCam Pro”.