Is there an existing issue for this?
Current Behavior
When using a Kodi client (HTSP) to watch live channels, Tvheadend correctly logs an unsubscribe event at the subscription layer. However, the tvhdhomerun module fails to issue a corresponding tuner release command to the HDHomeRun hardware.
Although the physical tuner LED continues blinking indefinitely, the tuner still functions correctly for subsequent requests. I am not sure which release this started happening in, as I only recently noticed the LEDs remaining active after watching or recording live TV.
Expected Behavior
Tvheadend should issue a tuner release command to the HDHomeRun device immediately after the last subscription unsubscribes. Following this command, the HDHomeRun LED should stop blinking, indicating the tuner is idle. For context, I have observed this correct behavior when using the Plex client, which successfully releases the tuner and causes the HDHomeRun LEDs to stop blinking once the stream ends.
Steps To Reproduce
- Open a live channel in Kodi via HTSP
- Watch for a few seconds
- Stop playback in Kodi
- Observe HDHomeRun device LED — continues blinking indefinitely
- Check TVH logs — no tvhdhomerun release/stop event appears
Environment
TVH version: 4.3-2695~g30a549ed5 (Docker, linuxserver image)
Host OS: Debian 12 (LXC container on Proxmox)
Docker installation: [e.g., Docker Engine via official apt repo / Docker Compose]
Network mode: Host
Tuner: HDHomeRun (ATSC-T OTA)
HTSP client: Kodi Media Center (HTSPv35)
CPU architecture
x86-64
Docker creation
Docker Engine (via official apt repository)
Container logs
2026-07-01 10:33:31.479 [INFO] htsp: Got connection from 192.168.1.72
2026-07-01 10:33:31.491 [INFO] htsp: 192.168.1.72: Welcomed client software: Kodi Media Center (HTSPv35)
2026-07-01 10:33:31.495 [INFO] htsp: 192.168.1.72 [ Kodi Media Center ]: Identified as user ''
2026-07-01 10:33:43.426 [INFO] mpegts: 599.028MHz in HDHomeRun - tuning on HDHomeRun ATSC-T Tuner #0 (192.168.1.119)
2026-07-01 10:33:43.426 [INFO] tvhdhomerun: tuning to auto6t:599028615
2026-07-01 10:33:43.552 [INFO] subscription: 000A: "Kodi" subscribing on channel "WNBC", weight: 100, adapter: "HDHomeRun ATSC-T Tuner #0", mux: "599.028MHz", profile="htsp"
2026-07-01 10:33:43.554 [INFO] subscription: 000B: "Kodi" subscribing on channel "COZI-TV", weight: 40, adapter: "HDHomeRun ATSC-T Tuner #0", mux: "599.028MHz", profile="htsp"
2026-07-01 10:33:56.018 [INFO] subscription: 000B: "Kodi" unsubscribing from "COZI-TV"
2026-07-01 10:34:05.503 [INFO] subscription: 000A: "Kodi" unsubscribing from "WNBC"
2026-07-01 10:34:05.508 [INFO] htsp: 192.168.1.72 [ Kodi Media Center ]: Disconnected
*** NOTE: No tvhdhomerun stop/release event follows. ***
*** Tuner continues streaming. HDHomeRun LED keeps blinking. ***
Additional Notes
- Tested on both LXC and VM deployments — same result in both cases.
- Plex (HTTP/M3U interface to TVH) releases the tuner cleanly every time.
- Kodi sends two subscriptions on connect (main channel weight 100 +
background mux prefetch weight 40). Both unsubscribe cleanly but
neither triggers a tvhdhomerun release.
- Tuner is not functionally locked — new clients can grab it normally.
The symptom is purely the tuner continuing to stream after all
subscribers have disconnected.
- Similar reports seen on tvheadend.org forums starting ~Dec 2023
around version 4.3-2187.
Is there an existing issue for this?
Current Behavior
When using a Kodi client (HTSP) to watch live channels, Tvheadend correctly logs an unsubscribe event at the subscription layer. However, the tvhdhomerun module fails to issue a corresponding tuner release command to the HDHomeRun hardware.
Although the physical tuner LED continues blinking indefinitely, the tuner still functions correctly for subsequent requests. I am not sure which release this started happening in, as I only recently noticed the LEDs remaining active after watching or recording live TV.
Expected Behavior
Tvheadend should issue a tuner release command to the HDHomeRun device immediately after the last subscription unsubscribes. Following this command, the HDHomeRun LED should stop blinking, indicating the tuner is idle. For context, I have observed this correct behavior when using the Plex client, which successfully releases the tuner and causes the HDHomeRun LEDs to stop blinking once the stream ends.
Steps To Reproduce
Environment
CPU architecture
x86-64
Docker creation
Container logs