E2m3u2bouquet Help Thread

Help Thread

Common problems and resolutions for E2m3u2bouquet.

“Permission denied” attempting to run the script

Ensure the script is executable, eg run (in the folder the script is in)

chmod 777 e2m3u2bouquet.py

then run the script as per instructions

or run the script via python

python e2m3u2bouquet.py -n PROVIDER -u USERNAME -p PASSWORD

EPG is not working

Ensure you have enabled the source in epg-importer and run a manual import.

If this still doesn’t work paste your epg url into firefox, this should return a bunch of XML data to the browser (nb: doesn’t work in chrome), if you don’t receive XML data back in the browser your epg url is wrong. Contact your provider to resolve this.

If you are using the serviceapp plugin to change the playback engine this is also know to stop the epg from working.

ImportError: No module named argparse

You need to install argparse on your box. Telnet/ssh to your box and run

opkg install python-argparse

No Module named imghdr

You need to install python-image (and likely python-imaging). Telnet/ssh to your box and run

opkg install python-image python-imaging

Bouquets disappear after box is rebooted

If you’ve already installed the providers iptv.sh script the changes it makes will need to be reverted otherwise the new bouquets will be deleted on restart

  • SSH to the box and remove /usr/bin/enigma2_pre_start.sh – this sets iptv.sh to run on restart which causes all bouquets to be deleted
    N.B. Your box may use enigma2_pre_start.sh for other services. Check that it only contains iptv.sh before removing
rm /usr/bin/enigma2_pre_start.sh
  • Use the box GUI to delete the bouquet that iptv.sh creates Open the bouquet list. With the ‘Example’ bouquet selected, press the menu button there should be an option to remove the entry
  • Remove iptv.sh
rm /etc/enigma2/iptv.sh

Some channels stutter or don’t play correctly

This is likely due to having the ‘All IPTV type’ option enabled. Disable this option and re-run. If you’re using an override.xml file then you’ll also need to make sure the -xs option (script) or ‘Override service refs’: disabled (plugin) is set fo r this change to take effect.

225 thoughts on “E2m3u2bouquet Help Thread

  1. Hey guys, I’m seeing some occurrences of two channels having the same epg. It appears to be due to two channels having the same service id, this is the contents of my ‘suls_iptv_channels.xml’ file;

    The first channel is a real US channel and shows the epg fine but the 2nd one is just a channel my provider spins up ahead of weekly sporting events and normally will not show any epg but is showing the same detail as CNBC.

    Is there a reason why the two would have the same service id? They are in separate bouquet sections.


      1. Are you using the override.xml file?

        I think there’s some cases that if new services are added (and you are using the override file) they can end up having the same service id. I’ll check into it

        1. That’s it mate. I can only presume that the new sport bouquets have been slotted in in a different order. I’ve sorted the issue by removing the sections from my override. Thanks for the help

  2. Can I ask where to place the -P for the picons when using the url based setup? I think i’ve tried everywhere and get errors everytime unrecognized arguments: –P

  3. I’ve noticed that the epg is only pulling in a max of 1 day of programs per channel. I habe days set to 7,but it makes no difference. Is this normal? Thanks

    1. Some providers only have 1 day in their xmltv epg feed so this is normal. To confirm you can put the epg url in a browser and check the date & time of the last event.

  4. Hi,

    I’m using the URL based setup but when I run the script I get “IndexError: list index out of range” error? Any ideas what I’m doing wrong?


    Starting Engima2 IPTV bouquets
    2017-07-22 16:44:15.094687

    —-Downloading m3u file—-

    —-Parsing m3u file—-
    —-Running uninstall—-
    Removing old IPTV bouquets…
    Removing IPTV custom channels…
    Removing IPTV bouquets from bouquets.tv…
    —-Uninstall complete—-
    Traceback (most recent call last):
    File “e2m3u2bouquet.py”, line 885, in
    File “e2m3u2bouquet.py”, line 851, in main
    categoryorder, disabled_categories, dictchannels = e2m3uSetup.parsem3u(m3ufile, iptvtypes, delimiter_category, delimiter_title, delimiter_tvgid, delimiter_logourl)
    File “e2m3u2bouquet.py”, line 144, in parsem3u
    channel = [(line.split(‘”‘)[delimiter_category]).strip(),
    IndexError: list index out of range

  5. Hi I have very similar problem on H2S it use to work spot on but today I get this no matter what

    Starting Engima2 IPTV bouquets
    2017-07-22 18:27:38.124748

    —-Downloading m3u file—-

    —-Parsing m3u file—-
    —-Running uninstall—-
    Removing old IPTV bouquets…
    Removing IPTV custom channels…
    Removing IPTV bouquets from bouquets.tv…
    —-Uninstall complete—-

    —-Parsing custom bouquet order—-
    Traceback (most recent call last):
    File “./e2m3u2bouquet.py”, line 885, in
    File “./e2m3u2bouquet.py”, line 851, in main
    categoryorder, disabled_categories, dictchannels = e2m3uSetup.parsem3u(m3ufile, iptvtypes, delimiter_category, delimiter_title, delimiter_tvgid, delimiter_logourl)
    File “./e2m3u2bouquet.py”, line 166, in parsem3u
    sorted_categories, disabled_categories = self.parse_map_bouquet_xml(dictchannels)
    File “./e2m3u2bouquet.py”, line 251, in parse_map_bouquet_xml
    tree = ElementTree.parse(f)
    File “/usr/lib/python2.7/xml/etree/ElementTree.py”, line 1182, in parse
    File “/usr/lib/python2.7/xml/etree/ElementTree.py”, line 656, in parse
    File “/usr/lib/python2.7/xml/etree/ElementTree.py”, line 1653, in feed
    File “/usr/lib/python2.7/xml/etree/ElementTree.py”, line 1517, in _raiseerror
    xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1215, column 21

    1. Running into a problem on a Gigablue Quad with Openvix 4.1:

      Starting Engima2 IPTV bouquets
      2017-07-22 21:36:48.818569

      —-Downloading providers file—-
      Traceback (most recent call last):
      File “./e2m3u2bouquet.py”, line 703, in
      File “./e2m3u2bouquet.py”, line 662, in main
      providersfile = e2m3uSetup.download_providers(PROVIDERSURL)
      File “./e2m3u2bouquet.py”, line 116, in download_providers
      raise (e)
      IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

  6. Hey;

    I’m having the following issue with a provider I’m using when using the url import

    Removing IPTV bouquets from bouquets.tv…
    —-Uninstall complete—-
    Completed parsing data…
    Traceback (most recent call last):
    File “./setup.py”, line 1032, in
    File “./setup.py”, line 1001, in main
    e2m3uSetup.save_map_xml(categoryorder, category_options, dictchannels, list_xmltv_sources)
    File “./setup.py”, line 470, in save_map_xml
    cat_title_override = category_options[cat].get(‘nameOverride’, ”)
    KeyError: u’VOD/MOVIES’

      1. It seems that it might not be picking up the VOD categories from your providers playlist correctly. Are you able to download the m3u playlist, search for ‘VOD/MOVIES’ and let me know extensions (e.g. .mp4, mkv) these streams are using?

        1. hey man

          First time run and subsequent runs after. Deleted the XML created in the home dir and tried with options -a / -M and also -i.. No luck..

          VOD/Movies look to me using mixtures of mkv, mp4 and flv depending on the item. There is no correlation 🙁

            1. hey dude…

              same 🙁

              Removing IPTV bouquets from bouquets.tv…
              —-Uninstall complete—-
              Completed parsing data…
              Traceback (most recent call last):
              File “./setup.py”, line 1032, in
              File “./setup.py”, line 1001, in main
              e2m3uSetup.save_map_xml(categoryorder, category_options, dictchannels, list_xmltv_sources)
              File “./setup.py”, line 470, in save_map_xml
              cat_title_override = category_options[cat].get(‘nameOverride’, ”)
              KeyError: u’VOD/MOVIES’

                1. embarrassingly my copy didnt work..

                  Different error now:

                  —-Downloading providers file—-
                  Traceback (most recent call last):
                  File “./auto.py”, line 1034, in
                  File “./auto.py”, line 983, in main
                  File “./auto.py”, line 803, in read_providers
                  ‘m3u’: line.split(‘,’)[1],
                  IndexError: list index out of range

                  1. That’s strange. It’s not getting as far as it did last time 🙁

                    It looks like you are using the named provider option. Is that what you were using before?

                    1. When it first failed, I copied your providers.txt file and replaced with the same settings for my provider.. Simply copy/paste and put on a github I had.. So the command I just tried was using providers. When I switch to URL import, it goes through! HOORAH! 😀

                      Now to see if the supplier allows it haha Thank you so much

  7. One other question regarding the multi vod categories… Is there any chance of sorting all the videosin the multi-vod in alphabetical order (not the categories themselves)? As providers usually add the movies etc, so it lists them in the order added…


  8. Hi, Once you Putty: cd /home/root is there meant to be an acknowledgement once pressed enter? it just starts a new root@zgemah2s: line for me??

  9. Hey guys, found a strange issue on my box.

    Today i configured two E2 boxes the exactly same way (like described in the instruction for the script). The first box was perfectly working. But the second refused to manually update the EPG. I’ve checked the logs and found that the EPG download link was wrong.

    So i opened the “suls_iptv_e2m3u2bouquet.sources.xml” and found that the url string was ok but at the end of the string was the root password for my box. This was generating the wrong link. Strange wise i used the exactly same software and workflow for the first box and it worked from the first try.


    I just removed the Root password (this was my real root password on the box) and it was fine. May someone else is struggeling with this issue, so please check the URL link accordingly…


    1. You must have typed it to the script parameters at some point, theres no way the script can do that or know your root password…

  10. Hey guys,
    Superb script, have everything working fine after some false starts. I have one outstanding issue though.

    I’m currently using e2m3u2bouquet v0.5.3. It seems the script is not be picking up some links in the VOD categories from my providers playlist. For example in the VOD Boxing category there should be 7 listings, but only 3 (2 x mkv and 1 x mp4 links) are showing on my e2 box. The 4 listings that are not showing are mp4 x 1, flv x 3 links. Same with UFC category, should be 10 listings but only showing 4. And so on for each category. It doesn’t seem to pick up .flv links at all from what I can see, and then .mp4 links seem to be hit and miss, it picks up some, doesn’t pick up others. Any ideas why this might be?

    I’m also seeing some duplicate bouquets, with different listings in each bouquet. e.g.
    IPTV – VOD – VOD/Kids Movies and IPTV – VOD/Kids Movies

    This is probably an issue with the providers m3u file. When I open the e2m3u2bouquet-sort-current file the following lines are in the categories section, but none of the other VOD categories are listed.

    Any advice on what to say to the provider to get this cleaned up?


      1. Ok will update to 6 when I get a chance. Can I still use the existing override file after the update, or do I need to create a new one again? Thanks

  11. Sorry, the VOD category code seemed to get clipped from my post. I’ll try again:

    This is probably an issue with the providers m3u file. When I open the e2m3u2bouquet-sort-current file the following lines are in the categories section, but none of the other VOD categories are listed.

    “VOD/Kids Movies

    All enabled to “true”. Any advice on what to say to the provider to get this cleaned up?

    1. At a guess the forward slashes are causing the issue but it could be something else, we would really need to have a look at the m3u file to debug it, drop us an email via the contact page if you want us to have a look

    1. You need to speak to who ever gave you those commands.. The script is from here but the rest of the commands, in particular the file that is failing to download is nothing to do with us.
      Or download the plugin on this site, there are guides on YouTube on how to install it if you are a little unsure

      1. Advice on the plugin still stands, rereading your error message it says the file already exists

        rm e2m32bouquet.py

        Should clear that for you and your previous commands might work then

  12. Can any one help does the xml file give the the channels the epg info if so what info does it have to have script works fine and install the bouqets fine just trying to get epg to work



  13. Hi great script been using it over the last month or so. I installed .6 last night and everything worked fine. I’ve set it to update every 24hr but it’s removed the epg sources has anyone else had this. I re ran the script and it added it back in

      1. I think it was v.5 but I fully uninstalled the script but not the cron job. Yeah I’ve noticed that the epg source is now named after the iptv supplier

        1. Sorry jumping around different comments I’ll delete the script. Also isn’t there anyway to fully disable the epg picons I want the ones installed on the box but it seems to be pulling down the providers picons

          1. Not using the picon flag will stop the script pulling them down.. Think it is -p from memory. To remove any that are already in the box you will need to manually delete them from your picon location

  14. Script is amazing thanks! just a problem since FAB changed i installed the new ipk when i run the script 0.6 it takes half the time and no bouqets appear at all!

  15. I don’t suppose anybody has had a luck getting the plugin to work with openpli 4.0. I eventually managed to get previous versions of the script working by updating certain components, but I cannot get the the plugin to work. I get an error – ‘module’ object has no attribute ‘SSLContext’. I presume the python installed is out-of-date.

    1. Hi NigelH. What version of python is installed – ‘python -V’.

      The SSLContext I put in was for older boxes that couldn’t download the providers file over SSL (think this needs Python 2.7.9 or higher)

      Edit: I’ll put a check in v0.6.1 that should work around the issue

    2. I have the same issue with OpenPLi 4 on a DM7020HD, it does not work and Python is 2.7.3. On my Vu+ Zero with OpenPLi 6.1 it installs and works fine, Python is 2.7.12.

      How do I get it to work on OpenPLi 4?

  16. Hi, the script works perfectly and keeps my IPTV bouquet updated (as football matches mean the playlist changes often). However, I also use an “all channels” bouquet with non-IPTV channels and associated channel numbers (105=ch5 etc) and I’ve noticed that after the cron job runs the script, the channel numbers no longer associate with the correct channels, instead they associate with IPTV channels.
    I checked out the bouquets.tv file and the script seems to have added the IPTV bouquets to the top of the list, rather than the bottom.
    Is there any way to ensure it adds them to the bottom of the bouquet order?

  17. Hi! Does anyone has any experience with RapidIPTV and this wonderfull tool?
    I run this:
    python e2m3u2bouquet.py -m “http://clientportal.link:8080/get.php?username=xxxx&password=xxxx&type=m3u_plus&output=mpegts”
    and the output is this:
    Starting Engima2 IPTV bouquets
    2017-08-22 09:03:31.209503

    —-Downloading m3u file—-

    —-Parsing m3u file—-
    —-Running uninstall—-
    Removing old IPTV bouquets…
    Removing IPTV custom channels…
    Removing IPTV bouquets from bouquets.tv…
    —-Uninstall complete—-
    Completed parsing data…

    —-Creating bouquets—-
    bouquets created …

    —-Creating EPG-Importer config —-
    EPG-Importer config created…

    —-Reloading bouquets—-
    bouquets reloaded…

    Engima2 IPTV bouquets created !

    To enable EPG data
    Please open EPG-Importer plugin..
    Select sources and enable the new IPTV sources (will be listed as E2m3u2Bouquet)
    Save the selected sources, press yellow button to start manual import
    You can then set EPG-Importer to automatically import the EPG every day

    but there are no new bouquets created on my zgemma-box… Anyone has an idea?

  18. After some more testing RAPIDIPTV works if you manually download m3u file to own webserver or something like that.
    Then you use that link instead for e2m3ubouquet script and then it works.
    Seems there is a problem with grabbing the file clientportal directly.

    1. That doesnt sound right, there must be authenication or some thing in the way of the script getting the file, does sticking the two URLs into firefox result in an M3U file / XML epg data ?

      1. I get EPG data och M3U file with wget command with exactly same link but not with e2m3u2bouquet but if if i use link to a downloaded m3u file it works.
        Really strange

  19. I am using FAB and had it all working fine, but had to re-flash my box. Now when I run the script it is not creating the source in EPG Importer. I have tried removing EPG Importer and re-installing, but it still does not list FAB. I also tried re-running the script. The channels work fine – just no EPG data.

      1. Hi Doug, thanks for the response. I have got it working using the . The issue seems to be that FAB have changed the URLs, so the named provider based setup is not working. The URL based setup is working.

  20. Today i flashed my zgemma and installed OpenATV version 6. I installed e2m3u2bouquet and did not get it to work with GENIPTV. The only way to get it to work is to wget the files ( channels and epg ) and use it in the url-string. I use version 6.1, your latest version. Strange, but a serious problem in my opinion…

    1. If GENIPTV is no longer working we’ll remove them as a supported provider.

      (Unless they can tell us what’s changed and what we need to do to access the files)

  21. i used the url based setup with success, it worked great. My question is my provider provides tabs i do not want and when i delete them via the UI using the remote they re-appear when i reboot or a scheduled update runs. I get why this happens but is there a way to only update the bouquets i have? thanks in advance 🙂

  22. Hi. I am using the new script and it has installed fine. However only half the epg data is pulled across. I have checked the xml file and it downloads fully in a web browser. I guess it has something to do with the file format. The epg is from Global-Entertainment, which is in your list of providers. However I cannot use the IPK because it is via a reseller, but the epg file is theirs.
    Any suggestions on how to resolve this?

    1. If you manually view the epg does it include titles and descriptions for the missing events? I believe that enigma2 will only show the epg event if it has a title and description

      1. hi,i run the script and it works well for bouquets,where do i get xmltv data? cos i dont have cmltv url cos dont know where to get it

  23. I also noticed that the script generates errors when runned from a Dreambox800SE with python version 2.6.6. The error is an invalid syntax on line 414 ( version 0.6.1 ) and line 395 ( version 0.5.x ) Does anybody has an answer to that? 🙂

    1. We don’t (and have no plans to) support any boxes with a python version that old. We only support boxes with python 2.7 and higher.

  24. My service provider’s EPG feed is pretty terrible and missing lots of channels. I have noticed there is an ‘xmltvextrasources’ section in the override.xml these days. How do i use this? I am assuming that I would need to change the servicerefs of all my channels (using e-chan) then add a legitimate XMLTV URL to this section. Two questions:

    Firstly, would it pull the additional sources using the same profile name in EPG-Importer (mine is still called E2M3U2Bouquet i think)?
    Secondly, are the example xmltv urls in override.xml working? If so, can i just remove them from the example and make them live?

    1. The idea behind that option is that in the override file you would set all your channels tvg-ids to the same as the Rytec channel ids.

      You should be able to download the one of the commented out Rytec epg urls, extract the xml files and them see the channel ids

      Everything would be done in the override.xml file no need to use E-Channelizer

  25. This is what my solution so far is…
    I build a script, who first downloads the m3u and epg-data local to my box, then I run the e2m3u2bouquet-script with the local files. This works and I can even run it via cron in a schedule, but this was not the reason I bought GenIPTV for a year, no auto import via plugin and no automatically fill epg-data. Neither Suls or GenIPTV is willing to provide a proper answer to our questions… If they can only say what the problem is, or what has changed since 10th september…
    The main problem is that Suls plugin does not have proper acces rights to download the files, while a simple wget-command will do the trick to download the files. I suer hope someone will take the lead ( Gen or Suls ) to respond.

    1. First of all this is a free script/plugin, we are not affiliated with any suppliers nor do we ask or accept any payments for the hours of work that we’ve spent on it.

      As far as I am aware your provider (that you pay for) has attempted to add security by using Cloudfare to limit what browsers/user agents can access their server. This change has resulted in our script not working.

      This issue only affects a handful of suppliers so although you may think it’s a major issue it only affects a small proportion of users.

      Saying that we would like to resolve it. I’ve requested a free trial from one of the suppliers, I’ve not heard anything back so unsure if they offer trials over the weekend. If the supplier (or users) work with us and gives us a login we should be able to test and put in a fix.

      1. If script could be identified as somthing like this it should work

        Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.149 Safari/537.36

            1. One problem only should’nt picons be renamed to service references or channelname in bouquet?
              Standard is service references so maybe an option to choose between them.

              1. Picons with service references should have names like this

                1_0_1_9CE4_C8F4_261F_0_0_0_0.png For Kanal 5 FHD SE on Rapid for example.

  26. Problem is probably same as RapidIPTV.
    The user-agent is banned and gives Access Denied and fails to download because of that.
    I tried with same user-agent as this script have in webbrowser and change user-agent there and got same results.
    A simple change of user-agent in script would fix it.
    That banned thing also ban download of picons.

  27. I am using OpenATV 6.0
    I have run the script with the url for my m3u url and the url from my providers xmltv data.
    The bouquets were created corectly.
    Then I opened the EPG-Importer and I selected the source „e2m3u2bouquet“. Then I tried to do the manual import oft he source, but the result is „0“ imported datasets.
    I pasted the epg url into firefox, and it returned a bunch of XML data to the browser.

    Somebody could explain me, why there is no results of imported datasets?

    1. I want to add the information that if I’am going to select some preinstalled other sources from Rytec, the import is working fine. But the EPG is not displayed in the bouquet

  28. just a quick one. ive been playing for hours and its doing my head in lol.. any light on the situation would help. i am currently trying to get full epg on SUPERSTREAMS source. when i first did it i got tsn / bein etc all to work then they stopped working. thinking it was a problem with webgrab i tried all different sources and epgimport would say 0 channels imported (testing 1 at once). now i use a custom list as SUPERSTREAMS tends to have a few eird naming conventions but heres the strange thing..bein sports for example is named the same in both my script and in the one downloaded by E2m3u2bouquet but for some reason it will import in 1 but not the other..its really doing my head in.heres the example below.. all UK is fine i have every single channel mapped and pulling epg properly but from line 489 onwards (is there a limit) it wont import..
    **example 1 from suls_iptv_channels.xml**
    webgrab HD3
    xml 1:0:1:8ec8:36cf:4976:0:0:0:0:http%3a//example.m3u8

    ^^^^^^^^^^^^^^^^^^ this fills the epg no problem^^^^^^^^^^^^^^^^^^^^^^^^
    **example 2 from custom_channels.xml**
    webgrab HD3
    xml 1:0:1:8ec8:36cf:4976:0:0:0:0:http%3a//example.m3u8

    ^^^^^^^^^^^^^^^^same channel id & same id but returns 0 channels imported and doesnt fill^^^^^^^^^^^^^^

    everything is identical except the xml name but it fills all UK no problem the second it it hits after line 489 it stops in custom..but i can edit the suls file and it pulls again but every time channel list is update so does the suls_xml so i cant edit that..
    any light on the matter would be muchly appreciated

  29. I am not getting epg data on any channel on my IPTV channels from last 3x days.

    can some one please help me to get epg… It was working great before via epgimport but I am not sure what happend from last 2x days?

    Please help me if any thing new I need to add or edite?

    I am using OpenAtv with solo 4k

  30. Couldn’t get the plugin to work with Ace on my Duo2. Selected Ace, put in login and password and told it to run, but no bouquets appeared at all (have no other iptv bouquets and have not used the plugin on this box before). Tried a few times, double checked password, nothing worked. I ran the script manually with the full url’s from Ace and it worked fine (didn’t try running manually with the -Ace command line). Have they changed url’s or something so the plugin doesn’t work or have I messed something up?

  31. Hi Doug,

    Im using fab and have the latest version and of epg importer installed and e2m3ubouquet.py 0.63 and have all the sources there but when I goto manual download it scans the first 4 groups all with 0 events and then finishes although there is 16 selected. Any ideas here, I tried with both the url method and then with iptv bouquet maker as well.

  32. Hey there,

    Totall new to this but have been doing some reading on your forums etc.Question i have is that i’ve been given the below and when i run this through putty i get just get one almighty list of channels, so is there a way or what is the best way to “group” into bouquets and an EPG or is it not possible ?

    lets just say that the provider hasnt been the most helpful that i have come across technically but talsk a good game.

    any help would be greatly appreciated, thanks.

    wget -O /etc/enigma2/iptv.sh “http://liquidit.info:8080/get.php?username=USERNAME&password=PASSWORD&type=enigma22_script&output=ts” && chmod 777 /etc/enigma2/iptv.sh && /etc/enigma2/iptv.sh

      1. I know this is probably a really dum question but i thought that the plugin only worked with the registered providers ?

        This guy isnt on the list ?

        Can you give me an example of the script and i’ll just have to insert my username and password as i have tried myself and it didnt work lol.

        Thanks if you can help Suls,if not then no probs

                  1. Suls can you please reply to my comment I have used the script and epg importer saying about 5000 events but I’m not getting anything showing up no listings in tv guide or bouquets what am I doing wrong

  33. I’m going to be switching to a supported provider soon. Will I be able to have my normal free view days services combined with the IPTV services when using your plug in?

    Example 105 – Chanel 5 Sat, 106 – Sky One Iptv

      1. Thanks for replying so quickly.

        I might use 1-100 for the free view
        And 101+ for IPTV then.

        Just want a back up of the main channels in case provider goes AWOL

  34. Can’t get EPG to work with my OpenATV 6.1 setup.
    Have edit the script to my box” ./e2m3u2bouquet.py -n GIANTIPTV -u USERNAME -p PASSWORD”

    I get all the channels sorted and picture without any problem. But when I try to import the Epg with Epgimport 1.0+Git170 I get “0 events”

    Help please!!

    1. Are you selecting the source correctly in EPG-Importer?
      Blue button to select sources, select ‘IPTV Bouquet Maker – E2m3u2bouquet’, then select the line below ‘E2m3u2Bouquet’ so you get a green ‘tick’ on the left, then Green button to save…..

        1. Have you by any chance changed the ‘name’ field in config.xml?
          I did this and it was a while before I realised there was another new entry under ‘sources’ (IPTV as well as ‘E2m3u2bouquet) which I needed to select.

  35. I am not getting the EPG Populated, Ran the Script above with Details of IPTV m3u_plus Line.. and the XMLTV Link. The XMLTV link is good, as use it all the time for Perfect Player & tested in Browser, and no issues..
    Just Says 0 Events when i run the EPG-Importer via the source created by the script (e2m3u2bouquet)
    Any Suggestions? as i see above lots of Peeps having this problem..

      1. I assume you meant the Plugin? IPK Install? NO, I have simply run the Script with the Details I have from my M3u, I see all the channels etc, just not the EPG Populating whatsoever..?

        1. The serviceapp plugin is a separate plugin that allows you to change the playback engine on an enigma2 box. If it has been installed it can stop the epg from working.

          If you open the epg-importer plugin and view the log what does it say?

          1. It’s a Fresh Install of Woosh and Ipab, both Tested with it, so i can’t imagine that would be Installed on it, I never installed anyways. I’ll get you a Log over m8. Ta

          2. Edited out the user & pass… Thanks for looking, as I said, Plays back IPTV fine.. Just o events for EPG

            [EPGImport] autostart (0) occured at 1511371892.39
            [EPGImport] autostart (0) occured at 1511371892.51
            [EPGImport] WakeUpTime now set to -1 (now=1511371892)
            [EPGImport] No settings [Errno 2] No such file or directory: ‘/etc/enigma2/epgimport.conf’
            [EPGImport] Selected sources: [‘E2m3u2Bouquet’]
            sourcesDone(): True [‘E2m3u2Bouquet’]
            [EPGImport] WakeUpTime now set to 1511482547 (now=1511373022)
            [EPGImport] nextImport, source= E2m3u2Bouquet
            [EPGImport] Downloading: http://XXXXX/xmltv.php?username=XXXX&password=XXXX to local path: /tmp/epgimport
            [EPGImport] No IPv6, using IPv4 directly: http://XXXXX/xmltv.php?username=XXXX&password=XXXX%5BEPGImport%5D afterDownload /tmp/epgimport
            [EPGImport] unlink /tmp/epgimport
            [EPGImport] afterChannelDownload None
            [EPGImport] Using twisted thread
            [EPGImport] Parsing channels from ‘/etc/epgimport/suls_iptv_channels.xml’
            Serviceref not in bouquets: 1:0:1:84D0:6ADF:97F8:0:0:0:0:http%3a//example.m3u8
            Serviceref not in bouquets: 1:0:1:84D1:6ADF:97F8:0:0:0:0:http%3a//example.m3u8
            [EPGImport] failed to parse /etc/epgimport/suls_iptv_channels.xml Error: not well-formed (invalid token): line 4, column 115
            [XMLTVConverter] Enumerating event information
            [EPGImport] ### thread is ready ### Events: 0
            [EPGImport] imported 0 events
            [EPGImport] Save last import date and count event
            [EPGImport] Run check deep standby after import
            [EPGImport] #### Finished ####
            [EPGImport] WakeUpTime now set to 1511482547 (now=1511373137)

                1. It would interesting to see your m3u playlist, it looks like you have 12 actual channels that are named as categories e.g. “======= UK =========”, “——— UK Kids ————” etc..

                  If you can download your m3u file (replacing your username & password) and send us link via the contact form (https://www.suls.co.uk/contact/) we can have a look.

  36. Updated openatv from 6 to 6.1, copied old settings back from 6 now suls is playing up. I would like to uninstall and reinstall again but ./e2m3u2bouquet.py -Udoes not find the file/s any ideas please

    1. i`ve just done this for iptv epg for the first time….think it`s as good as done but i seem to have around 3 of the bouquets that don`t have any or hardly any channel info,
      i.e. iptv-uk/documentary…..iptv-uk/entertainment and iptv-uk/movies,
      any particular reason why this should be?

      1. If you manually download your provider epg (using the epg url) you should be able to check if any events for those bouquets are listed.

      1. all bouquets and channels within them are there, it`s just movies/documentary/entertainment bouquets are missing like 99% of channel information,
        i don`t know how to sort it or even if it is even sort-able

          1. ok thank you, i did contact them but was told “sometimes it does`nt load up 100%” with no mention of them not having epg info,
            a few channels missing info, yes, but whole bouquets of info does`nt seem right……i appreciate the reply and i would think i`m not being told straight by supplier.

  37. I am using plugin 6.3 on a vu+ zero. Swedish C more films stop after a while when service starts with 4097. When I change 4097 to 1 with a editor the channels do not stop but then
    recording and subtitles do not work. Provider is Geniptv. Any solution?
    Is it possible to run plugin so the service start 1 instead of 4097?

      1. Tanks! Now the service starts with 1and the subtitles work but not the recording. I tested on a Vu+ solo2 there the recording worked when service start with 1.
        I have same version of open blackhole image on vu+ zero and vu+ solo2 but it is different hardware and image.

  38. Hi,

    Firstly wanted to say great work and thank you!

    I have two issues:

    The bouquets seem to reset back to default, I can still see and restore the bouquets created by the script in e-channelizer but am a bit stumped as it didn’t do it to my previously created custom bouquets.

    I also have a similar problem to the person above; recordings work ok but I’ve found that pause, rewind, etc. does not work, yet if I import the m3u into my custom bouquet then it does (no EPG though), I have checked in e-channelizer and all settings are the same.

    Any help will be much appreciated.

    1. If you’ve installed your providers script this will reset the bouquets on restart. See ‘Bouquets disappear after box is rebooted’ on this page

      You’ll need to compare the full service refs in E-Channelizer to see whats different. Some boxes need the ‘All IPTV Type’ option set for recordings (this sets the service ref to start 4097) however this option can cause stuttering and other playback issues

      1. Hi,

        Thanks for the prompt response. Since my original message, they have not reset so I’m going hold off on that for the moment.

        I have changed the service on one channel to 4097 to test but still no joy. Reverted back and if I stream it via E-Channelizer I can pause it.
        On the ones I imported into my custom bouquet I set the epg using the DVB service and it works.

  39. Hi ,

    Is there a way to get it to get the script to stop putting e2m3ubouquet – before each bouquet name eg. e2m3ubouquet – Entertainment, e2m3ubouquet – Kids and so on?

  40. Hi I am trying to use both the script ver7 and ipk 6.3 and both are giving errors.
    here is the error message:
    —-Parsing m3u file—-
    Traceback (most recent call last):
    File “e2m3u2bouquet.py”, line 1274, in
    File “e2m3u2bouquet.py”, line 1241, in main
    File “e2m3u2bouquet.py”, line 227, in parse_m3u
    channeldict[‘stream-url’] = line.strip()
    UnboundLocalError: local variable ‘channeldict’ referenced before assignment
    I would appreciate any help. The provider script creates one big list also the m3u list has lots of groups if played on a different device like smart tv

  41. hello, i`ve got an issue with epg not updating daily (but does manually) and box being on in morning when i get up,
    i get a popup screen warning when go to plugins stating;
    Warning, some plugins are not available:
    Extensions/iptv_list_updater ([Errno socket error]
    [Errno-2] Name or service not known)
    Extensions/E2m3u2bouquet ([Errno socket error]
    [Errno-2] Name or service not known)

    is this fixable?
    thank you.

  42. getting error message , if anyone could help please

    =— Downloading providers file—–
    Traceback (most recent call last) :
    File “./e2m3u2bouqet.py”, line 1274, in
    sys.exit(main() )
    File “./e2m3u2bouqet.py”, line 1219, in main
    provider, username, password)
    ValueError: too many values to unpack

    1. Is this using the script with a named provider? If so what named provider are your trying?
      (It’s possible that you’ve misspelled the provider)

  43. When the script is run channels are added but no epg is imported. There are 3 files produced including the sources.XML with correct epg info line.

    In the channel.XML all channels have http%3a//example.m3u8 like below is this right?


      1. [EPGimport] ##thread is ready### Events =0
        [EPGimport] imported 0 events
        [EPGimport] save last import date and count event
        [EPGimport] Run check deep standby after import
        [EPGimport] ### finished ###

        1. Nothing else in the epg importer log?

          For the epg to work the source needs to be selected in epg importer & the tvg-id in the m3u needs to match the channel id in the xmltv epg feed.

          1. I think that is the problem. Only tvg-name is in the m3u file no tvg-id. Didn’t realise E2 used this one to pair with epg. tvg-name is matching epg

  44. anyone know how to get subtitles to work on the stream. I was getting them now I dont. Was using script v0.7 on my duo2. But now does not come on?

  45. Plugin and EPG-importer works perfect on my Vu+solo2 and Vu+solo4k, but on an older vu+solo only the plugin works. When running manuel update on Epg everything freeze. Anyone got it to work on those older vu+ solo boxes ?

  46. Hi, I am using VU+ zero (tried with VU+ solo2 as well) with Blackhole 3.0.2 and have problems downloading the EPG from my provider. I have tried to use both the latest version of the script and the plugin, all with the outcome, imported 0 events. I have set the proper provider in the EPG importer and when verifying the channel id:s from the xml file, it matches the tvg-id name in the custom mapping file. See below:


    The logs say “Unknown channel: SVT1 SE”
    Did I miss something in the setup?

  47. Hi team,

    Many thanks for the great work!

    I’m having difficulty setting up my second box. My first box was a breeze – FTP ipk file, run it through gui, reboot gui, configure. For some reason on box 2 after rebooting the gui the plugin is not available in the list of plugins. Has anyone had this issue before?

    Thanks in advance for any help

    1. UPDATE: Seems I was a little early asking for help! If you are experiencing the same issue, you may need to install EPG Importer plug in

      Blue button -> plugins -> Download Plugins -> Extensions -> epg import

  48. hi I’m using installer to get channels imported from PPVIPTV username password all correct but it creates no bouquets checked in log and it says error socket number

  49. Is it possible to alter the script so as to always start the channels with 1:0:1: in the EPG channels xml file. When the plugin is used to change the bouquet channels to 4097 mode, it currently writes the EPG xml with 4097 as well – the EPG will not import like this.

    As an example, if a service is generated as:

    #SERVICE 4097:0:1:8511:0e81:cf7d:0:0:0:0:http%3a//host.ddns.net%3a9090/load/xxxxxxxxxxxx/7787.m3u8:WPSU

    Then the EPG entry becomes

    and EPG-Importer does not import it. However it is imported if the EPG entry is as below


  50. It doesn’t matter to Epg-Importer if the services start 4097 or 1. Although if you’ve switched you’re probably best to delete the epg (Setup -> EPG) before importing

          1. It’s a known issue with serviceapp. The epg will not work is you use serviceapp and change the service to 4097.

            Have you tried it without serviceapp?

            1. If I use a find and replace in the EPG channels file and change all the service ID’s from 4097 to 1, then the EPG loads fine. With the service ref beginning with 4097 or 5002, then the EPG import fails and the log says “Invalid serviceref string”. It makes no difference whatsoever if using serviceapp or not – if the EPG is not imported then it cannot be displayed, simple as that.

              Invalid serviceref string: 4097:0:1:9c46:3951:1c2e:0:0:0:0:http%3a//example.m3u8
              Invalid serviceref string: 4097:0:1:9c47:3951:1c2e:0:0:0:0:http%3a//example.m3u8
              Invalid serviceref string: 4097:0:1:9c48:3951:1c2e:0:0:0:0:http%3a//example.m3u8
              Invalid serviceref string: 4097:0:1:9c49:3951:1c2e:0:0:0:0:http%3a//example.m3u8
              Invalid serviceref string: 4097:0:1:9c4a:3951:1c2e:0:0:0:0:http%3a//example.m3u8

              If you can’t see EPG when using serviceapp, then update your image, that bug was fixed on OpenViX 5.1.014 and earlier in OpenATV

              1. Without serviceapp installed (or set to original player) Epg-Importer will import services starting 1 or 4097 without issue. So it’s only when using the exteplayer3 player that Epg-Importer fails to import services starting 4097

                However if the issue with displaying the epg when using the exteplayer3 player is fixed I can force the Epg Importer config to always use the the dvb stream type

                1. If you can force the EPG channels xml to use service type 1, then that will fix the problem. I have tried an experiment and removed serviceapp from my box, then created a test EPG channels xml with 10 services beginning 4097 and another 10 starting 5002 and run the EPG-Importer, it imported 0 services. I then changed the file so all 20 services began with 1 and ran the importer again, this time it imported over 1000 events.

                  1. It must be something specific to your box then.

                    We know for a fact that where serviceapp is not involved a number of people run the script with the 4097 stream type and have no epg issue (myself included)

                    I will force the epg config to use the 1 stream type in the next version as that will allow exteplayer3 to work.

                    1. It’s a strange one, I’ve just updated to the latest ViX release and checked I have the latest EPG-Import plugin and also tried on another box (Duo2) and it’s the same as on the Ultimo4K.

                      I do have another suggestion/request – make it possible to change the bouquet of a channel. eg if a channel is in say the “International” group, make it possible to put the channel in the “Sports” group using the sort-override xml

                    2. Epg Importer starts a fake recording to filter invalid service refs.

                      That’s why it doesn’t work when serviceapp is overriding the 4097 service as exteplayer3 has no recording support. You can see this in the channelFilter function of the EPG Importer source code

  51. Dougie,

    I have got around the above by doing the following:

    Adding a Variable:
    Adding this line under x[‘serviceRef’] = “{}:0:1:{}:0:0:0”.format(x[‘stream-type’], service_ref) (I use a heavily modified version of this and have changed all iptv to stream type allowing selection of 1, 4097, 5001 & 5002 )
    x[‘ST1serviceref’] = “1:0:1:{}:0:0:0”.format(service_ref) #modify line to assign data for suls_iptv_channels.xml

    and have changed this line to

    f.write(‘{}{}:http%3a//example.m3u8 \n’
    .format(indent, self.xml_escape(tvg_id.encode(‘utf-8’)), x[‘ST1serviceref’],
    self.xml_escape(self.get_service_title(x).encode(‘utf-8’)))) # changed line for modified service reference

    I hope this is some use to you and if i can be of any use in future do let me know

Leave a Reply