LeviandClaude Opus 4.7 0598eac446 CI: auto-release on manifest version bump; validate on PR/push
Adds .github/workflows/release.yml (for HA integrations, watches
custom_components/<domain>/manifest.json; for ha-adb-common, watches
pyproject.toml). When the version field changes on main, the workflow
creates a matching v<version> tag and a GitHub Release with
auto-generated notes — as long as the tag doesn't already exist.

For the four HA integrations, also adds validate.yml running HACS's
official validator and Home Assistant's hassfest against every PR,
push to main, and nightly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 18:18:44 -05:00
2026-04-17 17:04:30 -05:00
2026-04-17 17:04:30 -05:00
2026-04-17 17:04:30 -05:00

NVIDIA Shield

hacs License: MIT

Enhanced NVIDIA Shield TV integration for Home Assistant. ADB-based media session tracking, Jellyfin rich metadata, power monitoring, and receiver coordination.

Status: Early access (0.1.x). Tested on the author's own setup; expect rough edges and occasional breaking changes until 1.0. Please file issues on GitHub if anything is broken.

graph TD
    subgraph "NVIDIA Shield Integration"
        ADB["ADB Media Session"] -->|now playing| Entity["media_player.nvidia_shield"]
        JF["Jellyfin"] -->|rich metadata| Entity
        ATV["Android TV Remote"] -->|power / commands| Entity
        PWR["Smart Plug"] -->|power state| Entity
    end

    Entity -->|"media_dag_*"| MZ["Media Zone"]

    style Entity fill:#76b900,color:#fff
    style MZ fill:#1a73e8,color:#fff
    style ADB fill:#444,color:#fff
    style JF fill:#00a4dc,color:#fff
    style ATV fill:#444,color:#fff
    style PWR fill:#444,color:#fff

Features

  • ADB Media Session -- Now-playing from any app (PipePipe, Spotify, VLC, Plex, etc.), not just Jellyfin
  • Jellyfin Rich Metadata -- Title, series, season/episode, duration, position, stream details (resolution, codec, HDR, audio format)
  • Power Monitoring -- Smart plug for reliable on/off detection with auto-discovered sibling sensors (watts, voltage, current)
  • Receiver Coordination -- Links to a receiver entity and input name
  • Intent Tracking -- Commands reflect in HA state immediately, self-heal against actual device state
  • Privacy Mode -- Show only app name without media details for non-Jellyfin apps
  • Controlled ADB Pairing -- Dedicated pairing step in config flow + re-pair button entity
  • Media DAG Attributes -- Full signal chain data for Media Zone orchestration

Installation

  1. In HACS, open the overflow menu (⋮) → Custom repositories.
  2. Paste https://github.com/ltomes/ha-nvidia-shield, pick type Integration, click Add.
  3. Find NVIDIA Shield in the HACS list and click Download.
  4. Restart Home Assistant.
  5. Go to Settings → Devices & Services → Add Integration, search for NVIDIA Shield, and set up the integration (see Configuration).

Manual

Copy custom_components/nvidia_shield to your HA config/custom_components/ directory, restart, then add the integration from Settings → Devices & Services.

Configuration

  1. Settings > Devices & Services > Add Integration > "NVIDIA Shield"
  2. Select the Android TV Remote entity for your Shield
  3. Enable ADB if you want now-playing from all apps
  4. If ADB is enabled, the next step will pair -- approve the prompt on the Shield
  5. Optionally configure Jellyfin, receiver, power switch

ADB Pairing

ADB is paired during setup via a dedicated config flow step. If you need to re-pair later (e.g., after factory reset), use the "Pair ADB" button on the device page in HA.

Requirements: Settings > Developer options > Network debugging enabled on the Shield.

Options

  • Jellyfin Media Player -- Auto-detected or manually selected
  • Receiver + Input -- For Media Zone coordination
  • Power Switch -- Smart plug entity
  • ADB Host/Port -- Override auto-detection if needed

Entities

Entity Type Description
Media Player media_player Main entity with playback controls and metadata
Current App sensor Currently running app
Now Playing sensor Formatted now-playing string
Pair ADB button Initiate or re-pair ADB connection

Development

Shared ADB helpers live in ha-adb-common and are also used by ha-hisense-tv. For HACS installs, a copy is vendored at custom_components/nvidia_shield/ha_adb_common/ so end users need nothing extra. We plan to publish ha-adb-common to PyPI so it can be declared as a normal manifest.json requirement; until then, the vendored copy is the source consumed at runtime.

To hack on the shared code locally, clone ha-adb-common as a sibling directory and run uv sync --extra dev — the [tool.uv.sources] section in pyproject.toml wires it up editable.

Part of the Media Zone Ecosystem

This integration works standalone, but pairs with ha-media-zone to create a unified zone controller:

License

MIT

S
Description
Home Assistant integration for NVIDIA Shield TV: ADB media session tracking, Jellyfin stream metadata, smart-plug power monitoring
Readme MIT
1.2 MiB
0 Stars 2 Watchers 0 Forks
v2026.10.12.2
Latest
2026-10-12 14:29:02 +01:00
Languages
Python 99.6%
Shell 0.4%