SOLVED - Patchy IPTV EPG (epg-importer)

I flashed a H2H box (not the 1st one) with WhooshBuild infinity - setup for IPTV. Using the suls plugin (e2m3ubouquetmaker) I updated both URL's and hit Create Bouquets. It did this successfully.

Went to epg-importer, blue button, found the extra line added by suls plugin, ticked it, hit yellow to import. It imported around 6k events, hit green to save and rebooted the box.

All the IPTV channels work fine but epg is very sketchy - barely 5% of the channels are showing any epg. I've un-installed both plugins (e2m3uboquetmaker & epg-importer) and made sure I had the latest for both. Repeated the setups and still the same.

In Chrome - putting in the epg url, it downs a 17mb xmltv.xml file, which looking thru seems to have events for channels (date & time) that the box doesn't show any epg for.

Any thoughts\ideas?

Thanks
 
I flashed a H2H box (not the 1st one) with WhooshBuild infinity - setup for IPTV. Using the suls plugin (e2m3ubouquetmaker) I updated both URL's and hit Create Bouquets. It did this successfully.

Went to epg-importer, blue button, found the extra line added by suls plugin, ticked it, hit yellow to import. It imported around 6k events, hit green to save and rebooted the box.

All the IPTV channels work fine but epg is very sketchy - barely 5% of the channels are showing any epg. I've un-installed both plugins (e2m3uboquetmaker & epg-importer) and made sure I had the latest for both. Repeated the setups and still the same.

In Chrome - putting in the epg url, it downs a 17mb xmltv.xml file, which looking thru seems to have events for channels (date & time) that the box doesn't show any epg for.

Any thoughts\ideas?

Thanks
The epg you have could only be what your supplier supplies with there epg
 
Yep - you can't see what they don't supply, but opening the xmltv.xml file, there is data\events for channels that the box doesn't show - if that makes sense?

Below is a sample of the file showing epg data is there for BBC right now, but the box shows nothing.

<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE tv SYSTEM "xmltv.dtd"><tv generator-info-name="*******" generator-info-url="http://**********.***:2052/">


<channel id="UK: BBC1"><display-name>UK: BBC 1</display-name><icon src="http://********.****/guide/logos/BBC One.png" /></channel>


<programme start="20180925104500 -0400" stop="20180925113000 -0400" channel="UK: BBC1" ><title>Garden Rescue</title><desc>Charlie Dimmock and Harry and David Rich compete to design a £3,000 Ibiza-themed party garden for a family in Wokingham.(n)</desc></programme><programme start="20180925113000 -0400" stop="20180925121500 -0400" channel="UK: BBC1" ><title>Antiques Road Trip</title><desc>It is the second leg with experts James Braxton and Arusha Irvine heading down the west coast from Cumbria to Liverpool, and curious military items are among the desired purchases.(n)</desc></programme><programme start="20180925121500 -0400" stop="20180925130000 -0400" channel="UK: BBC1" ><title>Pointless</title><desc>Quiz in which contestants try to score the fewest points possible by giving the least obvious correct answers to questions. Presented by Alexander Armstrong, with Richard Osman.(n)</desc></programme><programme start="20180925130000 -0400" stop="20180925133000 -0400" channel="UK: BBC1" ><title>BBC News at Six; Weather</title><desc></desc></programme><programme start="20180925133000 -0400" stop="20180925140000 -0400" channel="UK: BBC1" ><title>BBC Regional News and Weather</title><desc></desc></programme>

</tv>
 
I figured out the issue in the end. It is down to how the IPTV provider has done the epg file (xmltv.xml) and how the suls plugin & epg-importer plugin deal with the epg file.

There is a mismatch in the Channel ID (it's a name) in the EPG file and the Channel Name\ID that the EPG Importer needs.

For anyone who experiences really patchy IPTV EPG and un-installing Suls plugin & EPG-Importer doesn't resolve it, this might fix your issue.

Get a local copy of your xmltv.xml file (the providers epg file), here's mine albeit chopped down just to BBC 1,

<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE tv SYSTEM "xmltv.dtd"><tv generator-info-name="*******" generator-info-url="http://**********.***:2052/">


<channel id="UK: BBC1"><display-name>UK: BBC 1</display-name><icon src="http://********.****/guide/logos/BBC One.png" /></channel>


<programme start="20180925104500 -0400" stop="20180925113000 -0400" channel="UK: BBC1" ><title>Garden Rescue</title><desc>Charlie Dimmock and Harry and David Rich compete to design a £3,000 Ibiza-themed party garden for a family in Wokingham.(n)</desc></programme><programme start="20180925113000 -0400" stop="20180925121500 -0400" channel="UK: BBC1" ><title>Antiques Road Trip</title><desc>It is the second leg with experts James Braxton and Arusha Irvine heading down the west coast from Cumbria to Liverpool, and curious military items are among the desired purchases.(n)</desc></programme><programme start="20180925121500 -0400" stop="20180925130000 -0400" channel="UK: BBC1" ><title>Pointless</title><desc>Quiz in which contestants try to score the fewest points possible by giving the least obvious correct answers to questions. Presented by Alexander Armstrong, with Richard Osman.(n)</desc></programme><programme start="20180925130000 -0400" stop="20180925133000 -0400" channel="UK: BBC1" ><title>BBC News at Six; Weather</title><desc></desc></programme><programme start="20180925133000 -0400" stop="20180925140000 -0400" channel="UK: BBC1" ><title>BBC Regional News and Weather</title><desc></desc></programme>

</tv>

Notice the line that gives the Channel ID & Display Name,

<channel id="UK: BBC1"><display-name>UK: BBC 1</display-name>

make a note of your Channel ID - in this case "UK: BBC1". Now find you sort-current.xml file, which should be in

/etc/enigma2/e2m3u2bouquet

open it up in something like Notepad++ and find the channel in question - BBC 1 in this case. Mine shows (with the service ref *'d out)

<channel name="UK: BBC 1" nameOverride="" tvg-id="" enabled="true" category="UK" serviceRef="******************" clearStreamUrl="false" />

If you notice the discrepancy between the 2 - Suls plugin is expecting a Channel Name of "UK: BBC 1" and so will EPG-Importer (I believe). Whereas the EPG file from the provider is showing "UK: BBC1" as the Channel ID. It's this mismatch that is causing the EPG not to load. It won't error out - but just not load it as it finds no matching channel.

The workaround: Create an override file which is basically a copy of the Current file but replace "current" with "overrifde".

And alter the above line to be

<channel name="UK: BBC 1" nameOverride="UK: BBC1" tvg-id="" enabled="true" category="UK" serviceRef="***************" clearStreamUrl="false" />

i.e. put the value for Channel ID (it's a name really) from the providers EPG file into the nameOverride field in the override file. You'll need to do this for as many channels as you have missing EPG for. Time consuming but only once.

Best to try on one or 2 channels first and see how you go.

FTP it back to /etc/enigma2/e2m3u2bouquet - delete the EPG in setting-epg. Reset the bouquets in IPTV Bouquet Maker. Then Create Bouquets\Run. Go to EPG_Importer, Blue Button, highlight the Providers entry, Yellow to import and it should load more events.

Hopefully not as clear as mud.
 
The following should assist those suffering from the same issue:

I've never published this before but to do what you've done with your config file only requires a minor change to the e2m3ubouquet script as I've done here: https://github.com/stingray82/e2m3u2bouquet-tools

The below will download a new version, remove the old and restart enigma for it to take effect

e2m3u2bouquet tvg-name rather than tvg-id
Useful if your provider isn't a big supporter of Engima2 and uses the tvg-name tag for channel names rather than tvg-id

Current Version v0.7.6

Installation (Assuming you have the Suls Plugin Installed) - Run in Terminal or Putty
wget 'https://raw.githubusercontent.com/stingray82/e2m3u2bouquet-tools/master/e2m3u2bouquet-name.py' -O '/usr/lib/enigma2/python/Plugins/Extensions/E2m3u2bouquet/e2m3u2bouquet.py' && rm /usr/lib/enigma2/python/Plugins/Extensions/E2m3u2bouquet/e2m3u2bouquet.pyo && wget -O /dev/null -q http://127.0.0.1/web/powerstate?newstate=3
 
@stingray13 - thanks for the modified script. Looking thru it I see (some of) the differences but I don't think that fixes the issue I experienced.

It isn't the tvg-name that's the issue for me. It's a mismatch between the epg (xmltv.xml) file and the m3u file.

I'll walk thru an example:

In the m3u file for BBC 1, which suffers (initially) from no epg, the line is,

#EXTINF:-1 tvg-id="" tvg-name="UK: BBC 1" tvg-logo="http://example.com/guide/logos/BBC One.png" group-title="UK",UK: BBC 1
http://example.com:2052/live/USERNAME/PASSWORD/819.ts

Once Suls script has run (0.76 but same behaviour in older versions), the line in the sort-current.xml file is

<channel name="UK: BBC 1" nameOverride="" tvg-id="" enabled="true" category="UK" serviceRef="0:0:0:000a:0000:000a:0:0:0:0" clearStreamUrl="false" />

[I've zero'd out the service ref] The channel name in the sort-current.xml file matches the m3u file. I would expect it to, as the m3u file is used to generate the sort-current.xml file.

Now, the programme line in the epg file is:

<programme start="20180925104500 -0400" stop="20180925113000 -0400" channel="UK: BBC1" ><title>Garden Rescue</title><desc>Charlie Dimmock and Harry and David Rich compete to design a £3,000 Ibiza-themed party garden for a family in Wokingham.(n)</desc></programme><programme start="20180925113000 -0400" stop="20180925121500 -0400" channel="UK: BBC1" ><title>Antiques Road Trip</title><desc>It is the second leg with experts James Braxton and Arusha Irvine heading down the west coast from Cumbria to Liverpool, and curious military items are among the desired purchases.(n)</desc></programme>

The crux of the problem is the two tags (one from the m3u file & same in the sort-current.xml file) do not match the tag in the epg file.

Tag from m3u & sort-current file = UK: BBC 1
Tag from epg file = UK: BBC1

It's this mismatch that results in no EPG data being loaded for the channel.

Sorry if the above is teaching grandma to suck eggs, but I just wanted to make sure, I've got the problem (as I see it) across correctly.

In my case, I didn't think making any change to e2m3u2bouquet-name.py would resolve this issue as there isn't anything intrinsically wrong with the m3u file provided.

The issue lies with the epg file - xmltv.xml. I did think of modifying whatever script epg-importer uses such that when it process the xmltv.xml file in the initial definition section at beginning, when it sees entries such as

<channel id="UK: BBC1"><display-name>UK: BBC 1</display-name><icon src="http://example.com/guide/logos/BBC One.png" /></channel>

it uses the display-name to match from the bouquet files from suls plugin but in those instances where the channel-id is different in the channel definition [as in the above line] to use the channel id value, as that is what will appear in subsequent programme tags in the xml. But gave up. LOL

It took a bit of time, but initially it was easier for me to just to take the epg file - remove all the programme info block, leaving the initial channel definitions, scroll thru and find those where the channel id NOT EQUAL display-name and in the sort-override file, set the nameOverride value to match the channel id value (from the channel definition line) from the epg file.

Hopefully the above makes sense.

I've seen epg events go from loading around 3k to 17k. And that's just with "fixing" the US and UK sections of the override file. I haven't got around to doing sport yet. LOL

I might get around to looking for the epg-importer source code and having a look.
 
Ok I see I tested this with others having issues where providers use tvg-name i.e setup for an android app and enigma disregarded but in your case it's not the generated names that's wrong it's actually the XML have you tried pulling an XML direct from the panel? You may get a better response as it would have been imported and mapped to that XML.
 
Back
Top