| id | adr-0004-hdhr-guide-epg-merge | ||||
|---|---|---|---|---|---|
| type | reference | ||||
| status | accepted | ||||
| tags |
|
ADR 0002 defers catalog merge design. Operators still need a clear story for EPG: a physical SiliconDust tuner serves guide.xml over HTTP with programme data keyed by the device’s channel IDs.
IPTV Tunerr already builds /guide.xml from provider xmltv.php, external XMLTV (IPTV_TUNERR_XMLTV_URL), and placeholders.
-
Opt-in URL
Optional envIPTV_TUNERR_HDHR_GUIDE_URLpoints at a full http(s) URL of a deviceguide.xml(typicallyhttp://<hdhr-ip>/guide.xml). Empty = no hardware EPG fetch. -
Precedence
Per channeltvg-id(upstream XMLTV channel id), merge order is:- Provider programmes first (when provider EPG is enabled),
- External gap-fill (same rules as today),
- HDHR programmes that do not overlap in time with the union of provider+external windows for that
tvg-id.
When there is no provider or external data for a
tvg-id, HDHR-only programmes are used if present; otherwise the usual wide placeholder applies. -
Identity
Matching is only bytvg-idstring equality between the Tunerr catalog and the hardwareguide.xml<programme channel="…">attribute. Operators must align IDs (e.g. by importing HDHR lineup into the catalog or using consistenttvg-idrepair). No fuzzy cross-source matching in this layer. -
Failure behavior
If the HDHR URL fetch fails, the merge continues without hardware EPG (same pattern as external XMLTV fetch failure).
- Hybrid IPTV+OTA setups can layer OTA EPG for channels whose
tvg-idmatches the device guide, without replacing provider IPTV data where it exists. hdhr-scan -guide-xmlremains a diagnostic tool; runtime merge is controlled byIPTV_TUNERR_HDHR_GUIDE_URLonserve/run.