Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Tools Tool: easyE2Setting für die vollautomatische Umsetzung aller ICAM-Sender uvm. am enigma2 SAT-Receiver - UPDATE VERSION 2.0.1 !!!

pehedima

Super-Moderator
Teammitglied
Registriert
10. Dezember 2012
Beiträge
11.664
Lösungen
2
Reaktionspunkte
25.518
Punkte
1.103
Neues Update auf 2.0.1:

Weitere Neuerung in 2.0.1:

  • Änderungen der download-Links von 'https' nach 'http' (für die Unterstützung von VTi Images ohne openSSL)
  • Möglichkeit zum Versenden von automatischen Mails inkl. Attachment (easyE2Setting.log) an eine beliebige Mail-Adresse zur Kontrolle des Ablaufs.
  • Verbessertes Verhalten beim Download einen neuen geänderten easyE2Setting.cfg
Neuerung in 2.0.0:

Ab sofort ist eine online Installation inkl. automatischer Updatefunktion integriert.


Dieses Update enthält eine Vielzahl nützlicher Funktionen und Einstellungsmöglichkeiten, die über die neue easyE2Setting.cfg gesteuert werden können.
Dazu zählt wie bereits oben erwähnt die Online Installation und Updatefunktion, sowie die automatische Installationsmöglichkeit von vorgefertigten Settings sowie der oscam Konfiguration und der oscam binary. Alles ein-/ausschaltbar sowie konfigurierbar in der easyE2Setting.cfg. Weiterhin wird die Erzeugung der whitelist_streamrelay unterstützt.

Details:
  • automatischer Update der oscam Konfiguration und der oscam binary von einem definierbaren Server (z.B.: Cloud oder einer Resource hier aus dem Board)
  • automatische Installationsmöglichkeit vorgefertigter Settings von einem definierbaren Online Server (z.B.: Cloud)
  • automatische Erzeugungsmöglichkeit und direkter Anwendung der Programmtemplates (TPL-Dateien)
  • automatische Updatemöglichkeit und Nachladen nicht vorhandener Konfigurationsdateien vom Updateserver
  • verbesserte skyIcam.cfg Konfigurationsmöglichkeit mit Wildcards '*' und Angabe eines Providers.
  • ->Hinweis: Alle Programme des Providers SKY werden beispielsweise mit der Dinfinition nur einer Zeile '*,SKY' nach ICAM gewandelt.
  • Einführung einer userspezifischer Konfigurationsdatei (easyE2Setting.cfg)
  • automatische Erzeugung und Aktivierung der whitelist_streamrelay Datei (ab openATV 7.3) -> steuerbar durch easyE2Setting.cfg
  • automatische Anpassung bei einer Frequenz und Programmnamenumstellung
  • ->Hinweis: User dieses Tools hätten von der letzten Frequenzänderung bei Sky nichts mitbekommen. Die Änderung wäre vollautomatisch direkt am Receiver vorgenommen worden.
  • verbesserte Funktion unter python 2 (z.B.: VTI-image)
  • toleranterer Umgang mit den unterschiedlichen Strukturen der lamedb
  • usersprezifische Downloadmöglichkeit der easyE2Setting.cfg zur individuellen Anpassungen einzelner Receiver.

Hinweis: Die Liste der ursprünglichen Funktionen des Tools sind weiter unten zu finden.


Neue Installation:

Hinweis:
Das Tool läuft nicht auf Receiver mit VTi-Image.

Am Receiver einloggen z.B. putty:
Folgende Kommandozeile kopieren und am Receiver ausführen:


Code:
cd /etc/enigma2; wget -q  http://pehedima.ddns.net/index.php/s/i2dRPCZj2SxNj9g/download/easyE2Setting  -O /etc/enigma2/easyE2Setting; python easyE2Setting --update


Nach der Installation wird direkt die Update Funktion aufgerufen:


Ausgabe:

Code:
ATTENTION: Manual update function of all tool specfic files started.
ACTION: Press any key to continue... (Ctrl-C to quit)


Durch Drücken einer beliebigen Taste wird der Updateprozess gestartet und weitere notwendige Dateien wie z.B. sykIcam.cfg automatisch heruntergeladen.

Ausgabe:

Code:
INFO: Updating basic tool...
ATTENTION: Trying to read lastest released tool version from following URL:  https://pehedima.ddns.net/index.php/s/c4wotZDa5CeLqpC/download/easyE2SSetting.version
ATTENTION: HashCode: easyE2Setting 1239b3401bfc1cd9e951ead1959a4359
ATTENTION: No newer version found on server. Nothing to do!
INFO: Updating additional files like skyIcam.cfg, easyE2Setting.sh...
ATTENTION: Trying to download file skyIcam.cfg from following URL:  https://pehedima.ddns.net/index.php/s/fa5fWmQSNytdAgr/download/skyIcam.cfg
SUCCESS: Latest version of file skyIcam.cfg installed
ATTENTION: Trying to download file easyE2Setting.sh from following URL:  https://pehedima.ddns.net/index.php/s/gSk6nCip356SCDR/download/easyE2Setting.sh
SUCCESS: Latest version of file easyE2Setting.sh installed
INFO: Update finished

Damit ist die Installation abgeschlossen.

Hinweis:
Alle, die nicht immer die aktuellste Version über den o.a. Link downloaden möchten oder einen Receiver ohne I-Net Zugang nutzen, können das am Ende angefügte Paket in der Version 2.0.1 downlaoden und installieren. Dabei bei den SH-Dateien auf die Rechte (755) achten.
Es muss sich dabei nicht um die aktuellste Version handeln. Wer sicher gehen will, sollte den o.a. Link nutzen unter 'Installation' nutzen.

Grundfunktion nach Installation:
Nach der Installation befindet sich das Tool in der Default-Grundeinstellung.

In dieser Funktion werden zunächst aus allen definierten userbouquet*.tv Dateien unter Zuhilfenahme der Settingnamen innerhalb der Datei einzelene Templatedateien mit der Endung 'tpl' erzeugt. Diese Dateien bestimmen die Reihenfolge der Programme in der Settings und die Empfangsdaten. Direkt im Anschluss werden die entsprechenden TV-Dateien erzeugt und aktiviert.
Dabei werden alle SKY-Programme automatisch nach ICAM gewandelt.


Achtung: Die ursprünglichen Settings werden nicht automatisch gesichert. Sollen die gesichert werden, ist zuvor die Backup-Funktion des Tools auszuführen. Falls die Daten zuvor mit DreamboxEdit zur Box gekommen sind, können sie natürlich auch auf diesem Wege wieder installiert werden.




Funktion: Installation und Aktivierung vorgefertiger Settings:


Diese Funktion lädt eine auf einen definierten Server verhandene mittels ZIP gepackte Settingsdatei herunter, installiert und aktiviert sie anschließend automatisch.


Das ist sehr hilfreich, wenn viele Receiver mit gleichen Settings versorgt werden sollen. Die Setting werden dann nur einfach auf einen NAS oder Cloud o.ä. zur Verfügung gestellt und der Link entsprechend in der easyE2Setting.cfg definiert.

Der Link muss direkt zur ZIP-Datei führen. Wie in dem unten aufgeführten Beispiel zu sehen. Oberflächen, auf denen irgendein Download button oder ähnliches gedrückt werden müssen werden nicht unterstützt. Denke, dass sollte soweit auch klar sein.


Natürlich kann über diese Funktion auch eine withelist_streamrelay Datei entsprechend verteilt und aktiviert werden.


Einfaches Beispiel mit withelist_streamrelay:
Code:
https://pehedima.ddns.net/index.php/s/XnX42SFpanAa6Ly/download/settings_new_7.3.zip

Einfaches Beispiel ohne withelist_streamrelay:
Code:
https://pehedima.ddns.net/index.php/s/eAXdrpRgJN3izRo/download/settings.zip

Um diese Funktion zu nutzen sind die folgenden Einträge in der easyE2Setting.cfg einzustellen bzw. zu prüfen:
Die default-Einstellungen könnten wie folgt aussehen:


Code:
'userDownloadAndInstallSettingsOnly':'False',
'userDownloadAndInstallSettingsOnlyArchiveUrl': 'None',
'userDownloadAndInstallSettingsOnlyArchiveHashUrl': 'None',


Zur korrekten Funktion sind mindestens die folgende Einstellungen erforderlich
Der Parameter: 'userDownloadAndInstallSettingsOnly' muss auf True stehen:


Code:
'userDownloadAndInstallSettingsOnly':'True',
'userDownloadAndInstallSettingsOnlyArchiveUrl': '<LINK_ZUM_DOWNLAOD_DER_SETTINGS>',
'userDownloadAndInstallSettingsOnlyArchiveHashUrl': 'None'

Der Parameter 'userDownloadAndInstallSettingsOnlyArchiveHashUrl' muss nicht unbedingt definiert werden. Falls vorhanden wird der Hash-Wert definiert in dieser Datei auf dem Server mit dem Hash-Wert der Datei nach dem Herunterladen verglichen, damit sichergestellt werden kann, dass die Datei auch korrekt herntergeladen wurde. Ist der Wert nicht angegeben entfällt diese Überprüfung.

Soll der Update von Receiver vollautomatisch durchgeführt werden ist die folgende Kommandozeile auszuführen (siehe auch unten im Text):

Code:
(crontab -l ; echo "* * * * * /bin/bash -c '/etc/enigma2/easyE2Setting.sh'") | crontab

Das fügt das Starten von easyE2Setting im Minutentakt in die crontab ein.
Der Eintrag kann durch das Kommando 'crontab -l' geprüft werden.

Beim Herunterladen der settings wird automatisch eine Hash-Berechnung duchgeführt und gespeichert. Solange sich die Datei am Server nicht ändert, wird auch keine weitere Installation durchgeführt. D.h. das Tool startet kurz, prüft ob eine Änderung der Settings vorliegt und falls nicht, beendet es sich wieder ganz geräuschlos.


Automatische Downloadmöglichkeit einer userspezifischen Konfigurationsdatei (easyE2Setting.cfg):

Diese Funktion ist im Zusammenhang mit der zuvor vorgestellen Funktion des Settingsdownloads interessant.
Damit kann z.B. der Link zu den Settings automatisch angepasst werden.

Vorsicht: Damit können alle Links angepasst werden, selbst der Link zur Konfigurationsdatei selbst. Also kein Problem sich alle Äste selbst abzusägen :)


Dafür sind die folgenden Parameter in der easyE2Setting.cfg zu adminstrieren:

Code:
userDownloadToolCfg=False
userDownloadToolCfgUrl=None
userDownloadToolCfgHashUrl=None


Hier gelten die gleichen Bedingungen und Funktionen wie bereits oben bei den Settngs beschrieben.

Kurz: Parameter 'userDownloadToolCfg' auf True setzen. direkten Downloadlink zur neuen easyE2Setting.cfg im Parameter 'userDownloadToolCfgUrl' definieren.
Parameter 'userDownloadToolCfgHashUrl' kann auf None bleiben, ansonsten den Link zur neuen HASH-Code-Datei in dem dar Hash-Code steht definieren.


Automatische Updatemöglichkeit der oscam Konfiguration sowie der oscam binary selbst :

Diese Funktion bietet die Möglichkeit die oscam Konfiguration (wie z.B.: die oscam.conf, oscam.user, oscam.server usw.) sowie die oscam binary selbst auf den Receiver automatisch anpassen zu lassen.

Dafür sind die folgenden Parameter in der easyE2Setting.cfg zu adminstrieren:
-> Diese Funktion ist defaultmäßig deaktiviert

Code:
userDownloadUpdateOscam=False
userDownloadUpdateOscamConfigLocalDirOrConfigFileName=/etc/tuxbox/config/oscam-trunk
userDownloadUpdateOscamConfigArchiveUrl=None
userDownloadUpdateOscamConfigArchiveHashUrl=None
userDownloadUpdateOscamBinaryLocalDirAndName=/usr/bin/oscam-trunk
userDownloadUpdateOscamBinaryStop=/etc/init.d/softcam.oscam-trunk stop
userDownloadUpdateOscamBinaryStart=/etc/init.d/softcam.oscam-trunk start
userDownloadUpdateOscamBinaryRestart=/etc/init.d/softcam.oscam-trunk restart
userDownloadUpdateOscamBinaryUrl=None
userDownloadUpdateOscamBinaryHashUrl=None

Mit dem Parameter userDownloadUpdateOscam=True wird die Updatefunktion aktiviert.
Mit den Parametern userDownloadUpdateOscamConfig* wird der Update der Konfigurationdateien gesteuert.
Dabei ist zu beachten, dass der Update sich nur auf eine spezielle Datei beziehen kann, wie z.B. der oscam.conf.
In diesem Fall ist im Parameter userDownloadUpdateOscamConfigLocalDirOrConfigFileName die gezielte Angabe der Zieldatei erforderlich.
Bespielsweise /etc/tuxbox/config/oscam-trunk/oscam.conf. Im zugehörigen Parameter userDownloadUpdateOscamConfigArchiveUrl darf dann auch nur direkt diese eine Datei enthalten sein.
Sollen mehrer Dateien geändert werden, muss im Parameter userDownloadUpdateOscamConfigLocalDirOrConfigFileName das oscam-config-Verzeichnis angegeben werden.
Bespielsweise: /etc/tuxbox/config/oscam-trunk oder /etc/tuxbox/config/oscam-icam. Das hängt vom Image und der installierten oscam ab. der Parameter userDownloadUpdateOscamConfigArchiveUrl muss in diesem Fall ein ZIP-Archiv aller oscam Konfigdateien ohne irgendwelche Pfade drin beinhalten.
Nach erfolgtem Update wird oscam automatisch restartet , um das Update zu aktivieren. Daher ist es wichtig, dass der Parameter userDownloadUpdateOscamBinaryRestart das korrekte Kommando zum restarten der installierten oscam besitzt. Hier /etc/init.d/softcam.oscam-trunk restart gilt für die Installation von oscam-trunk im openATV Image. Bei anderen Installationen und Images ist das entsprechend anzupassen.
Soll das oscam binary selbst ersetzt werden, sind die Parameter userDownloadUpdateOscamBinary* wichtig. Diese können zusätzlich zur Konfigurationsänderungen oder auch nur für sich angegegeben werden. Im Parameter userDownloadUpdateOscamBinaryLocalDirAndName muss der Pfad inkl. des oscam binary Namens definiert werden. Hier z.B.: /usr/bin/oscam-trunk. Im Zuge der Änderung der binary muss oscam gestoppt und wieder gestartet werden. Daher sind die beiden Parameter userDownloadUpdateOscamBinaryStop und userDownloadUpdateOscamBinaryStart mit den entsprechenden Kommandos zu definieren. Der Parameter userDownloadUpdateOscamBinaryUrl enthält dann den direkten Download der bin Datei (nicht gepackt). So wie sie auch hier in unserem Downloadbereich täglich aktuell angeboten werden.
Beispiel:
Code:
[URL unfurl="true"]https://download.digital-eliteboard.com/vfm-admin/vfm-downloader.php?q=dXBsb2Fkcy9PU2NhbS1pQ2FtL2FybS9vc2NhbS0xLjIwX3N2bjExNzI4LTc5OS1hcm12N2EtdnVwbHVzNGstbGludXgtZ251ZWFiaWhmLUlDQU1fRFZCQVBJLVY5X2J1aWx0X2J5X0RFQg==&h=df8e27d78da86eb0223222439d6a4e41[/URL]

Die Parameter mit hash im Namen können zu einem HASH-Vergleich (MD5) hernagezogen werden, um evtl. Downloadfehler zu erkennen. Die Parameter sind optional.


Rücksetzen auf Werkseinstellungen:

Löschen der Konfigurationsdatei:

Code:
rm /etc/enigma2/easyE2Setting.cfg
Das Rücksetzen auf Werkseinstellung kann einfach durch das Löschen der Konfigurationsdatei vorgenommen werden.
Beim nächsten Aufruf wird die Defaultkonfiguration genutzt und diese dann in die easyE2Setting.cfg zurüchgeschrieben.

Ursprüngliche Aktionen und Funktion, die bereits bei Versionen kleiner 1.1.3 durchgeführt bzw. definiert wurden

Die Tests konnten hier auf einen ANADOL ECO 4K UHD V2 mit openATV 7.0 und einem Edision osmini mit openATV 7.2 soweit erfolgreich durchgeführt werden

Daher habe ich mal ein paar Zeilen in Python runtergeschrieben (somit Open-Source) und einige Grundfunktionen in ein Tool namens easyE2Setting eingebaut.

Die Tests konnten hier auf einen ANADOL ECO 4K UHD V2 mit openATV 7.0 und einem Edision osmini mit openATV 7.2 soweit erfolgreich durchgeführt werden

Funktionen kleiner 2.0.0:
Code:
- automatische Umsetzung aller ICAM-Sender für bestehende Bouquets unter Berücksichtigung eines userspezifischen Streamingports (default: 17999). Grundfunktion, wenn kein Templates (*.tpl) vorhanden sind
- Erzeugungsmöglichkeit von Templates (*.tpl.gen) anhand von bestehenden Bouquets als Basis zur Erstellung eigener Templates (*.tpl) durch Umbenennung der Extention und Anpassung der Programmreihenfolge (falls gewünscht)
- Erzeugungsmöglichkeit von M3U Streamingdateien für die interne und externe Anwendung durch Bestimmung einer externen IP/URL und eines externen Ports im Falle von Portmapping (z.Zt. nur bei Verwendung von Templates möglich)
- Erzeugung von userdefinierten Bouquets mit userdefinierten Programmreihenfolgen anhand von Templates. Individuelles Ein/Ausschalten der ICAM-(Default: TRUE) und M3U-Umsetzung (default: FALSE) pro Template möglich
- - Erzeugte M3U-Dateien können direkt ohne jegliche Änderung in Streamingtools wie z.b. vlc abgespielt werden.
- Backup und Restore Funktionalität der gesamten Settings.
- Löschmöglichkeit aller Settings
- Automatische Einbindung in den Startprozeß von enigma2 durch Verwendung der Scripte easyE2Setting.sh im Verzeichnis /etc/enigma2 und enigma2_pre_start.sh im Verzeichnis /usr/bin (Rechte 755!).
- Erstellung von neuen Settings nur nach Änderungen in den Templates oder nach erfolgtem Sendersuchlauf durch Restart des Recis über das Menü oder per Terminal
-- Diese Funktion lässt sich mit des Parameters -f (--forcedRun) ausschalten
- Protokollierung aller Aktionen in einer Logdatei (easyE2Setting.log), die Größenüberwacht (max. 100k) und noch max. 2 weitere Backups (*.log.1 und *.log.2) zulässt.
...


Man kann auch einfach einen cronjob nutzten, der erledigt dann alles völlig automatisch, praktisch auch nach einem erneuten Sendersuchlauf.
Muss aber jeder selber wissen, wie es man besten passt.

Beispiel zum An-/Einfügen in die crontab:
(crontab -l ; echo "* * * * * /bin/bash -c '/etc/enigma2/easyE2Setting.sh'") | crontab

Mit crontab -e kann das dann geprüft oder auch editiert werden.
Alle Übergabeparameter können über die Hilfe abgefragt werden:

Code:
./easyE2Setting -h
usage: easyE2Setting [-h] [-g] [--updateChanTpl] [-r] [-sim <serverIPorURLforM3U>] [-si <serverIp>] [-sp <streamingPort>] [-esp <externalStreamingPort>] [-f] [-q] [-sa] [-bk <backupFileName>] [-rs <restoreFileName>] [-rmset] [--update] [--debug]

Author: pehedima, Digital Eliteboard
Version: 2.0.0

Configuration of settings to e.g. ICAM and more

options:
  -h, --help            show this help message and exit

  -g, --genChanTpl      Generates channel templates (*.tpl.gen) for basic information to create own channel order list (*.tpl)

  --updateChanTpl       Updates existing channel templates (*.tpl) based on existing channel files (*.tv)

  -r, --reverseICAM     Reverse all ICAM changes of the settings to the original entries.
                        This parameter is only allowed if no tpl files are defined.
                        If tpl files are in use set the parameter #CONVERT_SKY_TO_ICAM to FALSE to prevent ICAM conversion

  -sim <serverIPorURLforM3U>, --serverIPorURLforM3U <serverIPorURLforM3U>
                        IP-address or URL is used for m3u file generation (default: 192.168.178.181)

  -si <serverIp>, --serverIp <serverIp>
                        IP-address is used for tv file generation (default: 127.0.0.1)

  -sp <streamingPort>, --streamingPort <streamingPort>
                        port is used as streaming port (default: 17999)

  -esp <externalStreamingPort>, --externalStreamingPort <externalStreamingPort>
                        port is used for m3u files only in case of port mapping (default is streamingPort: 17999)

  -f, --forcedRun       starts the conversion anyway, even if no changes are detected

  -q, --quiet           suppress all responces

  -sa, --suppressActivation
                        suppress the activation of the new settings after generation

  -bk <backupFileName>, --backupAllSettings <backupFileName>
                        backup from all *.tv, *.radio, *.tpl files and lamedb (e.g.: new <backupFileName> file name 'backup_<date>_<time>.tar.gz')

  -rs <restoreFileName>, --restoreSettingsfromFile <restoreFileName>
                        restore all files from correponding backup file(e.g.: existing <restoreFileName> file name 'backup_<date>_<time>.tar.gz')

  -rmset, --removeAllSettings
                        remove all settings files.
                        Attention: It is recommended to generate a corresponding backup file before (see parameter --backupAllSettings).

  --update              update the version of the tool

  --debug               enable debug mode

Das Tool läuft generell im lokalen Verzeichnis. Daher ist vor der Ausführung in das Settingsverzeichnis: /etc/enigma2 zu wechseln.
Im Falle der Ausführung beim Restart des Recis wird das durch das Skript easyE2Setting.sh erledigt.

Somit lässt sich das Programm auch problemlos direkt am PC/Laptop im dreamboxEDIT Importverzeichnis ausführen.
Natürlich nur dann, wenn auch pyhton auf dem PC/Laptop installiert ist.


Aufrufe am Reci:
cd /etc/enigma2

Zu Beginn ist es wichtig erstmal ein Backup zu erzeugen. Mit der ebenfalls vorhandenen Restore Funktion kann dann das zuvor erstellte Backup wieder zurückgespielt werden.

Backup erzeugen:
./easyE2Setting -bk backup_<date>_<time>.tar.gz

Beim Aufruf des Programms ohne Parameter wird abhängig von der Existenz von Template Dateien (*.tpl) die jeweilige Grundfunktion ausgeführt.

Ohne tpl Dateien:

./easyE2Setting

Grundfunktion1: Alle "userbouquets.*.tv" Dateien werden gelesen, der Progammname in der skyIcam.cfg gesucht und falls gefunden eine Usetzung nach ICAM vorgenommen.
Wurde eine Änderung in bouquets vorgenommen wird die Originaldatei mit dem suffix '_sik' gespeichert und alle Änderungen in die Datei mit dem ursprünglichen Dateinamen gespeichert.
Eine Aktivierung der neuen Settings auf den Receiver erfolgt automatsich (kann bei Bedarf durch Setzen des Parameters. -sa, --suppressActivation verhindert werden)

Ausnahme: Falls Bouquets mit dem Zusatz '_noicam' am Ende gefunden werden, erfolgt keine Umsetzung zu ICAM.

Erstellen von tpl-Dateien:
Die Basis-Template-Dateien (tpl.gen) lassen sich am einfachsten direkt über das Tool erstellen. Dazu folgenden Aufruf verwenden:

./easyE2Setting --genChanTpl

Es werden alle derzeit genutzen Bouquets gelesen und anhand der aktuellen Programmreihenfolge für jedes Bouquet eine Datei mit dem Namen "userbouquet.<BouquetName>.tpl.gen" erzeugt.
Diese Datei ist als Basis für das eigentliche Template zu verstehen. Um das Template für die Konvertierung zu verwenden muss eine Umbenennung von ".tpl.gen" nach ".tpl" vorgenommen werden.
Desweiteren kann eine Anpassung der Programmreihenfolge innerhalb des Templates erfolgen.

Beispiel Bouquet 'Favourites (TV)' Datei:userbouquet.Favourites_(TV).tpl.gen:
#NAME Favourites (TV)
#CONVERT_SKY_TO_ICAM=TRUE
#GENERATE_M3U=TRUE
#ProgramName, [Provider, [SID(hex):[TSID(hex)]]]
Das Erste HD, ARD, 283D:3FB
RTL HD, CBC, EF10:421
kabel eins classics, ProSiebenSat.1, 14C2:407
ORF1 HD, ORF, 132F:3EF
SRF 1 HD, Schweizer Radio und Fernsehen, 4331:300C
Sky Cinema Premieren HD, SKY, 83:6
DAZN 1 HD, SKY, 84:8
Sky Sport Bundesliga HD, SKY, 69:C

Das Beispiel zeigt eine kleine Progammliste mit 8 Programmen und zu Beginn ein paar Parameter, die zur Festlegung der Bouquet-Namen und zur Steuerung der ICAM/M3U-Umsetzung benutzt werden.
Das Bouquet hier heißt "Favourites (TV)", die Konvertierung der Programme nach ICAM (anhand skyIcam.cfg) ist eingeschaltet (#CONVERT_SKY_TO_ICAM=TRUE) und es soll ebenfalls eine entsprechende M3U Streamingdatei erzeugt werden.
#GENERATE_M3U=TRUE

Dann folgt eine kurze Beschreibung der Einträge, die noch zusätzlich zum Programmnamen selbst erzeugt wurden.
#ProgramName, [Provider, [SID(hex):[TSID(hex)]]]

Dabei handelt es sich zum den Provider und die SID:TSID(hex) Kombination zur eindeutigen Identifikation des Kanals.
Durch die eckigen Klammern ist ersichtlich, dass auf die Angabe des Providers, der SID und auch TSID verzichtet werden kann.
Dazu ist zu beachten, wenn allerdings der Programmname mehrfach in der Gesamtprogrammliste (lamedb) auftaucht wird immer der erste gefundene Eintrag genommen.
Das muss aber nicht das richtige Programm sein. Auf der anderen Seite würde die nicht angegebene TSID dazu führen auch den Kanal dann zu finden, wenn ein Transponderwechsel stattgefunden hat.

Wird der Kanal mit allen Angaben definiert, werden keine Änderungen (z.B. nach einem Sendersuchlauf) automatisch erkannt und in dem Fall der Kanal als auf dem Receiver nicht vorhanden in der Logdatei quittiert.
In einem solchen Fall kann die Datei 'allChannels.tpl.gen' genutzt werden, um die Einstellungen und das Vorhandensein aller Kanäle auf dem Receiver zu prüfen.
Findet sich in dieser Datei der Kanal mit den richtigen Daten kann der Eintrag einfach die entsprechende tpl Datei kopiert werden.

Nach Fertigstellung der tpl Datei(en) für die Kanäle ist noch die Reihenfolge der Bouguets selbst festzulegen. Die ursprüngliche Reihenfolge ist im generierten Template bouquets.tpl.gen zu finden.
An dieser Stelle wurde eine kleine Erweiterung vorgenommen, so dass wenn keine bouguets.tpl Datei explizit erstellt wurde wird die ursprüngliche bouquets.tpl.gen nach bouguets.tpl kopiert und angewandt.
eine individulle Reihenfolge der bouquets kann aber immer in der Datei bouquets.tpl entsprechend vorgenommen werden.


Mit tpl-Dateien:
./easyE2Setting

Grundfunktion2: Alle "userbouquets.<bouguetName>.tpl" Dateien werden gelesen, die entsprechenden Parameter innerhalb der Datei berücksichtigt und anhand der festgelegten Programmdaten und Reihenfolgen eine neue
Settingsdatei "userbouquets.<bouguetName>.tv" erzeugt. Je nach Parametereinstellung #CONVERT_SKY_TO_ICAM=TRUE wird der Progammname in der skyIcam.cfg gesucht und falls gefunden eine Umsetzung nach ICAM vorgenommen oder eben nicht (falls FALSE)
Anhand der Definition der Bouquetreihenfolge im Template bouquets.tpl wird eine neue bouquets.tv erzeugt.
Eine Aktivierung der neuen Settings auf den Receiver erfolgt automatsich (kann bei Bedarf durch Setzen des Parameters. -sa, --suppressActivation verhindert werden)

Ausnahme: Falls Bouquets mit dem Zusatz '_noicam' am Ende gefunden werden, erfolgt keine Umsetzung zu ICAM.


Die Umsetzung erzeugt mehrere Dateien. Die drei wichtigsten sind:
- userbouquets.favorites.tv
Code:
#NAME Favourites (TV)
#SERVICE 1:0:19:283D:3FB:1:C00000:0:0:0:
#SERVICE 1:0:19:EF10:421:1:C00000:0:0:0:
#SERVICE 1:0:16:14C2:407:1:C00000:0:0:0:
#SERVICE 1:0:19:132F:3EF:1:C00000:0:0:0:
#SERVICE 1:0:19:4331:300C:13E:820000:0:0:0:
#SERVICE 1:0:19:83:B:16:21:0:0:0:http%3a//127.0.0.1%3a17999/1%3a0%3a19%3a83%3a6%3a85%3aC00000%3a0%3a0%3a0%3a:Sky Cinema Premieren HD
#DESCRIPTION Sky Cinema Premieren HD
#SERVICE 1:0:19:84:B:16:21:0:0:0:http%3a//127.0.0.1%3a17999/1%3a0%3a19%3a84%3a8%3a85%3aC00000%3a0%3a0%3a0%3a:DAZN 1 HD
#DESCRIPTION DAZN 1 HD
#SERVICE 1:0:19:69:B:16:21:0:0:0:http%3a//127.0.0.1%3a17999/1%3a0%3a19%3a69%3aC%3a85%3aC00000%3a0%3a0%3a0%3a:Sky Sport Bundesliga HD
#DESCRIPTION Sky Sport Bundesliga HD
- bouquets.tv
#NAME User - bouquets (TV)
#SERVICE 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet
-Favourites_(TV).m3u
Code:
#EXTM3U
#EXTVLCOPT:http-reconnect=true
#EXTINF:-1 tvg-chno="10301" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:19:283D:3FB:1:C00000:0:0:0:" tvg-name="Das Erste HD",Das Erste HD
#EXTVLCOPT:program=10301
http://192.168.178.9:17999/1:0:19:283D:3FB:1:C00000:0:0:0:
#EXTINF:-1 tvg-chno="61200" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:19:EF10:421:1:C00000:0:0:0:" tvg-name="RTL HD",RTL HD
#EXTVLCOPT:program=61200
http://192.168.178.9:17999/1:0:19:EF10:421:1:C00000:0:0:0:
#EXTINF:-1 tvg-chno="5314" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:16:14C2:407:1:C00000:0:0:0:" tvg-name="kabel eins classics",kabel eins classics
#EXTVLCOPT:program=5314
http://192.168.178.9:17999/1:0:16:14C2:407:1:C00000:0:0:0:
#EXTINF:-1 tvg-chno="4911" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:19:132F:3EF:1:C00000:0:0:0:" tvg-name="ORF1 HD",ORF1 HD
#EXTVLCOPT:program=4911
http://192.168.178.9:17999/1:0:19:132F:3EF:1:C00000:0:0:0:
#EXTINF:-1 tvg-chno="17201" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:19:4331:300C:13E:820000:0:0:0:" tvg-name="SRF 1 HD",SRF 1 HD
#EXTVLCOPT:program=17201
http://192.168.178.9:17999/1:0:19:4331:300C:13E:820000:0:0:0:
#EXTINF:-1 tvg-chno="131" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:19:83:6:85:C00000:0:0:0:" tvg-name="Sky Cinema Premieren HD",Sky Cinema Premieren HD
#EXTVLCOPT:program=131
http://192.168.178.9:17999/1:0:19:83:6:85:C00000:0:0:0:
#EXTINF:-1 tvg-chno="132" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:19:84:8:85:C00000:0:0:0:" tvg-name="DAZN 1 HD",DAZN 1 HD
#EXTVLCOPT:program=132
http://192.168.178.9:17999/1:0:19:84:8:85:C00000:0:0:0:
#EXTINF:-1 tvg-chno="105" tvg-logo="http://192.168.178.9/images/default_picon.png" tvg-id="1:0:19:69:C:85:C00000:0:0:0:" tvg-name="Sky Sport Bundesliga HD",Sky Sport Bundesliga HD
#EXTVLCOPT:program=105
http://192.168.178.9:17999/1:0:19:69:C:85:C00000:0:0:0:

Settings für vuplusTV app:
In diesem Fall muss nur eine *.tpl Datei erstellt werden und der Parameter #CONVERT_SKY_TO_ICAM=FALSE gesetzt werden.
Nach dem Aktivieren dieses Bouquets (bouquets.tpl Anpassung nicht vergessen) können alle Sender dieses Bouquets problemlos durchgeschaltet werden. inkl. aller Sky Sender natürlich.

Oben sind noch weitere Übergabeparameter beschrieben, die eine Anpassung des internen und externen Streamingports sowie die Verwendung einer ext. IP/URL für die M3U Dateierzeugung zulassen.
Ich könnte mir auch noch weitere Funktionen vorstellen wie z.B. das automatische Anpassen des Sendernamens, Anpassung von tvg-name in der m3u Datei um Takealug EPG Grapper für Kodi zu unterstützten und vieles mehr.

Ich werde selber parallel Verbesserungen und Erweiterungen einbringen. Daher wird es hier immer mal wieder Updates geben.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Falls von Interesse:
Neue Version 1.1.0:

Änderung:
Das Tool ist jetzt kompatibel zu Python2 und Python3, somit werden auch 'ältere Images' wie z.B. OATV6.4 und wahrscheinlich alle VTI-Images usw. unterstützt.
Einfach mal testen und berichten.
 
Die neue Version 1.1.1 wurde freigegeben und in Beitrag #1 entsprechend aktualisiert.

Das wird wohl erstmal die letzte Version bleiben:
Folgende Änderungen/Anpassungen wurden vorgenommen:

History:
Code:
# History: 1.1.1 - Fehlerkorrektur für die UTF-8-Verarbeitung (nur Python3)
#                - unterstützt die Änderung des Kanalnamens in Lamedb
#                - unterstützt „userbouquet.LastScanned.tv“ in Bouquet.tv nach dem Sendersuchlauf
#                - keine Ausführung während des Sendersuchlaufs
#                - Parameteränderung von si zu sim – definiert serverIPorURLforM3U (Standard: <IP_OF_RECEIVER>), gültig nur für Streaming-Dateien (*.m3u)
#                - neuer Parameter si – definiert serverIp (Standard: 127.0.0.1), gültig für Einstellungsdateien (*.tv)
#                - neuer Parameter q (quiet), um keine Einträge in die Logdatei zu schreiben
#                - der Startheader der Logdatei wird nur geschrieben, wenn eine Protokolldatei erstellt wird
#                - Logdateieinträge, die erzeugt wurden wenn keine Änderung erkannt wurde, wurden entfernt

Damit das Thema für mich zunächst abgeschlossen.
 
Eine ICAM-Umsetzung findet immer für alle *.tv Dateien statt, wenn keine *.tpl Dateien benutzt werden. Das kann verhindert werden, wenn das Bouquet am Namen _noicam angehängt wurde. Sinnvoller ist aber die Nutzung von *.tpl Dateien. Die besitzen den Parameter #CONVERT_SKY_TO_ICAM, um eine spezielle Steuerung zu ermöglichen.
Welchen Sinn sollte es machen, nur die userbouquet.LastScanned.tv zu konvertieren und die anderen Bouquets nicht? Es wäre auch zu beachten, das die LastScanned Datei beim nächsten Sendersuchlauf wieder überschrieben wird und somit eher nicht als normales Bouquet anzusehen ist.
 
Hallo pehedima.

Vielen Dank für das eigentliche weltklasse howto. trotzdem stehe ich irgendwie vor einem Problem...

Aktuell schaffe ich es nicht, ein .tpl.gen file zu erzeugen. Was habe ich bisher getan?

easyE2Setting.sh -> Verzeichnis /etc/enigma2/
enigma2_pre_start.sh -> Verzeichnis /usr/bin/
/etc/enigma2/easyE2Setting.sh
im Terminal eingegeben..
Dann erhalte ich die .tv_sik Datei. Da ich gerne die iOs App VUPlus nutzen möchte, benötige ich ja die .tpl Datei.
Somit gebe ich im Terminal folgendes ein:
root@gbue4k:~# /etc/enigma2/easyE2Setting.sh --genChanTpl
INFO: No templates for bouquets found. Default function translates all defined ICAM channels
INFO: Converting bouquet: SKY_SENDER_uber_Internet
INFO: Converting bouquet: SAT-TV
INFO: Converting bouquet: Sky Deutschland iCAM
INFO: Converting bouquet: AppleTV (TV)
INFO: Converting bouquet: Home
INFO: Converting bouquet: IP-TV
INFO: Converting bouquet: Last Scanned

Ich erhalte jedoch keine .tpl.gen Datei.

Wo liegt mein Fehler?
 
Zuletzt bearbeitet von einem Moderator:
Danke, nun stehe ich hier...
root@gbue4k:~# cd /etc/enigma2
root@gbue4k:/etc/enigma2# ./easyE2Setting —genChanTpl
usage: easyE2Setting [-h] [-g] [-r] [-sim <serverIPorURLforM3U>] [-si <serverIp>] [-sp <streamingPort>] [-esp <externalStreamingPort>] [-f] [-q] [-sa]
[-bk <backupFileName>] [-rs <restoreFileName>] [-rmset] [--debug]
easyE2Setting: error: unrecognized arguments: —genChanTpl
Danke für deine Geduld! :giggle:

Edit:
So, .tpl.gen file erzeugt, ".gen" gelöscht und "#CONVERT_SKY_TO_ICAM=FALSE" gesetzt, wieder auf die Box gespielt - neustart - alle Bouquets weg ..

@pehedima Was mache ich nun wieder falsch? :cautious:
 
Zuletzt bearbeitet von einem Moderator:
Welche tpl.gen Dateien wurden genau erzeugt?
Poste die easyE2Setting.log.

Der Parameter muss -g, --genChanTpl heißen Die Autokorrektur macht da — draus.
 
Zuletzt bearbeitet:
Das Generieren der Templates (erzeugt *.tpl.gen) aus den *.tv Dateien wurde ins. 5 mal gestartet.
Beim ersten Durchlauf wurden die *.tpl.gen Dateien für die folgenden Bougeuts erzeugt:

Code:
SKY_SENDER_uber_Internet
SAT-TV
Sky Deutschland iCAM
AppleTV (TV)
Home
IP-TV
Last Scanned

Dabei ist zu beachten, dass nur aus aktivierten Templates (ohne .gen am Ende) *.tv Dateien erzeugt werden.
Alle nicht definierten Bouguets entfallen. Die Reihenfolge wird anhand der bouguet.tv festgelegt.

Jetzt ist entscheidend welche Dateien aktuell vorhanden sind.
Daher poste bitte die komplette Dateiliste aus /etc/enigma2
 
Hat schon jemand getestet, ob es mit VTi läuft?

Ich bekomme folgenden Fehler

Code:
root@vuultimo4k:/etc/enigma2# ./easyE2Setting
Traceback (most recent call last):
  File "./easyE2Setting", line 568, in <module>
    bouquetFileList=findBouquetFile(bouquetsTvFiles)
  File "./easyE2Setting", line 392, in findBouquetFile
    for readLine in tvFile:
  File "/usr/lib/python2.7/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 6: ordinal not in range(128)

Edit:

Ich teste das ganze im moment mit OpenATV. Soweit gehts, aber es werden nicht alle Sender Konvertiert, obwohl diese in der skyIcam drin stehen.
 
Zuletzt bearbeitet:
Zurück
Oben