Senderlisten Update Plugin

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Senderlisten Update Plugin

      Hallo Zusammen

      Habe mal aus einem Script Ausführplugin ein Script geschrieben um die Senderliste über einen Webserver zu aktualisieren.
      Ihr müsst nur noch in der ExecuteMyScript.sh den Weblink anpassen und die Senderliste auf euren Webserver als senderliste.tar.gz hochladen.

      Gruss adsid

      The post was edited 1 time, last by adsid ().

    • So habe es hingekriegt:

      Hier das Script müsst nur die URL Anpassen:

      #!/bin/sh

      set -x
      exec > /var/log/Enigma2_Bouquet_Picon_Update.log 2>&1

      BQ="http://www.xxxxxxxxxxx.de/senderliste.tar.gz"

      ## Bouquet Download, Installation + Reload ##
      cd /tmp/
      wget $BQ
      chmod 755 /tmp/senderliste.tar.gz
      tar -xzvf senderliste.tar.gz

      cd /tmp/etc/enigma2
      rm -rf /etc/tuxbox/satellites.xml
      mv /tmp/etc/enigma2/satellites.xml /etc/tuxbox/

      cd /etc/enigma2
      rm -rf *.tv
      rm -rf *.radio
      rm -rf blacklist
      rm -rf lamedb
      mv /tmp/etc/enigma2/* /etc/enigma2

      rm -rf /tmp/etc/
      rm -rf /tmp/senderliste.tar.gz

      wget -qO - 127.0.0.1/web/servicelistreload?mode=1
      wget -qO - 127.0.0.1/web/servicelistreload?mode=2

      gruss adsid
      Files
    • @adsid
      too easy :)

      i will show my way:
      on my master box(dm8000) time at time i run manually
      /usr/script/ServicesE2_backup_userscript.sh
      it creates servicesE2_bc.tar.gz(services+bouquets) and servicesE2_bc.tar.gz_md5.txt(archive's md5)
      that files i place under some www

      and all slave boxes have
      /usr/script/MartiniChannelsListE2_download_userscript.sh
      it download&replace services&bouquets only if md5 control sum has been changed since last execute time
      on some boxes users call it manually from `Menu->Plugins->Script executer`, but on parent's boxes i have add it in system startup

      content of sh files(second without www path):
      on the master box
      /usr/script/ServicesE2_backup_userscript.sh

      Shell-Script

      1. #!/bin/sh
      2. # MartiniB #
      3. ###################
      4. foo="$0"
      5. crntNameExt=${foo##*/}
      6. crntNameShort=${crntNameExt%_userscr*}
      7. #BoxNAME=`cat -u /var/etc/hostname| head -n1`
      8. [ -e /var/etc/hostname_own ] && BoxNAME=`cat -u /var/etc/hostname_own| head -n1` || BoxNAME=`cat -u /var/etc/hostname| head -n1`
      9. #BoxTYPE=`grep -s type= /proc/bus/dreambox| head -n1| sed -e 's/.*type=//'`
      10. BoxTYPE=`cat -u /proc/stb/info/model| head -n1`
      11. TAR_NAME="$crntNameShort"_`date +%Y.%m.%d`_"$BoxNAME"\("$BoxTYPE"\)
      12. DirTmp="/tmp/"
      13. DirEtc="/etc/"
      14. DirTuxbox="/etc/tuxbox/"
      15. DirEnigma="/etc/enigma2/"
      16. CopyTo=""/media/hdd" "/media/net/bigdisk/zzzDreambox_tmp""
      17. dos2unix "$DirEnigma"*bouquet*
      18. add_to_tarline () {
      19. if [ -e "$i" ]; then
      20. files2tar="$files2tar"`echo "$i"| sed s?\/??`" "
      21. echo "$i"
      22. echo "$i">>"$LogFile"
      23. else
      24. echo "!!! NOT FOUND: $i"
      25. echo "!!! NOT FOUND: $i">>"$LogFile"
      26. fi
      27. }
      28. print_bt_2_log () {
      29. echo ""
      30. echo "">>"$LogFile"
      31. echo "$BT:"
      32. echo "$BT:">>"$LogFile"
      33. }
      34. files2tar=""
      35. LogFile="$DirTmp$TAR_NAME"_log.txt
      36. echo "$DirTmp$TAR_NAME">"$LogFile"
      37. echo "">>"$LogFile"
      38. rm -rf "$DirTmp$TAR_NAME"*
      39. BT="SERVICES"
      40. print_bt_2_log
      41. for i in "$DirEnigma"lamedb "$DirEnigma"*bouquet* "$DirEnigma"blacklist "$DirEnigma"whitelist "$DirTuxbox"satellites.xml; do
      42. add_to_tarline
      43. done
      44. if [ ! "$files2tar" = "" ]; then
      45. BT="create "$DirTmp$TAR_NAME".tar.gz"
      46. print_bt_2_log
      47. tar -czf "$DirTmp$TAR_NAME".tar.gz -C / ${files2tar}
      48. if [ -f "$DirTmp$TAR_NAME".tar.gz ]; then
      49. md5sum "$DirTmp$TAR_NAME".tar.gz| awk {'print $1'}>"$DirTmp$TAR_NAME"_md5.txt
      50. for cpPATH in $CopyTo; do
      51. if [ -e "$cpPATH" ]; then
      52. echo copy to "$cpPATH"
      53. cp "$DirTmp$TAR_NAME".tar.gz "$cpPATH"/>/dev/null
      54. #cp "$DirTmp$TAR_NAME"_md5.txt "$cpPATH"/>/dev/null
      55. cp "$LogFile" "$cpPATH"/>/dev/null
      56. cp "$DirTmp$TAR_NAME".tar.gz "$cpPATH"/servicesE2_bc.tar.gz>/dev/null
      57. cp "$DirTmp$TAR_NAME"_md5.txt "$cpPATH"/servicesE2_bc.tar.gz_md5.txt>/dev/null
      58. fi
      59. done
      60. else
      61. echo "!!! FAILED !!!"
      62. fi
      63. fi
      64. exit 0
      Display All


      on the slave boxes
      /usr/script/MartiniChannelsListE2_download_userscript.sh
      (edit, line URL=..)

      Shell-Script

      1. #!/bin/sh
      2. # MartiniB #
      3. ## configuration
      4. URL="http://www.????????????/"
      5. FILENAME="servicesE2_bc.tar.gz"
      6. ## end
      7. foo="$0"
      8. shTXT=${foo%.*}".txt"
      9. shFORCE=`echo $0| sed s?download?download\(forced\)?`
      10. DirEnigma=/etc/enigma2/
      11. E2conf="$DirEnigma"settings
      12. fLAMEDB="$DirEnigma"lamedb
      13. fTMP="$fLAMEDB".tmp
      14. rm -rf /tmp/$FILENAME /tmp/"$FILENAME"_md5.txt "$fTMP" ""$shFORCE""
      15. RemoveTerrestialBouquets () {
      16. sed -e 's/.*"userbouquet\.lattelecom\.tv".*//' -e 's/.*"userbouquet\.baltcom\.tv".*//' "$DirEnigma"bouquets.tv| sed '/^$/d'>"$DirEnigma"bouquets.tv.tmp
      17. [ -s "$DirEnigma"bouquets.tv.tmp ] && mv "$DirEnigma"bouquets.tv.tmp "$DirEnigma"bouquets.tv
      18. rm -f "$DirEnigma"*lattelecom.tv "$DirEnigma"*baltcom.tv
      19. #RebootBox=1
      20. }
      21. PatchTerrestialRegionalTransponders () {
      22. case `cat "$fLAMEDB"_patch_dvbt` in
      23. cesvaine)
      24. sed -e 's/t\ 530000000:/t\ 634000000:/' -e 's/t\ 554000000:/t\ 770000000:/' -e 's/t\ 650000000:/t\ 482000000:/' -e 's/t\ 666000000:/t\ 858000000:/' -e 's/t\ 690000000:/t\ 546000000:/' -e 's/t\ 658000000:/t\ 498000000:/' "$fLAMEDB">"$fTMP";;
      25. daugavpils)
      26. sed -e 's/t\ 530000000:/t\ 682000000:/' -e 's/t\ 554000000:/t\ 714000000:/' -e 's/t\ 650000000:/t\ 818000000:/' -e 's/t\ 666000000:/t\ 522000000:/' -e 's/t\ 690000000:/t\ 618000000:/' -e 's/t\ 658000000:/t\ 626000000:/' "$fLAMEDB">"$fTMP";;
      27. kuldiga)
      28. sed -e 's/t\ 530000000:/t\ 546000000:/' -e 's/t\ 554000000:/t\ 626000000:/' -e 's/t\ 650000000:/t\ 682000000:/' -e 's/t\ 666000000:/t\ 722000000:/' -e 's/t\ 690000000:/t\ 506000000:/' -e 's/t\ 658000000:/t\ 586000000:/' "$fLAMEDB">"$fTMP";;
      29. liepaja)
      30. sed -e 's/t\ 530000000:/t\ 474000000:/' -e 's/t\ 554000000:/t\ 794000000:/' -e 's/t\ 650000000:/t\ 802000000:/' -e 's/t\ 666000000:/t\ 514000000:/' -e 's/t\ 690000000:/t\ 570000000:/' -e 's/t\ 658000000:/t\ 586000000:/' "$fLAMEDB">"$fTMP";;
      31. rezekne)
      32. sed -e 's/t\ 530000000:/t\ 658000000:/' -e 's/t\ 554000000:/t\ 706000000:/' -e 's/t\ 650000000:/t\ 802000000:/' -e 's/t\ 666000000:/t\ 522000000:/' -e 's/t\ 690000000:/t\ 618000000:/' -e 's/t\ 658000000:/t\ 602000000:/' "$fLAMEDB">"$fTMP";;
      33. valmiera)
      34. sed -e 's/t\ 530000000:/t\ 474000000:/' -e 's/t\ 554000000:/t\ 714000000:/' -e 's/t\ 650000000:/t\ 738000000:/' -e 's/t\ 666000000:/t\ 706000000:/' -e 's/t\ 690000000:/t\ 570000000:/' -e 's/t\ 658000000:/t\ 826000000:/' "$fLAMEDB">"$fTMP";;
      35. viesite)
      36. sed -e 's/t\ 530000000:/t\ 610000000:/' -e 's/t\ 554000000:/t\ 674000000:/' -e 's/t\ 650000000:/t\ 786000000:/' -e 's/t\ 666000000:/t\ 730000000:/' -e 's/t\ 690000000:/t\ 514000000:/' -e 's/t\ 658000000:/t\ 490000000:/' "$fLAMEDB">"$fTMP";;
      37. esac
      38. [ -s "$fTMP" ] && mv "$fTMP" "$fLAMEDB"
      39. }
      40. CleanBouquetsFromNotInstalledSattelites () {
      41. FoundSatPosHEX="" SatPosToSED=""
      42. for SatPosHEX in `grep "#SERVICE 1:0:.*:.*:.*:.*:.*:0:0:0:" "$DirEnigma"userbouquet.*| sed -e s/....:0:0:0://g -e s/.*://g| sort| uniq`; do
      43. SatPosDEC=$((0x$SatPosHEX))
      44. if [ "$SatPosDEC" -le 3600 ]; then
      45. # echo sat
      46. [ "$SatPosDEC" -gt 1800 ] && SatPosANA=$((((3600-SatPosDEC+2))/10))" West" || SatPosANA=$((((SatPosDEC+2))/10))" East"
      47. #if ! grep -qs ".sat.$SatPosDEC." "$E2conf"; then
      48. #echo "Sat pos "$SatPosANA" not installed - remove services from bouquet files"
      49. #[ ! "$SatPosToSED" ] && SatPosToSED="$SatPosHEX" || SatPosToSED="$SatPosToSED\\|$SatPosHEX"
      50. #else
      51. #echo "Sat pos "$SatPosANA" found - ok"
      52. #fi
      53. if grep -qs ".sat.$SatPosDEC." "$E2conf" || grep -qs ".diseqc[A-D]=$SatPosDEC" "$E2conf"; then
      54. echo "Sat pos "$SatPosANA" found - ok"
      55. else
      56. echo "Sat pos "$SatPosANA" not installed - remove services from bouquet files"
      57. [ ! "$SatPosToSED" ] && SatPosToSED="$SatPosHEX" || SatPosToSED="$SatPosToSED\\|$SatPosHEX"
      58. fi
      59. #elif [ "$SatPosDEC" = 56797 ]; then
      60. # echo cable
      61. #elif [ "$SatPosDEC" = 61166 ]; then
      62. # echo air
      63. fi
      64. done
      65. if [ "$SatPosToSED" ]; then
      66. for fBouquet in "$DirEnigma"userbouquet.*.tv "$DirEnigma"userbouquet.*.radio; do
      67. sed s/^"#SERVICE\ 1:0:.*:.*:.*:.*:\("$SatPosToSED"\)"....:.*:.*:.*://g "$fBouquet"| uniq| sed '/^$/{N;s/\n\#DESCR.*//;}'| sed '/^$/d'>"$fBouquet".tmp
      68. if [ -s "$fBouquet".tmp ] && [ `md5sum $fBouquet| awk {'print $1'}` != `md5sum "$fBouquet".tmp| awk {'print $1'}` ]; then
      69. mv "$fBouquet".tmp "$fBouquet"
      70. else
      71. rm -f "$fBouquet".tmp
      72. fi
      73. done
      74. fi
      75. }
      76. SleepAndReboot () {
      77. while true
      78. do
      79. sleep 5; reboot; sleep 9; killall -9 enigma2
      80. done
      81. }
      82. wget -q "$URL$FILENAME"_md5.txt -P /tmp
      83. if [ "$?" = "0" ]; then
      84. if [ -s /tmp/"$FILENAME"_md5.txt ]; then
      85. CrntMD5=`cat -u /tmp/"$FILENAME"_md5.txt| head -n1`
      86. [ -e "$shTXT" ] && PrevMD5=`cat -u "$shTXT"| head -n1` || PrevMD5="00"
      87. if [ "$PrevMD5" = "$CrntMD5" ]; then
      88. echo "file on server isn't changed"
      89. else
      90. wget $URL$FILENAME -P /tmp
      91. if [ "$?" = "0" ]; then
      92. if [ -s /tmp/$FILENAME ]; then
      93. echo extract files
      94. echo "$CrntMD5">"$shTXT"
      95. rm -f "$DirEnigma"userbouquet.*
      96. #init 4; sleep 4; killall -9 enigma2; sleep 2
      97. tar -zxf /tmp/$FILENAME -C /
      98. if [ `grep -ics "DVB-T" /proc/bus/nim_sockets` -eq 0 ]; then
      99. RemoveTerrestialBouquets
      100. elif [ `grep -ics "TrialTuner" /proc/bus/nim_sockets` -gt 0 ] || [ -e /lib/modules/*/extra/trialtunerdriver.ko ]; then
      101. sed -e '/^[[:space:]]s\ .*:.*:.*:.*:.*:.*:.*:.*:/,/\// s/:[01]$/:2/' "$fLAMEDB">"$fTMP"
      102. [ -s "$fTMP" ] && mv "$fTMP" "$fLAMEDB"
      103. sed -r '/^[[:space:]]s\ .*:.*/,/\// s|(s ([^:]+:){5})([^:]+:){1}(.*)|\12:\4|' "$fLAMEDB">"$fTMP"
      104. [ -s "$fTMP" ] && mv "$fTMP" "$fLAMEDB"
      105. #RebootBox=1
      106. fi
      107. [ -e "$fLAMEDB"_patch_dvbt ] && PatchTerrestialRegionalTransponders
      108. if grep -qs ".sat.3590." "$E2conf"|| grep -qs ".diseqc[A-D]=3601" "$E2conf"|| grep -qs ".sat.49." "$E2conf"|| grep -qs ".diseqc[A-D]=49" "$E2conf"|| grep -qs ".sat.50." "$E2conf"|| grep -qs ".diseqc[A-D]=50" "$E2conf"|| grep -qs ".sat.158." "$E2conf"|| grep -qs ".diseqc[A-D]=158" "$E2conf"; then
      109. echo change Sat positions in Enigma2 config
      110. echo restart GUI && sleep 2
      111. sed -e 's/\.sat\.3590\./\.sat\.3592\./' -e '/^config.Nims.[0-9].diseqc[A-D]=/{s/=3601/=3602/}' -e 's/\.sat\.49\./\.sat\.48\./' -e '/^config.Nims.[0-9].diseqc[A-D]=/{s/=49/=48/}' -e 's/\.sat\.50\./\.sat\.48\./' -e '/^config.Nims.[0-9].diseqc[A-D]=/{s/=50/=48/}' -e 's/\.sat\.158\./\.sat\.160\./' -e '/^config.Nims.[0-9].diseqc[A-D]=/{s/=158/=160/}' "$E2conf">"$E2conf".tmp
      112. [ -s "$E2conf".tmp ] && mv "$E2conf".tmp "$E2conf"
      113. #[ "$RebootBox" = "1" ] && reboot || init 3
      114. #else
      115. #echo reaload services and bouquets
      116. #wget -O /dev/null -q http://127.0.0.1/web/servicelistreload?mode=0
      117. #[ "$RebootBox" = "1" -o `grep -ics "DVB" /proc/bus/usb/devices` -gt 0 ] && reboot || init 3
      118. fi
      119. CleanBouquetsFromNotInstalledSattelites
      120. if [ `ps ax| grep -v grep| grep -c enigma2` -gt 0 ]; then
      121. echo restart box
      122. SleepAndReboot &
      123. killall -9 enigma2
      124. fi
      125. else
      126. echo Zero len /tmp/$FILENAME
      127. fi
      128. else
      129. echo !!! Download $URL$FILENAME failed !!!
      130. fi
      131. fi
      132. else
      133. echo Zero len /tmp/"$FILENAME"_md5.txt
      134. fi
      135. else
      136. echo !!! Download "$URL$FILENAME"_md5.txt failed !!!
      137. fi
      138. exit 0
      Display All
      dm7080sstt; 2x dm8000sstt; dm7020s <- Diseq1x4 <- 3x Diseq1x10 <-
      Dishes:
      1.8m 36E;28E;23E;19E;16E;13E;7E
      1.6m 42E;36E
      1.0m 10/9E;5E;1W;8W
      1.0m 15W;22W;30W
      1.1m 4/5W;12W;18W;24W
      1.1m 53E;60E
      1.0m 75E
      TVs: Philips 46pfl9707s; Philips 42pfl9703h
    • or you solve it like @matze with .ipk's instead of tar.gz and an own feed. Then you only need a cronjob like

      0 6 * * * opkg update && opkg install settings

      on the client boxes. If a new packages is released, it would be installed at 6 a.m. All scripts and patches could be included into the postinst script of the .ipk. So you don't need a script on the clients boxes - which probably needs updates too ...
    • @MiRoMOMO
      satellites.xml, cables.xml and terrestrial.xml are just supplier of frequencies list for next autoscan,
      actually i hate this function cause Enigma2 do reset of many parameter for already know services and transponders on each autoscan

      for know transponders i use selfmade script by which i zap to one service of each frequency
      for completely new transponders i have to scan them manually
      that is only way to have `NewFound` flags for new services, but without reset parameters of previous stored services

      @Fred Bogus Trumper
      there are couple of reasons choose tar.gz instead .ipk
      1. i'm too stupid
      2. script comes from Enigma1 age, not that advanced, but still in use
      3. see content or extract some file from tar.gz is lot easier by TotalComander than by ar on dreambox
      4. ipks are os version dependent - made for oe2.0 will not work on another oe?.?
      5. create ipk without linux pc on the dreambox is almost mission impossible
      6. can't understand ipk philosophy at all, why Newnigma2 provide every day huge count of new ipks which content isn't changed, only new date in file titles

      automated star is done from /etc/rc3.d/S90UserInit

      Shell-Script

      1. #!/bin/sh
      2. [ -e /usr/bin ] || mkdir /usr/bin
      3. [ -e /usr/keys ] || mkdir /usr/keys
      4. [ -e /usr/script ] || mkdir /usr/script
      5. [ -e /var/bin ] || ln -s /usr/bin /var/
      6. [ -e /var/keys ] || ln -s /usr/keys /var/
      7. [ -e /var/script ] || ln -s /usr/script /var/
      8. [ -e /usr/tmp ] || ln -s /tmp /usr/
      9. [ -e /var/tmp ] || ln -s /tmp /var/
      10. echo "B0">/proc/stb/fp/fan_vlt
      11. #[ -e /usr/script/mount_media_cf.sh ] && /usr/script/mount_media_cf.sh
      12. [ -e /usr/script/python_patcher.sh ] && /usr/script/python_patcher.sh
      13. [ -e /usr/script/skin_patcher.sh ] && /usr/script/skin_patcher.sh
      14. [ -e /usr/script/MartiniChannelsListE2_download_userscript.sh ] && /usr/script/MartiniChannelsListE2_download_userscript.sh
      15. grep -qs "8.8.8.8" /var/etc/resolv.conf || echo "nameserver 8.8.8.8">>/var/etc/resolv.conf
      16. # dm8k as AccesPoint
      17. #[ -e /usr/lib/enigma2/python/Plugins/newnigma2/AccessPoint.pyo ] && python /usr/lib/enigma2/python/Plugins/newnigma2/AccessPoint.pyo &
      18. #[ -e /usr/script/AccessPoint.pyo ] && python /usr/script/AccessPoint.pyo &
      19. [ -e /usr/script/AccessPoint.sh ] && /usr/script/AccessPoint.sh
      20. route add SrvDSL gw 10.0.10.252
      21. #route add SrvDSL gw 10.0.10.253
      22. exit 0
      Display All
      dm7080sstt; 2x dm8000sstt; dm7020s <- Diseq1x4 <- 3x Diseq1x10 <-
      Dishes:
      1.8m 36E;28E;23E;19E;16E;13E;7E
      1.6m 42E;36E
      1.0m 10/9E;5E;1W;8W
      1.0m 15W;22W;30W
      1.1m 4/5W;12W;18W;24W
      1.1m 53E;60E
      1.0m 75E
      TVs: Philips 46pfl9707s; Philips 42pfl9703h
    • 1. come on! I never said this

      3. there is no reason to extract the ipk manually, it will be done by opkg. in preinst and postinst scripts u can put in all comands u want (like your script). But it is also possible to extract the .ipk wiht 7-Zip on your Windows PC and copy the data.tar.gz on your dreambox for extraction with tar. or extraxt the ipk with the busybox ar on yor dreambox (only OE2.0! with OE1.6 you need a ar binary)

      4. u can create all.ipk for both OS (OE1.6 and OE2.0.( Enigma1 settings are differernt, but this musst be observed with tar.gz pakages too.

      5. I create all my .ipk's on my DM800se. All you need is the mipsel ar binary (the busybox ar is ....), and two shell scripts. @gutemine was so kindly to make the scripts available in his plugins (for OE1.6). I just modifed it for my own needs. ipkg-build.sh + ar mipsel binary to build the ipk and ipkserver.sh from Local ipk Server Plugin to create the Packages.gz for my private feed

      6. you can create different versions of your settings.ipk, like martinib-settings_v210_all.ipk (or the date insteat the version number). if this packages is installed on a client box, it will be updated if a newer package is abailable, e.g martinib-settings_v211_all.ipk

      add a new opkg config file with your url in /etc/pkg/martinib.conf for example (ftp is possible too)
      add your server like this

      Source Code

      1. src/gz martinibsettings http://xy.com/settings


      all you have to is to change the ipk(s) and the Packages.gz if a new version should be published.

      Clients can update your settings now manually, by cron or any addon manager. Any changes in your (post)install scripts could be delivered with your .ipk now, and will executed when installing.

      But this is only a suggestion to make it maybe easer to distribute. But please don't misunderstand me: I appreciate your scripts and your solution with tar.gz is a great work.


      Edit:
      have a look to the settings.ipk of @matze as example

      The post was edited 5 times, last by Fred Bogus Trumper ().

    • @Fred Bogus Trumper
      "1." was selfcritic, not addressed to anyone :)
      THANKS for 2-6, maybe some day i will grow, your info can help there
      dm7080sstt; 2x dm8000sstt; dm7020s <- Diseq1x4 <- 3x Diseq1x10 <-
      Dishes:
      1.8m 36E;28E;23E;19E;16E;13E;7E
      1.6m 42E;36E
      1.0m 10/9E;5E;1W;8W
      1.0m 15W;22W;30W
      1.1m 4/5W;12W;18W;24W
      1.1m 53E;60E
      1.0m 75E
      TVs: Philips 46pfl9707s; Philips 42pfl9703h
    • Hello,
      i do have a question about MartiniB's download_script.
      I recognized that, if on the slave machine is a satellite-position not available, the channels from the not available satellite-position will be deleted - which is awesome!
      If i have the channels from the not available satellite-positon in one bouquet, the bouquet on the slave machine will be available and empty.

      Is there a way to recognize the empty bouquets, to delete them (thinking on a for loop but i can not figure out a working string).

      Does anyone has a hint for me?
    • Bouquets are not empty they only could contain unknown servicereferences which are not found in the lamedb and then these entries are not shown.

      This mean your script would need to count all such servicerefs and if the number of known service ref is 0 you could remove the Bouquet file.
      Bad mood, bad manners, bad Plugins, you have been warned :whistling:

      The post was edited 1 time, last by gutemine ().

    • thx @gutemine
      here an example...

      master machine Bouquets (available sat positions 19.2 & 13E)
      favorites
      sat-pos 19.2E
      sat-pos B 13E

      this is how the slave machine looks like after the update (only 19.2 is available)
      favorites
      sat-pos 19.2E
      sat-pos 13E -> this one is empty

      i ve tried a for loop like this

      Source Code

      1. if [ "$SatPosToSED" ]; then
      2. for dBouquet in `grep -L "#SERVICE\ 1:0:.*" "$DirEnigma"userbouquet.*.tv` ; do
      3. rm -f "$dBouquet"
      4. done
      5. fi

      to sort out the bouquets which do not contain "#SERVICE\ 1:0:.*" -which works already
      As far as i know, the userbouquet.*.tv are listest in /etc/enigma2/bouquet.tv.
      Now i have to get rid of the found results (from the loop above) in the /etc/enigma2/bouquet.tv - than it should work..


      edit//
      got it working with these two for loops

      Source Code

      1. for del_Bouquet in `grep -L "#SERVICE\ 1:0:.*" "$DirEnigma"userbouquet.*.tv | awk -F "/" '{print $4}'` ; do
      2. sed -i '/'$del_Bouquet'/d' "$DirEnigma"bouquets.tv
      3. done
      4. for dBouquet in `grep -L "#SERVICE\ 1:0:.*" "$DirEnigma"userbouquet.*.tv` ; do
      5. rm -f "$dBouquet"
      6. done

      The post was edited 2 times, last by skapi ().

    • Würde gerne auch meine ganzen Boxen per Settings updaten über Script inklusive Picons von einem localen Speicherplatz oder Webserver.

      Gab es nicht mal die Sache einen eigenen Feed zu erstellen und dann Settings und Picons bereit zustellen ?

      Mir würde ja auch ein Script reichen was man Starzen muss oder als Autostart läuft.

      Womöglich hat da ja jemand was passendes zur Verfügung und stellt es mal bereit.

      Gruß
      Config Receiver: DreamMedia DM900UHD - Newnigma2 OE 2.5 ; Sony KD55XE8599 / DreamMedia DM525HD - OE 2.2; Samsung UE32F5570 ; DreamMedia DM820HD - Newnigma2 OE 2.5 ;Orbit: Astra 19,2 ; Server: Raspberry Pi 3; Nas: Synology DS411Slim 6TB
    • MartiniB wrote:

      @adsid
      too easy :)

      i will show my way:
      on my master box(dm8000) time at time i run manually
      /usr/script/ServicesE2_backup_userscript.sh
      it creates servicesE2_bc.tar.gz(services+bouquets) and servicesE2_bc.tar.gz_md5.txt(archive's md5)
      that files i place under some www
      .......
      HI MariniB, dein Skript ist klasse aber leider löscht sich das Skript nach dem Ausführen von selbst. So kann ich das leider nicht mehr cron steuern.
      Finde leider im Skript jedoch keine lösch-Funktion.
      Kannst du mir da weiter helfen?

      DM900 mit original Image, wurde mit "sh /usr/skript/skript.sh" ausgeführt

      Gruß