Aktuelles TV-Programm in FHEM

Begonnen von Kuzl, 20 Oktober 2014, 20:41:43

Vorheriges Thema - Nächstes Thema

trinitywhm

Zitat von: mumpitzstuff am 06 Juni 2018, 11:51:00
Mir ist nicht klar was "Basic" auf "Common" bedeutet. Grundsätzlich kann man aber nicht jeden beliebigen Sender anzeigen lassen, sondern nur die, die in der xml Datei auch vorhanden sind. Und dort sind leider nicht alle möglichen Sender mit drin.

Ich denke er meint dass er in dem Script nicht das File "rytecDE_Basic.xz" runterlädt und parsed, sondern es mit dem anderen noch verfügbaren File versucht hat "rytecDE_Common.xz".

Auch ich habe einige Sender vermisst, die in dem common-File dann vorhanden waren. Ist es möglich beide Files einzulesen? Oder geht immer nur eins?

mumpitzstuff

Bisher kann man nur eine Datei einlesen. Du könntest aber die Download Funktion erweitern und beide Dateien downloaden und dann die beiden Dateien zu einer Datei zusammen führen. Das ist aber ein wenig Programmieraufwand.
Aktuell verwende ich bei mir die Möglichkeit 3 aus dem Wiki und erstelle mir die xml Datei selbst. Dadurch kann ich selbst bestimmen, welche Sender enthalten sein sollen.

Ich muss das Wiki auch noch mal aktualisieren, denn die verwendete XML::Bare Bibliothek enthält leider einen Bug, was zu einem Memory Leak führt. Ich habe das Script für mich aber bereits umgestellt, so dass dieses vermieden wird. Außerdem habe ich eine asynchron funktionierende Version bei mir zu Hause rumliegen, die auch den RAM Verbrauch drastisch reduziert. Ich werde das die Tage mal aktualisieren...

mumpitzstuff

Habe jetzt das Wiki noch mal aktualisiert. Falls jemand schon eine funktionierende Installation hat, dann sollte man diese erst einmal nicht kaputt machen, sondern die neue Version parallel installieren (dummy device, at devices und ReadingsGroup einfach anders benennen) und erst wenn diese funktioniert, die alte Version löschen.
Vielleicht habe ich ja was vergessen oder übersehen, da ich einige Dinge anpassen musste, ohne sie ausgiebig testen zu können, da bei mir das System inzwischen etwas anders aufgebaut ist. Ich erstelle mir die xml Datei mit Version 3 inzwischen selbst und lese dann diese Datei mit dem Script aus dem Wiki ein. Das hat den Vorteil, das ich mir meine Sender individuell zusammen stellen kann.

Vorteile der neuen Version aus dem Wiki sind:

- der RAM Verbrauch wird enorm reduziert (keine Datenhaltung mehr)
- Memory Leak von XML::Bare wird durch Verwendung einer anderen Funktion vermieden
- die Funktionen sollten nun non Blocking arbeiten

mumpitzstuff

Das Paket xmltv-util bietet übrigens ein Tool namens xmltv-join, wenn ich das auf die Schnelle richtig gesehen habe. Damit kann man wohl mehrere xmltv Dateien zu einer zusammen führen. In der Download Funktion kann man dann 2 Dateien downloaden, diese mergen und kann kann mehr Sender anzeigen lassen.

BillyPbg

Hallo "mumpitzstuff",

vorab Vielen Dank für die tolle Arbeit.

Habe da noch ein paar Problemchen...
Habe gemäß 'TV-Programm'-Wiki, Variante 2' Deiner Anleitung meinen EPG aufgebaut. Dabei stellte ich fest, dass die Readingsgroups nur dann befüllt werden, wenn die Sendernamen mit der Länderkennung, dem "de" gemäß den Dummy-Readings ergänzt werden (siehe Anlage 'Dummy' ),
z.B.
<Sender>,<ab>,<Aktuelle Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>
dmy_TV:<%tv/ard>,next_ARDde_000_btime,<{rgUnfold($DEVICE,'next_ARDde_000_')}@next_ARDde_000_title>,<|>,next_ARDde_001_btime,<{rgUnfold($DEVICE,'next_ARDde_001_')}@next_ARDde_001_title>,<|>,next_ARDde_002_btime,<{rgUnfold($DEVICE,'next_ARDde_002_')}@next_ARDde_002_title>

Leider ist mir auch noch ein Rätsel, wie Du die Sendernamen durch Pictogramme ersetzt, bei mir tut sich eben nichts...
PNG-Bilder im Verzeichnis "/opt/fhem/www/images/default/tv" habe ich hinterlegt...
Wie ist denn die Namensdefinition, sprich wie müssen die denn heißen bei z.B. "%tv/ard" oder bei 'Sat1' und 'Pro7'?

Mir freundlichen Grüßen
BillyPbg

mumpitzstuff

#935
Es ist durchaus möglich, dass man sich die Filter im Perl Script bzw. dann die Bezeichnungen in der Readingsgroup etwas anpassen muss. Ich kann das leider nicht so recht prüfen, da ich mir aktuell das Programm mit Variante 3 selbst zusammen stelle und dort die Sendernamen einfach anders sind. Wenn du es schaffst die Filter im Skript bzw. die Readingsgroup für alle Mainstream Sender anzupassen, dann kannst du mir die Anpassungen gern geben und ich übernehme sie dann.

In deinem Fall bin ich mir nicht sicher, ob du den Sender dort überhaupt haben möchtest oder stattdessen nur ARD haben willst. Der Filter ist in diesem Fall wohl einfach zu ungenau:

my $channelFilter = qr/^(?:ARD|ZDF|Sat1|RTL|RTL2|Pro7|DMax|Vox|Kabel)/;

Vielleicht muss man hier das Regexp etwas spezifischer auslegen, so das nur ARD gefiltert wird. Im Skript selbst kann man in der parse Funktion z.B. die folgende Zeile erweitern, so das de rausgefiltert wird:

$reading =~ s/[\.\s]//g;
ersetzen durch:
$reading =~ s/[\.\s]//g;
$reading =~ s/de$//;


Die Senderlogos müssen immer genau den Namen besitzen, wie sie in der Readingsgroup auftauchen (Groß und Kleinschreibung beachten). Wenn also da steht <%tv/pro7>, dann muss die Datei pro7.png in dem von dir angegebenen Verzeichnis existieren. Sowohl das tv Verzeichnis als auch die darin befindlichen Bilder müssen dem User FHEM zugewiesen werden (mit chown).
Ich kann aber heute Abend auch noch mal gucken, ob ich bei der Pfadangabe im Wiki was falsch gemacht habe.

BillyPbg

Zitat von: mumpitzstuff am 24 September 2018, 12:10:13
...
$reading =~ s/[\.\s]//g;
ersetzen durch:
$reading =~ s/[\.\s]//g;
$reading =~ s/de$//;


Die Senderlogos müssen immer genau den Namen besitzen, wie sie in der Readingsgroup auftauchen (Groß und Kleinschreibung beachten). Wenn also da steht <%tv/pro7>, dann muss die Datei pro7.png in dem von dir angegebenen Verzeichnis existieren. Sowohl das tv Verzeichnis als auch die darin befindlichen Bilder müssen dem User FHEM zugewiesen werden (mit chown).
...

Guten Morgen,

nach einem zusätzlichen "set WEB rereadicons" (Tip für's WIKI) werden nun auch die Icons angezeigt. Das war das ganze Problem.

Und nach Einbau Deiner neuen REGEX-Zeile " $reading =~ s/de$//; " läuft Deine Anleitung inkl. Readinggroups wie von Dir gewollt.
Somit müsstest Du nur die eine Zeile im 'tv.pl'-Script im Wiki ergänzen, denn dann läuft alles wie gewünscht.

Danke.
VG. BillyPbg

mumpitzstuff

Danke. Hab's dem Wiki hinzugefügt.

BillyPbg

Hat jemand über das 'Coming soon' von 'ipservers.eu' ne info, Erklärung oder gar eine Ausweichadresse ?

mumpitzstuff


BillyPbg

Danke - für läuft und läuft und läuft...

Gesendet von meinem SM-G900F mit Tapatalk


trinitywhm

Zitat von: BillyPbg am 10 Oktober 2018, 13:14:19
Hat jemand über das 'Coming soon' von 'ipservers.eu' ne info, Erklärung oder gar eine Ausweichadresse ?
Kann sein dass der Download des aktuellen Fernsehprogramms gerade nicht funktioniert? bzw. wenn ich meinen Timestamps trauen kann schon seit dem 4. Oktober nicht mehr funktioniert?

mumpitzstuff

Es scheint so als ob der Server offline ist. Schau mal 2 Beiträge drüber, da gibt es einen Link. Auf dieser Seite gibts einen Ersatzserver. Eintragen und dann gehts wieder.

BillyPbg

Zitat von: trinitywhm am 20 Oktober 2018, 09:35:48
Kann sein dass der Download des aktuellen Fernsehprogramms gerade nicht funktioniert? bzw. wenn ich meinen Timestamps trauen kann schon seit dem 4. Oktober nicht mehr funktioniert?
Hallo trinitywhm,

tausche mal die 'ipserver.eu'-Adresse in 'tv.pl' wie indirekt empfohlen in...

http://www.vuplus-community.net/rytec/rytecDE_Basic.xz
(
http://www.vuplus-community.net/rytec/rytecDE_Common.xz
oder auch...
http://www.vuplus-community.net/rytec/rytecDE_SportMovies.xz
)

UND danach...

Checke mal mit der CMD-Eingabezeile:  {system("perl /opt/fhem/tv/tv.pl dmy_TV download")}, ob Du überhaupt berechtigt bist, die Dateien erzeugen zu können.

Bei mir musste ich noch die 'at_TV_DOWNLOAD' - Definition abändern in...

*00:15:00 {if ((1 == $wday) || (4 == $wday)) {system("perl /opt/fhem/tv/tv.pl dmy_TV download")}}

'system' anstelle 'fhem' war der Zauber, der zum Erfolg führte...

Falls Du testen willst...
Beachte bitte, dass das AT nur am Mo (1) und Do (4) ausgeführt wird, auch mittels 'execNow').

VG. BillyPbg

Gesendet von meinem SM-G900F mit Tapatalk


mumpitzstuff

#944
Ich habe mal folgende Alternativen zusammen getragen:

http://www.vuplus-community.net/rytec/rytecDE_Basic.xz
http://www.xmltvepg.nl/rytecDE_Basic.xz
http://91.121.106.172/~rytecepg/epg_data/rytecDE_Basic.xz
http://www.vuplus-community.net/rytec/rytecDE_Common.xz
http://www.xmltvepg.nl/rytecDE_Common.xz
http://91.121.106.172/~rytecepg/epg_data/rytecDE_Common.xz
http://www.vuplus-community.net/rytec/rytecDE_SportMovies.xz
http://www.xmltvepg.nl/rytecDE_SportMovies.xz
http://91.121.106.172/~rytecepg/epg_data/rytecDE_SportMovies.xz

Zattoo Programm mit sehr vielen Sendern:
https://goo.gl/CDWiVb
https://goo.gl/uhgcBA

Ob die Zattoo Sender funktionieren weiss ich nicht. Könnte man mal probieren, dazu muss man aber wahrscheinlich auch den Filter im Script anpassen. Hier hätte man aber so ziemlich alle Sender in einer xml Datei, die man sich vorstellen kann. Falls es jemand schafft, wäre es super, wenn er die Details dazu hier posten würde.

Koditvepg:
http://epg.koditvepg2.com/DE/guide.xml
http://epg.koditvepg2.com/DE/guide.xml.gz

Mega fette Senderliste...

Bitte schaut euch unbedingt an wie viel Tage die jeweiligen Guides liefern und reduziert die Häufigkeit der Downloads entsprechend!!! Wenn die 2 Wochen liefern, dann reicht auch ein Download jede Woche.