Home Assistant custom integration for NVIDIA Shield TV that composes the Android TV Remote, Jellyfin, smart plug, and receiver entities into a single unified media player with ADB-based now-playing from any app. Part of the Media Zone ecosystem. Entities: - media_player: power (with smart plug fallback), transport, input, volume routed to receiver, rich stream info overlay when Jellyfin is active - sensor: DAG attributes and stream info - button: Pair ADB Config: - Two-step flow: basic setup + optional ADB pairing on the Shield - Configurable ADB port (default 5555) - Pick an existing Jellyfin media_player entity — stream info is read from the HA Jellyfin integration's own DataUpdateCoordinator, so no server URL / API key / extra config needed here - Privacy mode (adb_store_app_info=False) suppresses non-Jellyfin media details, showing only the app name Ecosystem: - Exposes media_dag_* attributes for ha-media-zone orchestration - Exposes media_dag_running_apps and async_bring_to_foreground for the Media Zone card's app switcher Shared ADB code lives in ltomes/ha-adb-common and is vendored at custom_components/nvidia_shield/ha_adb_common/ for HACS installs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
73 lines
3.6 KiB
JSON
73 lines
3.6 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "NVIDIA Shield",
|
|
"description": "Set up your NVIDIA Shield. Link the Android TV remote, Jellyfin, receiver, and power monitoring.",
|
|
"data": {
|
|
"name": "Device Name",
|
|
"androidtv_entity": "Android TV Remote",
|
|
"jellyfin_entity": "Jellyfin Media Player",
|
|
"receiver_entity": "Receiver",
|
|
"receiver_input": "Receiver Input",
|
|
"power_entity": "Power Switch",
|
|
"adb_enabled": "Enable ADB Media Session",
|
|
"adb_store_app_info": "Show App Media Info",
|
|
"adb_host": "ADB Host",
|
|
"adb_port": "ADB Port"
|
|
},
|
|
"data_description": {
|
|
"androidtv_entity": "The media_player entity from the Android TV Remote integration.",
|
|
"jellyfin_entity": "The Jellyfin media_player for this device. Leave blank to auto-detect.",
|
|
"receiver_entity": "The receiver this device is connected to.",
|
|
"receiver_input": "Which input on the receiver (e.g. 'Shield').",
|
|
"power_entity": "Smart plug switch for reliable on/off detection.",
|
|
"adb_enabled": "Use ADB to read what's playing from any app (NewPipe, Spotify, etc.). Requires ADB debugging enabled on the Shield.",
|
|
"adb_store_app_info": "Show title and artist from non-Jellyfin apps. Disable to only show the app name (privacy mode).",
|
|
"adb_host": "Override the ADB host IP. Leave blank to auto-detect from the Android TV entity.",
|
|
"adb_port": "ADB port number. Default is 5555."
|
|
}
|
|
},
|
|
"adb_pair": {
|
|
"title": "Pair ADB",
|
|
"description": "On the Shield, go to Settings > Developer options and enable Network debugging. Then click Submit. You will see a prompt on the Shield to allow the connection -- approve it. If the connection fails, click Submit to try again."
|
|
}
|
|
},
|
|
"error": {
|
|
"adb_failed": "Could not connect via ADB. Make sure Network debugging is enabled on the Shield and you approved the connection prompt. Click Submit to try again.",
|
|
"adb_no_host": "Could not determine the Shield's IP address. Set the ADB Host field on the previous step."
|
|
},
|
|
"abort": {
|
|
"already_configured": "This Shield entity is already configured."
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "NVIDIA Shield Settings",
|
|
"description": "Configure linked devices and monitoring.",
|
|
"data": {
|
|
"jellyfin_entity": "Jellyfin Media Player",
|
|
"receiver_entity": "Receiver",
|
|
"receiver_input": "Receiver Input",
|
|
"power_entity": "Power Switch",
|
|
"adb_enabled": "Enable ADB Media Session",
|
|
"adb_store_app_info": "Show App Media Info",
|
|
"adb_host": "ADB Host",
|
|
"adb_port": "ADB Port"
|
|
},
|
|
"data_description": {
|
|
"jellyfin_entity": "The Jellyfin media_player for this device. Session stream info is read from the HA Jellyfin integration's existing coordinator — no extra config needed.",
|
|
"receiver_entity": "The receiver this device is connected to.",
|
|
"receiver_input": "Which input on the receiver.",
|
|
"power_entity": "Smart plug switch for reliable on/off detection.",
|
|
"adb_enabled": "Use ADB to read now-playing from any app. Requires ADB debugging on the Shield.",
|
|
"adb_store_app_info": "Show title and artist from non-Jellyfin apps. Disable for privacy.",
|
|
"adb_host": "IP address for ADB connection. Leave blank to auto-detect from the Android TV Remote integration.",
|
|
"adb_port": "ADB port (default 5555)."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|