Thanks: 0
Ergebnis 1 bis 8 von 8
-
25.03.2019, 09:13 #1
- Registriert seit
- 21.03.2019
- Beiträge
- 2
- Thanks (gegeben)
- 0
- Thanks (bekommen)
- 0
- Total Downloaded
- 0
- Total Downloaded
- 0
DM800 SE running OpenATV6.2 IPTV bouquet problem
- I had IPTV subscription from one provide for trail and it was working fine
- I changed the provider and i could install the IPTV bouquet list successfully using DCC telnet command wget -O /etc/enigma2/iptv.sh "xxxxxx/get.php?username=xxxxx&password=xxxxxx&type=enigma 216_script&output=ts" && chmod 777 /etc/enigma2/iptv.sh && /etc/enigma2/iptv.sh
- The problem that after any reboot the IPTV channel list disappear and i have <n/a> instead
- i tried to delete userbouquet.IPTV__tv_.tv from /etc/enigma2 and IPTV.SH and IPTV.SH pre start from usr/bin but the problem still exist
-
Advertising
-
25.03.2019, 16:45 #2
- Registriert seit
- 02.01.2017
- Ort
- Slovakia
- Beiträge
- 1.460
- Thanks (gegeben)
- 91
- Thanks (bekommen)
- 418
- Total Downloaded
- 323,0 KB
- Total Downloaded
- 323,0 KB
Box 1:Vu+ Zero 4KBox 2:Vu+ Solo SE V2Box 3:Formuer F4-TURBOHello.
Since I didn't see the iptv.sh script code, I can't judge where the error is.
Probably the bash script starts some service for your IPTV, which is neccessary to working iptv. However, the first time you run the bash script, this service is activated and IPTV works. However, the service does not start after rebooting. I'm thinking that could be Udpxy service. Can you show the content of iptv.sh script ? Or not ? Thanks.
-
25.03.2019, 17:10 #3
- Registriert seit
- 21.03.2019
- Beiträge
- 2
- Thanks (gegeben)
- 0
- Thanks (bekommen)
- 0
- Total Downloaded
- 0
- Total Downloaded
- 0
ThemenstarterUSERNAME="xxxx";PASSWORD="xxxxx";bouquet="IPTV";di rectory="/etc/enigma2/iptv.sh";url="http://190.2.145.164:8080/get.php?username=$USERNAME&password=$PASSWORD&type =enigma16&output=ts";rm /etc/enigma2/userbouquet."$bouquet"__tv_.tv;wget -O /etc/enigma2/userbouquet."$bouquet"__tv_.tv $url;if ! cat /etc/enigma2/bouquets.tv | grep -v grep | grep -c $bouquet > /dev/null;then echo "[+]Creating Folder for iptv and rehashing...";cat /etc/enigma2/bouquets.tv | sed -n 1p > /etc/enigma2/new_bouquets.tv;echo '#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.'$bouquet'__tv_.tv" ORDER BY bouquet' >> /etc/enigma2/new_bouquets.tv; cat /etc/enigma2/bouquets.tv | sed -n '2,$p' >> /etc/enigma2/new_bouquets.tv;rm /etc/enigma2/bouquets.tv;mv /etc/enigma2/new_bouquets.tv /etc/enigma2/bouquets.tv;fi;rm /usr/bin/enigma2_pre_start.sh;echo "writing to the file.. NO NEED FOR REBOOT";echo "/bin/sh "$directory" > /dev/null 2>&1 &" > /usr/bin/enigma2_pre_start.sh;chmod 777 /usr/bin/enigma2_pre_start.sh;wget -qO - "http://127.0.0.1/web/servicelistreload?mode=2";wget -qO - "http://127.0.0.1/web/servicelistreload?mode=2";
Many thanks in advance for your time and efforts
-
26.03.2019, 14:43 #4
- Registriert seit
- 02.01.2017
- Ort
- Slovakia
- Beiträge
- 1.460
- Thanks (gegeben)
- 91
- Thanks (bekommen)
- 418
- Total Downloaded
- 323,0 KB
- Total Downloaded
- 323,0 KB
Box 1:Vu+ Zero 4KBox 2:Vu+ Solo SE V2Box 3:Formuer F4-TURBODid you check the content of userbouquets files, before and after rebooting ? Has anything changed there ?
The only thing I can see is that the "/etc/enigma2/iptv.sh" script (using the "/usr/bin/enigma2_pre_start.sh" startup script) is bash-script started before Enigma boot. This may be a problem.
Also in the script "iptv.sh" I see some errors. As long as Enigma is not running, OpenWebif does not work and it is not possible to try reload userbouquets (wget -qO - "http://127.0.0.1/web/servicelistreload?mode=2").
Bash script "iptv.sh" reformatted and without semicolons is here:
Code:#!/bin/sh USERNAME="xxxx" PASSWORD="xxxxx" bouquet="IPTV" directory="/etc/enigma2/iptv.sh" url="http://190.2.145.164:8080/get.php?username=$USERNAME&password=$PASSWORD&type=enigma16&output=ts" rm /etc/enigma2/userbouquet."$bouquet"__tv_.tv wget -O /etc/enigma2/userbouquet."$bouquet"__tv_.tv $url if ! cat /etc/enigma2/bouquets.tv | grep -v grep | grep -c $bouquet > /dev/null then echo "[+]Creating Folder for iptv and rehashing..." cat /etc/enigma2/bouquets.tv | sed -n 1p > /etc/enigma2/new_bouquets.tv echo '#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.'$bouquet'__tv_.tv" ORDER BY bouquet' >> /etc/enigma2/new_bouquets.tv cat /etc/enigma2/bouquets.tv | sed -n '2,$p' >> /etc/enigma2/new_bouquets.tv rm /etc/enigma2/bouquets.tv mv /etc/enigma2/new_bouquets.tv /etc/enigma2/bouquets.tv fi rm /usr/bin/enigma2_pre_start.sh echo "writing to the file.. NO NEED FOR REBOOT" echo "/bin/sh "$directory" > /dev/null 2>&1 &" > /usr/bin/enigma2_pre_start.sh chmod 777 /usr/bin/enigma2_pre_start.sh wget -qO - "http://127.0.0.1/web/servicelistreload?mode=2"
I also think that the code part that modifies (creates a new) "enigma2_pre_start.sh" script should be triggered via the IF condition. The script is very tacky, primitive, very badly debugged, with possible causes of problems. For example, first, the script could verify if there exists "enigma2_pre_start.sh" file and if so, check to see if there is a record to start "/etc/enigma2/iptv.sh" and then ignore the file if it is already in this file.
//// EDIT 2:
I remembered another possible problem. The internet may not be connected before Enigma2 starting. So the script deletes the current userbouquest iptv file and then tries to download the new file - what is of course the author's misstake when writing the script algorithm. As the first, the algorithm must try to download a new userbouquet file from the internet and if there is a newer file on the internet and if the file was SUCCESSFULLY downloaded from the internet, then he can delete the original file, ideally with its overwriting (moving + rewriting file as the force). This is what I wrote before already - you have to verify, how the contents of the "/etc/enigma2" folder appear before but after reboot of your set-top-box.
//// EDIT 3:
I edited the script (download here: iptv.zip) to not delete the file during the reboot, even if the new list was not downloaded from the Internet. Of course, the problem of inaccessible internet will not solve this. For example, you could schedule a CRON to run a script every night at 4.00 am, for example, every third day. This will automatically run the "/etc/enigma2/iptv.sh" script to automatically update your iptv-list.Geändert von s3n0 (26.03.2019 um 18:07 Uhr)
-
05.03.2020, 09:33 #5
- Registriert seit
- 25.04.2013
- Beiträge
- 696
- Thanks (gegeben)
- 91
- Thanks (bekommen)
- 104
- Total Downloaded
- 55,36 MB
- Total Downloaded
- 55,36 MB
Box 1:DM 920HDHi there,
I changed this script slightly.
I want to copy a url that is already written in Enigma2 format directly onto the box.
When I run the script, my overview of the boquets is completely changed.
my script is here:
Code:#!/bin/bash url="my url" rm /etc/enigma2/userbouquet."$bouquet"__news_.tv wget -O /etc/enigma2/userbouquet."$bouquet"__news_.tv $url if ! cat /etc/enigma2/bouquets.tv | grep -v grep | grep -c $bouquet > /dev/null then echo "[+]Creating Folder for iptv and rehashing..." cat /etc/enigma2/bouquets.tv | > /etc/enigma2/new_bouquets.tv echo '#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.'$bouquet'__tv_.tv" ORDER BY bouquet' >> /etc/enigma2/new_bouquets.tv cat /etc/enigma2/bouquets.tv | >> /etc/enigma2/new_bouquets.tv rm /etc/enigma2/bouquets.tv mv /etc/enigma2/new_bouquets.tv /etc/enigma2/bouquets.tv fi #now reload servicelist wget -q -O - http://127.0.0.1/web/servicelistreload?mode=2 > /dev/null 2>&1 echo "neue Senderlist Updated "
Code:-H Add 'filename:' prefix -h Do not add 'filename:' prefix -n Add 'line_no:' prefix -l Show only names of files that match -L Show only names of files that don't match -c Show only count of matching lines -o Show only the matching part of line -q Quiet. Return 0 if PATTERN is found, 1 otherwise -v Select non-matching lines -s Suppress open and read errors -r Recurse -i Ignore case -w Match whole words only -x Match whole lines only -F PATTERN is a literal (not regexp) -E PATTERN is an extended regexp -m N Match up to N times per file -A N Print N lines of trailing context -B N Print N lines of leading context -C N Same as '-A N -B N' -e PTRN Pattern to match -f FILE Read pattern from file [+]Creating Folder for iptv and rehashing... neue Senderlist Updated
-
05.03.2020, 12:31 #6
- Registriert seit
- 02.01.2017
- Ort
- Slovakia
- Beiträge
- 1.460
- Thanks (gegeben)
- 91
- Thanks (bekommen)
- 418
- Total Downloaded
- 323,0 KB
- Total Downloaded
- 323,0 KB
Box 1:Vu+ Zero 4KBox 2:Vu+ Solo SE V2Box 3:Formuer F4-TURBOHi.
You do not need the entire Shell script for your purpose, but only one line is sufficient:
Code:init 4; sleep 5; wget -O "/etc/enigma2/userbouquet.YOUR_BOUQET_NAME.tv" "http://your_url/userbouquet.YOUR_BOUQET_NAME.tv"; init 3
When overwriting userbouquet files, it is better if Enigma is stopped. When restarting, user user files can also be saved and overwriting those files that you uploaded during the Enigma run.
Fact Two:
The userbuquet reload is therefore not needed because it will reboot to the entire Enigma quickly.
Fact three:
If you use the same IPTV name at a time, edit the "/etc/enigma2/bouquets.tv" file according to the prescribed format so that your userbouquet file name is always included in it. Then just repeatedly, regularly download newer userbouquet from the Internet and directly transcribe the old one. In addition, you can download (if you use Shell script) a file to the "/tmp" folder, and if the sizes of the two files do not match, then only stop the Enigma and copy the new file to Enigma. For example, I mean the following Shell-script:
Code:#!/bin/sh online_file="http://hostname/path/userbouquet.SOMENAME.tv" local_file="/etc/enigma2/userbouquet.SOMENAME.tv" log_file="/home/root/iptv_bouquet_updating.log" if wget --spider ${online_file} 2>/dev/null; then # check the existence of an online file wget -q -O /tmp/e "$online_file" > /dev/null 2>&1 [ -f $local_file ] || touch $local_file # create an empty file - if the file does not exist if [ "$(stat -c%s /tmp/e)" != "$(stat -c%s $local_file)" ]; then init 4 # stop the Enigma sleep 5 mv -f /tmp/e $local_file init 3 # start the Enigma echo `date '+%Y-%m-%d %H:%M:%S'`": $online_file file was downloaded, replaced and reloaded in your Enigma2" >> $log_file else echo `date '+%Y-%m-%d %H:%M:%S'`": $online_file file was downloaded, not replaced (it is the same file size as local file in Enigma2)" >> $log_file fi rm -f /tmp/e else echo `date '+%Y-%m-%d %H:%M:%S'`": $online_file file was not found !" >> $log_file fi exit 0
... it will probably be caused by using Bash instead of Sh (Ash). OpenATV firmware uses Bash and Ash (Sh is just a symbolic link to Ash). Try to use quotation marks for grep in the variable "$bouquet", and also for wget, put the variable in quotation marks rather than "$url".
This part of the algorithm to edit the "/etc/enigma2/bouquets.tv" file could be done in a slightly different way.Geändert von s3n0 (05.03.2020 um 12:49 Uhr)
-
05.03.2020, 12:51 #7
- Registriert seit
- 25.04.2013
- Beiträge
- 696
- Thanks (gegeben)
- 91
- Thanks (bekommen)
- 104
- Total Downloaded
- 55,36 MB
- Total Downloaded
- 55,36 MB
Box 1:DM 920HDthanks for the help i got the following issue:
2020-03-05 12:53:35: https://raw.githubusercontent.com/us...t.mytv__tv_.tv file was downloaded, not replaced (it is the same file size as local file in Enigma2)
I don't see anything in the channel list
the boquet is removed immediately = userbouquet.__mytv_.tv.delGeändert von dreamboxco (05.03.2020 um 13:14 Uhr)
-
05.03.2020, 16:11 #8
- Registriert seit
- 02.01.2017
- Ort
- Slovakia
- Beiträge
- 1.460
- Thanks (gegeben)
- 91
- Thanks (bekommen)
- 418
- Total Downloaded
- 323,0 KB
- Total Downloaded
- 323,0 KB
Box 1:Vu+ Zero 4KBox 2:Vu+ Solo SE V2Box 3:Formuer F4-TURBOUhm, I don't understand you. What does not work ? Contact me on Skype, if you want.
////////// EDIT :
If you used my script and if your files are always the same size, then simply remove the comparison of the size of two files (where I use "stat". This "stat" is not suitable anymore because it doesn't work in every GNU Shell. only in some firmware, of course this "stat" works in OpenATV.
Code:if ["$(wc -c < $tmp_file)" != "$(wc -c < $local_file)"]; then echo "the sizes of both files are the same"; fi
The OpenWebif api calling is often used for this purpose:
Enigma2:WebInterface – DreamboxWIKI
Code:wget -q -O - "http://127.0.0.1/web/servicelistreload?mode=2" > /dev/null 2>&1
Code:init 4 # stop the Enigma sleep 5 ### do something init 3 # start the Enigma
Shell script src code: e2scripts/bouquetx.sh at master * s3n0/e2scripts * GitHub
Shell script download: https://github.com/s3n0/e2scripts/ra...er/bouquetx.shGeändert von s3n0 (06.03.2020 um 02:34 Uhr)
Lesezeichen