BGPVR Operator guide
Operator guide

EPG Manager

The guide-data control panel, in six tabs: Overview (is the guide healthy and what needs you), Channels (every channel's real guide state), Sources (every source and its runs), Time-shift (+1 / +2 channels that follow their base channel), Grabbers & Store, and New channels. Times are shown in your time zone.

On this page
  1. Read the Overview (2.9.400)
  2. Add an EPG source of any type
  3. Read and run a source (2.9.400)
  4. Remove copies and dead sources (2.9.400)
  5. Give a channel a guide
  6. Suggest guides for many channels
  7. Time-shift channels (2.9.400)
  8. New channels on a source (2.9.400)
  9. Add a grabber
  10. Update, remove and paused grabbers in the Store (2.9.399)
  11. Run an over-the-air scan
  12. Via fallback (2.9.403)
  13. Watch out
EPG Manager in the console: the Overview tab with the channels that have a guide, the one without, and the list of guide sources (demo data)

Read the Overview (2.9.400)

The first tab says in one line how many channels have a guide for the next 24 hours and how many problems need you. Four tiles: channels with a guide, without a guide, guide ends in under 24 hours, programmes. "Needs you" lists each problem in plain words with one button: a source whose last run failed, a source whose times look about an hour off or whose days repeat, sources added twice, sources with no programmes for 3 days or more, channels without a guide, channels that look like time-shift copies. A notice says when a source lists new channels.

Add an EPG source of any type

Header → "Add Source". Source type is "XMLTV link", "Grabber (a script on this server)" (asks for the script path) or "Over the air (DVB EIT from the tuners)" (asks for the seconds per frequency, default 30). Set "Priority (higher wins)" and "Refresh every (hours)", then save. XMLTV and grabber sources import at once; an over-the-air source needs a scan. The same grabber with the same arguments, or the same link, cannot be added twice: the message names the source that already has it.

Read and run a source (2.9.400)

Sources tab: sources that need you come first, then "Running fine"; switched-off sources fold under "Switched off". Each card shows the last run and the last good run (scheduled runs are recorded too since 2.9.400), channels, programmes, days ahead, priority, the refresh interval and the state in words with its reason. "Run now" refreshes one source; "Last runs" lists its last 10 runs with what happened (channels, programmes, new and gone channels, warnings, or the error). A "+N new" chip opens the New channels tab.

Remove copies and dead sources (2.9.400)

A source that repeats another one (the same grabber with the same arguments, or the same link) is marked "Copy" with "Merge into #N": it removes the copy and its programmes, and the original keeps every channel's guide. A source with no programmes for 3 days or more offers "Remove". Both ask in the page first. Deleting a source also removes its programmes and channel names.

Give a channel a guide

Channels tab: search a channel or a guide id; the chips show All, No guide, Ends < 24 h and Time-shift. Each row shows the source, what is on now, days ahead and the state. "Change guide" opens the list of guide ids (with programme counts) or takes a typed id; for a +1 / +2 channel, "Follow another channel, shifted…" opens the time-shift dialog instead.

Suggest guides for many channels

Channels tab → "Suggest guides": pick how strict the match is (High 90% / Standard 80% / Loose 60%) → "Run Auto-Map" (✓ applies a row and remembers it, × drops it, "Apply All" applies the rest). "Preview Coverage" suggests ids for channels with no guide from now on ("Apply N exact", or one close match at a time after a confirmation). "Fix EIT" does the same for over-the-air ids with no programmes. "Discover Online" searches public XMLTV lists and offers to add the useful ones.

Time-shift channels (2.9.400)

A +1, +2 or +12 h channel can follow its base channel: Time-shift tab → "Add a shifted guide", pick the channel, the base channel and the shift (whole hours, 1 to 48). After every refresh the built-in Time-shift source copies the base channel's programmes that many hours later as real programmes, so apps, Kodi, MAG boxes and the XMLTV feed all show them. "Channels that look like time-shift copies" lists channels named "+1", "+2 HD" and so on (never "1+1" or a bare "24") with their base channel, or with a real +1 guide that a source already loads; "Apply" takes one, "Apply all" takes every one after a confirmation. The old "Bulgaria EPG with time-shifts" grabber is retired by itself.

New channels on a source (2.9.400)

The suite remembers each source's channel list. New channels tab: what each source listed for the first time in the last 14 days, each with a channel of yours that has the same name and no guide; "Use for #N name" gives it that guide, "Use the N matches" all of them. The bell at the top announces new channels, one notice per source. A channel that drops out of one run keeps its place for 14 days, so it is not "new" again when it comes back.

Add a grabber

Grabbers & Store tab: the Grabber Store first, then the built-in and system grabbers found on this server (the script path is under "Script"). "Add" registers one as a source (priority 10, every 12 hours) and turns into "Added" once a source uses it.

Update, remove and paused grabbers in the Store (2.9.399)

Update: when a newer version is out, the row shows "Update to vX". Only the grabber file changes (checked against BGPVR's checksum); the sources that use it keep running and keep their channel mappings. A grabber with no version stamp shows "Reinstall latest". One-off buyers get every update too. Uninstall asks first: "Keep the sources" (the default; they stay on but stop updating) or "Switch them off". Unavailable: BGPVR has paused sales of this grabber; if you already own it you can still install and update it. Switched off by BGPVR: BGPVR has switched this grabber off; its sources pause by themselves and come back on when it is switched on again (sources you switched off yourself stay off). The EPG Pack row reads "every Store grabber, new ones too, monthly"; its (i) explains one-off against the Pack.

Run an over-the-air scan

Sources tab: an over-the-air source has "Scan now" instead of "Run now"; the scan runs in the background, one frequency at a time, and the card updates when it ends.

Via fallback (2.9.403)

A channel whose main guide id has nothing now takes its guide from the first of its fallback ids that has, in the TV Guide, the apps, MAG, Kodi, the XMLTV export and recordings. Channels shows it with "Via fallback" and the id it reads. It is worked out again after every refresh and when you change a channel's guide ids; as soon as the main id has data again, it wins.

Watch out

  • Priority: a HIGHER number wins (the dialog says "Priority (higher wins)" since 2.9.399). Set 100, not 1, for the source you want to win.
  • When both an OTA and an XMLTV source have current data for a channel, OTA wins regardless of the priority numbers: the effective-EPG view ranks type='ota' above priority. Priority only breaks ties between sources of the same kind.
  • "Apply All" pairs table rows with the result list by position. If you have already rejected (×) or applied (✓) individual rows, the remaining rows are off by one or more and mappings get written to the wrong channels. Re-run "Run Auto-Map" before using Apply All.
  • The background engine wakes every 5 minutes, refreshes every source past its interval and writes one line in the run history for each run (kept 90 days). After a pass that imported something it copies the time-shift guides and auto-applies every match of 90% or more to channels that have no guide id at all.
  • Every run is checked: channel count fell more than 30 %, guide shorter than usual, the same day repeated on many channels, times about an hour off against another source of the same channels. A source with a finding shows as "Suspicious" with the reason; nothing changes by itself.
  • A shifted guide needs the base channel's guide: when the base has none, the shifted channel has none either (the Time-shift tab says "No programmes: the base channel has no guide").
  • An OTA scan takes a tuner per mux for the dwell time, serially, and returns "No free local tuners available" if every tuner is busy. Scans are registered as preemptible: a live viewer needing a tuner stops the scan (status "preempted").
  • A grabber source runs its script inside the backend container with a 600-second timeout; a path that exists on the host but not in the container silently produces empty output, which shows up as an empty/stale source in Health.
  • EPG grabbers are Pro and up. Below Pro the Grabbers tab is hidden and adding a source of type grabber is refused with 403 ("This feature requires a Pro or Enterprise license."); your own XMLTV URLs and OTA sources work on every plan.
  • Only the per-row ✓ in Suggest guides and the Change guide dialog are remembered for future matching. Anything applied with "Apply All" is not, and the next auto-map can overwrite it.
  • A staff login sees source links with the account hidden (user:password and the query string); the full link is only in an admin's Edit dialog.