IPTVShub

Programme guides

Fix missing listings, incorrect station matches and programme times.

Devices and remote artwork from Strong 8K

Start here

Common questions

All questions →
How do I verify a schedule problem that occurs only at midnight?

Record the full date and zone on both clocks, then compare an overnight programme with a daytime control on the same feed.

Read more
Can a guide listing remain visible after a replay window expires?

Yes. The schedule and the replay are distinct records in the player. Try a recent programme on the same station and check the documented retention period for the account.

Read more
What do I do when two channels shift by different amounts after moving apps?

Compare each channel's source and ID individually. A global adjustment can correct one station and worsen the other when the two mappings differ.

Read more
Why does a replay open the programme that aired before it?

Compare the broadcaster's start time, the replay opening and a daytime control. A source timestamp, time zone or replay-window issue can place the opening in the previous slot.

Read more
What makes a good programme for testing two regional feeds?

Pick a local bulletin or another item that differs between the editions. A national broadcast at the same time in both places gives you less evidence.

Read more

The electronic programme guide handbook

A television guide answers two questions. It tells you what is scheduled on a particular feed and when that programme starts on the clock you are using. An empty grid, a wrong show and a start time one hour ahead are three different faults. Begin with the station you actually watch and its published schedule. Compare that schedule with what the player shows, then open the live picture. The three observations give you enough to choose a next step. A reset before that comparison can erase a useful working example.

Find the scope before changing the guide

Open the affected station from the ordinary channel list first. Check whether it plays, whether you recognize the regional service, and whether the guide row has an entry at all. Then inspect a neighbouring station from the same package and one station you regularly use. If you have several subscriptions or playlist groups in the same player, record the group as well as the on-screen channel name. One group can use a provider-supplied schedule while another uses a separately configured guide. A grid that looks like one collection may be drawing from several sources.

What you observe What to compare next
Every station in one connection is blank Confirm which guide source the connection uses and when its latest refresh completed.
One station has a blank row while its neighbours have listings Find the exact feed identifier and check for a programme row in the same file and time window.
The right station plays while its row names another city’s news Compare the mapped schedule ID with the intended affiliate and one distinctive local show.
The correct titles are shifted across several rows Check source offsets, player time zone and the date before touching any global shift.
The grid looks right but selecting yesterday’s show opens something else Record which replay path was selected, the original start time and the first identifiable scene.
Only a few hours are blank Check the source’s advertised time span and whether programme records actually cover those hours.

Write down the channel label exactly as it appears. A guide can shorten “Harbor Public North HD” to “Harbor Public” on a small screen. A provider can have two rows with the same visible name. The first label that comes up in search may be the one you rarely watch. Preserve the label, channel group, feed identifier if available, device time zone and date. Also note how you got there, whether it was the channel grid, a search result, a favourite or a home-screen shortcut. That is enough detail to repeat the first observation after a refresh. Find an affiliate in the feed directory · Match an XMLTV channel ID

If you manage a guide for someone else, ask for two screenshots of the same programme window before changing settings. One can show the grid and local clock. The other can show the relevant page of the broadcaster’s schedule with its region selected. Crop account details, full playlist addresses and diagnostic tokens. Ask the viewer what was actually on the screen when they selected that station. A photograph of two boxes with the same station logo tells you little about which schedule the player loaded.

Read the parts of an XMLTV file that matter

XMLTV is one way for a provider or listings service to describe channels and programmes. Some players receive guide data through their provider connection and never display a separate XMLTV setting. When you do have an XMLTV file you are authorized to inspect, start with a small excerpt from one station and one day. The document normally has a tv root. A channel element can define the channel identifier and one or more display names. A programme element refers to a channel key and includes a start time and title. A stop time can also be present. The format permits a file to omit channel declarations or provide only some of them, so an absent declaration alone cannot tell you whether a particular player will be able to match the programmes. Check both the actual rows and the import result. XMLTV file definition

Field or element What it can tell you What to inspect
tv root and source metadata Who identifies the listing source or generator, when supplied Verify it matches the guide source you intended to open.
channel id The key used to identify a feed in the guide Compare the exact value to the player or playlist mapping.
display-name A label that may be shown to the viewer Look for aliases or repeated names across two distinct IDs.
programme channel The channel key attached to one schedule record Find a row for the affected key on the affected day.
programme start and stop The start and, where supplied, the end of that entry Read the date, clock and offset together.
title, sub-title or episode details The item the guide says is scheduled Use a distinctive title and a nearby entry to confirm a match.
An icon reference Which image the guide publisher attached Verify the feed using schedule and station identity as well.

Here is a fictional XMLTV excerpt. The two rows describe the same channel, and the second begins at the time the first ends. The numeric offsets are part of the timestamp. The identifier contains no stream or account address.

<tv>
  <channel id="harbor-public-north.example">
    <display-name>Harbor Public</display-name>
    <display-name>Harbor Public North</display-name>
  </channel>
  <programme start="20261113173000 +0100" stop="20261113180000 +0100"
             channel="harbor-public-north.example">
    <title>North Harbor Council</title>
  </programme>
  <programme start="20261113180000 +0100" stop="20261113183000 +0100"
             channel="harbor-public-north.example">
    <title>Harbor Evening Review</title>
  </programme>
</tv>

That first row means 17:30 at an offset of one hour ahead of UTC on 13 November 2026. It represents 16:30 UTC. A viewer whose device correctly displays UTC would see the first show at 16:30 and the next at 17:00. Compare that expected result with what the player actually does. Looking only for the title cannot tell you whether the time conversion was correct. Looking only at the time can hide a wrong local edition. Keep the title, feed key and full timestamp together. XMLTV timestamp and programme definitions

When a source gives you a compressed guide, confirm the provider’s instructions and the formats the installed player accepts. If you can lawfully open a local copy, you only need to read the relevant metadata and a handful of entries. Record the name you use to recognize the file and the time you obtained it. A filename with today’s date may still contain yesterday’s programme rows. A new download may also be a plain error or sign-in page rather than guide data. Looking for actual programme dates is a better verification than trusting the name or a successful download message.

Match a playlist entry to the correct affiliate

Begin with the channel’s identity outside the player. A local station can carry network programmes for most of the day and break away for a news bulletin, sport or a public affairs show. Network names and artwork can be shared across affiliates. Use a regional label, published call sign or local schedule as a second signal. When you have two likely feeds, choose a programme that separates them. Local coverage at a slightly different time or a local edition with a distinctive title is more useful than a national programme broadcast on both.

In an extended M3U listing, the visible channel label and a tvg-id can sit alongside each other. For Kodi IPTV Simple, the project documentation identifies tvg-id as a key for mapping to XMLTV data and documents a setting for case handling. Other players can use different matching rules. Record the exact spelling, including punctuation, spaces and case where the app exposes it. When a player falls back to matching by name, two “Harbor Public” labels can be ambiguous. Fixing the label you see on screen may leave the schedule assignment where it was. If you can set the mapping directly, match it to the guide’s exact feed key and retest. Kodi IPTV Simple mapping settings · Duplicate display names in XMLTV

Fictional row Guide key Local 17:30 listing What the viewer sees live
Harbor Public in Local HD harbor-public-north.example North Harbor Council North Harbor flood report during the council segment
Harbor Public in Regional harbor-public-south.example South Harbor Road Report South Harbor traffic map
Harbor Public in Favourites harbor-public-south.example South Harbor Road Report North Harbor flood report during the council segment

In this example, the third row has a picture that matches the northern feed and a guide that matches the southern feed. The live source plays and provides a useful control. If the player permits a manual mapping, record the old value for that favourite and change the one assignment to the north key. Verify both the first local segment and the next scheduled item. Return to the separate southern row and confirm that it still shows its own listing. If the provider owns the list and the app does not expose a mapping control, give the provider that exact three-row comparison. It can inspect the one favourite or source row without asking you to recreate the whole account.

Sometimes both a high-definition and a standard-definition entry carry the same underlying programming. Sharing a guide key can make sense in that case if the provider confirms they represent the same schedule. For a delayed simulcast or a separate regional service, check an identifying programme and the clock before sharing a key. If the problem comes and goes at local insertions, compare a national segment and a local segment on each feed. Preserve the old label when submitting an update so another person can find the same entry in the original playlist. Broadcaster and feed directory · Set up an authorized M3U playlist

Convert the timestamp before touching a time shift

Read an XMLTV timestamp in parts. The digits identify a date and time. An explicit numeric offset tells you how far that clock is from UTC at that instant. For a positive offset, subtract it to reach UTC. For a negative offset, add its magnitude. To display the event in another zone, take that UTC instant and apply the destination’s offset for the programme date. The XMLTV format assumes UTC when a time has no explicit zone. If a supplier writes bare local times, a viewer may see a predictable shift. Preserve a sample and ask the supplier how it meant the values to be read before applying a global correction. XMLTV timestamp conventions · IANA Time Zone Database

Fictional source timestamp Same instant in UTC Same instant in Karachi
20261113173000 +0100 13 November at 16:30 13 November at 21:30
20261113084500 -0500 13 November at 13:45 13 November at 18:45
20261114001500 +0100 13 November at 23:15 14 November at 04:15
20261113180000 interpreted using the XMLTV default 13 November at 18:00 13 November at 23:00

Keep the date in every row. A time around midnight can change day when converted. The third example is already Saturday in the originating zone and Karachi, while the UTC instant still falls on Friday. If you hand support an hour without a date or zone, they may inspect the preceding or following day’s programme. Include one distinctive title just before or after the suspected mismatch so they can identify the window even if their internal system displays a different clock.

The name of a zone describes rules that can change through the year. A fixed +0100 describes a single offset. It does not tell you which rule to use on another date. A European city may have a different offset in summer, while another market might keep the same time all year. Use the actual region or IANA zone for historical and future comparisons. On the autumn clock-change day, the same local clock time can occur twice with different explicit offsets. Keep those separate entries when checking guide data. A spring clock change can skip local times, so a shorter block on that day is worth comparing with the broadcaster’s schedule before you report a missing programme. IANA time zone data and updates · One-hour EPG troubleshooting

For example, on the fictional schedule date of 25 October 2026, 20261025023000 +0200 is 00:30 UTC. 20261025023000 +0100 is 01:30 UTC. The written local time is 02:30 in both rows, and the UTC instants are one hour apart. A player that drops the offsets might show two indistinguishable items or choose only one. Verify the expected sequence with the broadcaster and include both raw timestamps when asking the guide source or app developer to investigate. Avoid inferring the region from the +0200 alone. Many places can share an offset on a particular date.

Locate stale, missing and partial listings

Start with the smallest set of channels that fail. If every row for a source is blank, verify the intended guide is enabled and attached to the connection you are using. If one channel is blank, check for a key match and a programme in the exact time window. If only part of the day is blank, first see whether the provider’s listings service covers those hours. A feed can have programme rows for tonight and none for tomorrow morning. The app can still draw tomorrow’s empty grid. Compare two unaffected channels to see whether the empty period is shared across the source or limited to one station. Diagnose an empty guide after refresh

Stale data often looks normal until you compare the actual dates. A past week’s recurring news programme may have the same title as today’s. Check a dated special, an episode label or the latest programme time for that channel. Record the oldest and newest visible dates in the player. If you can inspect an authorized file, compare the corresponding span there. A current file with earlier entries in only one app suggests a refresh, cache or mapping issue in that app. An older file with the same range visible in two players points you back to the source and its publishing cycle. A modification time by itself tells you when the file changed. The programme records tell you what period is available.

For gaps between programmes, check the first missing slot and the entries immediately before and after it. In the same time zone and date, compare the previous stop with the next start if a stop was provided. A 30-minute gap can mean a genuine off-air interval, an unlisted programme or a partial ingest. A listed overlap can be a feed error or a side effect of the way the schedule represents events. Record what is present and whether the broadcaster publishes a listing for the interval. If the source has a row and the app leaves it out, note the exact window in the app. Filtering, a display-day boundary or importer behavior can narrow what it shows. XMLTV programme element

In a fictional partial-listing case, the guide for Harbor Public North shows a cooking repeat ending at 14:30 and a council session starting at 15:15. The station’s local schedule lists a 45-minute school performance between them. An authorized source extract shows the same two surrounding XMLTV rows but has no performance row. The gap is also present on a second supported player. That gives the schedule supplier a narrow report. If the extract had contained the performance row, the same notes would help the player’s developer check the importer. If the picture had gone off-air for those 45 minutes, the blank could match the intended schedule. The extra observations make these three possibilities easy to distinguish.

Check which source wins when two guides overlap

The living-room player may be pulling data from two places. A built-in provider guide can cover the main subscription, and a separate XMLTV file can supply a handful of local stations. If both sources contain a similarly named channel, the one you expected to use can be eclipsed by an earlier mapping, a source preference or a fresh import. Start by reading the app’s guide settings for the affected connection. Record whether each source is enabled and how the station is assigned. Some players expose a per-channel source. Others let you select one guide for the full playlist or give you no manual choice. Only use a narrower assignment if your app supports it.

Suppose one source carries North Harbor Council at 17:30 and the other labels the same slot “Local Programming.” The TV grid currently shows the generic label. Inspect the preceding and following slots. If both also match the generic source, you have better evidence of which guide the player is using. If the preceding slot comes from one source and the next from the other, check whether the player documents merging or filling gaps. A shared display name can make the behavior look random. Distinct titles, dates and source keys give you something repeatable to trace. When comparing source samples, fetch or export both through the authorized method close together so a mid-day publisher update does not masquerade as a mapping rule.

If the app allows a temporary source change for one station, save the old assignment and test that one row. Verify that the remaining stations keep their guide after your change. If the only switch applies to all channels, make the comparison in a separate supported configuration when available. Leave a working household profile available until the test is over. If you cannot test the sources separately, list both configurations and ask the developer how they are prioritized. Sending that question with one example is easier to answer than asking which of two sources is generally better. Check the same assignment again after the next scheduled update. Guide assignments and IDs

Validate three records before calling a mapping fixed

Use a tiny test set that would catch your actual mistake. Pick the local programme that led you to report the issue, a neighbouring programme on the same station and an unaffected control station from the same source. If the problem occurs at a date boundary, make the neighbour an item on the other side of that boundary. If a time shift is suspected across a group, pick the control from a different region when you can identify its zone. Test the same records before and after your change. Once the apparent fault is gone, verify the results after leaving and reopening the guide, or after a normal refresh on that app.

Record to test Fictional source evidence Before mapping change After mapping change
Affected local slot North Harbor Council at 17:30 with the north ID South Harbor Road Report at 17:30 North Harbor Council at 17:30
Next slot on the same feed Harbor Evening Review at 18:00 with the north ID South Harbor Business at 18:00 Harbor Evening Review at 18:00
Unaffected neighbouring feed South Harbor Road Report at 17:30 with the south ID South Harbor Road Report at 17:30 South Harbor Road Report at 17:30

All three times in this example use the same display zone, and the source identity for each row is known. The first row catches the original mistake. The second confirms that the change fixed the sequence, including the slot where you did not start. The third checks for a side effect. A change that fixes both northern listings and rewrites the southern one has affected a larger scope than intended. Restore the old value and check whether you edited a shared rule. If the issue changes after reopening the guide, record what the player kept and whether an automatic refresh replaced the earlier mapping.

If your player uses a guide file you manage, keep a private copy of the working version or its replacement settings. A minimal change is easier to verify and undo. For a source you do not control, record the supplier’s update time or the new guide version if it is visible. Ask for the result to be confirmed on the same three records. This approach also helps when moving from one app to another. Keep the first app as a reference until the new one shows the same feed and programme dates, and respect the plan’s limits if you open playback for comparison. Move a working guide to a new player

Refresh the guide through the app you actually have

Check the exact app version, the installed operating system and how the guide is supplied. Common paths include a separate local file, a remote XMLTV source and a guide included with a provider connection. Some apps fetch the guide automatically when it is due. Others make a user apply a refreshed list after a notification. A reset button may affect every playlist or portal on the device. Before using it, record a visible current guide row, the exact settings you would need to restore, and the menu action you intend to try. Use a source or guide refresh first when it is supported. Reopen the same affected date and station afterward. A progress indicator proves an action ran. The dated entries tell you what it changed.

Kodi IPTV Simple Client

In the add-on’s EPG settings, check whether the location points to a local XMLTV file or a remote resource. The documentation for the installed add-on release describes that setting, the optional local cache for a remote source, time shift options and matching rules. Record the add-on version along with Kodi’s version. If you changed the source, verify that the intended path is saved and reopen the guide. Compare a source row with the exact channel and time in Kodi. The project documents that guide loading can depend on when Kodi needs the data and on the use of catch-up or XMLTV logos. Give the import its normal opportunity to complete before repeating the action. Kodi IPTV Simple setup · Kodi IPTV Simple project documentation

Where available, inspect the addon’s time shift and any setting that applies it to all channels. The source playlist may also specify a shift. Copy the original values and verify the direction using an expected title at a known clock time. If the route and data are right but the PVR database retains older entries, Kodi documents a Clear data action under Live TV General settings that purges the PVR guide and channel database and reimports it from the backend. Use this only after you have the source configuration to hand and understand its scope. Test the three known records again after reimport. Kodi Live TV settings · Kodi IPTV Simple EPG options

Formuler MYTVOnline 3

Confirm the software generation before looking for the menu. Formuler documents an EPG-specific update within MYTVOnline 3’s Content Manager and Data Sync area. It also documents a separate refresh for the broader contents and says the updated content may need to be applied from the main menu. Use the action that matches the evidence. If channel listings work but the programme data is old, test the guide-specific update first. If a provider has changed the channel rows themselves, check its instructions and whether the refreshed content needs to be applied. Formuler says the separate Clear EPG action deletes saved guide data for all portals. Preserve your comparison notes before using it. MYTVOnline 3 refresh help · MYTVOnline 3 guide check

For a genuine constant time difference, Formuler documents a per-portal offset in MYTVOnline 3. Check the published local programme time and two affected records first. Write down the existing offset and use the current help for the specific generation. A menu from MYTVOnline 2 or 4 may name a different step. Changing the time offset does little for a missing schedule or a wrong affiliate assignment. Keep the original portal and settings available while you verify the new value. Formuler EPG offset help · Identify the installed MYTVOnline generation

A provider app with no visible guide import

Some provider apps manage the listings as part of the account connection. If the app offers no separate XMLTV control, start with its documented refresh or restart procedure. Try the same station in the provider’s other supported device app, if one is available. If both display an old grid, note the freshest dated entry visible on each and the time you checked. If the guide updates on the phone while the television keeps older entries, report both app versions and give a visible example from each. Ask whether the TV build refreshes on launch, at a scheduled time or when the service supplies a new version. Account changes are easier to avoid when support can identify the exact guide path.

On a shared device, confirm who else uses the same configuration before you clear the app’s stored data. A screen that belongs to one person can contain more than one profile or favourite list. If the app offers a supported export or recovery method, confirm what it actually restores. Record the guide source type and whether the provider manages it automatically. Keep the account access details in a private place. After reinstalling or moving to a new device, compare the previous known-good programme and one new day’s slot to make sure the working configuration really came back. Guide setup and recovery · Cache and stored data explained

Test replay dates independently from the visible grid

A listings row and a replay request answer different questions. The first gives the programme’s time and channel. The second has to locate a playable copy using the provider’s archive and the way the player connects to it. If the guide entry looks correct, check whether the channel is eligible for replay, the item is still within the confirmed replay window and the player supports that path. Open a known recent eligible replay on the same station, then retry the target. If the provider has its own replay page, try the same programme there using the supported device and note how it was selected. Test a catch-up window

In a fictional example, the broadcaster’s listing says Harbor Late Edition begins at 00:15 on 14 November at +0100. The same event begins at 23:15 UTC on 13 November. The TV’s grid correctly displays 00:15 local time. Tapping that entry opens the end of the preceding show, while opening Harbor Late Edition from the provider’s archive page begins with the expected opening. An afternoon replay works through both paths. The date pair, affected entry and different results help the provider or player developer check how the selection is handed to the archive. They also leave room for an incorrect clip boundary or incomplete archive index. Overnight replay comparison · Why a guide can show yesterday

When a replay opens near the right time but starts in the middle of an item, compare the actual first scene with the listing and the programme that precedes it. Some recordings include a short lead-in or an earlier broadcast overruns. Report what you see and how many minutes you have to seek to reach the expected opening. Also capture whether the same behavior appears through a direct archive selection. In Kodi IPTV Simple, catch-up configuration can have a timing correction independent of the guide’s display shift. Use the current documentation and your provider’s instructions before altering either. Kodi IPTV Simple catch-up settings · Compare live and replay paths

It helps to distinguish three times in your notes. Keep the original scheduled start, the time you tried opening the replay and the timecode at which the expected programme begins inside the playable recording. If someone tells you a show is an hour off, ask which two of those clocks they compared. A delayed replay becoming available an hour after broadcast is a different observation from a guide displaying the wrong hour. A file that begins with 90 seconds of the earlier show is a separate clip boundary observation. If you can reproduce the same sequence from two supported devices, include both. If a replay has aged out by the time support receives the report, its original air date and your test date still help them locate the entry or choose a current example.

Give the support team the smallest useful report

Tell the provider or app developer exactly which row to inspect and what worked around it. If you can share a public schedule link, include its regional selection and the date. If you have access to an authorized guide excerpt, include only the channel key, programme title and timestamp needed for the comparison. Treat the full guide URL, playlist, device registration details and any signed address as private. If a screenshot would help, crop to the entry and clock. A table with three entries and a short sentence about what changed usually gives support enough to reproduce the issue.

Report field Fictional example
Affected screen Living-room guide, player version 4.2.1, Local HD playlist
Station as shown Harbor Public, northern affiliate expected
Expected key and programme harbor-public-north.example, North Harbor Council
Schedule time 13 November 2026 at 17:30 +0100, equal to 16:30 UTC
What appears South Harbor Road Report at 17:30, while the live picture shows the northern bulletin
Useful controls Northern 18:00 slot is wrong too. Separate southern station still matches its schedule.
Last action and time One normal guide refresh at 17:05 +0100, same result after reopening
Request Please confirm the guide assignment for the northern row and tell me when to check it again.

Send provider-owned channel or schedule faults to the service that supplies the connection. If the correct same-day file and feed key work in one supported app and fail in another, the app developer can use the app versions and the smallest safe excerpt. For a published station name or identifier correction, include the exact edition and public broadcaster evidence so a forum editor can find the row. Retest the same three records after the response. Leave the before and after observations together so someone reopening the issue knows which change was verified. Programme guide forum · Editorial corrections