FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Kuzl am 20 Oktober 2014, 20:41:43

Titel: Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 20 Oktober 2014, 20:41:43
Hallo zusammen,

hier mal ne kleine Idee von mir, wie man das aktuelle TV-Programm in FHEM einbinden kann.
Die Daten werden von TV-Movie via HTTPMOD geholt.


###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 5
attr TV_Programme verbose 1

###########################
define TV_Programm readingsGroup TV_Programme.*:Sat1.* TV_Programme.*:Pro7.* TV_Programme.*:RTL.* TV_Programme.*:DMAX.*
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', DMAX => 'logo_dmax', RTL => 'logo_rtl'}
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

###########################


Die Icons für die Programme müssen nur noch noch in das Icon-Verzeichnis von FHEM kopiert werden.
Als Quelle eignet sich ebenfalls TV-Movie sehr gut.

Weitere Programme können ganz einfach hinzugefügt werden, indem man den Sender in der regex anpasst und das icon hinzufügt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 20 Oktober 2014, 23:29:49
Hallo,

genial, danke.
Die Icons finde ich wo (sorry für die dumme Frage)?

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: eldrik am 21 Oktober 2014, 08:21:49
Zitat von: Puschel74 am 20 Oktober 2014, 23:29:49
Hallo,

genial, danke.
Die Icons finde ich wo (sorry für die dumme Frage)?

Grüße

Zitat von: Kuzl am 20 Oktober 2014, 20:41:43

Die Icons für die Programme müssen nur noch noch in das Icon-Verzeichnis von FHEM kopiert werden.
Als Quelle eignet sich ebenfalls TV-Movie sehr gut.

Ich denke Kuzl meint den rechten Mausklick auf das jeweilige Senderlogo z.B. bei TV-Movie und speichern unter :)

Greetz
Eldrik
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 21 Oktober 2014, 08:27:17
Zitat von: eldrik am 21 Oktober 2014, 08:21:49
Ich denke Kuzl meint den rechten Mausklick auf das jeweilige Senderlogo z.B. bei TV-Movie und speichern unter :)

Ganz genau so mein ich das :D

Einfach http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form (http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form) und von da klaun ;)
Das ist übrigens genau der link, von dem die Informationen geholt werden.

Die Logos von TV-Movie haben den Vorteil, dass sie alle bereits die passende Größe haben und einen Alpha-Channel (keine weißen Hintergründe)

Viele Grüße
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 21 Oktober 2014, 08:39:24
Moin,

ich wollte nur sicher gehen
Zitatund von da klaun
Danke für den Hinweis.
Dann schleich ich mich mal heimlich dort vorbei  8)

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SirMarco am 21 Oktober 2014, 19:08:18
Das ist echt mal ne Klasse Idee... Könnte von mir kommen  ;)

Nun noch nach 20:15h ausfiltern und gut ist.

Klasse Idee

Icons kommen schon in /opt/fhem/www/images/default ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 21 Oktober 2014, 21:52:26
Zitat von: SirMarco am 21 Oktober 2014, 19:08:18
Nun noch nach 20:15h ausfiltern und gut ist.

Das sollte eigentlich damit erledigt sein, dass du diese Adresse verwendest:

http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?time=20%3A15&tv-station=0&tv-stations-count=100&form_build_id=form-7f14349bb4168f199be9380ba25de041&form_id=dikr_tvm_tv_guide_tv_content_filter_form


Es reicht dann natürlich eine sehr viel niederfrequentere Abfrage der Seite.

Zitat von: SirMarco am 21 Oktober 2014, 19:08:18
Icons kommen schon in /opt/fhem/www/images/default ?

Jap
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 21 Oktober 2014, 21:58:49
Hallo,

wo die Icons hinkopiert werden sollte eigentlich egal sein.
attr WEB iconpath <Pfadangabe> sollte den Weg weisen  ;)
Aber ein Platz unter ../fhem/www/images/... lässt sich per Attribut leicht einbinden.

Genial wäre wenn erkannt wird WANN eine Sendung vorbei ist und kurz vor dem Ende die Daten dieses Senders für die nächste Sendung geholten werden würden.
Das Intervall hab ich mal auf 600 Sekunden geschraubt - jede Minute hat mir timeouts gebracht.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 21 Oktober 2014, 22:11:54
Hi,

hmmmmm ja das wär ne Idee oder generell das aktuelle, sowie das folgende anzeigen lassen
muss ich mir mal Gedanken machen wie ich das umsetzen kann
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 21 Oktober 2014, 22:35:33
Man könnte diese Seite aufrufen

http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form

Dann sollten die folgenden Sendungen angezeigt werden
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 21 Oktober 2014, 22:39:20
Hallo Paul,

ich sehe da irgendwie nur die aktuellen Sendungen.
Bin ich blind? :O
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 21 Oktober 2014, 22:43:35
Sorry war der falsche Link

http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 21 Oktober 2014, 22:56:24
Ahhh ja damit kann man es auslesen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 21 Oktober 2014, 23:06:13
Zitat von: Kuzl am 21 Oktober 2014, 22:56:24
Ahhh ja damit kann man es auslesen

Dann sollte man aber noch die Anfangszeiten auslesen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 21 Oktober 2014, 23:09:51
Ja das stimmt.
Ich überlege grade, ob das auch anders zu lösen ist als mit einem zweiten HTTPMOD device.... finde das irgendwie nicht so schön.
Hast du da ne idee?
Ansonsten werd ich mich diese oder nächste woche mal dran setzen sollte ja nicht all zu lange dauern
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 21 Oktober 2014, 23:17:57
Zitat von: Puschel74 am 21 Oktober 2014, 21:58:49

Das Intervall hab ich mal auf 600 Sekunden geschraubt - jede Minute hat mir timeouts gebracht.


Dann eher die Senderanzahl pro Seite reduzieren

http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=[color=red]100[/color]&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form

Die 100 in 50 oder 25 ändern oder das Timeout erhöhen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 21 Oktober 2014, 23:27:28
Zitat von: Kuzl am 21 Oktober 2014, 23:09:51
Hast du da ne idee?

Ja, die habe ich aber keine Ahnung von HTTPMOD.

Kann man nicht neben den Titel noch die Startzeit auslesen?

Zu deinem Beispiel würde ich noch ein zweites HTTPMOD Device mit meiner http-Seite einrichten und diese untereinander darstellen

Also aktuelle Sendung und folgende. Ich würde aber momentan an der Startzeit der neuen Sendung scheitern
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 22 Oktober 2014, 08:00:46
Wenn man die Senderzahl reduziert muss man allerdings aufpassen, dass die gewünschten Sender noch vorhanden sind.
Zitat von: Paul am 21 Oktober 2014, 23:27:28
Ja, die habe ich aber keine Ahnung von HTTPMOD.

Kann man nicht neben den Titel noch die Startzeit auslesen?

Zu deinem Beispiel würde ich noch ein zweites HTTPMOD Device mit meiner http-Seite einrichten und diese untereinander darstellen

Also aktuelle Sendung und folgende. Ich würde aber momentan an der Startzeit der neuen Sendung scheitern


Genau das wollte ich eigentlich vermeiden, scheint aber nicht anders zu gehen.

Die Startzeit sollte sich über Regex auslesen lassen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 22 Oktober 2014, 08:10:03
Hallo Paul,

kannst du das mal testen?
ich habe grad kein FHEM zur Verfügung:


###########################
define TV_Programme_test HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_test readingsName_DMAX DMAX
attr TV_Programme_test readingsRegex_DMAX <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_test stateFormat mein_TV_programm: DMAX
attr TV_Programme_test timeout 10
attr TV_Programme_test verbose 1
###########################


Das sollte jetzt die Zeit ausspucken, bei der die nachfolgende DMAX-Sendung beginnt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 22 Oktober 2014, 10:11:06
Habe ich auch erst wieder heute Abend
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 22 Oktober 2014, 10:30:43
Hallo,

dank Krankenstand habe ich Zugriff auf mein Testsystem.
FHEM spuckt 11:15 aus - siehe Screenshot.
Brauchst du noch was?

Grüße

Edith: Und nun 12:15 aber das hast du sicher erwartet  ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 22 Oktober 2014, 15:24:10
Hallo Puschel,

vielen Dank, dann scheint das ja zu funktionieren :D

ich werd mich die Tage dann mal ans Werk machen, wenn ich Zeit finde :)

vg Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Mitch am 22 Oktober 2014, 18:42:36
Hallo und vielen Dank, funktioniert genial.

Jetzt habe ich noch einige Sender mit rein gepackt.
Leider komme ich bei KIKA nicht weiter. Weder die Infos werden geholt, noch die ReadingsGroup zeigt was an.

Folgendes habe ich definiert:
attr TV_Programme readingsName_KIKA KIKA
attr TV_Programme readingsRegex_KIKA <span>KI.KA<span[\w\W]*?alt="(.*?)" title=


KIKA wird in den geholten Infos als KI.KA geschrieben.

Was mache ich denn falsch?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: azlanw am 23 Oktober 2014, 00:22:39
Hallo Mitch

versuche mal

attr TV_Programme readingsRegex_KIKA <span>KI.KA</span[\w\W]*?alt="(.*?)" title=

bei mir zeigt er für KiKa jetzt Sendeschluss an

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: azlanw am 23 Oktober 2014, 07:32:14
klappt so doch nicht  :(
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Mitch am 23 Oktober 2014, 08:23:29
Bei mir geht es, Danke.
Es lag am /
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Oktober 2014, 11:30:50
Sooo hier mal das HTTPMOD-Device für die nachfolgenden Sendungen:



###########################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_DMAX DMAX
attr TV_Programme_next readingsName_Pro7 Pro7
attr TV_Programme_next readingsName_RTL RTL
attr TV_Programme_next readingsName_Sat1 Sat1
attr TV_Programme_next readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsName_DMAX_time DMAX_time
attr TV_Programme_next readingsName_Pro7_time Pro7_time
attr TV_Programme_next readingsName_RTL_time RTL_time
attr TV_Programme_next readingsName_Sat1_time Sat1_time
attr TV_Programme_next readingsRegex_DMAX_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next stateFormat mein_TV_programm: Pro7
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1

###########################



im Anschluss muss dass jetzt noch schön zur Anzeige gebracht werden.

Das Device ist komplett ungetestet. (Bitte testen) :D
In den Readings sollten die nächsten Sendungen und die zugehörigen Zeiten stehten.

@azlanw: was klappt nicht?

Viele Grüße
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 23 Oktober 2014, 11:39:16
Hallo,

sieht gut aus.
Ich hab nur noch irgendwo einen copy&paste-Fehler drinnen  >:(

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Oktober 2014, 11:43:04
Hi,

das ist ja schnell gegangen :)

Prima, dass das so auf Anhieb funktioniert, jetzt nur noch die Anzeige....
Wie sollte das denn am Besten aufgebaut sein? kann man da eine zusätzliche Spalte mit der Zeit machen?

Der Anzeigefehler bei den Ludolfs sollte nach einer Longpoll-Akualisierung (Zeitstempel wird rot) nicht mehr vorhanden sein... Keine Ahnung warum das so ist.

vg Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: azlanw am 23 Oktober 2014, 11:45:29
Hallo Kuzl,

ich hatte kein reading für KIKA. Funktioniert jetzt.
Schöne Idee.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 23 Oktober 2014, 11:47:47
Hallo,

Zitatdas ist ja schnell gegangen
Dank meiner erzwungenen "Sitzpause" bin ich zur Zeit etwas öfter im Forum unterwegs  8)

Ich dachte eigentlich das die Anzeige
ZitatTV_Programme_next:Sat1_time 12:00
aufgrund eines c&p-Fehlers enstanden sind.
Aber wenn das so passt brauch ich nicht weiter suchen  ;D

ZitatWie sollte das denn am Besten aufgebaut sein? kann man da eine zusätzliche Spalte mit der Zeit machen?
Ich denke schon aber das ist readingsGroup  8)
Da müsste sich vermutlich justme mal einklinken.
Eine Spalte "Beginn" wäre genial.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Oktober 2014, 11:53:35
Hi,

gute Besserung!

Zitat von: Puschel74 am 23 Oktober 2014, 11:47:47
Ich dachte eigentlich das die Anzeigeaufgrund eines c&p-Fehlers enstanden sind.

ist nur gleich weil RTL und Sat1 beide die nächste Sendung um 12:00 starten

Zitat von: Puschel74 am 23 Oktober 2014, 11:47:47
Ich denke schon aber das ist readingsGroup  8)
Da müsste sich vermutlich justme mal einklinken.

Ja das wär ganz gut. Bin damit nicht so fit.
Gibts noch eine andere Möglichkeit in FHEM Tabellen o.Ä. anzuzeigen?

vg
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 23 Oktober 2014, 12:00:02
Hallo,

Zitatgute Besserung!
Danke.

ZitatGibts noch eine andere Möglichkeit in FHEM Tabellen o.Ä. anzuzeigen?
Ohne richtig Ahnung davon zu haben würde ich mal auf weblink tippen.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Oktober 2014, 12:46:54
Weblink müsste sogar gehen, allerdings wird es schwierig das so an das vorhandene design anzupassen noch dazu ohne ein fhem zur Verfügung zu haben.

Wer lust hat kann da mal was basteln. Ansonsten muss ich mir das mal ansehen, kann aber 1-2 Wochen dauern bis ich dazu komme.. denke das wird für mich als HTML/CSS-Anfänger nicht so leicht :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 23 Oktober 2014, 15:56:50
Hallo,

wenn ich wenigstens in etwa das genaue Reading finden würde könnte ich mal versuchen nach dem Wikiartikel
http://www.fhemwiki.de/wiki/ReadingsGroup (http://www.fhemwiki.de/wiki/ReadingsGroup) für den EnigmaReceiver etwas zu basteln.

Grüße

Edith: Ich bin aber auch blind - steht ja alles in den Readings  ::)
Edith2: ich vermute wir werden um eine sub in der 99_myUtils.pm nicht herum kommen  >:(
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 23 Oktober 2014, 17:01:10
hmja, gute Sache ist das...schön kompakt auf einen Blick, was läuft  8)
Die Online-EPGs sind ja leider meistens so gestrickt, dass man sich 'nen Wolf scrollt, bis man mal den Überblick über seine paar Lieblingssender verschafft hat.

Um da mal noch einen echten Mehrwert draufzusetzen - mit dem commands Attribut der readingsGroup müsste ich doch dann eigentlich gleich meinen Fernseher auf den richtigen Kanal schalten können, oder? Muss ich mir mal ansehen, wenn ich Zeit hab.

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Oktober 2014, 18:40:49
Hallo,

Zitat von: Doggiebert am 23 Oktober 2014, 17:01:10
Um da mal noch einen echten Mehrwert draufzusetzen - mit dem commands Attribut der readingsGroup müsste ich doch dann eigentlich gleich meinen Fernseher auf den richtigen Kanal schalten können, oder? Muss ich mir mal ansehen, wenn ich Zeit hab.
Sollte gehn, ja

Zitat von: Puschel74 am 23 Oktober 2014, 15:56:50
ich vermute wir werden um eine sub in der 99_myUtils.pm nicht herum kommen  >:(
glaub ich auch

vg
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 23 Oktober 2014, 19:15:09
Hallo,

hmmm.
Mich erschlagen die Beispiele im Wiki und der commandref zur RG  :-[
Ich bekomm genau 0 ans laufen und probier schon den ganzen Nachmittag rum.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Oktober 2014, 19:17:09
Hallo,

Ich hab mal gebastelt.
Funktioniert schon ganz gut, nur das Problem ist, dass es durch die 2 Devices immer 2 Zeilen pro Programm macht.
Wie kann ich das denn ändern?

2. Problem ist, dass die Readings aus einer alten Konfiguration im _next-Device noch vorhanden sind. Wie bekomm ich die weg?

Grüße
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Oktober 2014, 19:31:30
Hallo nochmal,

ich denk jetzt hab ichs hier die komplette def:


###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 5
attr TV_Programme verbose 1

#######################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_DMAX_next DMAX_next
attr TV_Programme_next readingsName_DMAX_next_time DMAX_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsRegex_DMAX_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DMAX_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1

###########################
define TV_Programm readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', DMAX => 'logo_dmax', RTL => 'logo_rtl'}
attr TV_Programm nameStyle style="color:yellow;;font-weight:bold"
attr TV_Programm room Kuzl
attr TV_Programm style style="font-size:18px"

###########################


ich bitte um einen Test :D

Viele Grüße
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 23 Oktober 2014, 20:02:43
Hallo,

hier der Test  8)
Sieht gut aus.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Rince am 23 Oktober 2014, 20:20:13
Schick.
Jetzt muss fhem nur noch bei bestimmten Filmen automatisch via Kodi bzw XBMC eine Aufnahme anstoßen :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 23 Oktober 2014, 20:30:53
Hallo,

Zitat von: Rince am 23 Oktober 2014, 20:20:13
Schick.
Jetzt muss fhem nur noch bei bestimmten Filmen automatisch via Kodi bzw XBMC eine Aufnahme anstoßen :)
Mit einem entsprechenden notify sollte sich das auch direkt aus der RG heraus machen lassen  ;D
Die Möglichkeiten mit FHEM werden immer genialer  8)

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 23 Oktober 2014, 21:26:47
@Kuzl

Sieht super aus

hast Du einen Tipp wie man die richtigen Namen für weitere Sender leicht findet

ARD muss zB mit Leerzeichen angegeben werden DMAX ohne
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 23 Oktober 2014, 21:55:32
Da schließe ich meine Frage gleich mal an  :)

Das Auslesen hab ich auch noch nicht ganz verstanden. Wenn ich jetzt z.B. das hier Sky+24

Das aktuelle TV-Programm auf Sky CINEMA +24"><span>Sky CINEMA +24</span></a> </div> </td> <td style="padding: 0px; margin: 0px;"> <div class="image-cell"> <div class=

auslesen möchte....

attr TV_Programme readingsName_SkyCINEMA+24 SkyCINEMA+24

attr TV_Programme readingsRegex_SkyCINEMA+24 <span>Sky CINEMA +24</span>[\w\W]*?alt="(.*?)" title=


müsste doch so gehen...oder  ???

so sieht es momentan aus

attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_SkyCINEMA SkyCINEMA
attr TV_Programme readingsName_SkyCINEMA+24 SkyCINEMA+24
attr TV_Programme readingsName_SkyACTION SkyACTION
attr TV_Programme readingsName_SkyHITS SkyHITS
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCINEMA <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCINEMA+24 <span>Sky CINEMA +24</span>[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyACTION <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyHITS <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme stateFormat mein_TV_programm: Pro7


es geht alles bis auf Sky+24. Da hab ich schon alles versucht. 24< 24 < 24 <span 24</span ....
was mache ich falsch  :-[

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 23 Oktober 2014, 22:16:17
@matthes1007

Vielleicht liegt das aber auch an dem ReadingsName mit dem +
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 24 Oktober 2014, 07:18:45
Hallo zusammen,

hier mal eine Anleitug, wie man die richtige Schreibweise rausfindet:

Als erstes geht ihr auf die Adresse in eurer konfig (z.b. http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form )

Dann Rechtsklick => Seitenquelltext anzeigen

Dort gebt ihr mit der Suche (STRG+F) einfach mal einen Teil eures Sendernamens ein, in meinem Beispiel hier einfach mal "Sky"

Überspringt dann die Suchergebnisse, bis ihr auf so einen Block trefft, den es für jeden Sender gibt. (Siehe Screenshot)

In diesem Block findet ihr im oberen Bereich die Zeichenfolge "<span>SENDER</span> (kann leicht variieren)

Und genau diese Zeichenfolge müsst ihr im Regex vor das "[\w\W]*?alt="(.*?)" title=" eintragen.

@matthes1007: das "+" muss maskiert werden, da es sonst für das Regex eine andere Bedeutung hat.
                          Versuch das mal: <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=

Viele Grüße
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 24 Oktober 2014, 13:49:40
So,

das mit Sky Cinema +24 hat geklappt. Danach waren die anderen 2 Sky Sender nicht mehr da.....
bis ich gemerkt habe, das sie nicht mehr unter den ersten 100 Einträgen waren  :(
Keine Ahnung wie TV Movie da selektiert oder ob das bei den Nicht Hauptsendern willkürlich
auf der Seite verteilt wird...

Jedensfalls habe ich jetzt die Senderliste mal um 3 Sender erweitert und siehe da ....

(http://up.picr.de/19908046fx.jpg)

erst alles ok.

dann

(http://up.picr.de/19908048ps.jpg)


???

(http://up.picr.de/19908056by.jpg)

wo drückt jetzt schon wieder der Schuh ?

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 24 Oktober 2014, 14:06:53
na, probier mal FHEM restart und Browser reload. Der lädt meiner Meinung nach einfach die Icons nicht.
Ich hatte das auch erst, nachdem ich da in der Konfig rumgespielt hab...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 24 Oktober 2014, 15:16:58
Aber VOR dem restart das save nicht vergessen  ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 24 Oktober 2014, 15:30:04
Das habe ich alles schon mehrfach gemacht. Sogar ie, chrome und Firefox probiert. Über all das gleiche Problem
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 24 Oktober 2014, 15:43:36
na dann...alle Änderungen einzeln Schritt für Schritt durchprobieren, ob's dann noch geht. btw, mit screenshots von Konfigurationen wird Dir allerdings niemand helfen können...

Ich würde mal so starten: Zurück auf die letzte funktionierende Kombination, und dann mal die nameIcon Erweiterung rein (da sollten die Mehreinträge ja eigentlich nicht stören) und schauen ob die Icons dann immer noch da sind.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 24 Oktober 2014, 16:16:55
Asche auf mein Haupt....
ich hab´s gefunden. War ein fehlendes "," zwischen den nameIcons.

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 24 Oktober 2014, 16:38:15
Ha! Ich hab' schon fast sowas vermutet...  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 24 Oktober 2014, 16:53:01
Zitat von: mattes1007 am 24 Oktober 2014, 13:49:40
das mit Sky Cinema +24 hat geklappt. Danach waren die anderen 2 Sky Sender nicht mehr da.....
bis ich gemerkt habe, das sie nicht mehr unter den ersten 100 Einträgen waren  :(

btw (falls Du's nicht eh schon gelöst hast), wenn Du Sender von Seite 1 und 2 brauchst: völlig egal, Du kannst über die URL ja kundtun, wieviele Sender er auf der ersten Seite anzeigt - einfach auf 200 hochschrauben. Über die Dropdowns auf der Webseite bietet er zwar nur die 100 als Maximum an, aber die 200 gehen genauso...
Also z.B. die URL da:
http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=200&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form (http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=200&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 24 Oktober 2014, 16:54:03
Dann aber eventuell das timeout auch etwas hoch drehen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 24 Oktober 2014, 18:31:20
Also 200 Sender geht nicht. Da komm nix mehr an.
Mit 175 gehts. Mehr gibt es auch auf der Seite nicht  :)

http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=175&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 24 Oktober 2014, 20:56:13
seltsam, die  ausgelieferte Seite sollte ja beides mal die gleiche sein, also auch kein timigproblem...bei mir gehts...
egal, Hauptsache es funzt!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 26 Oktober 2014, 13:38:08
Bei mir sieht es jetzt so aus.

Besten Dank für die Anleitung
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Will am 26 Oktober 2014, 13:44:37
Paul, kannst du deinen Code Posten? Danke

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: OK_DE am 26 Oktober 2014, 22:45:08
Das ganze funktioniert soweit wie beschrieben.
Allerdings habe ich ein komisches Verhalten beim ersten Laden der Seite werden die HMTL Ersatzzeichen dargestellt.
Kommen neue Daten über HTTPMOD wird alles korrekt dargestellt.

Also zum Beispiel Sendungen mit Gänsefüßchen werden dargestellt als z.B. &quot;Spiegel&quot;-TV
Nach HTTPMOD als "Spiegel"-TV

Irgendjemand eine Idee woran das liegen könnte ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 27 Oktober 2014, 08:41:21
Hallo OK_DE

das ist bei mir auch so, keine Ahnung warum.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 27 Oktober 2014, 20:54:03
@will

Ich habe es so umgesetzt wie es Kuzl beschrieben hat.

Erst TV_Prorgramme_next definiert

Dann mit copy TV_Programme_next TV_Programme_jetzt erstellt und unter def die HTTP-Seite
geändert,

Und dann die Readingsgroup so definiert:

define TV_Programm readingsGroup <seit>,<läuft>,<Sender>,<ab>,<Programm                           > TV_Programme_next:ARDtime@TV_Programme_jetzt,ARD@TV_Programme_jetzt,<ARD>,ARDtime,ARD .....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 00:57:54
also ich bekomme das mit der ersten Zeit nicht gebacken

so geht das wunderbar

<Programm>,<aktuelle Sendung>,<ab>,<folgende Sendung>
TV_Programme_next:ARD@TV_Programme,ARD_next_time,ARD_next


aber wenn ich diese 1.Zeit <seit> davor setzen möchte passiert nichts bei mir

<Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>
TV_Programme_next:ARDtime@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next


wo ist mein Fehler..?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 01:34:51
Tolle Arbeit!
Aber kann nicht jemand den ganzen Code Posten damit nicht jeder einzelne. Das Rad wieder neu erfinden muss?
Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 02:03:55
mir fehlt leider noch immer das ich die erste Zeit nicht hinbekomme...!

Ansonsten kann ich dir den Code für diese im Screenshot 5 Sender geben...
Aber das ist echt aufwendig das für alle Sender zu machen die man gern haben möchte. Ich werde das auf die wichtigsten reduzieren, da wird man ja rammdösig  ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 02:11:20
Ja genau das hab ich ja gemeint wenn jeder nur ein paar Sender macht und den Code postet haben wir am ende eine Riesen Liste ohne viel Arbeit
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 28 Oktober 2014, 07:22:11
@moonsorrox

Liest du in TV_Programme die Zeit aus. das macht Kuzl mE in seinem Code nicht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 13:06:59
Zitat von: Paul am 28 Oktober 2014, 07:22:11
@moonsorrox

Liest du in TV_Programme die Zeit aus. das macht Kuzl mE in seinem Code nicht

mmh, was vergessen..?

Das lese ich alles aus im define TV_Programme mit den Attributen am Beispiel von ARD

attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=


und das lese ich alles aus mit dem define TV_Programme_next
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time

attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>


sollte ich etwas vergessen/übersehen haben..?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 13:12:03
Ich hab mal ein paar sender gemacht  ;D
(ARD ZDF ORF1 ORF2)
wäre interesant welche ihr schon habt um doppelte arbeit zu ersparen


###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=175&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF2 ORF2

attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD <span>ARD-HD<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=

attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
#attr TV_Programme verbose 1
attr TV_Programme room Multimedia

#######################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=175&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_DMAX_next DMAX_next
attr TV_Programme_next readingsName_DMAX_next_time DMAX_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time

attr TV_Programme_next readingsRegex_DMAX_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DMAX_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ARD_next <span>ARD-HD<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD-HD<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>





attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 60
#attr TV_Programme_next verbose 1
attr TV_Programme_next room Multimedia
###########################
define TV_Programm readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time TV_Programme_next:ORF1@TV_Programme,ORF1_next,ORF1_next_time TV_Programme_next:ORF2@TV_Programme,ORF2_next,ORF2_next_time
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', DMAX => 'logo_dmax', RTL => 'logo_rtl', ARD => 'logo_ard', ZDF => 'logo_zdf', ORF1 => 'logo_orf1', ORF2 => 'logo_orf2'}
attr TV_Programm nameStyle style="color:yellow;;font-weight:bold"
attr TV_Programm room Multimedia
attr TV_Programm style style="font-size:18px"

###########################

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 13:18:50
da hast du schon mehr als ich  ;)
mache erst weiter wenn ich das mit der Zeit fertig habe...! weiß aber noch nicht wie, ich denke mir fehlt ein "attr" weiß nur nicht welches
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 13:22:10
Nein leider das übersteigt meine Kenntnisse :-(
ich hab nur anhand von DMAX die Sender Namen getauscht

Gruß Markus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 28 Oktober 2014, 13:48:35
@moonsorrx

Du fragst bei TV_Programme nicht die Zeit mit ab. Das machst du dort genauso wie bei TV_Programme_next

Und um nicht alles doppelt einzu geben mein Vorschlag mit copy
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 28 Oktober 2014, 13:51:14
Ich kann ne ganze Menge Sender anbieten, fertig hätt ich's schon, nur noch nicht ausprobiert...
Wenn's noch 2 Tage Zeit hat, kann ich was liefern  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 14:29:19
Zitat von: Paul am 28 Oktober 2014, 13:48:35
Du fragst bei TV_Programme nicht die Zeit mit ab. Das machst du dort genauso wie bei TV_Programme_next

OK, das habe ich jetzt mal so gelöst, hier mein define komplett...
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme stateFormat mein_TV_programm: ARD
attr TV_Programme timeout 5
attr TV_Programme verbose 1


muss ich evtl auch noch die readingsRegex machen..? und wie muss die wenn aussehen, ich schnalle es nicht...! ;)

mein DEF der Readingsgroup, aber was kommt dabei raus alles verschoben

<Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>
TV_Programme_next:ARD_time,ARD@TV_Programme,ARD_next_time,ARD_next
TV_Programme_next:ZDF_time,ZDF@TV_Programme,ZDF_next_time,ZDF_next
TV_Programme_next:Sat1_time,Sat1@TV_Programme,Sat1_next_time,Sat1_next
TV_Programme_next:Pro7_time,Pro7@TV_Programme,Pro7_next_time,Pro7_next
TV_Programme_next:RTL_time,RTL@TV_Programme,RTL_next_time,RTL_next


Bei ARD und ZDF geht es nicht und bei den privaten stimmt der Aufbau aber die Icons fehlen... :-\
ich verstehe nichts mehr
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 28 Oktober 2014, 14:41:59
Hallo moonsorrox,

wie Paul schon gesagt hat, fehlt die Abfrage der Zeit in deinem define
Außerdem die Definition von DMAX. Da du das auch nicht verwendest bitte diese Zeile rausschmeissen:

attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=


bitte das noch einfügen:


attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>


und deine Readingsgroup muss denke ich so aussehen:


<Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next


Gruß
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 14:54:09
DMAX hatte ich schon raus weil ich dachte es haut dazwischen, aber nicht der Fall.

Beide Code Angebote von dir habe ich nun übernommen
Dieses hier hatte ich schon zwischenzeitlich gemacht, aber schau mal... oh das kann doch nicht wahr sein:
attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>


jetzt sieht es komplett anders aus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 28 Oktober 2014, 14:58:49
Bitte mal die KOMPLETTEN defines von Allem was dazu gehört (TV_Programme, TV_Programme_next und die Readingsgroup) posten
alles andere ist tappen im Dunklen. Irgendwas passt da nicht ganz zusammen meiner Meinung
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 15:04:22
OK ich habe jetzt einen kleinen Erfolg nur ohne Icons...!
Hier mal die kompletten Code:

###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_ZDF ZDF

attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_ZDF_time ZDF_time

attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=

attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme stateFormat mein_TV_programm: ARD
attr TV_Programme timeout 5
attr TV_Programme verbose 1

#######################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next stateFormat mein_TV_programm: ARD_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1

###########################
define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next\
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next\
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next\
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next\
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next\

attr TV_Programm alias TV Programm
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { ARD => 'ard', ZDF => 'zdf',Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl'}
attr TV_Programm nameStyle style="color:lightgreen;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

###########################


so sieht es jetzt aus mit obigen Code, es fehlen die Icons
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 28 Oktober 2014, 15:13:47
Okay spontan fallen mir 2 Sachen ein:

1. Die Icons werden nicht gefunden (falscher Pfad oder Name)
2. Wie ist das Mit den Zeilenumbrüchen?

Kannst du die define der ReadingsGroup mal in eine Zeile schreiben? oder mal vor den "\" ein Leerzeichen setzen?

EDIT:

etl stimmen auch die Namen für die Iconreferenz nicht. Probier mal in dem schema: attr TV_Programm nameIcon { ARD_next => 'ard',............................
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 15:38:44
Zitat von: Kuzl am 28 Oktober 2014, 15:13:47
1. Die Icons werden nicht gefunden (falscher Pfad oder Name)
ging ja vorher da habe ich nichts geändert, Pfad sollte richtig sein und der Name auch heißen so wie die Sender und sind alles *.png

Zitat von: Kuzl am 28 Oktober 2014, 15:13:47
2. Wie ist das Mit den Zeilenumbrüchen?
ich ändere alles im DEF der Internals, da sollte nichts schief gehen ;)

Zitat von: Kuzl am 28 Oktober 2014, 15:13:47
Kannst du die define der ReadingsGroup mal in eine Zeile schreiben? oder mal vor den "\" ein Leerzeichen setzen?
das hatte ich schon probiert, ändert nichts
das mit dem Leerezeichen klappt auch nicht

Zitat von: Kuzl am 28 Oktober 2014, 15:13:47
etl stimmen auch die Namen für die Iconreferenz nicht. Probier mal in dem schema: attr TV_Programm nameIcon { ARD_next => 'ard',............................
die geht auch nicht im nameIcon
{ ARD_next => 'ard', ZDF_next => 'zdf',Pro7_next => 'pro7', Sat1_next => 'sat1', RTL_next => 'rtl'}

Neustart gemacht auch nichts, mmh das muss wohl an der readingsgroup liegen, die hat ja die Änderung bekommen..?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 16:40:30
wenn du dass

###########################
define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next\
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next\
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next\
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next\
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next\

aus deinem code gegen das austauscht funktioniert es. zumindest bei mir


define TV_Programm readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time TV_Programme_next:ORF1@TV_Programme,ORF1_next,ORF1_next_time TV_Programme_next:ORF2@TV_Programme,ORF2_next,ORF2_next_time
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', DMAX => 'logo_dmax', RTL => 'logo_rtl', ARD => 'logo_ard', ZDF => 'logo_zdf', ORF1 => 'logo_orf1', ORF2 => 'logo_orf2'}



Edit: Hab eine Zeile vergessen sorry
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 18:10:06
das ist aber leider nicht die Ansicht die ich haben möchte, es fehlt die Uhrzeit jetzt und das war der Stand von gestern Abend, da geht das ja auch mit den Icons.
Mein Code geht aber nicht mit den Icons und den Fehler gilt es zu finden...!  8) :-\

Es muss irgend etwas in der Readingsgroup sein, die Reihenfolge habe ich schon verändert aber bisher kein Erfolg
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 18:33:08
Ich hab mal diesen code verwendet da Funktionieren die icons aber die zeit fehlt ansonsten ist es genau dein code nur halt in einer Zeile geschrieben
und die attr dazu

define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time TV_Programme_next:ORF1@TV_Programme,ORF1_next,ORF1_next_time TV_Programme_next:ORF2@TV_Programme,ORF2_next,ORF2_next_time
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', DMAX => 'logo_dmax', RTL => 'logo_rtl', ARD => 'logo_ard', ZDF => 'logo_zdf', ORF1 => 'logo_orf1', ORF2 => 'logo_orf2'}

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 18:56:48
Bei mir schaut es jetzt so aus!
nicht erschrecken ich hab nur ein logo zum Testen hinterlegt
mit diesem Code


###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=175&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF2 ORF2



attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsName_DMAX_time DMAX_time
attr TV_Programme readingsName_ORF1_time ORF1_time
attr TV_Programme readingsName_ORF2_time ORF2_time



attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=

attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_DMAX_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF1_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF2_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme stateFormat mein_TV_programm: ARD
attr TV_Programme timeout 60
attr TV_Programme verbose 1
attr TV_Programme room

#######################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=175&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsName_DMAX_next DMAX_next
attr TV_Programme_next readingsName_DMAX_next_time DMAX_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time


attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_DMAX_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DMAX_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>



attr TV_Programme_next stateFormat mein_TV_programm: ARD_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1
attr TV_Programme_next room TV
###########################
#define TV_Programm readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time TV_Programme_next:ORF1@TV_Programme,ORF1_next,ORF1_next_time TV_Programme_next:ORF2@TV_Programme,ORF2_next,ORF2_next_time
define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time TV_Programme_next:ORF1@TV_Programme,ORF1_next,ORF1_next_time TV_Programme_next:ORF2@TV_Programme,ORF2_next,ORF2_next_time


attr TV_Programm alias TV Programm
attr TV_Programm group TV_Programm
#attr TV_Programm nameIcon { ARD => 'ard', ZDF => 'zdf',Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl'}
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', DMAX => 'logo_dmax', RTL => 'logo_rtl', ARD => 'logo_ard', ZDF => 'logo_zdf', ORF1 => 'logo_orf1', ORF2 => 'logo_orf2'}

attr TV_Programm nameStyle style="color:lightgreen;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

###########################

Edit:Foto Geklaut
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 18:57:40
fast gut, aber die Anfangszeit fehlt (DMAX habe ich mal raus genommen) das ist ja das Problem, jetzt noch die Anfangszeit und alles ist gut  ;)

also wie bei mir..! 8) die Zeit hinten vertauschen ist kein Problem hatte ich ja schon
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 28 Oktober 2014, 19:07:11
Hallo,

äh, wozu die Anfangszeit?
Die ist ja eh vorbei und die momentan laufende Sendung bekommst du ja angezeigt.
Wenn das wär die noch laufende Restzeit genial  ;D

Leute, macht mal kund an welchen Programmen sich wer dranmacht - nicht das wir alles doppelt und dreifach posten.
Ich werd mich mal an SRF1 und SRF2 und an ServusTV machen - mal schauen ob das überhaupt im Angebot ist  8)
ORF1 und 2 ist zwar schick - bekomm ich hier aber leider nur ab und zu über 3-Sat zu sehen  :-\

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 19:13:52
Zitat von: Puschel74 am 28 Oktober 2014, 19:07:11
äh, wozu die Anfangszeit?

sieht gut aus...!  ;) ich versuche jetzt mal ServusTV
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 28 Oktober 2014, 19:15:07
ServusTV macht doch Puschel schon
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 28 Oktober 2014, 19:21:16
Leute mir is wurscht - conchita  :P
Ich bin krank geschrieben und werd mich einfach auf alles stürzen was im Seitenquelltext geliefert wird.
Aber erstmal - geh ich auf die Terrasse  ;D
Also gebt mir mal ne halbe Stunde und ich werd die Codes durch meine Testinstallation prügeln  8)

Edith: Äh Leute - habt ihr mir mal nen Tipp wie ich das am besten in Notepad++ sortiert bekomm?
Der Link ist eine Schlange und eine Suche nach SRF bringt 0 Treffer  :o
Puh - erstmal 88.6 einwerf
Ok, erledigt - ich lass erstmal nach <span> sortieren - wenn der Scrollbalken nur endlich mal länger werden würde  :-\
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 28 Oktober 2014, 19:43:36
Zitat
OK ich habe jetzt einen kleinen Erfolg nur ohne Icons...!
attr TV_Programm nameIcon { ARD_time => 'ard', ZDF_time => 'zdf',Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl'}

so sieht es jetzt aus mit obigen Code, es fehlen die Icons

Es geht doch  :D

(http://up.picr.de/19954861wa.jpg)

sieh mal, was ich oben geändert habe (rot)

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 28 Oktober 2014, 19:51:29
Alter Schwede wieviel Sender sind in diesem Quelltext drinnen  :o
Leute - gebt zu der halben Stunde bitte noch nen Tag dazu  :P
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 19:59:10
jede Menge...!  ;)

@Puschel74
ich hatte ServusTV so gefunden "SERVUSTVD" aber komme nicht zum Erfolg, bist du weiter..?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 28 Oktober 2014, 20:03:28
Klar bin ich weiter  ::)
Ich trenn immer noch alle Sender beim ersten auftauchen von <span>
Edith: So Leute - ich greif mal auf die geballte Kraft des Forums zurück  :P
In der angehängten Datei (einfach mit notepad++ öffnen) sind die ersten 76 Sender an <span> geteilt untereinander aufgelistet.
Prügelt euch drum wer womit anfängt - ich teil die nächsten Sender auf  :o
Die Sendernamen habt ihr ja schonmal schön untereinander aufgelistet.
Edith: Gesamt nun 101 Sender - ich fang mal unten an einzubauen.
Wäre es nicht besser das ganze als Modul zu schreiben mit Attribut der gewünschten Sender?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 20:59:01
@mattes1007
vielen Dank für den Code..! ;) Super

so ich habe mal Sport1 gemacht nach diesem Muster: siehe Screenshot

attr TV_Programme readingsName_Sport1 Sport1
attr TV_Programme readingsName_Sport1_time Sport1_time
attr TV_Programme readingsRegex_Sport1 <span>Sport1<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sport1_time <span>Sport1<[\w\W]*?air-time"><strong>(.*?)<\/strong>



attr TV_Programme_next readingsName_Sport1_next Sport1_next
attr TV_Programme_next readingsName_Sport1_next_time Sport1_next_time
attr TV_Programme_next readingsRegex_Sport1_next <span>Sport1<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sport1_next_time <span>Sport1<[\w\W]*?air-time"><strong>(.*?)<\/strong>


Readingsgroup aus dem DEF:
<Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next
TV_Programme_next:Sport1_time@TV_Programme,Sport1@TV_Programme,Sport1_next_time,Sport1_next


Icons
{ ARD_time => 'ard', ZDF_time => 'zdf', Sport1_time => 'sport1', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl' }
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bergadler am 28 Oktober 2014, 21:05:54
@moonsorrox,
wo hast Du denn die geilen Icons her??
Die Standard-Icons sehen mit "stylesheetPrefix dark" bescheiden aus und sind z.T. fast unsichtbar.

Gruß
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 28 Oktober 2014, 21:47:46
Zitat von: bergadler am 28 Oktober 2014, 21:05:54
wo hast Du denn die geilen Icons her??
Die Standard-Icons sehen mit "stylesheetPrefix dark" bescheiden aus und sind z.T. fast unsichtbar.
Genau deshalb weil einige nicht richtig zu sehen sind z.B. Das Erste war kaum zu sehen...

Die Icons kommen aus meinem Sat Receiver  ;) gibt es aber auch in dem SAT Forum wo ich angemeldet bin, ist aber ein Riesen Paket welches ich hier nicht hoch laden kann..!  :-\
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 28 Oktober 2014, 21:48:44
Hier gibts auch noch ein paar logos  ;)

h**P://creimer.net/channellogos/ (http://h**p://creimer.net/channellogos/)

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 28 Oktober 2014, 21:50:01
@ Puschel:

Ja, das wär sehr sinnvoll allerdings kenn ich mich mit http-get nicht so aus müsste ich evtl mal andre fragen

Kennt sich wer mit den images aus, wie man das offiziell aufnehmen kann? dann wärs evtl gut die ganzen icons evtl auch in 2 verschiedenen varianten da aufzunehmen, dass die sich nicht jeder user einzeln runterladen muss.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bergadler am 28 Oktober 2014, 21:58:55
Zitat von: moonsorrox am 28 Oktober 2014, 21:47:46
... ist aber ein Riesen Paket welches ich hier nicht hoch laden kann..
Muß ja nicht das ganze Paket sein,
aber könnte man nicht für die 7,8,9 Hauptsender mal je ein "Beispiel.png" anhängen?  ;)
(oder den Link zur Forensite verraten)

Gruß

PS:
Dafür kann ich folgende Sender in der Syntax anbieten (falls Bedarf ist); VOX, RTL2,Tele5,Kabel
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 28 Oktober 2014, 22:37:06
Bemühe doch mal das große G....le mit dem hier

01-10-2014_DVB-S_19.2E_Mirror-Glass_XPic ons_220x132 [32 Bit].zip

vielleicht hilft es ja  ;)

...ach so, noch ein Beispielbild

(http://up.picr.de/19957144wr.jpg)

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 28 Oktober 2014, 22:51:43
Und diese Icons noch ins update mit einpflegen  ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 00:05:21
ich nutze die Größe 100x60 und habe die auf 70x42 verkleinert, weiß nicht ob die Großen dann noch aussehen...!  ;)

Tante EDIT: nen paar Icons habe ich noch, sagt mal welche noch...  :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 01:33:46
also ich bekomme das mit ServusTV und 3Sat nicht hin
Die Sender sollten ja so dargestellt werden SERVUSTVD, 3SAT

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 29 Oktober 2014, 11:24:36
Ich hab jetzt auch mal Servus TV und 3SAT gemacht
>Servus TV < >3SAT< hab ich so gefunden...
mal schauen wie es ausschaut wenn FHEM aktualiesiert, wie kann ich das anstossen?

Hier mein Code


###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=175&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_time DMAX_time
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF1_time ORF1_time
attr TV_Programme readingsName_ORF2 ORF2
attr TV_Programme readingsName_ORF2_time ORF2_time
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsName_Servus_TV Servus_TV
attr TV_Programme readingsName_Servus_TV_time Servus_TV_time
attr TV_Programme readingsName_3SAT 3SAT
attr TV_Programme readingsName_3SAT_time 3SAT_time
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Servus_TV <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Servus_TV_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_3SAT <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_3SAT_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme room TV
attr TV_Programme stateFormat mein_TV_programm: ARD
attr TV_Programme timeout 10
attr TV_Programme verbose 1









#######################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=175&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_DMAX_next DMAX_next
attr TV_Programme_next readingsName_DMAX_next_time DMAX_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsName_Servus_TV_next Servus_TV_next
attr TV_Programme_next readingsName_Servus_TV_next_time Servus_TV_next_time
attr TV_Programme_next readingsName_3SAT_next 3SAT_next
attr TV_Programme_next readingsName_3SAT_next_time 3SAT_next_time

#
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_DMAX_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DMAX_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Servus_TV_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Servus_TV_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_3SAT_next <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_3SAT_next_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme_next room TV
attr TV_Programme_next stateFormat mein_TV_programm: ARD_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1





###########################
#define TV_Programm readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time TV_Programme_next:ORF1@TV_Programme,ORF1_next,ORF1_next_time TV_Programme_next:ORF2@TV_Programme,ORF2_next,ORF2_next_time
define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next\
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next\
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next\
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next\
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next\
TV_Programme_next:DMAX_time@TV_Programme,DMAX@TV_Programme,DMAX_next_time,DMAX_next\
TV_Programme_next:ORF1_time@TV_Programme,ORF1@TV_Programme,ORF1_next_time,ORF1_next\
TV_Programme_next:ORF2_time@TV_Programme,ORF2@TV_Programme,_next_time,ORF2_next\
TV_Programme_next:Sport1_time@TV_Programme,Sport1@TV_Programme,Sport1_next_time,Sport1_next\
TV_Programme_next:Servus_TV_time@TV_Programme,Servus_TV@TV_Programme,Servus_TV_next_time,Servus_TV_next\
TV_Programme_next:3SAT_time@TV_Programme,3SAT@TV_Programme,3SAT_next_time,3SAT_next\

attr TV_Programm alias TV Programm
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { ARD_time => 'ard', ZDF_time => 'zdf', Sport1_time => 'sport1', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', DMAX_time => 'dmax', ORF1_time => 'orf1', ORF2_time => 'orf2', Servus_TV_time => 'servusTV', 3SAT_time => '3sat' }
attr TV_Programm nameStyle style="color:lightgreen;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 12:19:43
funktionieren beide nicht, dass hatte ich gestern auch schon probiert...!
Ich will das mal beschreiben... du merkst es sofort wenn du die Icons einfügen möchtest, bei ServusTV macht er mir keinen Fehler, sobald ich 3SAT drin habe zeigt er mir kein Icon bei den anderen Sendern an

Das ist diese Zeile hier
attr TV_Programm nameIcon { ARD_time => 'ard', ZDF_time => 'zdf', NDR_time => 'ndr', ZDFkultur_time => 'zdf_kultur', Sport1_time => 'sport1', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', RBB_time => 'rbb', ARTE_time => 'arte', Servus_TV_time => 'servus', ORF1_time => 'orf1', ORF2_time => 'orf2'}

sobald u dies eingibst zeigt er kein Icon mehr an, immer vorausgesetzt du nutzt den Icon Name so wie auch hier zwischen '' erstellt.
3SAT_time => '3sat',
ich meine daran kann man schon den Fehler erkennen, denn sonst habe ich ja überall die beiden "neuen" Sender 3Sat und ServusTV drin.
Was will ich damit sagen Servus gibt es wohl so aber es muss noch etwas anderes sein warum er nicht angezeigt wird...

Geht bei dir ORF, ich habe die immer noch von vorher drin, aber es kommt keine Anzeige...! und Sport1 wird bei mir auch nicht aktualisiert, wie sieht es bei dir aus

Zum Anstoßen ich mache immer das volle Programm  ;) Erst mal Fhem einlesen, dann Save, dann Neustart von Fhem und dann noch Browser Cache leeren und ein Strg+F5... damit habe ich bisher gute Erfolge, denn ich habe mich schon ein paar mal gewundert, dass nichts verändert wurde und aufeinmal war es doch da  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 12:20:57
Mist, die ganze Mühe umsonst  :o

hier mal meine

define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=175&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_DSat DSat
attr TV_Programme readingsName_DSat_time DSat_time
attr TV_Programme readingsName_Kabel1 Kabel1
attr TV_Programme readingsName_Kabel1_time Kabel1_time
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF1_time ORF1_time
attr TV_Programme readingsName_ORF2 ORF2
attr TV_Programme readingsName_ORF2_time ORF2_time
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_time RTL2_time
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_ServusTV ServusTV
attr TV_Programme readingsName_ServusTV_time ServusTV_time
attr TV_Programme readingsName_SkyAction SkyAction
attr TV_Programme readingsName_SkyAction_time SkyAction_time
attr TV_Programme readingsName_SkyCinema SkyCinema
attr TV_Programme readingsName_SkyCinema24 SkyCinema24
attr TV_Programme readingsName_SkyCinema24_time SkyCinema24_time
attr TV_Programme readingsName_SkyCinema_time SkyCinema_time
attr TV_Programme readingsName_SkyHits SkyHits
attr TV_Programme readingsName_SkyHits_time SkyHits_time
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_time VOX_time
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_DSat <span>3SAT</[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DSat_time <span>3SAT</[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Kabel1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Kabel1_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ServusTV <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ServusTV_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyAction <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyAction_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24 <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyHits <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyHits_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_VOX_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>


define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=175&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_DSat_next DSat_next
attr TV_Programme_next readingsName_DSat_next_time DSat_next_time
attr TV_Programme_next readingsName_Kabel1_next Kabel1_next
attr TV_Programme_next readingsName_Kabel1_next_time Kabel1_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL2_next RTL2_next
attr TV_Programme_next readingsName_RTL2_next_time RTL2_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_ServusTV_next ServusTV_next
attr TV_Programme_next readingsName_ServusTV_next_time ServusTV_next_time
attr TV_Programme_next readingsName_SkyAction_next SkyAction_next
attr TV_Programme_next readingsName_SkyAction_next_time SkyAction_next_time
attr TV_Programme_next readingsName_SkyCinema24_next SkyCinema24_next
attr TV_Programme_next readingsName_SkyCinema24_next_time SkyCinema24_next_time
attr TV_Programme_next readingsName_SkyCinema_next SkyCinema_next
attr TV_Programme_next readingsName_SkyCinema_next_time SkyCinema_next_time
attr TV_Programme_next readingsName_SkyHits_next SkyHits_next
attr TV_Programme_next readingsName_SkyHits_next_time SkyHits_next_time
attr TV_Programme_next readingsName_VOX_next VOX_next
attr TV_Programme_next readingsName_VOX_next_time VOX_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_DSat_next <span>3SAT</[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DSat_next_time <span>3SAT</[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Kabel1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Kabel1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <spa>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ServusTV_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ServusTV_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyAction_next <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyAction_next_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema24_next <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema24_next_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema_next <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema_next_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyHits_next <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyHits_next_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>


define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next\
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next\
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next\
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next\
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next\
TV_Programme_next:DSat_time@TV_Programme,DSat@TV_Programme,DSat_next_time,DSat_next\
TV_Programme_next:Kabel1_time@TV_Programme,Kabel1@TV_Programme,Kabel1_next_time,Kabel1_next\
TV_Programme_next:VOX_time@TV_Programme,VOX@TV_Programme,VOX_next_time,VOX_next\
TV_Programme_next:RTL2_time@TV_Programme,RTL2@TV_Programme,RTL2_next_time,RTL2_next\
TV_Programme_next:ORF1_time@TV_Programme,ORF1@TV_Programme,ORF1_next_time,ORF1_next\
TV_Programme_next:ORF2_time@TV_Programme,ORF2@TV_Programme,ORF2_next_time,ORF2_next\
TV_Programme_next:ServusTV_time@TV_Programme,ServusTV@TV_Programme,ServusTV_next_time,ServusTV_next\
TV_Programme_next:SkyAction_time@TV_Programme,SkyAction@TV_Programme,SkyAction_next_time,SkyAction_next\
TV_Programme_next:SkyHits_time@TV_Programme,SkyHits@TV_Programme,SkyHits_next_time,SkyHits_next\
TV_Programme_next:SkyCinema_time@TV_Programme,SkyCinema@TV_Programme,SkyCinema_next_time,SkyCinema_next\
TV_Programme_next:SkyCinema24_time@TV_Programme,SkyCinema24@TV_Programme,SkyCinema24_next_time,SkyCinema24_next\


attr TV_Programm nameIcon { ServusTV_time => 'servus_tv',DSat_time => '3sat', ARD_time => 'ard', ZDF_time => 'zdf', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', Kabel1_time => 'kabel1', VOX_time => 'vox', RTL2_time => 'rtl2', ORF1_time => 'orf1', ORF2_time => 'orf2', SkyCinema_time => 'sky_cinema', SkyCinema24_time => 'sky_cinema24', SkyHits_time => 'sky_hits', SkyAction_time => 'sky_action' }


Was mir aufgefallen ist.... bei der Zuordnung der Icons ging es als nicht.
Es lag an 3Sat. Darum bei mir jetzt DSat. Dann ging es ?!?!?

Und manchmal geht ne Stunde gar nix. Geh ich dann in die Def mache einmal modify TV_Programme aktualisiert er sofort.

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 12:23:33
Zitat von: mattes1007 am 29 Oktober 2014, 12:20:57
Was mir aufgefallen ist.... bei der Zuordnung der Icons ging es als nicht.
Es lag an 3Sat. Darum bei mir jetzt DSat. Dann ging es ?!?!?

Und manchmal geht ne Stunde gar nix. Geh ich dann in die Def mache einmal modify TV_Programme aktualisiert er sofort.

siehe meine Beitrag, du hast also ähnliche Erfahrungen gemacht...
ich probiere mal mit DSat, wobei ich glaube das es nicht wichtig ist wie das Attribut heißt sondern nur der Eintrag in <span> ich probiere mal
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 12:24:29
es geht aber  ;)

(http://up.picr.de/19960746vj.jpg)

Aufgefallen ist mir das im Notepad++

(http://up.picr.de/19960760pw.jpg)

dir 3 war rot  ::)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 12:50:42
mmh, ich bekomme es gar nicht hin, aber wie schon festgestellt manchmal dauert es...!

Mein Notepad++ zeigt das gar nicht an...! :-\

Du hast verschiedene Icons, ich hänge dir mal die aus dem Paket dran für Sky und ServusTV, Ösis habe ich auch aus dem Paket.
Na ich werde weiter testen, habe den Code so wie du bei bei 3Sat aber bsiher keine Anzeige.
Poste bitte mal dein Icon Code, der haut auch immer dazwischen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 29 Oktober 2014, 13:34:34
ORF steht schon seit gestern nur auf nächste Sendung ich bin gerade unterwegs aber schau es mir später nochmals an
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 14:19:42
Danke für die Icons,
hatte den falschen Ordner entpackt  >:(
Hab mich jetzt aber für die SD Picons entschieden.

(http://up.picr.de/19962109us.jpg)

hier noch die Zuordnung

attr TV_Programm nameIcon { ServusTV_time => 'servus_tv',DSat_time => '3sat', ARD_time => 'ard', ZDF_time => 'zdf', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', Kabel1_time => 'kabel1', VOX_time => 'vox', RTL2_time => 'rtl2', ORF1_time => 'orf1', ORF2_time => 'orf2', SkyCinema_time => 'sky_cinema', SkyCinema24_time => 'sky_cinema24', SkyHits_time => 'sky_hits', SkyAction_time => 'sky_action' }


Hänge mal die Picons unten an.

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 15:06:54
Irgendwo ist da ein Problem, ich habe das jetzt mal übernommen, aber es fehlen einfach ein paar Sender und wenn ich in den Readings fehlen die auch..
Sender die fehlen obwohl ich alles übernommen habe von dir:
3Sat, ServusTV die beiden ORF und 3x Sky

1. Screenshot, da ist z.B. immer noch DMAX drin, diesen habe ich nirgends mehr drin ich habe echt alles durchsucht evtl. macht der mir den Fehler..?

2. Screenshot, auf diesen Sender der dort unten den Fehler verursacht, bin ich mal drauf und sehe dann die Readings auch, aber wie kann ich diese mal löschen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 15:19:05
Lösche doch mal alles aus der fhem.cfg und mache ein "shutdown restart"

Dann fügst du mal den ganzen Gulasch von mir ein und probierst es nochmal.
Mal sehen ob es dann geht...

Aber wie gesagt, manchmal aktualisiert die ganze Geschichte nicht, weil anscheinend die Seite nicht geladen werden kann.
Das siehst du ja daran, ob der ganze Quelltext im Modul zu sehen ist.
Dann klicke ich die DEF an und danach modify und dann lädt es...warum auch immer ?!?!

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 15:30:06
jo genau das habe ich eben gemacht... alles weg (die Sender die ich nicht brauche nehme ich später raus)
Das ist ja eine Katastrophe...!  8)
So alles gemacht und gar kein Sender mehr da... :-\ na mal schauen, ich werde berichten  ;)
Nochmal restart Shutdown, nix mehr Browser Gestartet ooch nix mehr... puuh das ein Sch....

So erst ma weg... später gehts weiter, kann ja nicht sein  :-[
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 29 Oktober 2014, 15:48:30
Ha das wars 8)
cfg löschen restart cfg herstellen restart
und
@moonsorrox drück noch auf "def" und "modyfi TV_Programme" dann ist alles wieder da
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 29 Oktober 2014, 16:11:17
ps vielleicht schaust du in der fhem.save Date und löscht die einträge von DMAX raus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 17:10:15
Zitat von: Markus am 29 Oktober 2014, 15:48:30
Ha das wars 8)
cfg löschen restart cfg herstellen restart
und
@moonsorrox drück noch auf "def" und "modyfi TV_Programme" dann ist alles wieder da

alles gemacht mehrmals, da kommt nücht mehr, der ist tot... oder es gibt nücht inner Glotze..!  ;)
DMAX is auch weg seit ich alles Neu gemacht habe.. ;) keine Ahnung... wenn ich Bock habe mache ich alles nochmal, aber erst mal nicht.... Schnauze voll  :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 29 Oktober 2014, 17:18:58
wenn du doch noch lust bekommst  ;D
kannst ja meine cfg probieren funktioniert seit einer Stunde auch DMAX 8)


define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=175&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_DSat DSat
attr TV_Programme readingsName_DSat_time DSat_time
attr TV_Programme readingsName_Kabel1 Kabel1
attr TV_Programme readingsName_Kabel1_time Kabel1_time
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF1_time ORF1_time
attr TV_Programme readingsName_ORF2 ORF2
attr TV_Programme readingsName_ORF2_time ORF2_time
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_time RTL2_time
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_ServusTV ServusTV
attr TV_Programme readingsName_ServusTV_time ServusTV_time
attr TV_Programme readingsName_SkyAction SkyAction
attr TV_Programme readingsName_SkyAction_time SkyAction_time
attr TV_Programme readingsName_SkyCinema SkyCinema
attr TV_Programme readingsName_SkyCinema24 SkyCinema24
attr TV_Programme readingsName_SkyCinema24_time SkyCinema24_time
attr TV_Programme readingsName_SkyCinema_time SkyCinema_time
attr TV_Programme readingsName_SkyHits SkyHits
attr TV_Programme readingsName_SkyHits_time SkyHits_time
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_time VOX_time
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_time DMAX_time
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_DSat <span>3SAT</[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DSat_time <span>3SAT</[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Kabel1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Kabel1_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ServusTV <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ServusTV_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyAction <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyAction_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24 <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyHits <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyHits_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_VOX_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme room TV
attr TV_Programme stateFormat mein_TV_programm: ARD
attr TV_Programme timeout 10
attr TV_Programme verbose 1

define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=175&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_DSat_next DSat_next
attr TV_Programme_next readingsName_DSat_next_time DSat_next_time
attr TV_Programme_next readingsName_Kabel1_next Kabel1_next
attr TV_Programme_next readingsName_Kabel1_next_time Kabel1_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL2_next RTL2_next
attr TV_Programme_next readingsName_RTL2_next_time RTL2_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_ServusTV_next ServusTV_next
attr TV_Programme_next readingsName_ServusTV_next_time ServusTV_next_time
attr TV_Programme_next readingsName_SkyAction_next SkyAction_next
attr TV_Programme_next readingsName_SkyAction_next_time SkyAction_next_time
attr TV_Programme_next readingsName_SkyCinema24_next SkyCinema24_next
attr TV_Programme_next readingsName_SkyCinema24_next_time SkyCinema24_next_time
attr TV_Programme_next readingsName_SkyCinema_next SkyCinema_next
attr TV_Programme_next readingsName_SkyCinema_next_time SkyCinema_next_time
attr TV_Programme_next readingsName_SkyHits_next SkyHits_next
attr TV_Programme_next readingsName_SkyHits_next_time SkyHits_next_time
attr TV_Programme_next readingsName_VOX_next VOX_next
attr TV_Programme_next readingsName_VOX_next_time VOX_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsName_DMAX_next DMAX_next
attr TV_Programme_next readingsName_DMAX_next_time DMAX_next_time
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_DSat_next <span>3SAT</[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DSat_next_time <span>3SAT</[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Kabel1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Kabel1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <spa>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ServusTV_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ServusTV_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyAction_next <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyAction_next_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema24_next <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema24_next_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema_next <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema_next_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyHits_next <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyHits_next_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_DMAX_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DMAX_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme_next room TV
attr TV_Programme_next stateFormat mein_TV_programm: ARD_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1


define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next\
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next\
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next\
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next\
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next\
TV_Programme_next:DSat_time@TV_Programme,DSat@TV_Programme,DSat_next_time,DSat_next\
TV_Programme_next:Kabel1_time@TV_Programme,Kabel1@TV_Programme,Kabel1_next_time,Kabel1_next\
TV_Programme_next:VOX_time@TV_Programme,VOX@TV_Programme,VOX_next_time,VOX_next\
TV_Programme_next:RTL2_time@TV_Programme,RTL2@TV_Programme,RTL2_next_time,RTL2_next\
TV_Programme_next:ORF1_time@TV_Programme,ORF1@TV_Programme,ORF1_next_time,ORF1_next\
TV_Programme_next:ORF2_time@TV_Programme,ORF2@TV_Programme,ORF2_next_time,ORF2_next\
TV_Programme_next:ServusTV_time@TV_Programme,ServusTV@TV_Programme,ServusTV_next_time,ServusTV_next\
TV_Programme_next:SkyAction_time@TV_Programme,SkyAction@TV_Programme,SkyAction_next_time,SkyAction_next\
TV_Programme_next:SkyHits_time@TV_Programme,SkyHits@TV_Programme,SkyHits_next_time,SkyHits_next\
TV_Programme_next:SkyCinema_time@TV_Programme,SkyCinema@TV_Programme,SkyCinema_next_time,SkyCinema_next\
TV_Programme_next:SkyCinema24_time@TV_Programme,SkyCinema24@TV_Programme,SkyCinema24_next_time,SkyCinema24_next\
TV_Programme_next:DMAX_time@TV_Programme,DMAX@TV_Programme,DMAX_next_time,DMAX_next\


attr TV_Programm nameIcon { ServusTV_time => 'servus_tv',DSat_time => '3sat', ARD_time => 'ard', ZDF_time => 'zdf', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', Kabel1_time => 'kabel1', VOX_time => 'vox', RTL2_time => 'rtl2', ORF1_time => 'orf1', ORF2_time => 'orf2', SkyCinema_time => 'sky_cinema', SkyCinema24_time => 'sky_cinema24', SkyHits_time => 'sky_hits', SkyAction_time => 'sky_action', DMAX_time => 'dmax' }

attr TV_Programm alias TV Programm
attr TV_Programm group TV_Programm
#attr TV_Programm nameIcon { ARD_time => 'ard', ZDF_time => 'zdf', Sport1_time => 'sport1', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', DMAX_time => 'dmax', ORF1_time => 'orf1', ORF2_time => 'orf2', Servus_TV_time => 'servusTV', 3SAT_time => '3sat' }
attr TV_Programm nameStyle style="color:lightgreen;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 17:30:34
Zitat von: moonsorrox am 29 Oktober 2014, 17:10:15
alles gemacht mehrmals, da kommt nücht mehr, der ist tot... oder es gibt nücht inner Glotze..!  ;)
DMAX is auch weg seit ich alles Neu gemacht habe.. ;) keine Ahnung... wenn ich Bock habe mache ich alles nochmal, aber erst mal nicht.... Schnauze voll  :D
Worauf läuft dein fhem ? Mit was überträgst du die Dateien oder vielmehr wie editierst du sie ??
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 17:33:18
Zitat von: moonsorrox am 29 Oktober 2014, 17:10:15
alles gemacht mehrmals, da kommt nücht mehr, der ist tot... oder es gibt nücht inner Glotze..!  ;)
DMAX is auch weg seit ich alles Neu gemacht habe.. ;) keine Ahnung... wenn ich Bock habe mache ich alles nochmal, aber erst mal nicht.... Schnauze voll  :D
Worauf läuft dein fhem ? Mit was überträgst du die Dateien oder vielmehr wie editierst du sie ??
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 17:40:45
sehr geil, ich glaube ich weiß was ich machen muss... meine SSD ausbauen und putzen  ;)

Nee, weder MEINE, DEINE-Markus noch die von mattes1007 geht kein einziger Sender, ich sage doch die haben Sendeschluss :-\ wie sagt Anke Engelke Scheiß die Wand an...  :D

Fhem läuft auf dem Cubietruck
Nee mal im Ernst wenn ich editieren entweder direkt in der eingefügten tv.cfg, ich weiß soll man nicht, aber an die attr hier kommt man nicht so ran wie sonst, deshalb direkt (hatte auch schon alles in der fhem.cfg) ansonsten natürlich im DEF und ich mache alles mit notepad++

Übrigens
EDIT: meine von heute vormittag die funktioniert noch, nur fehlen eben Programme
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 29 Oktober 2014, 17:56:29
lösche mal alles was damit zusammenhängt
speichern
shutdown restart
relevante teile aus der fhem.save datei löschen
shutdown restart
dann alles wieder anlegen

um die Aktualisierung anzustoßen;
TV_Programme
DEV
modify TV_Programme
und
TV_Programme_next
DEV
modify TV_Programme_next

also sonst fällt mir auch nichts mehr ein aber bei mir hat es funktioniert zwar hab ich alles doppelt und dreifach gemacht aber jetzt geht es wieder
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 29 Oktober 2014, 18:08:27
vielleicht hast Du einfach nur ne grottige Internetanbindung? Timeouts erhöhen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 18:11:38
bevor ich das nochmal mache...!

wieviel Sender habt ihr in den Readings, ich habe genau diese 9 Sender die er mir mit meiner "alten" von heute vormittag anzeigt..!
In den Attributes sind aber alle angelegten drin...!
Normal kann man die Readings immer löschen über clear das gibt es hier in dem Fall aber nicht, evtl. sollte ich die über die Kommandozeile mal löschen..!?

Dann höre ich für heute auf, bin ge.. ent.. nervt  :-\ :o

fhem.save steht nichts drin von TV Programm
timeout steht auf 10
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 29 Oktober 2014, 18:26:12
Hallo,

eigenartig - ich greif meine fhem.cfg nicht an dafür. ich muss meine Konfig nicht direkt bearbeiten dafür  :P

Wenn was raus soll gibt es den schönen Befehl delete <Name_der_weg_soll>
An die Readings kommt man so leider nicht ran das stimmt daher editiere ich diese in Notepad++ und füge sie ganz einfach über die Befehlszeile wieder ein - auch ohne an die fhem.cfg direkt zu müssen.
Das klappt einwandfrei und tadellos  ;D

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 29 Oktober 2014, 18:31:18
Zitat von: Puschel74 am 29 Oktober 2014, 18:26:12
eigenartig - ich greif meine fhem.cfg nicht an dafür.


ich doch auch nicht weil dort nichts drin steht vom TV da ich die tv.cfg include ;)
Aber die Attributes die weg sollen lösche ich auf der Weboberfläche ganz rechts mit "deleteattr"

Ich geb auch alles aus notepad++ rein, aber grad bin ich echt am verzweifeln, wieso gehen 9 Sender und die anderen nicht..?
Wie kann ich die Readings in unserem Fall hier löschen hast du einen EInfall
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 18:39:52
So, ich dachte ja das es bei mir läuft.....Pustekuchen

Alles von 14:11 Uhr, wo ich durch DEF / Modify angestoßen habe. Danach geht nix mehr.

Eben wieder von Hand angestoßen und sofort aktualisiert er.
Woran kann das denn liegen ???
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 29 Oktober 2014, 18:43:38
Hallo,

schau mal ins Logfile.
Ich habe den timeout von 60 auf 600 erhöht weil sich die Meldungen gehäuft haben das die Daten nicht abgeholt werden konnten.
Zitat2014.10.22 16:01:01 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 29 Oktober 2014, 18:48:07
Zitat von: Puschel74 am 29 Oktober 2014, 18:43:38

Ich habe den timeout von 60 auf 600 erhöht weil sich die Meldungen gehäuft haben das die Daten nicht abgeholt werden konnten.
Grüße

Das Timeout oder das Intervall ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 29 Oktober 2014, 18:51:24
Zitat von: Puschel74 am 29 Oktober 2014, 18:43:38
Hallo,

schau mal ins Logfile.
Ich habe den timeout von 60 auf 600 erhöht weil sich die Meldungen gehäuft haben das die Daten nicht abgeholt werden konnten.
Grüße

Nee, hab ich nix im log stehen.....
Meinst du das Intervall von 60 auf 600 oder den Timeout ?!?! der steht bei mir auf 10.

Uups, sehe gerade das hat Paul auch gerade geschrieben  ::)

Warum sollt man eigentlich die fhem.cfg nicht so editieren.... ich hab das noch nie anders gemacht.
Immer Copy & Paste über WINSCP Editor. Hatte noch keine Probs....

Aber wie gesagt, ein DEF und dann Modify und sofort sin alle aktuellen Daten da.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 29 Oktober 2014, 19:29:56
timeout erhöhen, der legt fest, wie schnell die Seite da sein muss...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 29 Oktober 2014, 19:37:21
Intervall sorry
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: OK_DE am 29 Oktober 2014, 20:03:55
Ein paar Hinweise wenn es mal nicht gleich funktioniert.
1. Seht euch den Quelltext der Senderseite genau an.
- Manche Sender benötigen ein Leerzeichen am Ende andere nicht
   attr TV_Programme_Next readingsRegex_ARD <span>ARD <span[\w\W]*?alt="(.*?)" title=
   attr TV_Programme_Next readingsRegex_DMAX <span>DMAX<span[\w\W]*?alt="(.*?)" title=
- Auf manche Sender folgt ein <span auf andere ein </span
   attr TV_Programme_Next readingsRegex_ZDFNEO <span>ZDF neo</span[\w\W]*?alt="(.*?)" title=

2. Zuerst hatte ich RTL und RTL2 definiert mit der folge das RTL2 zweimal in der Liste aufttauchte deshalb RTL1
   attr TV_Programme_Next readingsRegex_RTL1 <span>RTL <span[\w\W]*?alt="(.*?)" title=
   attr TV_Programme_Next readingsRegex_RTL2 <span>RTL II <span[\w\W]*?alt="(.*?)" title=

3. Falls nicht vorhanden fügt eine Referenz zum Image Ordner hinzu. Bei mir hat der direkte Pfad geholfen. Die Icons sind im default Verzeichnis im png Format hinterlegt.
attr WEB iconPath /opt/fhem/www/images/default:fhemSVG:openautomation:default:icons_small

4. Beim Aufruf der Seite werden Umlaute, Sonderzeichen und Leerzeichen als HTML Ersatzzeichen dargestellt wird die Seite von FHEM über HTTPMOD aktuallisiert wird die Seite korrekt dargestellt (Fix habe ich noch nicht gefunden)

5. Zur Fehlersuche findet ihr unter Unsorted die zwei HTTPMOD Einträge
  TV_Programme_Current
  TV_Programme_Next




Nachfolgend mein Code der bei mir nach viel probieren funktioniert:

1. Einlesen der Webseite des aktuell laufenden Programms und Auswertung in Readings
#Get Current TV Show
define TV_Programme_Current HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_Current readingsName_ARD ARD
attr TV_Programme_Current readingsName_DMAX DMAX
attr TV_Programme_Current readingsName_KABEL1 KABEL1
attr TV_Programme_Current readingsName_PRO7 PRO7
attr TV_Programme_Current readingsName_RTL1 RTL1
attr TV_Programme_Current readingsName_RTL2 RTL2
attr TV_Programme_Current readingsName_RTLNITRO RTLNITRO
attr TV_Programme_Current readingsName_SAT1 SAT1
attr TV_Programme_Current readingsName_VOX VOX
attr TV_Programme_Current readingsName_ZDF1 ZDF1
attr TV_Programme_Current readingsName_ZDFNEO ZDFNEO
attr TV_Programme_Current readingsRegex_ARD <span>ARD <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_KABEL1 <span>KABEL 1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_PRO7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_RTL1 <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_RTL2 <span>RTL II <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_RTLNITRO <span>RTL NITRO <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_SAT1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_VOX <span>VOX <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_ZDF1 <span>ZDF <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current readingsRegex_ZDFNEO <span>ZDF neo</span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Current stateFormat mein_TV_programm: ARD
attr TV_Programme_Current timeout 10
attr TV_Programme_Current verbose 1


2. Einlesen der Webseite des nachfolgenden Programms und Auswertung in Readings
#Get Next TV Show
define TV_Programme_Next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_Next readingsName_ARD ARD
attr TV_Programme_Next readingsName_ARD_Nexttime ARD_Nexttime
attr TV_Programme_Next readingsName_DMAX DMAX
attr TV_Programme_Next readingsName_DMAX_Nexttime DMAX_Nexttime
attr TV_Programme_Next readingsName_KABEL1 KABEL1
attr TV_Programme_Next readingsName_KABEL1_Nexttime KABEL1_Nexttime
attr TV_Programme_Next readingsName_PRO7 PRO7
attr TV_Programme_Next readingsName_PRO7_Nexttime PRO7_Nexttime
attr TV_Programme_Next readingsName_RTL1 RTL1
attr TV_Programme_Next readingsName_RTL1_Nexttime RTL1_Nexttime
attr TV_Programme_Next readingsName_RTL2 RTL2
attr TV_Programme_Next readingsName_RTL2_Nexttime RTL2_Nexttime
attr TV_Programme_Next readingsName_RTLNITRO RTLNITRO
attr TV_Programme_Next readingsName_RTLNITRO_Nexttime RTLNITRO_Nexttime
attr TV_Programme_Next readingsName_SAT1 SAT1
attr TV_Programme_Next readingsName_SAT1_Nexttime SAT1_Nexttime
attr TV_Programme_Next readingsName_VOX VOX
attr TV_Programme_Next readingsName_VOX_Nexttime VOX_Nexttime
attr TV_Programme_Next readingsName_ZDF1 ZDF1
attr TV_Programme_Next readingsName_ZDF1_Nexttime ZDF1_Nexttime
attr TV_Programme_Next readingsName_ZDFNEO ZDFNEO
attr TV_Programme_Next readingsName_ZDFNEO_Nexttime ZDFNEO_Nexttime

attr TV_Programme_Next readingsRegex_ARD <span>ARD <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_ARD_Nexttime <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_DMAX <span>DMAX<span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_DMAX_Nexttime <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_KABEL1 <span>KABEL 1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_KABEL1_Nexttime <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_PRO7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_PRO7_Nexttime <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_RTL1 <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_RTL1_Nexttime <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_RTL2 <span>RTL II <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_RTL2_Nexttime <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_RTLNITRO <span>RTL NITRO <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_RTLNITRO_Nexttime <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_SAT1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_SAT1_Nexttime <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_VOX <span>VOX <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_VOX_Nexttime <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_ZDF1 <span>ZDF <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_ZDF1_Nexttime <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next readingsRegex_ZDFNEO <span>ZDF neo</span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_Next readingsRegex_ZDFNEO_Nexttime <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_Next stateFormat mein_TV_programm: ARD
attr TV_Programme_Next timeout 10
attr TV_Programme_Next verbose 1


3. Darstellung in FHEM
#Create Web UI
define TV_Programm_Current readingsGroup <Sender>,<Aktuelle Sendung> \
TV_Programme_Current:ARD \
TV_Programme_Current:ZDF1 \
TV_Programme_Current:KABEL1 \
TV_Programme_Current:RTL2 \
TV_Programme_Current:RTL1 \
TV_Programme_Current:SAT1 \
TV_Programme_Current:VOX \
TV_Programme_Current:PRO7 \
TV_Programme_Current:ZDFNEO \
TV_Programme_Current:RTLNITRO \
TV_Programme_Current:DMAX
attr TV_Programm_Current nameIcon { ARD => 'logo_ard', ZDF1 => 'logo_zdf', KABEL1 => 'logo_kabel1', RTL2 => 'logo_rtl2', RTL1 => 'logo_rtl', SAT1 => 'logo_sat1', VOX => 'logo_vox', PRO7 => 'logo_pro7', DMAX => 'logo_dmax', RTLNITRO => 'logo_rtlnitro', ZDFNEO => 'logo_zdfneo' }
attr TV_Programm_Current nameStyle style="color:yellow"
attr TV_Programm_Current notime 1
attr TV_Programm_Current room TV
attr TV_Programm_Current style style="font-size:18px"

define TV_Programm_Next readingsGroup <Sender>,<Nachfolgende Sendung>,<Start Zeit> \
TV_Programme_Next:ARD,ARD_Nexttime \
TV_Programme_Next:ZDF1,ZDF1_Nexttime \
TV_Programme_Next:KABEL1,KABEL1_Nexttime \
TV_Programme_Next:RTL2,RTL2_Nexttime \
TV_Programme_Next:RTL1,RTL1_Nexttime \
TV_Programme_Next:SAT1,SAT1_Nexttime \
TV_Programme_Next:VOX,VOX_Nexttime \
TV_Programme_Next:PRO7,PRO7_Nexttime \
TV_Programme_Next:ZDFNEO,ZDFNEO_Nexttime \
TV_Programme_Next:RTLNITRO,RTLNITRO_Nexttime \
TV_Programme_Next:DMAX,DMAX_Nexttime
attr TV_Programm_Next nameIcon { ARD => 'logo_ard', ZDF1 => 'logo_zdf', KABEL1 => 'logo_kabel1', RTL2 => 'logo_rtl2', RTL1 => 'logo_rtl', SAT1 => 'logo_sat1', VOX => 'logo_vox', PRO7 => 'logo_pro7', DMAX => 'logo_dmax', RTLNITRO => 'logo_rtlnitro', ZDFNEO => 'logo_zdfneo' }
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next notime 1
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 30 Oktober 2014, 12:24:04
So, hier mal mein Code, auch ne lange Senderliste. Layout mit aktueller und kommender Startzeit. Funktioniert bei mir zuhause.
Mit den Timeouts und Refresh Zeiten kann man sicher noch spielen, momentan aktualisiert sich das noch nicht so zuverlässig, aber da hab ich andere Module in Verdacht, die da reinspucken...



# -------------------------------
# aktuelle Sendung
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme readingsName_anixe anixe
attr TV_Programme readingsName_anixe_time anixe_time
attr TV_Programme readingsName_ard ard
attr TV_Programme readingsName_ard_time ard_time
attr TV_Programme readingsName_arte arte
attr TV_Programme readingsName_arte_time arte_time
attr TV_Programme readingsName_br br
attr TV_Programme readingsName_br_time br_time
attr TV_Programme readingsName_deluxemusic deluxemusic
attr TV_Programme readingsName_deluxemusic_time deluxemusic_time
attr TV_Programme readingsName_disney disney
attr TV_Programme readingsName_disney_time disney_time
attr TV_Programme readingsName_dmax dmax
attr TV_Programme readingsName_dmax_time dmax_time
attr TV_Programme readingsName_dreisat dreisat
attr TV_Programme readingsName_dreisat_time dreisat_time
attr TV_Programme readingsName_einsfestival einsfestival
attr TV_Programme readingsName_einsfestival_time einsfestival_time
attr TV_Programme readingsName_einsplus einsplus
attr TV_Programme readingsName_einsplus_time einsplus_time
attr TV_Programme readingsName_euronews euronews
attr TV_Programme readingsName_euronews_time euronews_time
attr TV_Programme readingsName_hr hr
attr TV_Programme readingsName_hr_time hr_time
attr TV_Programme readingsName_kabel1 kabel1
attr TV_Programme readingsName_kabel1_time kabel1_time
attr TV_Programme readingsName_kika kika
attr TV_Programme readingsName_kika_time kika_time
attr TV_Programme readingsName_mdr mdr
attr TV_Programme readingsName_mdr_time mdr_time
attr TV_Programme readingsName_n24 n24
attr TV_Programme readingsName_n24_time n24_time
attr TV_Programme readingsName_ndr ndr
attr TV_Programme readingsName_ndr_time ndr_time
attr TV_Programme readingsName_nick nick
attr TV_Programme readingsName_nick_time nick_time
attr TV_Programme readingsName_ntv ntv
attr TV_Programme readingsName_ntv_time ntv_time
attr TV_Programme readingsName_phoenix phoenix
attr TV_Programme readingsName_phoenix_time phoenix_time
attr TV_Programme readingsName_pro7 pro7
attr TV_Programme readingsName_pro7_time pro7_time
attr TV_Programme readingsName_rbb rbb
attr TV_Programme readingsName_rbb_time rbb_time
attr TV_Programme readingsName_rtl1 rtl1
attr TV_Programme readingsName_rtl1_time rtl1_time
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsName_rtl2_time rtl2_time
attr TV_Programme readingsName_rtlnitro rtlnitro
attr TV_Programme readingsName_rtlnitro_time rtlnitro_time
attr TV_Programme readingsName_sat1 sat1
attr TV_Programme readingsName_sat1_time sat1_time
attr TV_Programme readingsName_sat1gold sat1gold
attr TV_Programme readingsName_sat1gold_time sat1gold_time
attr TV_Programme readingsName_servustv servustv
attr TV_Programme readingsName_servustv_time servustv_time
attr TV_Programme readingsName_sixx sixx
attr TV_Programme readingsName_sixx_time sixx_time
attr TV_Programme readingsName_superrtl superrtl
attr TV_Programme readingsName_superrtl_time superrtl_time
attr TV_Programme readingsName_swr swr
attr TV_Programme readingsName_swr_time swr_time
attr TV_Programme readingsName_tagesschau tagesschau
attr TV_Programme readingsName_tagesschau_time tagesschau_time
attr TV_Programme readingsName_tele5 tele5
attr TV_Programme readingsName_tele5_time tele5_time
attr TV_Programme readingsName_tlc tlc
attr TV_Programme readingsName_tlc_time tlc_time
attr TV_Programme readingsName_viva viva
attr TV_Programme readingsName_viva_time viva_time
attr TV_Programme readingsName_vox vox
attr TV_Programme readingsName_vox_time vox_time
attr TV_Programme readingsName_wdr wdr
attr TV_Programme readingsName_wdr_time wdr_time
attr TV_Programme readingsName_zdf zdf
attr TV_Programme readingsName_zdf_time zdf_time
attr TV_Programme readingsName_zdfinfo zdfinfo
attr TV_Programme readingsName_zdfinfo_time zdfinfo_time
attr TV_Programme readingsName_zdfkultur zdfkultur
attr TV_Programme readingsName_zdfkultur_time zdfkultur_time
attr TV_Programme readingsName_zdfneo zdfneo
attr TV_Programme readingsName_zdfneo_time zdfneo_time
attr TV_Programme readingsRegex_anixe <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_anixe_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ard <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ard_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_arte <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_arte_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_br <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_br_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_deluxemusic <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_deluxemusic_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_disney <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_disney_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dmax <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dmax_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dreisat <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dreisat_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsfestival <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsfestival_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsplus <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsplus_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_euronews <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_euronews_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_hr <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_hr_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kabel1 <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kabel1_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kika <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kika_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_mdr <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_mdr_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_n24 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_n24_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ndr <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ndr_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_nick <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_nick_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ntv <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ntv_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_phoenix <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_phoenix_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_pro7 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rbb <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rbb_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl1 <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl1_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtlnitro <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtlnitro_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1gold <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1gold_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_servustv <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_servustv_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sixx <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sixx_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_superrtl <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_superrtl_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_swr <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_swr_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tagesschau <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tagesschau_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tele5 <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tele5_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tlc <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tlc_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_viva <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_viva_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_vox <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_vox_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_wdr <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_wdr_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdf <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdf_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfinfo <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfinfo_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfkultur <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfkultur_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfneo <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfneo_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme room Multimedia
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
attr TV_Programme verbose 1
#define TV_Programme HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD http://localhost:8083/fhem/www/mlweb/tvguide_jetzt.html 60

# -------------------------------
# nächste Sendung
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme_next readingsName_anixe_next anixe_next
attr TV_Programme_next readingsName_anixe_next_time anixe_next_time
attr TV_Programme_next readingsName_ard_next ard_next
attr TV_Programme_next readingsName_ard_next_time ard_next_time
attr TV_Programme_next readingsName_arte_next arte_next
attr TV_Programme_next readingsName_arte_next_time arte_next_time
attr TV_Programme_next readingsName_br_next br_next
attr TV_Programme_next readingsName_br_next_time br_next_time
attr TV_Programme_next readingsName_deluxemusic_next deluxemusic_next
attr TV_Programme_next readingsName_deluxemusic_next_time deluxemusic_next_time
attr TV_Programme_next readingsName_disney_next disney_next
attr TV_Programme_next readingsName_disney_next_time disney_next_time
attr TV_Programme_next readingsName_dmax_next dmax_next
attr TV_Programme_next readingsName_dmax_next_time dmax_next_time
attr TV_Programme_next readingsName_dreisat_next dreisat_next
attr TV_Programme_next readingsName_dreisat_next_time dreisat_next_time
attr TV_Programme_next readingsName_einsfestival_next einsfestival_next
attr TV_Programme_next readingsName_einsfestival_next_time einsfestival_next_time
attr TV_Programme_next readingsName_einsplus_next einsplus_next
attr TV_Programme_next readingsName_einsplus_next_time einsplus_next_time
attr TV_Programme_next readingsName_euronews_next euronews_next
attr TV_Programme_next readingsName_euronews_next_time euronews_next_time
attr TV_Programme_next readingsName_hr_next hr_next
attr TV_Programme_next readingsName_hr_next_time hr_next_time
attr TV_Programme_next readingsName_kabel1_next kabel1_next
attr TV_Programme_next readingsName_kabel1_next_time kabel1_next_time
attr TV_Programme_next readingsName_kika_next kika_next
attr TV_Programme_next readingsName_kika_next_time kika_next_time
attr TV_Programme_next readingsName_mdr_next mdr_next
attr TV_Programme_next readingsName_mdr_next_time mdr_next_time
attr TV_Programme_next readingsName_n24_next n24_next
attr TV_Programme_next readingsName_n24_next_time n24_next_time
attr TV_Programme_next readingsName_ndr_next ndr_next
attr TV_Programme_next readingsName_ndr_next_time ndr_next_time
attr TV_Programme_next readingsName_nick_next nick_next
attr TV_Programme_next readingsName_nick_next_time nick_next_time
attr TV_Programme_next readingsName_ntv_next ntv_next
attr TV_Programme_next readingsName_ntv_next_time ntv_next_time
attr TV_Programme_next readingsName_phoenix_next phoenix_next
attr TV_Programme_next readingsName_phoenix_next_time phoenix_next_time
attr TV_Programme_next readingsName_pro7_next pro7_next
attr TV_Programme_next readingsName_pro7_next_time pro7_next_time
attr TV_Programme_next readingsName_rbb_next rbb_next
attr TV_Programme_next readingsName_rbb_next_time rbb_next_time
attr TV_Programme_next readingsName_rtl1_next rtl1_next
attr TV_Programme_next readingsName_rtl1_next_time rtl1_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsName_rtlnitro_next rtlnitro_next
attr TV_Programme_next readingsName_rtlnitro_next_time rtlnitro_next_time
attr TV_Programme_next readingsName_sat1_next sat1_next
attr TV_Programme_next readingsName_sat1_next_time sat1_next_time
attr TV_Programme_next readingsName_sat1gold_next sat1gold_next
attr TV_Programme_next readingsName_sat1gold_next_time sat1gold_next_time
attr TV_Programme_next readingsName_servustv_next servustv_next
attr TV_Programme_next readingsName_servustv_next_time servustv_next_time
attr TV_Programme_next readingsName_sixx_next sixx_next
attr TV_Programme_next readingsName_sixx_next_time sixx_next_time
attr TV_Programme_next readingsName_superrtl_next superrtl_next
attr TV_Programme_next readingsName_superrtl_next_time superrtl_next_time
attr TV_Programme_next readingsName_swr_next swr_next
attr TV_Programme_next readingsName_swr_next_time swr_next_time
attr TV_Programme_next readingsName_tagesschau_next tagesschau_next
attr TV_Programme_next readingsName_tagesschau_next_time tagesschau_next_time
attr TV_Programme_next readingsName_tele5_next tele5_next
attr TV_Programme_next readingsName_tele5_next_time tele5_next_time
attr TV_Programme_next readingsName_tlc_next tlc_next
attr TV_Programme_next readingsName_tlc_next_time tlc_next_time
attr TV_Programme_next readingsName_viva_next viva_next
attr TV_Programme_next readingsName_viva_next_time viva_next_time
attr TV_Programme_next readingsName_vox_next vox_next
attr TV_Programme_next readingsName_vox_next_time vox_next_time
attr TV_Programme_next readingsName_wdr_next wdr_next
attr TV_Programme_next readingsName_wdr_next_time wdr_next_time
attr TV_Programme_next readingsName_zdf_next zdf_next
attr TV_Programme_next readingsName_zdf_next_time zdf_next_time
attr TV_Programme_next readingsName_zdfinfo_next zdfinfo_next
attr TV_Programme_next readingsName_zdfinfo_next_time zdfinfo_next_time
attr TV_Programme_next readingsName_zdfkultur_next zdfkultur_next
attr TV_Programme_next readingsName_zdfkultur_next_time zdfkultur_next_time
attr TV_Programme_next readingsName_zdfneo_next zdfneo_next
attr TV_Programme_next readingsName_zdfneo_next_time zdfneo_next_time
attr TV_Programme_next readingsRegex_anixe_next <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_anixe_next_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ard_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ard_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_arte_next <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_arte_next_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_br_next <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_br_next_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_deluxemusic_next <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_deluxemusic_next_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_disney_next <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_disney_next_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dmax_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dmax_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dreisat_next <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dreisat_next_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsfestival_next <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsfestival_next_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsplus_next <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsplus_next_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_euronews_next <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_euronews_next_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_hr_next <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_hr_next_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kabel1_next <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kabel1_next_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kika_next <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kika_next_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_mdr_next <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_mdr_next_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_n24_next <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_n24_next_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ndr_next <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ndr_next_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_nick_next <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_nick_next_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ntv_next <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ntv_next_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_phoenix_next <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_phoenix_next_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_pro7_next <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rbb_next <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rbb_next_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl1_next <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl1_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtlnitro_next <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtlnitro_next_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1_next <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1gold_next <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1gold_next_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_servustv_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_servustv_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sixx_next <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sixx_next_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_superrtl_next <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_superrtl_next_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_swr_next <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_swr_next_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tagesschau_next <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tagesschau_next_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tele5_next <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tele5_next_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tlc_next <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tlc_next_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_viva_next <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_viva_next_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_vox_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_vox_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_wdr_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_wdr_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdf_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdf_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfinfo_next <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfinfo_next_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfkultur_next <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfkultur_next_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfneo_next <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfneo_next_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next room Multimedia
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 60
attr TV_Programme_next verbose 1
#define TV_Programme_next HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_dann.html 60
#define TV_Programme_next HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_dann.html 60

# -------------------------------
# Visualisierung
define TV_Programm readingsGroup <Programm>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next,ard_next_time TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next,zdf_next_time TV_Programme_next:arte_time@TV_Programme,arte@TV_Programme,arte_next,arte_next_time TV_Programme_next:dreisat_time@TV_Programme,dreisat@TV_Programme,dreisat_next,dreisat_next_time TV_Programme_next:pro7_time@TV_Programme,pro7@TV_Programme,pro7_next,pro7_next_time TV_Programme_next:kabel1_time@TV_Programme,kabel1@TV_Programme,kabel1_next,kabel1_next_time TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next,sat1_next_time TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next,rtl1_next_time TV_Programme_next:rtl2_time@TV_Programme,rtl2@TV_Programme,rtl2_next,rtl2_next_time TV_Programme_next:sixx_time@TV_Programme,sixx@TV_Programme,sixx_next,sixx_next_time TV_Programme_next:servustv_time@TV_Programme,servustv@TV_Programme,servustv_next,servustv_next_time TV_Programme_next:anixe_time@TV_Programme,anixe@TV_Programme,anixe_next,anixe_next_time TV_Programme_next:sat1gold_time@TV_Programme,sat1gold@TV_Programme,sat1gold_next,sat1gold_next_time TV_Programme_next:br_time@TV_Programme,br@TV_Programme,br_next,br_next_time TV_Programme_next:deluxemusic_time@TV_Programme,deluxemusic@TV_Programme,deluxemusic_next,deluxemusic_next_time TV_Programme_next:disney_time@TV_Programme,disney@TV_Programme,disney_next,disney_next_time TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next,dmax_next_time TV_Programme_next:einsfestival_time@TV_Programme,einsfestival@TV_Programme,einsfestival_next,einsfestival_next_time TV_Programme_next:einsplus_time@TV_Programme,einsplus@TV_Programme,einsplus_next,einsplus_next_time TV_Programme_next:euronews_time@TV_Programme,euronews@TV_Programme,euronews_next,euronews_next_time TV_Programme_next:hr_time@TV_Programme,hr@TV_Programme,hr_next,hr_next_time TV_Programme_next:kika_time@TV_Programme,kika@TV_Programme,kika_next,kika_next_time TV_Programme_next:mdr_time@TV_Programme,mdr@TV_Programme,mdr_next,mdr_next_time TV_Programme_next:ntv_time@TV_Programme,ntv@TV_Programme,ntv_next,ntv_next_time TV_Programme_next:n24_time@TV_Programme,n24@TV_Programme,n24_next,n24_next_time TV_Programme_next:ndr_time@TV_Programme,ndr@TV_Programme,ndr_next,ndr_next_time TV_Programme_next:nick_time@TV_Programme,nick@TV_Programme,nick_next,nick_next_time TV_Programme_next:phoenix_time@TV_Programme,phoenix@TV_Programme,phoenix_next,phoenix_next_time TV_Programme_next:rbb_time@TV_Programme,rbb@TV_Programme,rbb_next,rbb_next_time TV_Programme_next:rtlnitro_time@TV_Programme,rtlnitro@TV_Programme,rtlnitro_next,rtlnitro_next_time TV_Programme_next:superrtl_time@TV_Programme,superrtl@TV_Programme,superrtl_next,superrtl_next_time TV_Programme_next:swr_time@TV_Programme,swr@TV_Programme,swr_next,swr_next_time TV_Programme_next:tagesschau_time@TV_Programme,tagesschau@TV_Programme,tagesschau_next,tagesschau_next_time TV_Programme_next:tele5_time@TV_Programme,tele5@TV_Programme,tele5_next,tele5_next_time TV_Programme_next:tlc_time@TV_Programme,tlc@TV_Programme,tlc_next,tlc_next_time TV_Programme_next:viva_time@TV_Programme,viva@TV_Programme,viva_next,viva_next_time TV_Programme_next:vox_time@TV_Programme,vox@TV_Programme,vox_next,vox_next_time TV_Programme_next:wdr_time@TV_Programme,wdr@TV_Programme,wdr_next,wdr_next_time TV_Programme_next:zdfkultur_time@TV_Programme,zdfkultur@TV_Programme,zdfkultur_next,zdfkultur_next_time TV_Programme_next:zdfinfo_time@TV_Programme,zdfinfo@TV_Programme,zdfinfo_next,zdfinfo_next_time TV_Programme_next:zdfneo_time@TV_Programme,zdfneo@TV_Programme,zdfneo_next,zdfneo_next_timeattr TV_Programm group grp_tvguide
attr TV_Programm commands { ard => "{mlfunc_tv_switch(\"ard\")}", zdf => "{mlfunc_tv_switch(\"zdf\")}", arte => "{mlfunc_tv_switch(\"arte\")}", dreisat => "{mlfunc_tv_switch(\"dreisat\")}", pro7 => "{mlfunc_tv_switch(\"pro7\")}", kabel1 => "{mlfunc_tv_switch(\"kabel1\")}", sat1 => "{mlfunc_tv_switch(\"sat1\")}", rtl1 => "{mlfunc_tv_switch(\"rtl1\")}", rtl2 => "{mlfunc_tv_switch(\"rtl2\")}", sixx => "{mlfunc_tv_switch(\"sixx\")}", servustv => "{mlfunc_tv_switch(\"servustv\")}", anixe => "{mlfunc_tv_switch(\"anixe\")}", sat1gold => "{mlfunc_tv_switch(\"sat1gold\")}", br => "{mlfunc_tv_switch(\"br\")}", deluxemusic => "{mlfunc_tv_switch(\"deluxemusic\")}", disney => "{mlfunc_tv_switch(\"disney\")}", dmax => "{mlfunc_tv_switch(\"dmax\")}", einsfestival => "{mlfunc_tv_switch(\"einsfestival\")}", einsplus => "{mlfunc_tv_switch(\"einsplus\")}", euronews => "{mlfunc_tv_switch(\"euronews\")}", hr => "{mlfunc_tv_switch(\"hr\")}", kika => "{mlfunc_tv_switch(\"kika\")}", mdr => "{mlfunc_tv_switch(\"mdr\")}", ntv => "{mlfunc_tv_switch(\"ntv\")}", n24 => "{mlfunc_tv_switch(\"n24\")}", ndr => "{mlfunc_tv_switch(\"ndr\")}", nick => "{mlfunc_tv_switch(\"nick\")}", phoenix => "{mlfunc_tv_switch(\"phoenix\")}", rbb => "{mlfunc_tv_switch(\"rbb\")}", rtlnitro => "{mlfunc_tv_switch(\"rtlnitro\")}", superrtl => "{mlfunc_tv_switch(\"superrtl\")}", swr => "{mlfunc_tv_switch(\"swr\")}", tagesschau => "{mlfunc_tv_switch(\"tagesschau\")}", tele5 => "{mlfunc_tv_switch(\"tele5\")}", tlc => "{mlfunc_tv_switch(\"tlc\")}", viva => "{mlfunc_tv_switch(\"viva\")}", vox => "{mlfunc_tv_switch(\"vox\")}", wdr => "{mlfunc_tv_switch(\"wdr\")}", zdfkultur => "{mlfunc_tv_switch(\"zdfkultur\")}", zdfinfo => "{mlfunc_tv_switch(\"zdfinfo\")}", zdfneo => "{mlfunc_tv_switch(\"zdfneo\")}"}
attr TV_Programm group grp_tvguide
attr TV_Programm nameIcon { ard_time => 'tvlogo_ard', zdf_time => 'tvlogo_zdf', arte_time => 'tvlogo_arte', dreisat_time => 'tvlogo_dreisat', pro7_time => 'tvlogo_pro7', kabel1_time => 'tvlogo_kabel1', sat1_time => 'tvlogo_sat1', rtl1_time => 'tvlogo_rtl1', rtl2_time => 'tvlogo_rtl2', sixx_time => 'tvlogo_sixx', servustv_time => 'tvlogo_servustv', anixe_time => 'tvlogo_anixe', sat1gold_time => 'tvlogo_sat1gold', br_time => 'tvlogo_br', deluxemusic_time => 'tvlogo_deluxemusic', disney_time => 'tvlogo_disney', dmax_time => 'tvlogo_dmax', einsfestival_time => 'tvlogo_einsfestival', einsplus_time => 'tvlogo_einsplus', euronews_time => 'tvlogo_euronews', hr_time => 'tvlogo_hr', kika_time => 'tvlogo_kika', mdr_time => 'tvlogo_mdr', ntv_time => 'tvlogo_ntv', n24_time => 'tvlogo_n24', ndr_time => 'tvlogo_ndr', nick_time => 'tvlogo_nick', phoenix_time => 'tvlogo_phoenix', rbb_time => 'tvlogo_rbb', rtlnitro_time => 'tvlogo_rtlnitro', superrtl_time => 'tvlogo_superrtl', swr_time => 'tvlogo_swr', tagesschau_time => 'tvlogo_tagesschau', tele5_time => 'tvlogo_tele5', tlc_time => 'tvlogo_tlc', viva_time => 'tvlogo_viva', vox_time => 'tvlogo_vox', wdr_time => 'tvlogo_wdr', zdfkultur_time => 'tvlogo_zdfkultur', zdfinfo_time => 'tvlogo_zdfinfo', zdfneo_time => 'tvlogo_zdfneo'}
attr TV_Programm nameStyle style="color:red;;font-weight:bold"
attr TV_Programm room Multimedia
attr TV_Programm style style="font-size:16px"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 30 Oktober 2014, 12:54:15
Na da hat sich aber jemand Mühe gemacht ....top !!!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 13:20:06
meine Readings aktualisieren sich auch nicht, sind immer noch die von gestern drin, wie kann man das anstoßen damit die sich aktualisieren, mit modify im DEF geht das nicht Browser Cache und restart alles bringt nichts.

Die Zeit für die folgenden Sendungen stimmt komischerweise...  :-\

Und obwohl ich alle Sender drin habe zeigt er mir wiedermal nicht alle an. Es fehlt momentan zwar nur der NDR an der 3.Stelle.. Deshalb eben die Readings sollten das einlesen, denn da fehlt er ja z.B. eben NDR
Dazu eben bei einigen die kommende Sendung, sehr eigenartig alles
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 30 Oktober 2014, 13:54:08
Hast du ein Intervall gesetzt?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 13:56:49
jo, 60
jetzt hat er auch aktualisiert, aber auch erst weil ich es manuell gemacht, so wie alle hier... Ist wohl noch ein Problem
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 30 Oktober 2014, 14:26:50
Bei mir aktualisiert es automatisch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 30 Oktober 2014, 14:27:32
@Doggiebert ich hab deine cfg mit den ORF und Sky Programmen aufgefüllt und post das einfach mal
vieleicht erspart es dem einen oder anderen Arbeit  8)
nur der anzeigen teil fehlt der ist bei dir anders als bei mir das werde ich noch an meine anpassen und wieder posten

Gruß Markus


# -------------------------------
# aktuelle Sendung
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme readingsName_anixe anixe
attr TV_Programme readingsName_anixe_time anixe_time
attr TV_Programme readingsName_ard ard
attr TV_Programme readingsName_ard_time ard_time
attr TV_Programme readingsName_arte arte
attr TV_Programme readingsName_arte_time arte_time
attr TV_Programme readingsName_br br
attr TV_Programme readingsName_br_time br_time
attr TV_Programme readingsName_deluxemusic deluxemusic
attr TV_Programme readingsName_deluxemusic_time deluxemusic_time
attr TV_Programme readingsName_disney disney
attr TV_Programme readingsName_disney_time disney_time
attr TV_Programme readingsName_dmax dmax
attr TV_Programme readingsName_dmax_time dmax_time
attr TV_Programme readingsName_dreisat dreisat
attr TV_Programme readingsName_dreisat_time dreisat_time
attr TV_Programme readingsName_einsfestival einsfestival
attr TV_Programme readingsName_einsfestival_time einsfestival_time
attr TV_Programme readingsName_einsplus einsplus
attr TV_Programme readingsName_einsplus_time einsplus_time
attr TV_Programme readingsName_euronews euronews
attr TV_Programme readingsName_euronews_time euronews_time
attr TV_Programme readingsName_hr hr
attr TV_Programme readingsName_hr_time hr_time
attr TV_Programme readingsName_kabel1 kabel1
attr TV_Programme readingsName_kabel1_time kabel1_time
attr TV_Programme readingsName_kika kika
attr TV_Programme readingsName_kika_time kika_time
attr TV_Programme readingsName_mdr mdr
attr TV_Programme readingsName_mdr_time mdr_time
attr TV_Programme readingsName_n24 n24
attr TV_Programme readingsName_n24_time n24_time
attr TV_Programme readingsName_ndr ndr
attr TV_Programme readingsName_ndr_time ndr_time
attr TV_Programme readingsName_nick nick
attr TV_Programme readingsName_nick_time nick_time
attr TV_Programme readingsName_ntv ntv
attr TV_Programme readingsName_ntv_time ntv_time
attr TV_Programme readingsName_phoenix phoenix
attr TV_Programme readingsName_phoenix_time phoenix_time
attr TV_Programme readingsName_pro7 pro7
attr TV_Programme readingsName_pro7_time pro7_time
attr TV_Programme readingsName_rbb rbb
attr TV_Programme readingsName_rbb_time rbb_time
attr TV_Programme readingsName_rtl1 rtl1
attr TV_Programme readingsName_rtl1_time rtl1_time
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsName_rtl2_time rtl2_time
attr TV_Programme readingsName_rtlnitro rtlnitro
attr TV_Programme readingsName_rtlnitro_time rtlnitro_time
attr TV_Programme readingsName_sat1 sat1
attr TV_Programme readingsName_sat1_time sat1_time
attr TV_Programme readingsName_sat1gold sat1gold
attr TV_Programme readingsName_sat1gold_time sat1gold_time
attr TV_Programme readingsName_servustv servustv
attr TV_Programme readingsName_servustv_time servustv_time
attr TV_Programme readingsName_sixx sixx
attr TV_Programme readingsName_sixx_time sixx_time
attr TV_Programme readingsName_superrtl superrtl
attr TV_Programme readingsName_superrtl_time superrtl_time
attr TV_Programme readingsName_swr swr
attr TV_Programme readingsName_swr_time swr_time
attr TV_Programme readingsName_tagesschau tagesschau
attr TV_Programme readingsName_tagesschau_time tagesschau_time
attr TV_Programme readingsName_tele5 tele5
attr TV_Programme readingsName_tele5_time tele5_time
attr TV_Programme readingsName_tlc tlc
attr TV_Programme readingsName_tlc_time tlc_time
attr TV_Programme readingsName_viva viva
attr TV_Programme readingsName_viva_time viva_time
attr TV_Programme readingsName_vox vox
attr TV_Programme readingsName_vox_time vox_time
attr TV_Programme readingsName_wdr wdr
attr TV_Programme readingsName_wdr_time wdr_time
attr TV_Programme readingsName_zdf zdf
attr TV_Programme readingsName_zdf_time zdf_time
attr TV_Programme readingsName_zdfinfo zdfinfo
attr TV_Programme readingsName_zdfinfo_time zdfinfo_time
attr TV_Programme readingsName_zdfkultur zdfkultur
attr TV_Programme readingsName_zdfkultur_time zdfkultur_time
attr TV_Programme readingsName_zdfneo zdfneo
attr TV_Programme readingsName_zdfneo_time zdfneo_time
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF1_time ORF1_time
attr TV_Programme readingsName_ORF2 ORF2
attr TV_Programme readingsName_ORF2_time ORF2_time
attr TV_Programme readingsName_SkyAction SkyAction
attr TV_Programme readingsName_SkyAction_time SkyAction_time
attr TV_Programme readingsName_SkyCinema SkyCinema
attr TV_Programme readingsName_SkyCinema24 SkyCinema24
attr TV_Programme readingsName_SkyCinema24_time SkyCinema24_time
attr TV_Programme readingsName_SkyCinema_time SkyCinema_time
attr TV_Programme readingsName_SkyHits SkyHits
attr TV_Programme readingsName_SkyHits_time SkyHits_time

attr TV_Programme readingsRegex_anixe <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_anixe_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ard <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ard_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_arte <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_arte_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_br <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_br_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_deluxemusic <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_deluxemusic_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_disney <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_disney_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dmax <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dmax_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dreisat <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dreisat_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsfestival <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsfestival_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsplus <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsplus_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_euronews <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_euronews_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_hr <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_hr_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kabel1 <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kabel1_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kika <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kika_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_mdr <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_mdr_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_n24 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_n24_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ndr <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ndr_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_nick <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_nick_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ntv <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ntv_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_phoenix <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_phoenix_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_pro7 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rbb <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rbb_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl1 <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl1_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtlnitro <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtlnitro_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1gold <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1gold_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_servustv <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_servustv_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sixx <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sixx_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_superrtl <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_superrtl_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_swr <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_swr_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tagesschau <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tagesschau_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tele5 <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tele5_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tlc <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tlc_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_viva <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_viva_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_vox <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_vox_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_wdr <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_wdr_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdf <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdf_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfinfo <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfinfo_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfkultur <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfkultur_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfneo <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfneo_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyAction <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyAction_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24 <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyHits <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyHits_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>



attr TV_Programme room Multimedia
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
attr TV_Programme verbose 1
#define TV_Programme HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD http://localhost:8083/fhem/www/mlweb/tvguide_jetzt.html 60

# -------------------------------
# nächste Sendung
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme_next readingsName_anixe_next anixe_next
attr TV_Programme_next readingsName_anixe_next_time anixe_next_time
attr TV_Programme_next readingsName_ard_next ard_next
attr TV_Programme_next readingsName_ard_next_time ard_next_time
attr TV_Programme_next readingsName_arte_next arte_next
attr TV_Programme_next readingsName_arte_next_time arte_next_time
attr TV_Programme_next readingsName_br_next br_next
attr TV_Programme_next readingsName_br_next_time br_next_time
attr TV_Programme_next readingsName_deluxemusic_next deluxemusic_next
attr TV_Programme_next readingsName_deluxemusic_next_time deluxemusic_next_time
attr TV_Programme_next readingsName_disney_next disney_next
attr TV_Programme_next readingsName_disney_next_time disney_next_time
attr TV_Programme_next readingsName_dmax_next dmax_next
attr TV_Programme_next readingsName_dmax_next_time dmax_next_time
attr TV_Programme_next readingsName_dreisat_next dreisat_next
attr TV_Programme_next readingsName_dreisat_next_time dreisat_next_time
attr TV_Programme_next readingsName_einsfestival_next einsfestival_next
attr TV_Programme_next readingsName_einsfestival_next_time einsfestival_next_time
attr TV_Programme_next readingsName_einsplus_next einsplus_next
attr TV_Programme_next readingsName_einsplus_next_time einsplus_next_time
attr TV_Programme_next readingsName_euronews_next euronews_next
attr TV_Programme_next readingsName_euronews_next_time euronews_next_time
attr TV_Programme_next readingsName_hr_next hr_next
attr TV_Programme_next readingsName_hr_next_time hr_next_time
attr TV_Programme_next readingsName_kabel1_next kabel1_next
attr TV_Programme_next readingsName_kabel1_next_time kabel1_next_time
attr TV_Programme_next readingsName_kika_next kika_next
attr TV_Programme_next readingsName_kika_next_time kika_next_time
attr TV_Programme_next readingsName_mdr_next mdr_next
attr TV_Programme_next readingsName_mdr_next_time mdr_next_time
attr TV_Programme_next readingsName_n24_next n24_next
attr TV_Programme_next readingsName_n24_next_time n24_next_time
attr TV_Programme_next readingsName_ndr_next ndr_next
attr TV_Programme_next readingsName_ndr_next_time ndr_next_time
attr TV_Programme_next readingsName_nick_next nick_next
attr TV_Programme_next readingsName_nick_next_time nick_next_time
attr TV_Programme_next readingsName_ntv_next ntv_next
attr TV_Programme_next readingsName_ntv_next_time ntv_next_time
attr TV_Programme_next readingsName_phoenix_next phoenix_next
attr TV_Programme_next readingsName_phoenix_next_time phoenix_next_time
attr TV_Programme_next readingsName_pro7_next pro7_next
attr TV_Programme_next readingsName_pro7_next_time pro7_next_time
attr TV_Programme_next readingsName_rbb_next rbb_next
attr TV_Programme_next readingsName_rbb_next_time rbb_next_time
attr TV_Programme_next readingsName_rtl1_next rtl1_next
attr TV_Programme_next readingsName_rtl1_next_time rtl1_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsName_rtlnitro_next rtlnitro_next
attr TV_Programme_next readingsName_rtlnitro_next_time rtlnitro_next_time
attr TV_Programme_next readingsName_sat1_next sat1_next
attr TV_Programme_next readingsName_sat1_next_time sat1_next_time
attr TV_Programme_next readingsName_sat1gold_next sat1gold_next
attr TV_Programme_next readingsName_sat1gold_next_time sat1gold_next_time
attr TV_Programme_next readingsName_servustv_next servustv_next
attr TV_Programme_next readingsName_servustv_next_time servustv_next_time
attr TV_Programme_next readingsName_sixx_next sixx_next
attr TV_Programme_next readingsName_sixx_next_time sixx_next_time
attr TV_Programme_next readingsName_superrtl_next superrtl_next
attr TV_Programme_next readingsName_superrtl_next_time superrtl_next_time
attr TV_Programme_next readingsName_swr_next swr_next
attr TV_Programme_next readingsName_swr_next_time swr_next_time
attr TV_Programme_next readingsName_tagesschau_next tagesschau_next
attr TV_Programme_next readingsName_tagesschau_next_time tagesschau_next_time
attr TV_Programme_next readingsName_tele5_next tele5_next
attr TV_Programme_next readingsName_tele5_next_time tele5_next_time
attr TV_Programme_next readingsName_tlc_next tlc_next
attr TV_Programme_next readingsName_tlc_next_time tlc_next_time
attr TV_Programme_next readingsName_viva_next viva_next
attr TV_Programme_next readingsName_viva_next_time viva_next_time
attr TV_Programme_next readingsName_vox_next vox_next
attr TV_Programme_next readingsName_vox_next_time vox_next_time
attr TV_Programme_next readingsName_wdr_next wdr_next
attr TV_Programme_next readingsName_wdr_next_time wdr_next_time
attr TV_Programme_next readingsName_zdf_next zdf_next
attr TV_Programme_next readingsName_zdf_next_time zdf_next_time
attr TV_Programme_next readingsName_zdfinfo_next zdfinfo_next
attr TV_Programme_next readingsName_zdfinfo_next_time zdfinfo_next_time
attr TV_Programme_next readingsName_zdfkultur_next zdfkultur_next
attr TV_Programme_next readingsName_zdfkultur_next_time zdfkultur_next_time
attr TV_Programme_next readingsName_zdfneo_next zdfneo_next
attr TV_Programme_next readingsName_zdfneo_next_time zdfneo_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time
attr TV_Programme_next readingsName_SkyAction_next SkyAction_next
attr TV_Programme_next readingsName_SkyAction_next_time SkyAction_next_time
attr TV_Programme_next readingsName_SkyCinema24_next SkyCinema24_next
attr TV_Programme_next readingsName_SkyCinema24_next_time SkyCinema24_next_time
attr TV_Programme_next readingsName_SkyCinema_next SkyCinema_next
attr TV_Programme_next readingsName_SkyCinema_next_time SkyCinema_next_time
attr TV_Programme_next readingsName_SkyHits_next SkyHits_next
attr TV_Programme_next readingsName_SkyHits_next_time SkyHits_next_time



attr TV_Programme_next readingsRegex_anixe_next <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_anixe_next_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ard_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ard_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_arte_next <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_arte_next_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_br_next <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_br_next_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_deluxemusic_next <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_deluxemusic_next_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_disney_next <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_disney_next_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dmax_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dmax_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dreisat_next <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dreisat_next_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsfestival_next <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsfestival_next_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsplus_next <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsplus_next_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_euronews_next <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_euronews_next_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_hr_next <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_hr_next_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kabel1_next <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kabel1_next_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kika_next <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kika_next_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_mdr_next <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_mdr_next_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_n24_next <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_n24_next_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ndr_next <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ndr_next_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_nick_next <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_nick_next_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ntv_next <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ntv_next_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_phoenix_next <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_phoenix_next_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_pro7_next <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rbb_next <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rbb_next_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl1_next <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl1_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtlnitro_next <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtlnitro_next_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1_next <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1gold_next <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1gold_next_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_servustv_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_servustv_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sixx_next <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sixx_next_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_superrtl_next <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_superrtl_next_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_swr_next <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_swr_next_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tagesschau_next <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tagesschau_next_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tele5_next <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tele5_next_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tlc_next <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tlc_next_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_viva_next <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_viva_next_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_vox_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_vox_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_wdr_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_wdr_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdf_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdf_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfinfo_next <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfinfo_next_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfkultur_next <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfkultur_next_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfneo_next <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfneo_next_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyAction_next <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyAction_next_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema24_next <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema24_next_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema_next <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema_next_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyHits_next <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyHits_next_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme_next room Multimedia
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 60
attr TV_Programme_next verbose 1
#define TV_Programme_next HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_dann.html 60
#define TV_Programme_next HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_dann.html 60

# -------------------------------
# Visualisierung
define TV_Programm readingsGroup <Programm>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next,ard_next_time TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next,zdf_next_time TV_Programme_next:arte_time@TV_Programme,arte@TV_Programme,arte_next,arte_next_time TV_Programme_next:dreisat_time@TV_Programme,dreisat@TV_Programme,dreisat_next,dreisat_next_time TV_Programme_next:pro7_time@TV_Programme,pro7@TV_Programme,pro7_next,pro7_next_time TV_Programme_next:kabel1_time@TV_Programme,kabel1@TV_Programme,kabel1_next,kabel1_next_time TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next,sat1_next_time TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next,rtl1_next_time TV_Programme_next:rtl2_time@TV_Programme,rtl2@TV_Programme,rtl2_next,rtl2_next_time TV_Programme_next:sixx_time@TV_Programme,sixx@TV_Programme,sixx_next,sixx_next_time TV_Programme_next:servustv_time@TV_Programme,servustv@TV_Programme,servustv_next,servustv_next_time TV_Programme_next:anixe_time@TV_Programme,anixe@TV_Programme,anixe_next,anixe_next_time TV_Programme_next:sat1gold_time@TV_Programme,sat1gold@TV_Programme,sat1gold_next,sat1gold_next_time TV_Programme_next:br_time@TV_Programme,br@TV_Programme,br_next,br_next_time TV_Programme_next:deluxemusic_time@TV_Programme,deluxemusic@TV_Programme,deluxemusic_next,deluxemusic_next_time TV_Programme_next:disney_time@TV_Programme,disney@TV_Programme,disney_next,disney_next_time TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next,dmax_next_time TV_Programme_next:einsfestival_time@TV_Programme,einsfestival@TV_Programme,einsfestival_next,einsfestival_next_time TV_Programme_next:einsplus_time@TV_Programme,einsplus@TV_Programme,einsplus_next,einsplus_next_time TV_Programme_next:euronews_time@TV_Programme,euronews@TV_Programme,euronews_next,euronews_next_time TV_Programme_next:hr_time@TV_Programme,hr@TV_Programme,hr_next,hr_next_time TV_Programme_next:kika_time@TV_Programme,kika@TV_Programme,kika_next,kika_next_time TV_Programme_next:mdr_time@TV_Programme,mdr@TV_Programme,mdr_next,mdr_next_time TV_Programme_next:ntv_time@TV_Programme,ntv@TV_Programme,ntv_next,ntv_next_time TV_Programme_next:n24_time@TV_Programme,n24@TV_Programme,n24_next,n24_next_time TV_Programme_next:ndr_time@TV_Programme,ndr@TV_Programme,ndr_next,ndr_next_time TV_Programme_next:nick_time@TV_Programme,nick@TV_Programme,nick_next,nick_next_time TV_Programme_next:phoenix_time@TV_Programme,phoenix@TV_Programme,phoenix_next,phoenix_next_time TV_Programme_next:rbb_time@TV_Programme,rbb@TV_Programme,rbb_next,rbb_next_time TV_Programme_next:rtlnitro_time@TV_Programme,rtlnitro@TV_Programme,rtlnitro_next,rtlnitro_next_time TV_Programme_next:superrtl_time@TV_Programme,superrtl@TV_Programme,superrtl_next,superrtl_next_time TV_Programme_next:swr_time@TV_Programme,swr@TV_Programme,swr_next,swr_next_time TV_Programme_next:tagesschau_time@TV_Programme,tagesschau@TV_Programme,tagesschau_next,tagesschau_next_time TV_Programme_next:tele5_time@TV_Programme,tele5@TV_Programme,tele5_next,tele5_next_time TV_Programme_next:tlc_time@TV_Programme,tlc@TV_Programme,tlc_next,tlc_next_time TV_Programme_next:viva_time@TV_Programme,viva@TV_Programme,viva_next,viva_next_time TV_Programme_next:vox_time@TV_Programme,vox@TV_Programme,vox_next,vox_next_time TV_Programme_next:wdr_time@TV_Programme,wdr@TV_Programme,wdr_next,wdr_next_time TV_Programme_next:zdfkultur_time@TV_Programme,zdfkultur@TV_Programme,zdfkultur_next,zdfkultur_next_time TV_Programme_next:zdfinfo_time@TV_Programme,zdfinfo@TV_Programme,zdfinfo_next,zdfinfo_next_time TV_Programme_next:zdfneo_time@TV_Programme,zdfneo@TV_Programme,zdfneo_next,zdfneo_next_timeattr TV_Programm group grp_tvguide\
TV_Programme_next:ORF1_time@TV_Programme,ORF1@TV_Programme,ORF1_next_time,ORF1_next\
TV_Programme_next:ORF2_time@TV_Programme,ORF2@TV_Programme,ORF2_next_time,ORF2_next\
TV_Programme_next:SkyAction_time@TV_Programme,SkyAction@TV_Programme,SkyAction_next_time,SkyAction_next\
TV_Programme_next:SkyHits_time@TV_Programme,SkyHits@TV_Programme,SkyHits_next_time,SkyHits_next\
TV_Programme_next:SkyCinema_time@TV_Programme,SkyCinema@TV_Programme,SkyCinema_next_time,SkyCinema_next\
TV_Programme_next:SkyCinema24_time@TV_Programme,SkyCinema24@TV_Programme,SkyCinema24_next_time,SkyCinema24_next\



attr TV_Programm commands { ard => "{mlfunc_tv_switch(\"ard\")}", zdf => "{mlfunc_tv_switch(\"zdf\")}", arte => "{mlfunc_tv_switch(\"arte\")}", dreisat => "{mlfunc_tv_switch(\"dreisat\")}", pro7 => "{mlfunc_tv_switch(\"pro7\")}", kabel1 => "{mlfunc_tv_switch(\"kabel1\")}", sat1 => "{mlfunc_tv_switch(\"sat1\")}", rtl1 => "{mlfunc_tv_switch(\"rtl1\")}", rtl2 => "{mlfunc_tv_switch(\"rtl2\")}", sixx => "{mlfunc_tv_switch(\"sixx\")}", servustv => "{mlfunc_tv_switch(\"servustv\")}", anixe => "{mlfunc_tv_switch(\"anixe\")}", sat1gold => "{mlfunc_tv_switch(\"sat1gold\")}", br => "{mlfunc_tv_switch(\"br\")}", deluxemusic => "{mlfunc_tv_switch(\"deluxemusic\")}", disney => "{mlfunc_tv_switch(\"disney\")}", dmax => "{mlfunc_tv_switch(\"dmax\")}", einsfestival => "{mlfunc_tv_switch(\"einsfestival\")}", einsplus => "{mlfunc_tv_switch(\"einsplus\")}", euronews => "{mlfunc_tv_switch(\"euronews\")}", hr => "{mlfunc_tv_switch(\"hr\")}", kika => "{mlfunc_tv_switch(\"kika\")}", mdr => "{mlfunc_tv_switch(\"mdr\")}", ntv => "{mlfunc_tv_switch(\"ntv\")}", n24 => "{mlfunc_tv_switch(\"n24\")}", ndr => "{mlfunc_tv_switch(\"ndr\")}", nick => "{mlfunc_tv_switch(\"nick\")}", phoenix => "{mlfunc_tv_switch(\"phoenix\")}", rbb => "{mlfunc_tv_switch(\"rbb\")}", rtlnitro => "{mlfunc_tv_switch(\"rtlnitro\")}", superrtl => "{mlfunc_tv_switch(\"superrtl\")}", swr => "{mlfunc_tv_switch(\"swr\")}", tagesschau => "{mlfunc_tv_switch(\"tagesschau\")}", tele5 => "{mlfunc_tv_switch(\"tele5\")}", tlc => "{mlfunc_tv_switch(\"tlc\")}", viva => "{mlfunc_tv_switch(\"viva\")}", vox => "{mlfunc_tv_switch(\"vox\")}", wdr => "{mlfunc_tv_switch(\"wdr\")}", zdfkultur => "{mlfunc_tv_switch(\"zdfkultur\")}", zdfinfo => "{mlfunc_tv_switch(\"zdfinfo\")}", zdfneo => "{mlfunc_tv_switch(\"zdfneo\")}"}
attr TV_Programm group grp_tvguide
attr TV_Programm nameIcon { ard_time => 'tvlogo_ard', zdf_time => 'tvlogo_zdf', arte_time => 'tvlogo_arte', dreisat_time => 'tvlogo_dreisat', pro7_time => 'tvlogo_pro7', kabel1_time => 'tvlogo_kabel1', sat1_time => 'tvlogo_sat1', rtl1_time => 'tvlogo_rtl1', rtl2_time => 'tvlogo_rtl2', sixx_time => 'tvlogo_sixx', servustv_time => 'tvlogo_servustv', anixe_time => 'tvlogo_anixe', sat1gold_time => 'tvlogo_sat1gold', br_time => 'tvlogo_br', deluxemusic_time => 'tvlogo_deluxemusic', disney_time => 'tvlogo_disney', dmax_time => 'tvlogo_dmax', einsfestival_time => 'tvlogo_einsfestival', einsplus_time => 'tvlogo_einsplus', euronews_time => 'tvlogo_euronews', hr_time => 'tvlogo_hr', kika_time => 'tvlogo_kika', mdr_time => 'tvlogo_mdr', ntv_time => 'tvlogo_ntv', n24_time => 'tvlogo_n24', ndr_time => 'tvlogo_ndr', nick_time => 'tvlogo_nick', phoenix_time => 'tvlogo_phoenix', rbb_time => 'tvlogo_rbb', rtlnitro_time => 'tvlogo_rtlnitro', superrtl_time => 'tvlogo_superrtl', swr_time => 'tvlogo_swr', tagesschau_time => 'tvlogo_tagesschau', tele5_time => 'tvlogo_tele5', tlc_time => 'tvlogo_tlc', viva_time => 'tvlogo_viva', vox_time => 'tvlogo_vox', wdr_time => 'tvlogo_wdr', zdfkultur_time => 'tvlogo_zdfkultur', zdfinfo_time => 'tvlogo_zdfinfo', zdfneo_time => 'tvlogo_zdfneo'}
attr TV_Programm nameStyle style="color:red;;font-weight:bold"
attr TV_Programm room Multimedia
attr TV_Programm style style="font-size:16px"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 30 Oktober 2014, 14:49:58
Zitat von: moonsorrox am 30 Oktober 2014, 13:56:49
jo, 60
jetzt hat er auch aktualisiert, aber auch erst weil ich es manuell gemacht, so wie alle hier... Ist wohl noch ein Problem

Ich habe das Intervall auf 300 gesetzt. Seit dem funktioniert es....

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 14:50:59
ich habe jetzt mal die Readings für einen Sender von Hand gelöscht und haben diesen Sender in meinem Fall "NDR" komplett raus genommen.
Dann habe ich alles für diesen Sender nochmals über die Kommandozeile eingegeben, gespeichert, Neu gestartet..

Dann erst hat er beim 2. mal durch betätigen des DEF und modify diesen Sender in laufende Programme und dann auch in folgende Programme aktualisiert und nun wird er auch angezeigt..

Das ist ja eine Prozedur, ich habe von diesen Sendern, die entweder komplett fehlen oder wo nur die folgenden oder aktuellen Sendungen fehlen noch 7 Stück... werde heute Abend berichten welchen Erfolg es hatte da dies einige Zeit in Anspruch nehmen wird...  ;)

mit dem Intervall werde ich auch mal testen

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 30 Oktober 2014, 15:09:06
schön langsam könnte man sich auch überlegen, das als Modul zu implementieren - scheint ja doch anzukommen.
Settings: Layout-Typ, gewünschte Senderliste, gewünschte Timeouts und Intervalle...vielleicht hat ja jemand grad Langeweile?   8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 17:03:31
ich glaube ich gebe hier auf...!
wollte nur die folgende Sendung bei 3Sat versuchen einzufügen so nach dem Schema wie oben, alles über die Kommandozeile dann einlesen Save starten usw. die ganze Prozedure... jetzt habe ich das Ergebnis  :-\ >:(
das fehlende Programm am Ende ist 3SAT, die folgende Sendung kommt nicht usw. das nervt doch

Wenn ich könnte würde ich auch gerne ein Modul basteln, aber kann ich nicht  :-\
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 30 Oktober 2014, 17:07:52
hmja, der Hinweis war in den Thread aber schon früher. Schreib mal überall dreisat anstatt 3sat (natürlich nicht in dem regex-Suchstring selber...)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 17:13:50
ich mußte einfach nochmal im DEF modify anstossen...

ich hatte es ja mit DSat das geht auch nur eben die folgende Sendung fehlt einfach.

Dein Beispiel hatte ich auch schon drin und es hat auch die Folgende Sendung gefehlt, ich weiß nicht wie man die Readings dazu bringen kann alles einzulesen an Sendern was da ist.
Es sind 7 Sender die mir keine folgende Sendung zeigen...!
schau mal den Screenshot jetzt verzweifel noch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 30 Oktober 2014, 17:22:25
Ich mus auch immer im DEV anstosen aber aunsonsten Funktioniert es


hier noch einmal der ganze Code aus meiner cfg



# -------------------------------
# aktuelle Sendung
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme readingsName_anixe anixe
attr TV_Programme readingsName_anixe_time anixe_time
attr TV_Programme readingsName_ard ard
attr TV_Programme readingsName_ard_time ard_time
attr TV_Programme readingsName_arte arte
attr TV_Programme readingsName_arte_time arte_time
attr TV_Programme readingsName_br br
attr TV_Programme readingsName_br_time br_time
attr TV_Programme readingsName_deluxemusic deluxemusic
attr TV_Programme readingsName_deluxemusic_time deluxemusic_time
attr TV_Programme readingsName_disney disney
attr TV_Programme readingsName_disney_time disney_time
attr TV_Programme readingsName_dmax dmax
attr TV_Programme readingsName_dmax_time dmax_time
attr TV_Programme readingsName_dreisat dreisat
attr TV_Programme readingsName_dreisat_time dreisat_time
attr TV_Programme readingsName_einsfestival einsfestival
attr TV_Programme readingsName_einsfestival_time einsfestival_time
attr TV_Programme readingsName_einsplus einsplus
attr TV_Programme readingsName_einsplus_time einsplus_time
attr TV_Programme readingsName_euronews euronews
attr TV_Programme readingsName_euronews_time euronews_time
attr TV_Programme readingsName_hr hr
attr TV_Programme readingsName_hr_time hr_time
attr TV_Programme readingsName_kabel1 kabel1
attr TV_Programme readingsName_kabel1_time kabel1_time
attr TV_Programme readingsName_kika kika
attr TV_Programme readingsName_kika_time kika_time
attr TV_Programme readingsName_mdr mdr
attr TV_Programme readingsName_mdr_time mdr_time
attr TV_Programme readingsName_n24 n24
attr TV_Programme readingsName_n24_time n24_time
attr TV_Programme readingsName_ndr ndr
attr TV_Programme readingsName_ndr_time ndr_time
attr TV_Programme readingsName_nick nick
attr TV_Programme readingsName_nick_time nick_time
attr TV_Programme readingsName_ntv ntv
attr TV_Programme readingsName_ntv_time ntv_time
attr TV_Programme readingsName_phoenix phoenix
attr TV_Programme readingsName_phoenix_time phoenix_time
attr TV_Programme readingsName_pro7 pro7
attr TV_Programme readingsName_pro7_time pro7_time
attr TV_Programme readingsName_rbb rbb
attr TV_Programme readingsName_rbb_time rbb_time
attr TV_Programme readingsName_rtl1 rtl1
attr TV_Programme readingsName_rtl1_time rtl1_time
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsName_rtl2_time rtl2_time
attr TV_Programme readingsName_rtlnitro rtlnitro
attr TV_Programme readingsName_rtlnitro_time rtlnitro_time
attr TV_Programme readingsName_sat1 sat1
attr TV_Programme readingsName_sat1_time sat1_time
attr TV_Programme readingsName_sat1gold sat1gold
attr TV_Programme readingsName_sat1gold_time sat1gold_time
attr TV_Programme readingsName_servustv servustv
attr TV_Programme readingsName_servustv_time servustv_time
attr TV_Programme readingsName_sixx sixx
attr TV_Programme readingsName_sixx_time sixx_time
attr TV_Programme readingsName_superrtl superrtl
attr TV_Programme readingsName_superrtl_time superrtl_time
attr TV_Programme readingsName_swr swr
attr TV_Programme readingsName_swr_time swr_time
attr TV_Programme readingsName_tagesschau tagesschau
attr TV_Programme readingsName_tagesschau_time tagesschau_time
attr TV_Programme readingsName_tele5 tele5
attr TV_Programme readingsName_tele5_time tele5_time
attr TV_Programme readingsName_tlc tlc
attr TV_Programme readingsName_tlc_time tlc_time
attr TV_Programme readingsName_viva viva
attr TV_Programme readingsName_viva_time viva_time
attr TV_Programme readingsName_vox vox
attr TV_Programme readingsName_vox_time vox_time
attr TV_Programme readingsName_wdr wdr
attr TV_Programme readingsName_wdr_time wdr_time
attr TV_Programme readingsName_zdf zdf
attr TV_Programme readingsName_zdf_time zdf_time
attr TV_Programme readingsName_zdfinfo zdfinfo
attr TV_Programme readingsName_zdfinfo_time zdfinfo_time
attr TV_Programme readingsName_zdfkultur zdfkultur
attr TV_Programme readingsName_zdfkultur_time zdfkultur_time
attr TV_Programme readingsName_zdfneo zdfneo
attr TV_Programme readingsName_zdfneo_time zdfneo_time
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF1_time ORF1_time
attr TV_Programme readingsName_ORF2 ORF2
attr TV_Programme readingsName_ORF2_time ORF2_time
attr TV_Programme readingsName_SkyAction SkyAction
attr TV_Programme readingsName_SkyAction_time SkyAction_time
attr TV_Programme readingsName_SkyCinema SkyCinema
attr TV_Programme readingsName_SkyCinema24 SkyCinema24
attr TV_Programme readingsName_SkyCinema24_time SkyCinema24_time
attr TV_Programme readingsName_SkyCinema_time SkyCinema_time
attr TV_Programme readingsName_SkyHits SkyHits
attr TV_Programme readingsName_SkyHits_time SkyHits_time

attr TV_Programme readingsRegex_anixe <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_anixe_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ard <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ard_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_arte <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_arte_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_br <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_br_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_deluxemusic <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_deluxemusic_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_disney <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_disney_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dmax <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dmax_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dreisat <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dreisat_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsfestival <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsfestival_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsplus <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsplus_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_euronews <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_euronews_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_hr <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_hr_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kabel1 <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kabel1_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kika <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kika_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_mdr <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_mdr_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_n24 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_n24_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ndr <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ndr_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_nick <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_nick_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ntv <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ntv_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_phoenix <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_phoenix_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_pro7 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rbb <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rbb_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl1 <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl1_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtlnitro <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtlnitro_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1gold <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1gold_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_servustv <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_servustv_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sixx <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sixx_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_superrtl <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_superrtl_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_swr <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_swr_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tagesschau <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tagesschau_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tele5 <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tele5_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tlc <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tlc_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_viva <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_viva_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_vox <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_vox_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_wdr <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_wdr_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdf <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdf_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfinfo <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfinfo_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfkultur <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfkultur_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfneo <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfneo_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyAction <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyAction_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24 <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyHits <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyHits_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>



attr TV_Programme room Multimedia
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
attr TV_Programme verbose 1
#define TV_Programme HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD http://localhost:8083/fhem/www/mlweb/tvguide_jetzt.html 60

# -------------------------------
# nächste Sendung
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme_next readingsName_anixe_next anixe_next
attr TV_Programme_next readingsName_anixe_next_time anixe_next_time
attr TV_Programme_next readingsName_ard_next ard_next
attr TV_Programme_next readingsName_ard_next_time ard_next_time
attr TV_Programme_next readingsName_arte_next arte_next
attr TV_Programme_next readingsName_arte_next_time arte_next_time
attr TV_Programme_next readingsName_br_next br_next
attr TV_Programme_next readingsName_br_next_time br_next_time
attr TV_Programme_next readingsName_deluxemusic_next deluxemusic_next
attr TV_Programme_next readingsName_deluxemusic_next_time deluxemusic_next_time
attr TV_Programme_next readingsName_disney_next disney_next
attr TV_Programme_next readingsName_disney_next_time disney_next_time
attr TV_Programme_next readingsName_dmax_next dmax_next
attr TV_Programme_next readingsName_dmax_next_time dmax_next_time
attr TV_Programme_next readingsName_dreisat_next dreisat_next
attr TV_Programme_next readingsName_dreisat_next_time dreisat_next_time
attr TV_Programme_next readingsName_einsfestival_next einsfestival_next
attr TV_Programme_next readingsName_einsfestival_next_time einsfestival_next_time
attr TV_Programme_next readingsName_einsplus_next einsplus_next
attr TV_Programme_next readingsName_einsplus_next_time einsplus_next_time
attr TV_Programme_next readingsName_euronews_next euronews_next
attr TV_Programme_next readingsName_euronews_next_time euronews_next_time
attr TV_Programme_next readingsName_hr_next hr_next
attr TV_Programme_next readingsName_hr_next_time hr_next_time
attr TV_Programme_next readingsName_kabel1_next kabel1_next
attr TV_Programme_next readingsName_kabel1_next_time kabel1_next_time
attr TV_Programme_next readingsName_kika_next kika_next
attr TV_Programme_next readingsName_kika_next_time kika_next_time
attr TV_Programme_next readingsName_mdr_next mdr_next
attr TV_Programme_next readingsName_mdr_next_time mdr_next_time
attr TV_Programme_next readingsName_n24_next n24_next
attr TV_Programme_next readingsName_n24_next_time n24_next_time
attr TV_Programme_next readingsName_ndr_next ndr_next
attr TV_Programme_next readingsName_ndr_next_time ndr_next_time
attr TV_Programme_next readingsName_nick_next nick_next
attr TV_Programme_next readingsName_nick_next_time nick_next_time
attr TV_Programme_next readingsName_ntv_next ntv_next
attr TV_Programme_next readingsName_ntv_next_time ntv_next_time
attr TV_Programme_next readingsName_phoenix_next phoenix_next
attr TV_Programme_next readingsName_phoenix_next_time phoenix_next_time
attr TV_Programme_next readingsName_pro7_next pro7_next
attr TV_Programme_next readingsName_pro7_next_time pro7_next_time
attr TV_Programme_next readingsName_rbb_next rbb_next
attr TV_Programme_next readingsName_rbb_next_time rbb_next_time
attr TV_Programme_next readingsName_rtl1_next rtl1_next
attr TV_Programme_next readingsName_rtl1_next_time rtl1_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsName_rtlnitro_next rtlnitro_next
attr TV_Programme_next readingsName_rtlnitro_next_time rtlnitro_next_time
attr TV_Programme_next readingsName_sat1_next sat1_next
attr TV_Programme_next readingsName_sat1_next_time sat1_next_time
attr TV_Programme_next readingsName_sat1gold_next sat1gold_next
attr TV_Programme_next readingsName_sat1gold_next_time sat1gold_next_time
attr TV_Programme_next readingsName_servustv_next servustv_next
attr TV_Programme_next readingsName_servustv_next_time servustv_next_time
attr TV_Programme_next readingsName_sixx_next sixx_next
attr TV_Programme_next readingsName_sixx_next_time sixx_next_time
attr TV_Programme_next readingsName_superrtl_next superrtl_next
attr TV_Programme_next readingsName_superrtl_next_time superrtl_next_time
attr TV_Programme_next readingsName_swr_next swr_next
attr TV_Programme_next readingsName_swr_next_time swr_next_time
attr TV_Programme_next readingsName_tagesschau_next tagesschau_next
attr TV_Programme_next readingsName_tagesschau_next_time tagesschau_next_time
attr TV_Programme_next readingsName_tele5_next tele5_next
attr TV_Programme_next readingsName_tele5_next_time tele5_next_time
attr TV_Programme_next readingsName_tlc_next tlc_next
attr TV_Programme_next readingsName_tlc_next_time tlc_next_time
attr TV_Programme_next readingsName_viva_next viva_next
attr TV_Programme_next readingsName_viva_next_time viva_next_time
attr TV_Programme_next readingsName_vox_next vox_next
attr TV_Programme_next readingsName_vox_next_time vox_next_time
attr TV_Programme_next readingsName_wdr_next wdr_next
attr TV_Programme_next readingsName_wdr_next_time wdr_next_time
attr TV_Programme_next readingsName_zdf_next zdf_next
attr TV_Programme_next readingsName_zdf_next_time zdf_next_time
attr TV_Programme_next readingsName_zdfinfo_next zdfinfo_next
attr TV_Programme_next readingsName_zdfinfo_next_time zdfinfo_next_time
attr TV_Programme_next readingsName_zdfkultur_next zdfkultur_next
attr TV_Programme_next readingsName_zdfkultur_next_time zdfkultur_next_time
attr TV_Programme_next readingsName_zdfneo_next zdfneo_next
attr TV_Programme_next readingsName_zdfneo_next_time zdfneo_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time
attr TV_Programme_next readingsName_SkyAction_next SkyAction_next
attr TV_Programme_next readingsName_SkyAction_next_time SkyAction_next_time
attr TV_Programme_next readingsName_SkyCinema24_next SkyCinema24_next
attr TV_Programme_next readingsName_SkyCinema24_next_time SkyCinema24_next_time
attr TV_Programme_next readingsName_SkyCinema_next SkyCinema_next
attr TV_Programme_next readingsName_SkyCinema_next_time SkyCinema_next_time
attr TV_Programme_next readingsName_SkyHits_next SkyHits_next
attr TV_Programme_next readingsName_SkyHits_next_time SkyHits_next_time



attr TV_Programme_next readingsRegex_anixe_next <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_anixe_next_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ard_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ard_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_arte_next <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_arte_next_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_br_next <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_br_next_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_deluxemusic_next <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_deluxemusic_next_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_disney_next <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_disney_next_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dmax_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dmax_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dreisat_next <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dreisat_next_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsfestival_next <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsfestival_next_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsplus_next <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsplus_next_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_euronews_next <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_euronews_next_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_hr_next <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_hr_next_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kabel1_next <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kabel1_next_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kika_next <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kika_next_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_mdr_next <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_mdr_next_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_n24_next <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_n24_next_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ndr_next <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ndr_next_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_nick_next <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_nick_next_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ntv_next <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ntv_next_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_phoenix_next <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_phoenix_next_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_pro7_next <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rbb_next <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rbb_next_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl1_next <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl1_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtlnitro_next <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtlnitro_next_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1_next <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1gold_next <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1gold_next_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_servustv_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_servustv_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sixx_next <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sixx_next_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_superrtl_next <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_superrtl_next_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_swr_next <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_swr_next_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tagesschau_next <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tagesschau_next_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tele5_next <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tele5_next_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tlc_next <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tlc_next_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_viva_next <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_viva_next_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_vox_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_vox_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_wdr_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_wdr_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdf_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdf_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfinfo_next <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfinfo_next_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfkultur_next <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfkultur_next_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfneo_next <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfneo_next_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyAction_next <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyAction_next_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema24_next <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema24_next_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema_next <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema_next_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyHits_next <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyHits_next_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme_next room Multimedia
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 60
attr TV_Programme_next verbose 1
#define TV_Programme_next HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_dann.html 60
#define TV_Programme_next HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_dann.html 60

# -------------------------------
# Visualisierung


define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:pro7_time@TV_Programme,pro7@TV_Programme,pro7_next_time,pro7_next\
TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next_time,rtl1_next \
TV_Programme_next:rtl2_time@TV_Programme,rtl2@TV_Programme,rtl2_next_time,rtl2_next \
TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next_time,sat1_next\
TV_Programme_next:vox_time@TV_Programme,vox@TV_Programme,vox_next_time,vox_next \
TV_Programme_next:ORF1_time@TV_Programme,ORF1@TV_Programme,ORF1_next_time,ORF1_next\
TV_Programme_next:ORF2_time@TV_Programme,ORF2@TV_Programme,ORF2_next_time,ORF2_next\
TV_Programme_next:kabel1_time@TV_Programme,kabel1@TV_Programme,kabel1_next_time,kabel1_next\
TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next\
TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next_time,zdf_next\
TV_Programme_next:dreisat_time@TV_Programme,dreisat@TV_Programme,dreisat_next_time ,dreisat_next\
TV_Programme_next:servustv_time@TV_Programme,servustv@TV_Programme,servustv_next_time,servustv_next \
TV_Programme_next:SkyAction_time@TV_Programme,SkyAction@TV_Programme,SkyAction_next_time,SkyAction_next\
TV_Programme_next:SkyHits_time@TV_Programme,SkyHits@TV_Programme,SkyHits_next_time,SkyHits_next\
TV_Programme_next:SkyCinema_time@TV_Programme,SkyCinema@TV_Programme,SkyCinema_next_time,SkyCinema_next\
TV_Programme_next:SkyCinema24_time@TV_Programme,SkyCinema24@TV_Programme,SkyCinema24_next_time,SkyCinema24_next\
TV_Programme_next:arte_time@TV_Programme,arte@TV_Programme,arte_next_time ,arte_next\
TV_Programme_next:sixx_time@TV_Programme,sixx@TV_Programme,sixx_next_time,sixx_next \
TV_Programme_next:anixe_time@TV_Programme,anixe@TV_Programme,anixe_next_time,anixe_next \
TV_Programme_next:sat1gold_time@TV_Programme,sat1gold@TV_Programme,sat1gold_next_time,sat1gold_next \
TV_Programme_next:br_time@TV_Programme,br@TV_Programme,br_next_time,br_next \
TV_Programme_next:deluxemusic_time@TV_Programme,deluxemusic@TV_Programme,deluxemusic_next_time,deluxemusic_next \
TV_Programme_next:disney_time@TV_Programme,disney@TV_Programme,disney_next_time,disney_next \
TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next_time,dmax_next \
TV_Programme_next:einsfestival_time@TV_Programme,einsfestival@TV_Programme,einsfestival_next_time,einsfestival_next \
TV_Programme_next:einsplus_time@TV_Programme,einsplus@TV_Programme,einsplus_next_time,einsplus_next \
TV_Programme_next:euronews_time@TV_Programme,euronews@TV_Programme,euronews_next_time,euronews_next \
TV_Programme_next:hr_time@TV_Programme,hr@TV_Programme,hr_next_time,hr_next \
TV_Programme_next:kika_time@TV_Programme,kika@TV_Programme,kika_next_time,kika_next_time \
TV_Programme_next:mdr_time@TV_Programme,mdr@TV_Programme,mdr_next_time,mdr_next \
TV_Programme_next:ntv_time@TV_Programme,ntv@TV_Programme,ntv_next_time,ntv_next \
TV_Programme_next:n24_time@TV_Programme,n24@TV_Programme,n24_next_time,n24_next \
TV_Programme_next:ndr_time@TV_Programme,ndr@TV_Programme,ndr_next_time,ndr_next \
TV_Programme_next:nick_time@TV_Programme,nick@TV_Programme,nick_next_time,nick_next \
TV_Programme_next:phoenix_time@TV_Programme,phoenix@TV_Programme,phoenix_next_time,phoenix_next \
TV_Programme_next:rbb_time@TV_Programme,rbb@TV_Programme,rbb_next_time,rbb_next \
TV_Programme_next:superrtl_time@TV_Programme,superrtl@TV_Programme,superrtl_next_time,superrtl_next \
TV_Programme_next:swr_time@TV_Programme,swr@TV_Programme,swr_next_time,swr_next \
TV_Programme_next:tagesschau_time@TV_Programme,tagesschau@TV_Programme,tagesschau_next_time,tagesschau_next \
TV_Programme_next:tlc_time@TV_Programme,tlc@TV_Programme,tlc_next_time,tlc_next \
TV_Programme_next:viva_time@TV_Programme,viva@TV_Programme,viva_next_time,viva_next \
TV_Programme_next:wdr_time@TV_Programme,wdr@TV_Programme,wdr_next_time,wdr_next \
TV_Programme_next:zdfkultur_time@TV_Programme,zdfkultur@TV_Programme,zdfkultur_next_time,zdfkultur_next \
TV_Programme_next:zdfinfo_time@TV_Programme,zdfinfo@TV_Programme,zdfinfo_next_time,zdfinfo_next  \


attr TV_Programm alias TV Programm
attr TV_Programm group TV_Programm
#attr TV_Programm nameIcon { ServusTV_time => 'servus_tv',DSat_time => '3sat', ARD_time => 'ard', ZDF_time => 'zdf', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', Kabel1_time => 'kabel1', VOX_time => 'vox', RTL2_time => 'rtl2', DMAX_time => 'dmax', ZDFNEO_time => 'zdf_neo', RTLNITRO_time => 'rtl_nitro' }
attr TV_Programm nameIcon { ard_time => 'ard', zdf_time => 'zdf', arte_time => 'arte', dreisat_time => '3sat', pro7_time => 'pro7', kabel1_time => 'kabel1', sat1_time => 'sat1', rtl1_time => 'rtl', rtl2_time => 'rtl2', sixx_time => 'sixx', servustv_time => 'servus_tv', anixe_time => 'anixe', sat1gold_time => 'sat1_gold', br_time => 'br', deluxemusic_time => 'deluxemusic', disney_time => 'disney', dmax_time => 'dmax', einsfestival_time => 'einsfestival', einsplus_time => 'einsplus', euronews_time => 'euronews', hr_time => 'hr', kika_time => 'kika', mdr_time => 'mdr', ntv_time => 'ntv', n24_time => 'n24', ndr_time => 'ndr', nick_time => 'nick', phoenix_time => 'phoenix', rbb_time => 'rbb', rtlnitro_time => 'rtl_nitro', superrtl_time => 'superrtl', swr_time => 'swr', tagesschau_time => 'tagesschau', tele5_time => 'tele5', tlc_time => 'tlc', viva_time => 'viva', vox_time => 'vox', wdr_time => 'wdr', zdfkultur_time => 'zdf_kultur', zdfinfo_time => 'zdf_info', zdfneo_time => 'zdf_neo', SkyCinema_time => 'sky_cinema', SkyCinema24_time => 'sky_cinema24', SkyHits_time => 'sky_hits', SkyAction_time => 'sky_action', ORF1_time => 'orf1', ORF2_time => 'orf2' }

attr TV_Programm nameStyle style="color:lightgreen;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 30 Oktober 2014, 17:30:18
Zitat von: moonsorrox am 30 Oktober 2014, 17:13:50
ich mußte einfach nochmal im DEF modify anstossen...

ich hatte es ja mit DSat das geht auch nur eben die folgende Sendung fehlt einfach.

Dein Beispiel hatte ich auch schon drin und es hat auch die Folgende Sendung gefehlt, ich weiß nicht wie man die Readings dazu bringen kann alles einzulesen an Sendern was da ist.
Es sind 7 Sender die mir keine folgende Sendung zeigen...!
schau mal den Screenshot jetzt verzweifel noch
Hast du auch im HTML mehr als 100 Sender eingetragen bei den next Programmen ???
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 17:37:55
ich selber habe nur 17 Sender drin, oder meintest du dieses Gedöns welches erscheint wenn ich auf TV_Programme_next gehe
siehe Screen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 30 Oktober 2014, 17:48:54
neinnein...in der URL gibst Du an, wieviele Sender auf der TVMovie Seite angezeigt werden, und da hast Du 100 stehen.
Mach Dir mal die URL im Browser auf, dann siehst Du, dass da 3sat nicht drauf ist, sondern erst auf der 2. Seite kommt. So kann das nicht funktionieren. Gib da mal 150 anstatt 100 an, dann ist alles auf der ersten Seite, und dann klappts auch mit FHEM.
Oder vielleicht nimmst Du einfach ein funktionierendes Beispiel komplett, und nicht nur einzelne Teile daraus...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 18:05:55
oh je das ist so ein blöder Fehler.. jetzt geht es ;D

Ich hatte ja ein Beispiel irgendwo von ganz vorn, da war das wohl eingestellt...!  ;)

aber da sollte Markus mit seinen eingestellten "150" z.B mit den Sky Programmen die ähnlichen Probleme haben denn Sky kommt erst über 150 also 2.Seite glaube ab 52
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Martin am 30 Oktober 2014, 18:58:12
Hallo ich würde auch gern das Tv Programm angezeigt bekommen aber wen ich die Config einfüge sieht das so aus.

Gruß
Martin
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 30 Oktober 2014, 19:13:17
@Martin

poste bitte deinen kompletten Code...!
es kann an Kleinigkeiten liegen wie z.B. falschen icons, Schreibweise usw.
Es gab hier schon so einige Probleme, dass kann man so nicht erraten  ;)
Hast du denn die Icons auch an den Stellen und welchen Code hier aus dem Forum hast du genommen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Martin am 30 Oktober 2014, 19:31:07
Der Code ist von Heute von Markus die icons sind in fhem/www/images/default

Gruß
Martin
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bergadler am 30 Oktober 2014, 21:26:29
@Martin,

Das mit "TV_Programme_next" bei allen Icons hatte ich auch schon öfters,
das Problem war dabei immer die Syntax beim attr "nameIcon".
Da ist wirklich jedes Leerzeichen, jedes Häkchen, jedes case sensitive überlebenswichtig.

Gruß
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 30 Oktober 2014, 21:29:22
Ich habe die icons aus post 111  ich glaube von moonsorrox der ortner würde schon stimmen...
aber wenn die icons nicht gezeigt werden und statdessen :TV_Programme_next
dasteht fehlt die zuortnung :attr TV_Programm nameIcon
wen zb:ard oder zdf da steht werden die icons nicht geladen oder gefunden
vielleicht restart?...

hast du TV_Programme_next auch aktualiesiert?

hier noch einmal mei ganzer code



# -------------------------------
# aktuelle Sendung
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme readingsName_anixe anixe
attr TV_Programme readingsName_anixe_time anixe_time
attr TV_Programme readingsName_ard ard
attr TV_Programme readingsName_ard_time ard_time
attr TV_Programme readingsName_arte arte
attr TV_Programme readingsName_arte_time arte_time
attr TV_Programme readingsName_br br
attr TV_Programme readingsName_br_time br_time
attr TV_Programme readingsName_deluxemusic deluxemusic
attr TV_Programme readingsName_deluxemusic_time deluxemusic_time
attr TV_Programme readingsName_disney disney
attr TV_Programme readingsName_disney_time disney_time
attr TV_Programme readingsName_dmax dmax
attr TV_Programme readingsName_dmax_time dmax_time
attr TV_Programme readingsName_dreisat dreisat
attr TV_Programme readingsName_dreisat_time dreisat_time
attr TV_Programme readingsName_einsfestival einsfestival
attr TV_Programme readingsName_einsfestival_time einsfestival_time
attr TV_Programme readingsName_einsplus einsplus
attr TV_Programme readingsName_einsplus_time einsplus_time
attr TV_Programme readingsName_euronews euronews
attr TV_Programme readingsName_euronews_time euronews_time
attr TV_Programme readingsName_hr hr
attr TV_Programme readingsName_hr_time hr_time
attr TV_Programme readingsName_kabel1 kabel1
attr TV_Programme readingsName_kabel1_time kabel1_time
attr TV_Programme readingsName_kika kika
attr TV_Programme readingsName_kika_time kika_time
attr TV_Programme readingsName_mdr mdr
attr TV_Programme readingsName_mdr_time mdr_time
attr TV_Programme readingsName_n24 n24
attr TV_Programme readingsName_n24_time n24_time
attr TV_Programme readingsName_ndr ndr
attr TV_Programme readingsName_ndr_time ndr_time
attr TV_Programme readingsName_nick nick
attr TV_Programme readingsName_nick_time nick_time
attr TV_Programme readingsName_ntv ntv
attr TV_Programme readingsName_ntv_time ntv_time
attr TV_Programme readingsName_phoenix phoenix
attr TV_Programme readingsName_phoenix_time phoenix_time
attr TV_Programme readingsName_pro7 pro7
attr TV_Programme readingsName_pro7_time pro7_time
attr TV_Programme readingsName_rbb rbb
attr TV_Programme readingsName_rbb_time rbb_time
attr TV_Programme readingsName_rtl1 rtl1
attr TV_Programme readingsName_rtl1_time rtl1_time
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsName_rtl2_time rtl2_time
attr TV_Programme readingsName_rtlnitro rtlnitro
attr TV_Programme readingsName_rtlnitro_time rtlnitro_time
attr TV_Programme readingsName_sat1 sat1
attr TV_Programme readingsName_sat1_time sat1_time
attr TV_Programme readingsName_sat1gold sat1gold
attr TV_Programme readingsName_sat1gold_time sat1gold_time
attr TV_Programme readingsName_servustv servustv
attr TV_Programme readingsName_servustv_time servustv_time
attr TV_Programme readingsName_sixx sixx
attr TV_Programme readingsName_sixx_time sixx_time
attr TV_Programme readingsName_superrtl superrtl
attr TV_Programme readingsName_superrtl_time superrtl_time
attr TV_Programme readingsName_swr swr
attr TV_Programme readingsName_swr_time swr_time
attr TV_Programme readingsName_tagesschau tagesschau
attr TV_Programme readingsName_tagesschau_time tagesschau_time
attr TV_Programme readingsName_tele5 tele5
attr TV_Programme readingsName_tele5_time tele5_time
attr TV_Programme readingsName_tlc tlc
attr TV_Programme readingsName_tlc_time tlc_time
attr TV_Programme readingsName_viva viva
attr TV_Programme readingsName_viva_time viva_time
attr TV_Programme readingsName_vox vox
attr TV_Programme readingsName_vox_time vox_time
attr TV_Programme readingsName_wdr wdr
attr TV_Programme readingsName_wdr_time wdr_time
attr TV_Programme readingsName_zdf zdf
attr TV_Programme readingsName_zdf_time zdf_time
attr TV_Programme readingsName_zdfinfo zdfinfo
attr TV_Programme readingsName_zdfinfo_time zdfinfo_time
attr TV_Programme readingsName_zdfkultur zdfkultur
attr TV_Programme readingsName_zdfkultur_time zdfkultur_time
attr TV_Programme readingsName_zdfneo zdfneo
attr TV_Programme readingsName_zdfneo_time zdfneo_time
attr TV_Programme readingsName_ORF1 ORF1
attr TV_Programme readingsName_ORF1_time ORF1_time
attr TV_Programme readingsName_ORF2 ORF2
attr TV_Programme readingsName_ORF2_time ORF2_time
attr TV_Programme readingsName_SkyAction SkyAction
attr TV_Programme readingsName_SkyAction_time SkyAction_time
attr TV_Programme readingsName_SkyCinema SkyCinema
attr TV_Programme readingsName_SkyCinema24 SkyCinema24
attr TV_Programme readingsName_SkyCinema24_time SkyCinema24_time
attr TV_Programme readingsName_SkyCinema_time SkyCinema_time
attr TV_Programme readingsName_SkyHits SkyHits
attr TV_Programme readingsName_SkyHits_time SkyHits_time

attr TV_Programme readingsRegex_anixe <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_anixe_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ard <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ard_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_arte <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_arte_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_br <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_br_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_deluxemusic <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_deluxemusic_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_disney <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_disney_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dmax <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dmax_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dreisat <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dreisat_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsfestival <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsfestival_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsplus <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsplus_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_euronews <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_euronews_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_hr <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_hr_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kabel1 <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kabel1_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kika <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kika_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_mdr <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_mdr_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_n24 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_n24_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ndr <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ndr_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_nick <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_nick_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ntv <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ntv_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_phoenix <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_phoenix_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_pro7 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rbb <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rbb_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl1 <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl1_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtlnitro <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtlnitro_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1gold <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1gold_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_servustv <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_servustv_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sixx <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sixx_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_superrtl <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_superrtl_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_swr <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_swr_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tagesschau <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tagesschau_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tele5 <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tele5_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tlc <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tlc_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_viva <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_viva_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_vox <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_vox_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_wdr <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_wdr_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdf <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdf_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfinfo <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfinfo_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfkultur <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfkultur_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfneo <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfneo_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF1 <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF1_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ORF2 <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ORF2_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyAction <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyAction_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24 <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyCinema24_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyCinema_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SkyHits <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SkyHits_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>



attr TV_Programme room Multimedia
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
attr TV_Programme verbose 1
#define TV_Programme HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_jetzt.html 60
#define TV_Programme HTTPMOD http://localhost:8083/fhem/www/mlweb/tvguide_jetzt.html 60

# -------------------------------
# nächste Sendung
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme_next readingsName_anixe_next anixe_next
attr TV_Programme_next readingsName_anixe_next_time anixe_next_time
attr TV_Programme_next readingsName_ard_next ard_next
attr TV_Programme_next readingsName_ard_next_time ard_next_time
attr TV_Programme_next readingsName_arte_next arte_next
attr TV_Programme_next readingsName_arte_next_time arte_next_time
attr TV_Programme_next readingsName_br_next br_next
attr TV_Programme_next readingsName_br_next_time br_next_time
attr TV_Programme_next readingsName_deluxemusic_next deluxemusic_next
attr TV_Programme_next readingsName_deluxemusic_next_time deluxemusic_next_time
attr TV_Programme_next readingsName_disney_next disney_next
attr TV_Programme_next readingsName_disney_next_time disney_next_time
attr TV_Programme_next readingsName_dmax_next dmax_next
attr TV_Programme_next readingsName_dmax_next_time dmax_next_time
attr TV_Programme_next readingsName_dreisat_next dreisat_next
attr TV_Programme_next readingsName_dreisat_next_time dreisat_next_time
attr TV_Programme_next readingsName_einsfestival_next einsfestival_next
attr TV_Programme_next readingsName_einsfestival_next_time einsfestival_next_time
attr TV_Programme_next readingsName_einsplus_next einsplus_next
attr TV_Programme_next readingsName_einsplus_next_time einsplus_next_time
attr TV_Programme_next readingsName_euronews_next euronews_next
attr TV_Programme_next readingsName_euronews_next_time euronews_next_time
attr TV_Programme_next readingsName_hr_next hr_next
attr TV_Programme_next readingsName_hr_next_time hr_next_time
attr TV_Programme_next readingsName_kabel1_next kabel1_next
attr TV_Programme_next readingsName_kabel1_next_time kabel1_next_time
attr TV_Programme_next readingsName_kika_next kika_next
attr TV_Programme_next readingsName_kika_next_time kika_next_time
attr TV_Programme_next readingsName_mdr_next mdr_next
attr TV_Programme_next readingsName_mdr_next_time mdr_next_time
attr TV_Programme_next readingsName_n24_next n24_next
attr TV_Programme_next readingsName_n24_next_time n24_next_time
attr TV_Programme_next readingsName_ndr_next ndr_next
attr TV_Programme_next readingsName_ndr_next_time ndr_next_time
attr TV_Programme_next readingsName_nick_next nick_next
attr TV_Programme_next readingsName_nick_next_time nick_next_time
attr TV_Programme_next readingsName_ntv_next ntv_next
attr TV_Programme_next readingsName_ntv_next_time ntv_next_time
attr TV_Programme_next readingsName_phoenix_next phoenix_next
attr TV_Programme_next readingsName_phoenix_next_time phoenix_next_time
attr TV_Programme_next readingsName_pro7_next pro7_next
attr TV_Programme_next readingsName_pro7_next_time pro7_next_time
attr TV_Programme_next readingsName_rbb_next rbb_next
attr TV_Programme_next readingsName_rbb_next_time rbb_next_time
attr TV_Programme_next readingsName_rtl1_next rtl1_next
attr TV_Programme_next readingsName_rtl1_next_time rtl1_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsName_rtlnitro_next rtlnitro_next
attr TV_Programme_next readingsName_rtlnitro_next_time rtlnitro_next_time
attr TV_Programme_next readingsName_sat1_next sat1_next
attr TV_Programme_next readingsName_sat1_next_time sat1_next_time
attr TV_Programme_next readingsName_sat1gold_next sat1gold_next
attr TV_Programme_next readingsName_sat1gold_next_time sat1gold_next_time
attr TV_Programme_next readingsName_servustv_next servustv_next
attr TV_Programme_next readingsName_servustv_next_time servustv_next_time
attr TV_Programme_next readingsName_sixx_next sixx_next
attr TV_Programme_next readingsName_sixx_next_time sixx_next_time
attr TV_Programme_next readingsName_superrtl_next superrtl_next
attr TV_Programme_next readingsName_superrtl_next_time superrtl_next_time
attr TV_Programme_next readingsName_swr_next swr_next
attr TV_Programme_next readingsName_swr_next_time swr_next_time
attr TV_Programme_next readingsName_tagesschau_next tagesschau_next
attr TV_Programme_next readingsName_tagesschau_next_time tagesschau_next_time
attr TV_Programme_next readingsName_tele5_next tele5_next
attr TV_Programme_next readingsName_tele5_next_time tele5_next_time
attr TV_Programme_next readingsName_tlc_next tlc_next
attr TV_Programme_next readingsName_tlc_next_time tlc_next_time
attr TV_Programme_next readingsName_viva_next viva_next
attr TV_Programme_next readingsName_viva_next_time viva_next_time
attr TV_Programme_next readingsName_vox_next vox_next
attr TV_Programme_next readingsName_vox_next_time vox_next_time
attr TV_Programme_next readingsName_wdr_next wdr_next
attr TV_Programme_next readingsName_wdr_next_time wdr_next_time
attr TV_Programme_next readingsName_zdf_next zdf_next
attr TV_Programme_next readingsName_zdf_next_time zdf_next_time
attr TV_Programme_next readingsName_zdfinfo_next zdfinfo_next
attr TV_Programme_next readingsName_zdfinfo_next_time zdfinfo_next_time
attr TV_Programme_next readingsName_zdfkultur_next zdfkultur_next
attr TV_Programme_next readingsName_zdfkultur_next_time zdfkultur_next_time
attr TV_Programme_next readingsName_zdfneo_next zdfneo_next
attr TV_Programme_next readingsName_zdfneo_next_time zdfneo_next_time
attr TV_Programme_next readingsName_ORF1_next ORF1_next
attr TV_Programme_next readingsName_ORF1_next_time ORF1_next_time
attr TV_Programme_next readingsName_ORF2_next ORF2_next
attr TV_Programme_next readingsName_ORF2_next_time ORF2_next_time
attr TV_Programme_next readingsName_SkyAction_next SkyAction_next
attr TV_Programme_next readingsName_SkyAction_next_time SkyAction_next_time
attr TV_Programme_next readingsName_SkyCinema24_next SkyCinema24_next
attr TV_Programme_next readingsName_SkyCinema24_next_time SkyCinema24_next_time
attr TV_Programme_next readingsName_SkyCinema_next SkyCinema_next
attr TV_Programme_next readingsName_SkyCinema_next_time SkyCinema_next_time
attr TV_Programme_next readingsName_SkyHits_next SkyHits_next
attr TV_Programme_next readingsName_SkyHits_next_time SkyHits_next_time



attr TV_Programme_next readingsRegex_anixe_next <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_anixe_next_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ard_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ard_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_arte_next <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_arte_next_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_br_next <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_br_next_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_deluxemusic_next <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_deluxemusic_next_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_disney_next <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_disney_next_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dmax_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dmax_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dreisat_next <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dreisat_next_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsfestival_next <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsfestival_next_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsplus_next <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsplus_next_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_euronews_next <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_euronews_next_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_hr_next <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_hr_next_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kabel1_next <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kabel1_next_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kika_next <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kika_next_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_mdr_next <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_mdr_next_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_n24_next <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_n24_next_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ndr_next <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ndr_next_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_nick_next <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_nick_next_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ntv_next <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ntv_next_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_phoenix_next <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_phoenix_next_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_pro7_next <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rbb_next <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rbb_next_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl1_next <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl1_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtlnitro_next <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtlnitro_next_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1_next <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1gold_next <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1gold_next_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_servustv_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_servustv_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sixx_next <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sixx_next_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_superrtl_next <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_superrtl_next_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_swr_next <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_swr_next_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tagesschau_next <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tagesschau_next_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tele5_next <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tele5_next_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tlc_next <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tlc_next_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_viva_next <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_viva_next_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_vox_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_vox_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_wdr_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_wdr_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdf_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdf_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfinfo_next <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfinfo_next_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfkultur_next <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfkultur_next_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfneo_next <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfneo_next_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF1_next <span>ORF 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF1_next_time <span>ORF 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ORF2_next <span>ORF 2 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ORF2_next_time <span>ORF 2 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyAction_next <span>Sky ACTION <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyAction_next_time <span>Sky ACTION <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema24_next <span>Sky CINEMA \+24[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema24_next_time <span>Sky CINEMA \+24[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyCinema_next <span>Sky CINEMA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyCinema_next_time <span>Sky CINEMA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SkyHits_next <span>Sky HITS <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SkyHits_next_time <span>Sky HITS <[\w\W]*?air-time"><strong>(.*?)<\/strong>

attr TV_Programme_next room Multimedia
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 60
attr TV_Programme_next verbose 1
#define TV_Programme_next HTTPMOD http://localhost:8083/fhem/mlweb/tvguide_dann.html 60
#define TV_Programme_next HTTPMOD file:///C:/5_Apps/Fxem/fhem-5.5/www/mlweb/tvguide_dann.html 60

# -------------------------------
# Visualisierung


define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:pro7_time@TV_Programme,pro7@TV_Programme,pro7_next_time,pro7_next\
TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next_time,rtl1_next \
TV_Programme_next:rtl2_time@TV_Programme,rtl2@TV_Programme,rtl2_next_time,rtl2_next \
TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next_time,sat1_next\
TV_Programme_next:vox_time@TV_Programme,vox@TV_Programme,vox_next_time,vox_next \
TV_Programme_next:ORF1_time@TV_Programme,ORF1@TV_Programme,ORF1_next_time,ORF1_next\
TV_Programme_next:ORF2_time@TV_Programme,ORF2@TV_Programme,ORF2_next_time,ORF2_next\
TV_Programme_next:kabel1_time@TV_Programme,kabel1@TV_Programme,kabel1_next_time,kabel1_next\
TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next\
TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next_time,zdf_next\
TV_Programme_next:dreisat_time@TV_Programme,dreisat@TV_Programme,dreisat_next_time ,dreisat_next\
TV_Programme_next:servustv_time@TV_Programme,servustv@TV_Programme,servustv_next_time,servustv_next \
TV_Programme_next:SkyAction_time@TV_Programme,SkyAction@TV_Programme,SkyAction_next_time,SkyAction_next\
TV_Programme_next:SkyHits_time@TV_Programme,SkyHits@TV_Programme,SkyHits_next_time,SkyHits_next\
TV_Programme_next:SkyCinema_time@TV_Programme,SkyCinema@TV_Programme,SkyCinema_next_time,SkyCinema_next\
TV_Programme_next:SkyCinema24_time@TV_Programme,SkyCinema24@TV_Programme,SkyCinema24_next_time,SkyCinema24_next\
TV_Programme_next:arte_time@TV_Programme,arte@TV_Programme,arte_next_time ,arte_next\
TV_Programme_next:sixx_time@TV_Programme,sixx@TV_Programme,sixx_next_time,sixx_next \
TV_Programme_next:anixe_time@TV_Programme,anixe@TV_Programme,anixe_next_time,anixe_next \
TV_Programme_next:sat1gold_time@TV_Programme,sat1gold@TV_Programme,sat1gold_next_time,sat1gold_next \
TV_Programme_next:br_time@TV_Programme,br@TV_Programme,br_next_time,br_next \
TV_Programme_next:deluxemusic_time@TV_Programme,deluxemusic@TV_Programme,deluxemusic_next_time,deluxemusic_next \
TV_Programme_next:disney_time@TV_Programme,disney@TV_Programme,disney_next_time,disney_next \
TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next_time,dmax_next \
TV_Programme_next:einsfestival_time@TV_Programme,einsfestival@TV_Programme,einsfestival_next_time,einsfestival_next \
TV_Programme_next:einsplus_time@TV_Programme,einsplus@TV_Programme,einsplus_next_time,einsplus_next \
TV_Programme_next:euronews_time@TV_Programme,euronews@TV_Programme,euronews_next_time,euronews_next \
TV_Programme_next:hr_time@TV_Programme,hr@TV_Programme,hr_next_time,hr_next \
TV_Programme_next:kika_time@TV_Programme,kika@TV_Programme,kika_next_time,kika_next_time \
TV_Programme_next:mdr_time@TV_Programme,mdr@TV_Programme,mdr_next_time,mdr_next \
TV_Programme_next:ntv_time@TV_Programme,ntv@TV_Programme,ntv_next_time,ntv_next \
TV_Programme_next:n24_time@TV_Programme,n24@TV_Programme,n24_next_time,n24_next \
TV_Programme_next:ndr_time@TV_Programme,ndr@TV_Programme,ndr_next_time,ndr_next \
TV_Programme_next:nick_time@TV_Programme,nick@TV_Programme,nick_next_time,nick_next \
TV_Programme_next:phoenix_time@TV_Programme,phoenix@TV_Programme,phoenix_next_time,phoenix_next \
TV_Programme_next:rbb_time@TV_Programme,rbb@TV_Programme,rbb_next_time,rbb_next \
TV_Programme_next:superrtl_time@TV_Programme,superrtl@TV_Programme,superrtl_next_time,superrtl_next \
TV_Programme_next:swr_time@TV_Programme,swr@TV_Programme,swr_next_time,swr_next \
TV_Programme_next:tagesschau_time@TV_Programme,tagesschau@TV_Programme,tagesschau_next_time,tagesschau_next \
TV_Programme_next:tlc_time@TV_Programme,tlc@TV_Programme,tlc_next_time,tlc_next \
TV_Programme_next:viva_time@TV_Programme,viva@TV_Programme,viva_next_time,viva_next \
TV_Programme_next:wdr_time@TV_Programme,wdr@TV_Programme,wdr_next_time,wdr_next \
TV_Programme_next:zdfkultur_time@TV_Programme,zdfkultur@TV_Programme,zdfkultur_next_time,zdfkultur_next \
TV_Programme_next:zdfinfo_time@TV_Programme,zdfinfo@TV_Programme,zdfinfo_next_time,zdfinfo_next  \


attr TV_Programm alias TV Programm
attr TV_Programm group TV_Programm
#attr TV_Programm nameIcon { ServusTV_time => 'servus_tv',DSat_time => '3sat', ARD_time => 'ard', ZDF_time => 'zdf', Pro7_time => 'pro7', Sat1_time => 'sat1', RTL_time => 'rtl', Kabel1_time => 'kabel1', VOX_time => 'vox', RTL2_time => 'rtl2', DMAX_time => 'dmax', ZDFNEO_time => 'zdf_neo', RTLNITRO_time => 'rtl_nitro' }
attr TV_Programm nameIcon { ard_time => 'ard', zdf_time => 'zdf', arte_time => 'arte', dreisat_time => '3sat', pro7_time => 'pro7', kabel1_time => 'kabel1', sat1_time => 'sat1', rtl1_time => 'rtl', rtl2_time => 'rtl2', sixx_time => 'sixx', servustv_time => 'servus_tv', anixe_time => 'anixe', sat1gold_time => 'sat1_gold', br_time => 'br', deluxemusic_time => 'deluxemusic', disney_time => 'disney', dmax_time => 'dmax', einsfestival_time => 'einsfestival', einsplus_time => 'einsplus', euronews_time => 'euronews', hr_time => 'hr', kika_time => 'kika', mdr_time => 'mdr', ntv_time => 'ntv', n24_time => 'n24', ndr_time => 'ndr', nick_time => 'nick', phoenix_time => 'phoenix', rbb_time => 'rbb', rtlnitro_time => 'rtl_nitro', superrtl_time => 'superrtl', swr_time => 'swr', tagesschau_time => 'tagesschau', tele5_time => 'tele5', tlc_time => 'tlc', viva_time => 'viva', vox_time => 'vox', wdr_time => 'wdr', zdfkultur_time => 'zdf_kultur', zdfinfo_time => 'zdf_info', zdfneo_time => 'zdf_neo', SkyCinema_time => 'sky_cinema', SkyCinema24_time => 'sky_cinema24', SkyHits_time => 'sky_hits', SkyAction_time => 'sky_action', ORF1_time => 'orf1', ORF2_time => 'orf2' }

attr TV_Programm nameStyle style="color:lightgreen;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 30 Oktober 2014, 21:38:10
Nö Markus hat mir 150 noch keine Probleme bemekt sky ist auch da obwohl mir sky egal ist da ich es nicht empfange :'(
ganz am anfang hat mal einer geschrieben das nur 175 funktioniert....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Martin am 30 Oktober 2014, 22:33:48
Habe die  icons unter fhem/www/images/default und zb als       rtl.png  gespeichert

Gruß
Martin
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 30 Oktober 2014, 22:39:08
ja das müsste eigentlich funktionieren...
shutdown restart hast probiert?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Martin am 30 Oktober 2014, 22:40:35
Ja habe ich  :(

Gruß
Martin
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 30 Oktober 2014, 22:43:13
diese zeile hast du auch drinnen?

attr TV_Programm nameIcon { ard_time => 'ard', zdf_time => 'zdf', arte_time => 'arte', dreisat_time => '3sat', pro7_time => 'pro7', kabel1_time => 'kabel1', sat1_time => 'sat1', rtl1_time => 'rtl', rtl2_time => 'rtl2', sixx_time => 'sixx', servustv_time => 'servus_tv', anixe_time => 'anixe', sat1gold_time => 'sat1_gold', br_time => 'br', deluxemusic_time => 'deluxemusic', disney_time => 'disney', dmax_time => 'dmax', einsfestival_time => 'einsfestival', einsplus_time => 'einsplus', euronews_time => 'euronews', hr_time => 'hr', kika_time => 'kika', mdr_time => 'mdr', ntv_time => 'ntv', n24_time => 'n24', ndr_time => 'ndr', nick_time => 'nick', phoenix_time => 'phoenix', rbb_time => 'rbb', rtlnitro_time => 'rtl_nitro', superrtl_time => 'superrtl', swr_time => 'swr', tagesschau_time => 'tagesschau', tele5_time => 'tele5', tlc_time => 'tlc', viva_time => 'viva', vox_time => 'vox', wdr_time => 'wdr', zdfkultur_time => 'zdf_kultur', zdfinfo_time => 'zdf_info', zdfneo_time => 'zdf_neo', SkyCinema_time => 'sky_cinema', SkyCinema24_time => 'sky_cinema24', SkyHits_time => 'sky_hits', SkyAction_time => 'sky_action', ORF1_time => 'orf1', ORF2_time => 'orf2' }
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 30 Oktober 2014, 22:43:42
Zitat von: Martin am 30 Oktober 2014, 22:33:48
Habe die  icons unter fhem/www/images/default und zb als       rtl.png  gespeichert

Gruß
Martin
Und wie sieht dein attr nameIcon aus?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Martin am 30 Oktober 2014, 22:50:05
Habe den von    Markus kopiert also

attr TV_Programm nameIcon { ard_time => 'ard', zdf_time => 'zdf', arte_time => 'arte', dreisat_time => '3sat', pro7_time => 'pro7', kabel1_time => 'kabel1', sat1_time => 'sat1', rtl1_time => 'rtl', rtl2_time => 'rtl2', sixx_time => 'sixx', servustv_time => 'servus_tv', anixe_time => 'anixe', sat1gold_time => 'sat1_gold', br_time => 'br', deluxemusic_time => 'deluxemusic', disney_time => 'disney', dmax_time => 'dmax', einsfestival_time => 'einsfestival', einsplus_time => 'einsplus', euronews_time => 'euronews', hr_time => 'hr', kika_time => 'kika', mdr_time => 'mdr', ntv_time => 'ntv', n24_time => 'n24', ndr_time => 'ndr', nick_time => 'nick', phoenix_time => 'phoenix', rbb_time => 'rbb', rtlnitro_time => 'rtl_nitro', superrtl_time => 'superrtl', swr_time => 'swr', tagesschau_time => 'tagesschau', tele5_time => 'tele5', tlc_time => 'tlc', viva_time => 'viva', vox_time => 'vox', wdr_time => 'wdr', zdfkultur_time => 'zdf_kultur', zdfinfo_time => 'zdf_info', zdfneo_time => 'zdf_neo', SkyCinema_time => 'sky_cinema', SkyCinema24_time => 'sky_cinema24', SkyHits_time => 'sky_hits', SkyAction_time => 'sky_action', ORF1_time => 'orf1', ORF2_time => 'orf2' }
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 30 Oktober 2014, 23:04:38
Also wenn du den kompletten code von einem, bei dem es funktioniert, nimmst ......
Dann sollte das auch funktionieren.
Evtl. Kannst du nochmal schauen welcher Gruppe/Nutzer die restlichen icons angehören.
Bei mir root/fhem. Das habe ich den picons dann auch verpasst. Keine Ahnung ob das was hilft .....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: simonberry am 30 Oktober 2014, 23:09:49
Hallo Leute

hier ist mal meine Version. Der Code ist von Markus (Danke!!!) Habe lediglich die Sendeliste meinen Wünschen angepasst. Die Logos sind von tvmovie
Ich habe mal versucht alle Icons von tvmovie zusammenzupacken. Habe sie mit dem Prefix "tvlogo_" benannt.
Bei mir liegen die im Ordner www/images/default/tvmovie.

Viel Spaß damit

Simonberry

(http://fhem-tv.png)


define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme readingsName_anixe anixe
attr TV_Programme readingsName_anixe_time anixe_time
attr TV_Programme readingsName_ard ard
attr TV_Programme readingsName_ard_time ard_time
attr TV_Programme readingsName_arte arte
attr TV_Programme readingsName_arte_time arte_time
attr TV_Programme readingsName_br br
attr TV_Programme readingsName_br_time br_time
attr TV_Programme readingsName_deluxemusic deluxemusic
attr TV_Programme readingsName_deluxemusic_time deluxemusic_time
attr TV_Programme readingsName_disney disney
attr TV_Programme readingsName_disney_time disney_time
attr TV_Programme readingsName_dmax dmax
attr TV_Programme readingsName_dmax_time dmax_time
attr TV_Programme readingsName_dreisat dreisat
attr TV_Programme readingsName_dreisat_time dreisat_time
attr TV_Programme readingsName_einsfestival einsfestival
attr TV_Programme readingsName_einsfestival_time einsfestival_time
attr TV_Programme readingsName_einsplus einsplus
attr TV_Programme readingsName_einsplus_time einsplus_time
attr TV_Programme readingsName_euronews euronews
attr TV_Programme readingsName_euronews_time euronews_time
attr TV_Programme readingsName_hr hr
attr TV_Programme readingsName_hr_time hr_time
attr TV_Programme readingsName_kabel1 kabel1
attr TV_Programme readingsName_kabel1_time kabel1_time
attr TV_Programme readingsName_kika kika
attr TV_Programme readingsName_kika_time kika_time
attr TV_Programme readingsName_mdr mdr
attr TV_Programme readingsName_mdr_time mdr_time
attr TV_Programme readingsName_n24 n24
attr TV_Programme readingsName_n24_time n24_time
attr TV_Programme readingsName_ndr ndr
attr TV_Programme readingsName_ndr_time ndr_time
attr TV_Programme readingsName_nick nick
attr TV_Programme readingsName_nick_time nick_time
attr TV_Programme readingsName_ntv ntv
attr TV_Programme readingsName_ntv_time ntv_time
attr TV_Programme readingsName_phoenix phoenix
attr TV_Programme readingsName_phoenix_time phoenix_time
attr TV_Programme readingsName_pro7 pro7
attr TV_Programme readingsName_pro7_time pro7_time
attr TV_Programme readingsName_rbb rbb
attr TV_Programme readingsName_rbb_time rbb_time
attr TV_Programme readingsName_rtl1 rtl1
attr TV_Programme readingsName_rtl1_time rtl1_time
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsName_rtl2_time rtl2_time
attr TV_Programme readingsName_rtlnitro rtlnitro
attr TV_Programme readingsName_rtlnitro_time rtlnitro_time
attr TV_Programme readingsName_sat1 sat1
attr TV_Programme readingsName_sat1_time sat1_time
attr TV_Programme readingsName_sat1gold sat1gold
attr TV_Programme readingsName_sat1gold_time sat1gold_time
attr TV_Programme readingsName_servustv servustv
attr TV_Programme readingsName_servustv_time servustv_time
attr TV_Programme readingsName_sixx sixx
attr TV_Programme readingsName_sixx_time sixx_time
attr TV_Programme readingsName_superrtl superrtl
attr TV_Programme readingsName_superrtl_time superrtl_time
attr TV_Programme readingsName_swr swr
attr TV_Programme readingsName_swr_time swr_time
attr TV_Programme readingsName_tagesschau tagesschau
attr TV_Programme readingsName_tagesschau_time tagesschau_time
attr TV_Programme readingsName_tele5 tele5
attr TV_Programme readingsName_tele5_time tele5_time
attr TV_Programme readingsName_tlc tlc
attr TV_Programme readingsName_tlc_time tlc_time
attr TV_Programme readingsName_viva viva
attr TV_Programme readingsName_viva_time viva_time
attr TV_Programme readingsName_vox vox
attr TV_Programme readingsName_vox_time vox_time
attr TV_Programme readingsName_wdr wdr
attr TV_Programme readingsName_wdr_time wdr_time
attr TV_Programme readingsName_zdf zdf
attr TV_Programme readingsName_zdf_time zdf_time
attr TV_Programme readingsName_zdfinfo zdfinfo
attr TV_Programme readingsName_zdfinfo_time zdfinfo_time
attr TV_Programme readingsName_zdfkultur zdfkultur
attr TV_Programme readingsName_zdfkultur_time zdfkultur_time
attr TV_Programme readingsName_zdfneo zdfneo
attr TV_Programme readingsName_zdfneo_time zdfneo_time
attr TV_Programme readingsRegex_anixe <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_anixe_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ard <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ard_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_arte <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_arte_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_br <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_br_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_deluxemusic <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_deluxemusic_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_disney <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_disney_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dmax <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dmax_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dreisat <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dreisat_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsfestival <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsfestival_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_einsplus <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_einsplus_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_euronews <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_euronews_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_hr <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_hr_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kabel1 <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kabel1_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kika <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kika_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_mdr <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_mdr_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_n24 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_n24_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ndr <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ndr_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_nick <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_nick_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ntv <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ntv_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_phoenix <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_phoenix_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_pro7 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rbb <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rbb_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl1 <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl1_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtlnitro <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtlnitro_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1gold <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1gold_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_servustv <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_servustv_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sixx <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sixx_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_superrtl <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_superrtl_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_swr <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_swr_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tagesschau <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tagesschau_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tele5 <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tele5_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tlc <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tlc_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_viva <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_viva_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_vox <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_vox_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_wdr <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_wdr_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdf <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdf_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfinfo <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfinfo_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfkultur <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfkultur_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfneo <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfneo_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme room Multimedia
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
attr TV_Programme verbose 1
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme_next readingsName_anixe_next anixe_next
attr TV_Programme_next readingsName_anixe_next_time anixe_next_time
attr TV_Programme_next readingsName_ard_next ard_next
attr TV_Programme_next readingsName_ard_next_time ard_next_time
attr TV_Programme_next readingsName_arte_next arte_next
attr TV_Programme_next readingsName_arte_next_time arte_next_time
attr TV_Programme_next readingsName_br_next br_next
attr TV_Programme_next readingsName_br_next_time br_next_time
attr TV_Programme_next readingsName_deluxemusic_next deluxemusic_next
attr TV_Programme_next readingsName_deluxemusic_next_time deluxemusic_next_time
attr TV_Programme_next readingsName_disney_next disney_next
attr TV_Programme_next readingsName_disney_next_time disney_next_time
attr TV_Programme_next readingsName_dmax_next dmax_next
attr TV_Programme_next readingsName_dmax_next_time dmax_next_time
attr TV_Programme_next readingsName_dreisat_next dreisat_next
attr TV_Programme_next readingsName_dreisat_next_time dreisat_next_time
attr TV_Programme_next readingsName_einsfestival_next einsfestival_next
attr TV_Programme_next readingsName_einsfestival_next_time einsfestival_next_time
attr TV_Programme_next readingsName_einsplus_next einsplus_next
attr TV_Programme_next readingsName_einsplus_next_time einsplus_next_time
attr TV_Programme_next readingsName_euronews_next euronews_next
attr TV_Programme_next readingsName_euronews_next_time euronews_next_time
attr TV_Programme_next readingsName_hr_next hr_next
attr TV_Programme_next readingsName_hr_next_time hr_next_time
attr TV_Programme_next readingsName_kabel1_next kabel1_next
attr TV_Programme_next readingsName_kabel1_next_time kabel1_next_time
attr TV_Programme_next readingsName_kika_next kika_next
attr TV_Programme_next readingsName_kika_next_time kika_next_time
attr TV_Programme_next readingsName_mdr_next mdr_next
attr TV_Programme_next readingsName_mdr_next_time mdr_next_time
attr TV_Programme_next readingsName_n24_next n24_next
attr TV_Programme_next readingsName_n24_next_time n24_next_time
attr TV_Programme_next readingsName_ndr_next ndr_next
attr TV_Programme_next readingsName_ndr_next_time ndr_next_time
attr TV_Programme_next readingsName_nick_next nick_next
attr TV_Programme_next readingsName_nick_next_time nick_next_time
attr TV_Programme_next readingsName_ntv_next ntv_next
attr TV_Programme_next readingsName_ntv_next_time ntv_next_time
attr TV_Programme_next readingsName_phoenix_next phoenix_next
attr TV_Programme_next readingsName_phoenix_next_time phoenix_next_time
attr TV_Programme_next readingsName_pro7_next pro7_next
attr TV_Programme_next readingsName_pro7_next_time pro7_next_time
attr TV_Programme_next readingsName_rbb_next rbb_next
attr TV_Programme_next readingsName_rbb_next_time rbb_next_time
attr TV_Programme_next readingsName_rtl1_next rtl1_next
attr TV_Programme_next readingsName_rtl1_next_time rtl1_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsName_rtlnitro_next rtlnitro_next
attr TV_Programme_next readingsName_rtlnitro_next_time rtlnitro_next_time
attr TV_Programme_next readingsName_sat1_next sat1_next
attr TV_Programme_next readingsName_sat1_next_time sat1_next_time
attr TV_Programme_next readingsName_sat1gold_next sat1gold_next
attr TV_Programme_next readingsName_sat1gold_next_time sat1gold_next_time
attr TV_Programme_next readingsName_servustv_next servustv_next
attr TV_Programme_next readingsName_servustv_next_time servustv_next_time
attr TV_Programme_next readingsName_sixx_next sixx_next
attr TV_Programme_next readingsName_sixx_next_time sixx_next_time
attr TV_Programme_next readingsName_superrtl_next superrtl_next
attr TV_Programme_next readingsName_superrtl_next_time superrtl_next_time
attr TV_Programme_next readingsName_swr_next swr_next
attr TV_Programme_next readingsName_swr_next_time swr_next_time
attr TV_Programme_next readingsName_tagesschau_next tagesschau_next
attr TV_Programme_next readingsName_tagesschau_next_time tagesschau_next_time
attr TV_Programme_next readingsName_tele5_next tele5_next
attr TV_Programme_next readingsName_tele5_next_time tele5_next_time
attr TV_Programme_next readingsName_tlc_next tlc_next
attr TV_Programme_next readingsName_tlc_next_time tlc_next_time
attr TV_Programme_next readingsName_viva_next viva_next
attr TV_Programme_next readingsName_viva_next_time viva_next_time
attr TV_Programme_next readingsName_vox_next vox_next
attr TV_Programme_next readingsName_vox_next_time vox_next_time
attr TV_Programme_next readingsName_wdr_next wdr_next
attr TV_Programme_next readingsName_wdr_next_time wdr_next_time
attr TV_Programme_next readingsName_zdf_next zdf_next
attr TV_Programme_next readingsName_zdf_next_time zdf_next_time
attr TV_Programme_next readingsName_zdfinfo_next zdfinfo_next
attr TV_Programme_next readingsName_zdfinfo_next_time zdfinfo_next_time
attr TV_Programme_next readingsName_zdfkultur_next zdfkultur_next
attr TV_Programme_next readingsName_zdfkultur_next_time zdfkultur_next_time
attr TV_Programme_next readingsName_zdfneo_next zdfneo_next
attr TV_Programme_next readingsName_zdfneo_next_time zdfneo_next_time
attr TV_Programme_next readingsRegex_anixe_next <span>ANIXE<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_anixe_next_time <span>ANIXE<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ard_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ard_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_arte_next <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_arte_next_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_br_next <span>B 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_br_next_time <span>B 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_deluxemusic_next <span>DELUXE MUSIC TV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_deluxemusic_next_time <span>DELUXE MUSIC TV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_disney_next <span>Disney Channel <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_disney_next_time <span>Disney Channel <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dmax_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dmax_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dreisat_next <span>3SAT<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dreisat_next_time <span>3SAT<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsfestival_next <span>EinsFestival<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsfestival_next_time <span>EinsFestival<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_einsplus_next <span>EinsPlus<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_einsplus_next_time <span>EinsPlus<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_euronews_next <span>EURONEWS<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_euronews_next_time <span>EURONEWS<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_hr_next <span>H 3<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_hr_next_time <span>H 3<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kabel1_next <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kabel1_next_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kika_next <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kika_next_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_mdr_next <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_mdr_next_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_n24_next <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_n24_next_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ndr_next <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ndr_next_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_nick_next <span>nickelodeon <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_nick_next_time <span>nickelodeon <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ntv_next <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ntv_next_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_phoenix_next <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_phoenix_next_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_pro7_next <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rbb_next <span>RBB<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rbb_next_time <span>RBB<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl1_next <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl1_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtlnitro_next <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtlnitro_next_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1_next <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1gold_next <span>SAT.1Gold<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1gold_next_time <span>SAT.1Gold<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_servustv_next <span>Servus TV <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_servustv_next_time <span>Servus TV <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sixx_next <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sixx_next_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_superrtl_next <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_superrtl_next_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_swr_next <span>SWR Fernsehen<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_swr_next_time <span>SWR Fernsehen<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tagesschau_next <span>tagesschau24<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tagesschau_next_time <span>tagesschau24<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tele5_next <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tele5_next_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tlc_next <span>TLC<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tlc_next_time <span>TLC<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_viva_next <span>VIVA <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_viva_next_time <span>VIVA <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_vox_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_vox_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_wdr_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_wdr_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdf_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdf_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfinfo_next <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfinfo_next_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfkultur_next <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfkultur_next_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfneo_next <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfneo_next_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next room Multimedia
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 60
attr TV_Programme_next verbose 1
define TV_Programm readingsGroup <Programm>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next,ard_next_time TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next,zdf_next_time TV_Programme_next:arte_time@TV_Programme,arte@TV_Programme,arte_next,arte_next_time TV_Programme_next:dreisat_time@TV_Programme,dreisat@TV_Programme,dreisat_next,dreisat_next_time TV_Programme_next:pro7_time@TV_Programme,pro7@TV_Programme,pro7_next,pro7_next_time TV_Programme_next:kabel1_time@TV_Programme,kabel1@TV_Programme,kabel1_next,kabel1_next_time TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next,sat1_next_time TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next,rtl1_next_time TV_Programme_next:rtl2_time@TV_Programme,rtl2@TV_Programme,rtl2_next,rtl2_next_time TV_Programme_next:sixx_time@TV_Programme,sixx@TV_Programme,sixx_next,sixx_next_time TV_Programme_next:servustv_time@TV_Programme,servustv@TV_Programme,servustv_next,servustv_next_time TV_Programme_next:anixe_time@TV_Programme,anixe@TV_Programme,anixe_next,anixe_next_time TV_Programme_next:sat1gold_time@TV_Programme,sat1gold@TV_Programme,sat1gold_next,sat1gold_next_time TV_Programme_next:br_time@TV_Programme,br@TV_Programme,br_next,br_next_time TV_Programme_next:deluxemusic_time@TV_Programme,deluxemusic@TV_Programme,deluxemusic_next,deluxemusic_next_time TV_Programme_next:disney_time@TV_Programme,disney@TV_Programme,disney_next,disney_next_time TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next,dmax_next_time TV_Programme_next:einsfestival_time@TV_Programme,einsfestival@TV_Programme,einsfestival_next,einsfestival_next_time TV_Programme_next:einsplus_time@TV_Programme,einsplus@TV_Programme,einsplus_next,einsplus_next_time TV_Programme_next:euronews_time@TV_Programme,euronews@TV_Programme,euronews_next,euronews_next_time TV_Programme_next:hr_time@TV_Programme,hr@TV_Programme,hr_next,hr_next_time TV_Programme_next:kika_time@TV_Programme,kika@TV_Programme,kika_next,kika_next_time TV_Programme_next:mdr_time@TV_Programme,mdr@TV_Programme,mdr_next,mdr_next_time TV_Programme_next:ntv_time@TV_Programme,ntv@TV_Programme,ntv_next,ntv_next_time TV_Programme_next:n24_time@TV_Programme,n24@TV_Programme,n24_next,n24_next_time TV_Programme_next:ndr_time@TV_Programme,ndr@TV_Programme,ndr_next,ndr_next_time TV_Programme_next:nick_time@TV_Programme,nick@TV_Programme,nick_next,nick_next_time TV_Programme_next:phoenix_time@TV_Programme,phoenix@TV_Programme,phoenix_next,phoenix_next_time TV_Programme_next:rbb_time@TV_Programme,rbb@TV_Programme,rbb_next,rbb_next_time TV_Programme_next:rtlnitro_time@TV_Programme,rtlnitro@TV_Programme,rtlnitro_next,rtlnitro_next_time TV_Programme_next:superrtl_time@TV_Programme,superrtl@TV_Programme,superrtl_next,superrtl_next_time TV_Programme_next:swr_time@TV_Programme,swr@TV_Programme,swr_next,swr_next_time TV_Programme_next:tagesschau_time@TV_Programme,tagesschau@TV_Programme,tagesschau_next,tagesschau_next_time TV_Programme_next:tele5_time@TV_Programme,tele5@TV_Programme,tele5_next,tele5_next_time TV_Programme_next:tlc_time@TV_Programme,tlc@TV_Programme,tlc_next,tlc_next_time TV_Programme_next:viva_time@TV_Programme,viva@TV_Programme,viva_next,viva_next_time TV_Programme_next:vox_time@TV_Programme,vox@TV_Programme,vox_next,vox_next_time TV_Programme_next:wdr_time@TV_Programme,wdr@TV_Programme,wdr_next,wdr_next_time TV_Programme_next:zdfkultur_time@TV_Programme,zdfkultur@TV_Programme,zdfkultur_next,zdfkultur_next_time TV_Programme_next:zdfinfo_time@TV_Programme,zdfinfo@TV_Programme,zdfinfo_next,zdfinfo_next_time TV_Programme_next:zdfneo_time@TV_Programme,zdfneo@TV_Programme,zdfneo_next,zdfneo_next_timeattr TV_Programm group grp_tvguide
attr TV_Programm commands { ard => "{mlfunc_tv_switch(\"ard\")}", zdf => "{mlfunc_tv_switch(\"zdf\")}", arte => "{mlfunc_tv_switch(\"arte\")}", dreisat => "{mlfunc_tv_switch(\"dreisat\")}", pro7 => "{mlfunc_tv_switch(\"pro7\")}", kabel1 => "{mlfunc_tv_switch(\"kabel1\")}", sat1 => "{mlfunc_tv_switch(\"sat1\")}", rtl1 => "{mlfunc_tv_switch(\"rtl1\")}", rtl2 => "{mlfunc_tv_switch(\"rtl2\")}", sixx => "{mlfunc_tv_switch(\"sixx\")}", servustv => "{mlfunc_tv_switch(\"servustv\")}", anixe => "{mlfunc_tv_switch(\"anixe\")}", sat1gold => "{mlfunc_tv_switch(\"sat1gold\")}", br => "{mlfunc_tv_switch(\"br\")}", deluxemusic => "{mlfunc_tv_switch(\"deluxemusic\")}", disney => "{mlfunc_tv_switch(\"disney\")}", dmax => "{mlfunc_tv_switch(\"dmax\")}", einsfestival => "{mlfunc_tv_switch(\"einsfestival\")}", einsplus => "{mlfunc_tv_switch(\"einsplus\")}", euronews => "{mlfunc_tv_switch(\"euronews\")}", hr => "{mlfunc_tv_switch(\"hr\")}", kika => "{mlfunc_tv_switch(\"kika\")}", mdr => "{mlfunc_tv_switch(\"mdr\")}", ntv => "{mlfunc_tv_switch(\"ntv\")}", n24 => "{mlfunc_tv_switch(\"n24\")}", ndr => "{mlfunc_tv_switch(\"ndr\")}", nick => "{mlfunc_tv_switch(\"nick\")}", phoenix => "{mlfunc_tv_switch(\"phoenix\")}", rbb => "{mlfunc_tv_switch(\"rbb\")}", rtlnitro => "{mlfunc_tv_switch(\"rtlnitro\")}", superrtl => "{mlfunc_tv_switch(\"superrtl\")}", swr => "{mlfunc_tv_switch(\"swr\")}", tagesschau => "{mlfunc_tv_switch(\"tagesschau\")}", tele5 => "{mlfunc_tv_switch(\"tele5\")}", tlc => "{mlfunc_tv_switch(\"tlc\")}", viva => "{mlfunc_tv_switch(\"viva\")}", vox => "{mlfunc_tv_switch(\"vox\")}", wdr => "{mlfunc_tv_switch(\"wdr\")}", zdfkultur => "{mlfunc_tv_switch(\"zdfkultur\")}", zdfinfo => "{mlfunc_tv_switch(\"zdfinfo\")}", zdfneo => "{mlfunc_tv_switch(\"zdfneo\")}"}
attr TV_Programm group grp_tvguide
attr TV_Programm nameIcon { ard_time => 'tvlogo_ard', zdf_time => 'tvlogo_zdf', arte_time => 'tvlogo_arte', dreisat_time => 'tvlogo_dreisat', pro7_time => 'tvlogo_pro7', kabel1_time => 'tvlogo_kabel1', sat1_time => 'tvlogo_sat1', rtl1_time => 'tvlogo_rtl1', rtl2_time => 'tvlogo_rtl2', sixx_time => 'tvlogo_sixx', servustv_time => 'tvlogo_servustv', anixe_time => 'tvlogo_anixe', sat1gold_time => 'tvlogo_sat1gold', br_time => 'tvlogo_br', deluxemusic_time => 'tvlogo_deluxemusic', disney_time => 'tvlogo_disney', dmax_time => 'tvlogo_dmax', einsfestival_time => 'tvlogo_einsfestival', einsplus_time => 'tvlogo_einsplus', euronews_time => 'tvlogo_euronews', hr_time => 'tvlogo_hr', kika_time => 'tvlogo_kika', mdr_time => 'tvlogo_mdr', ntv_time => 'tvlogo_ntv', n24_time => 'tvlogo_n24', ndr_time => 'tvlogo_ndr', nick_time => 'tvlogo_nick', phoenix_time => 'tvlogo_phoenix', rbb_time => 'tvlogo_rbb', rtlnitro_time => 'tvlogo_rtlnitro', superrtl_time => 'tvlogo_superrtl', swr_time => 'tvlogo_swr', tagesschau_time => 'tvlogo_tagesschau', tele5_time => 'tvlogo_tele5', tlc_time => 'tvlogo_tlc', viva_time => 'tvlogo_viva', vox_time => 'tvlogo_vox', wdr_time => 'tvlogo_wdr', zdfkultur_time => 'tvlogo_zdfkultur', zdfinfo_time => 'tvlogo_zdfinfo', zdfneo_time => 'tvlogo_zdfneo'}
attr TV_Programm nameStyle style="color:red;;font-weight:bold"
attr TV_Programm room Multimedia
attr TV_Programm style style="font-size:16px"

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 31 Oktober 2014, 00:39:26
was ich nach wie vor doof finde, dass man manuell aktualisieren muss  :(

@simonberry
schau mal bitte ganz hinten am Ende in deinen Code bei "define TV_Programm readingsGroup" da ist ein Fehler drin, da steht direkt hinten dran ohne Leerzeichen dieses "attr TV_Programm group grp_tvguide"
Das hast du zwei Zeilen weiter drunter nochmal drin...!

Wenn den Code jemand übernimmt sucht er sich nen Wolf, bei einem Fehler ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 31 Oktober 2014, 08:16:19
Zitat von: moonsorrox am 31 Oktober 2014, 00:39:26
was ich nach wie vor doof finde, dass man manuell aktualisieren muss  :(

(http://i.imgur.com/x4gBP6J.png)

Seit ich das Intervall auf 300 gestellt habe, läuft es bei mir sauber durch :-)

Gruß mattes
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 31 Oktober 2014, 10:31:39
Ok dann stelle ich es mal um, ich habe z. Z. noch 120 drin
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Martin am 31 Oktober 2014, 20:05:44
Hallo habe alles gemacht wie Markus habe seine Icons eingefügt aber die werden irgendwie nicht dargestellt  ??


Gruß
Martin
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 31 Oktober 2014, 22:53:02
Hallo,

nachdem ich nun schon eine Weile mitlese und es bei mir auch schnell erfolgreich nachbauen konnte, möchte ich auch etwas beitragen. Ich habe mir eine Funktion gebaut, die beim Klick auf eine aktuelle Sendung in der ReadingsGroup den Sender wechselt und beim Klick auf eine zukünftige Sendung ein at für den Senderwechsel definiert. Ist teilweise noch quick and dirty (z.B. wird vor dem define des at ein delete ausgeführt - egal, ob das at existiert oder nicht). Hier mein Vorgehen:

Ich habe einen Dummy für die Senderauswahl:

define DG.wz.TV.WohnzimmerTV.Senderwechsel dummy
attr DG.wz.TV.WohnzimmerTV.Senderwechsel room Wohnzimmer
attr DG.wz.TV.WohnzimmerTV.Senderwechsel setList ARD ZDF MDR Sat1 RTL RTL2 Pro7 VOX Kabel1 DMAX KiKa SuperRTL


Dazu ein notify, dass bei Senderwechselwunsch eine Funktion aufruft:

define DG.wz.TV.WohnzimmerTV.Senderwechsel.nf notify DG.wz.TV.WohnzimmerTV.Senderwechsel.* {switchChannel('%EVENT')}
attr DG.wz.TV.WohnzimmerTV.Senderwechsel.nf room Wohnzimmer


In meiner ReadingsGroup wird das commands-Attribut definiert:

define DG.wz.TV.Programm.RG readingsGroup ...
attr DG.wz.TV.Programm.RG commands {"set DG.wz.TV.WohnzimmerTV.Senderwechsel %READING"}


So, und hier der Code für die Funktion (dieser muss noch individuell angepasst werden (z.B. die Senderpositionen und das Device für den Fernseher) und funktioniert bei mir mit dem STV-Modul für Samsung-Fernseher):

sub
switchChannel($)
{
  my %channellist = (
    ard => '1',
    zdf => '2',
    mdr => '3',
    rtl => '43',
    rtl1 => '43',
    rtl2 => '44',
    vox => '45',
    sat1 => '46',
    pro7 => '47',
    kabel1 => '48',
    dmax => '53',
    kika => '50',
    superrtl => '49'   
  );
 
  my $TVDevice = 'DG.wz.TV.WohnzimmerTV';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split("", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    $command = $command.'; set '.$TVDevice.' ENTER';
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('DG.wz.TV.Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Vielleicht kann ja jemand etwas damit anfangen...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 01 November 2014, 00:59:21
hey cool, danke Ronny - funktioniert wunderbar  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 01 November 2014, 04:53:04
@Martin er findet deine Icons nicht achte auf den Namen ...
zb:"icon_zdf" und "zdf" ode"tvlogo_zdf"
da gibt es schon verschiedene vorlieben unter den nutzern...
und nur zur info das ist nicht mein zuletzt eingestelter code und
icons hab ich hier noch keine zur verfügung gestellt

Gruß Markus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 01 November 2014, 05:31:10
@ RoBra81 ich krigs nicht hin  :'(

ich habe das jetzt 1:1 kopiert  was muss ich jetzt genau ändern?
mein TV heist TV und ich verwende das viera modul also: "set TV 1" schaltet um auf ard



Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 01 November 2014, 07:27:56
Hast du in der Funktion das TVDevice geändert? Bei dir müsste die Zeile

my $TVDevice = 'TV';

lauten...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: balki am 01 November 2014, 11:14:55
Herzlich Willkommen im Tschirt November  :-)

Ich habe auch das Prob  das  die Icons nicht angezeigt werden .
Kann mal jemand von den Profis mal nen Wink mit nem Zaunpahl geben ??

Gruss
Markus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mattes1007 am 01 November 2014, 11:23:01
Lies dir einfach mal die letzten seiten durch, da stehen genug Sachen zu den picons drinnen.
...und manchmal werden sie auch nicht sofort angezeigt.
Wenn du meine config nimmst und meine picons in den Ordner www/images/default kopierst , dann sollte es funktionieren.
Wenn du Sachen mischst kann es sein, das nicht alle gleich benannt ist.
Aber wie gesagt, lesen lesen lesen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 01 November 2014, 11:41:04
Zitat von: RoBra81 am 01 November 2014, 07:27:56
Hast du in der Funktion das TVDevice geändert? Bei dir müsste die Zeile

my $TVDevice = 'TV';

lauten...
ja das hab ich angepasst aber sonst nichts verändert auch nicht in der cfg..

define DG.wz.TV.Programm.RG readingsGroup ...
attr DG.wz.TV.Programm.RG commands {"set DG.wz.TV.WohnzimmerTV.Senderwechsel %READING"}


was fehlt mir bei den readingsGroup ...??
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 01 November 2014, 17:52:56
U.a. da ich es nicht geschafft habe, aus der ReadingsGroup eine Funktion aufzurufen und dieser den Namen des Readings zu übergeben, habe ich den Umweg über den Dummy gewählt. Dessen Wert wird von der ReadingsGroup gesetzt und ein notify ruft dann die Funktion auf. Du musst also bei dir folgende Punkte durchführen (siehe auch meinen Beitrag von oben):

1. Einen Dummy anlegen
2. Ein notify für diesen Dummy
3. Deine ReadingsGroup für die Anzeige des Fernsehprogramms um das entsprechende commands-Attribut erweitern

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 02 November 2014, 16:42:31
Schande über mein Haupt! aber war letztes mal schon etwas spät und vieleicht ein bierli zufiel  ;D
aber ich hab es gerade eingebaut und Funktioniert Supper Danke!

Gruß Markus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 04 November 2014, 13:42:35
also heute habe ich absolut keine Aktualisierung, hat das noch wer..?
Steht alles bei einer Zeit von gestern laufende Sendung 0 Uhr rum und nachfolgende Sendungen 1.30 Uhr in dem Dreh
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 04 November 2014, 13:44:31
Also bei mir stehen relativ aktuelle Zeiten drin...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 04 November 2014, 13:46:04
mmh, muss ich wohl mal ins DEF gehen denn seit ca. ner Stunde schon nichts  :-\
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 04 November 2014, 14:27:52
Meine sind auch aktuell


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 04 November 2014, 14:58:08
also bei mir klappt die Aktualisierung auch nicht immer. Ich hatte schon dran gedacht, mir die Seite per wget zu holen und HTTPMOD dann als lokale Seite parsen zu lassen, aber das unterstützt HTTPMOD wohl nicht, da gehen nur http-URLs ?!
Ein Problem von Readingsgroup ist es jedenfalls nicht, in den beiden HTTPMODs stehen ja schon die alten Werte drin.

Ich hab' sonst nix mit HTTPMOD am Laufen, aber noch z.B. netatmo, der auch öfters einen Timeout produziert. Muss ich mal auf die Fehlersuche gehen, und ein paar Sachen deaktivieren, die mit dem Internet reden. Vielleicht blockiert sich da irgendwas gegenseitig...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 04 November 2014, 15:37:44
Ich hab stream Radio in verdacht hat das von euch jemand?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schka17 am 04 November 2014, 16:12:34
@doggiebert

Ich mach das genauso, ich hole mir die seiten mit wget und stelle sie mit einem lokalen apache zur Verfügung httpmod greift auf den lokalen webserver zu, vorher hatte ich massive Performance probleme weil httpmod mein ganzes fhem blockiert hat, habe leider nur ADSL, und da hat es manchmal schon bis zu 30 s gedauert die seite runterzuladen. Jetzt passt es

Gruß

Karl


Sent from my iPad using Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 05 November 2014, 15:26:15
muss ich mal ausprobieren - ich werde aber nicht eigens nen Apache aufsetzen, mal sehen, ob das stabiler funktioniert, wenn ich's per wget hole und über den FHEM-Webserver dem HTTPMOD unterjuble...

Noch mal mit einer Frage/Problem in die Runde gefragt: bin gerade am überlegen, die Programmliste etwas kompakter zu gestalten, und lieber ein paar Sender mehr darzustellen.
- Möglichkeit 1: den Regex so basteln, dass da ein gekürzter String rauskommt
- Möglichkeit 2: die Darstellung der readingsgroup so hinbiegen, dass die Textspalten eine maximale Breite haben

Bevor ich mich nun in CSS und/oder Regex einarbeite und dann doch auf dem Holzweg bin: hat das schon jemand gelöst?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 05 November 2014, 16:21:14
und schon die Lösung gefunden - Notiz an mich selber: erst denken & surfen, dann schreiben.
attr TV_Programm valueFormat {substr($VALUE, 0, 20)}
Das kürzt alle Strings auf max. 20 Zeichen - so passt's dann auch besser auf die GUI  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 05 November 2014, 19:15:33
Hat jemand lust und fähigkeit ein modul daraus zu basteln? Ist ja mitlerweile sehr unterstützt die idee :) ich denke es würde reichen die website downzuloaden und mit den regex zu filtern. Allerdings kenne ich mich damit nicht aus (v.a. das holen der seite das fitern würde schon gehen)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 05 November 2014, 19:18:27
wichtiger wäre das es aktualisieren würde, bei mir heute ab 14 uhr und nix jetzt steht er aktuell bei 17.15 und folgende 18 Uhr ca.
Evtl. mach das Modul das dann ja, ich kann das leider auch nicht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 05 November 2014, 19:20:55
Das würde man damit höchstwarscheinlich auch erschlagen können
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 06 November 2014, 11:06:41
Zitat von: schka17 am 04 November 2014, 16:12:34
Ich mach das genauso, ich hole mir die seiten mit wget und stelle sie mit einem lokalen apache zur Verfügung httpmod greift auf den lokalen webserver zu, vorher hatte ich massive Performance probleme weil httpmod mein ganzes fhem blockiert hat, habe leider nur ADSL, und da hat es manchmal schon bis zu 30 s gedauert die seite runterzuladen. Jetzt passt es

Perfekt, so funktioniert's bei mir jetzt auch mit dem Update: Ich hab mir ein Shellskript geschrieben, das die beiden Seiten per wget holt, und rufe das per cron-Jobs von frühabends bis Mitternacht jede Viertelstunde auf. Die Seiten werden dann unter /var/www abgelegt (Standard-Webserver auf dem Raspi). Der HTTPMOD holt sie nun von dort anstatt direkt von der TV Movie Seite. Bissl komplizierter, aber so funktioniert der Update probemlos, und ich bin die Timeouts los. wget ist da wohl etwas robuster als HTTPMOD bzw. die dahinter liegenden Perl funktionen, und mein FHEM ist entlastet.
Ich schätze, ich werde jetzt meine Calendar-Konfiguration auch auf dieses Muster umstellen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 07 November 2014, 11:42:06
Hallo,

da ich doch immer wieder Probleme mit dem Update hatte, habe ich es auch mal mit dem lokalen WebServer probiert, hatte jedoch noch immer Probleme mit einen von beiden HTTPMODs. Also habe ich mir ein Script gebaut, dass das Programm von jetzt und gleich holt und in einer Datei auf dem Webserver zur Verfügung stellt:


wget -O /var/www/jetzt.html http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150
wget -O /var/www/gleich.html http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150
rm /var/www/alles.html
cat /var/www/jetzt.html >> /var/www/alles.html
sed 's/span/spandanngleich/g' /var/www/gleich.html >> /var/www/alles.html


Damit ich jetzt und gleich unterscheiden kann, wird in der HTML-Datei für "gleich" das 'span' durch 'spandanngleich' ersetzt. Im RegEx des HTTPMOD habe ich die entsprechende Anpassung vorgenommen

define DG.wz.TV.Programm HTTPMOD http://127.0.0.1/alles.html 125
attr DG.wz.TV.Programm readingsName_ard ard
attr DG.wz.TV.Programm readingsName_ard_next ard_next
attr DG.wz.TV.Programm readingsName_ard_next_time ard_next_time
attr DG.wz.TV.Programm readingsName_ard_time ard_time
attr DG.wz.TV.Programm readingsRegex_ard <span>ARD <[\w\W]*?alt="(.*?)" title=
attr DG.wz.TV.Programm readingsRegex_ard_next <spandanngleich>ARD <[\w\W]*?alt="(.*?)" title=
attr DG.wz.TV.Programm readingsRegex_ard_next_time <spandanngleich>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr DG.wz.TV.Programm readingsRegex_ard_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>


und nun habe ich eine HTTPMOD für alles (die ReadingsGroup muss damit auch nur noch auf ein Device sehen...). Mal sehen, ob das besser läuft...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 07 November 2014, 12:41:43
ist auch ne gute Idee...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 07 November 2014, 13:26:27
ich denke ich werde mir soetwas mal abkupfern müssen, da bei mir Updatemäßig gar nichts passiert, steht wieder mal irgend etwas bei 17 Uhr von gestern... das ist Mist...! :-\
Mal schauen welche Variante da für mich in Frage kommt... sehe noch nicht ganz durch, aber werde das einfach mal bauen und schauen wo es hängt  ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 07 November 2014, 16:55:43
für Interessierte: schöne, einfache Logos mit transparentem Hintergrund:
http://www.kodinerds.net/index.php?page=Thread&threadID=27408 (http://www.kodinerds.net/index.php?page=Thread&threadID=27408)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: tilde1970 am 07 November 2014, 22:14:04
Hi @ all

super Arbeit hier,  nachdem dem Durcharbeiten klappt alles !

;D ;D









Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 08 November 2014, 22:18:07
Hi, erstmal Danke für die tolle möglichkeit die ihr hier aufzeigt.

Wollte das TV Programm jetzt auch mal in mein Fhem aufnemehn und hab dafür diesen Code genommen:

###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 5
attr TV_Programme verbose 1

#######################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1

###########################
define TV_Programm readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', RTL => 'logo_rtl'}
attr TV_Programm nameStyle style="color:yellow;;font-weight:bold"
attr TV_Programm room Kuzl
attr TV_Programm style style="font-size:18px"

###########################


Grundsätzlich siehts auch gut aus, allerdings bekomme ich noch Zeilen, wie z.b.
ZitatTV_Programme_next:Pro7_next
angezeigt die nicht dahin gehören, siehe Bild.

Was hab  ich da noch falsch gemacht?

Danke


EDIT:
Habs gelöst, hatte noch eine Fehler in der ReadingsGroup
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 09 November 2014, 14:57:59
So,
ich habs jetzt mit diesem Code am laufen, denke die Sender reichen für meine ersten Versuche, bei bedarf werd ich das ganze aber erweitern:

###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_Sport1 Sport1
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsName_KABEL_1 KABEL_1
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sport1 <span>Sport1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_KABEL_1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 5
attr TV_Programme verbose 1


#######################
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsName_Sport1_next Sport1_next
attr TV_Programme_next readingsName_Sport1_next_time Sport1_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsName_KABEL_1_next KABEL_1_next
attr TV_Programme_next readingsName_KABEL_1_next_time KABEL_1_next_time
attr TV_Programme_next readingsName_VOX_next VOX_next
attr TV_Programme_next readingsName_VOX_next_time VOX_next_time
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sport1_next <span>Sport1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sport1_next_time <span>Sport1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_KABEL_1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_KABEL_1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1


###########################
define TV_Programm readingsGroup
<Programm>,<Jetzt>,<Dann>,<Uhrzeit>
TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time
TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time
TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time
TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time
TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time
TV_Programme_next:Sport1@TV_Programme,Sport1_next,Sport1_next_time
TV_Programme_next:rtl2@TV_Programme,rtl2_next,rtl2_next_time
TV_Programme_next:KABEL_1@TV_Programme,KABEL_1_next,KABEL_1_next_time
TV_Programme_next:VOX@TV_Programme,VOX_next,VOX_next_time
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
attr TV_Programm nameStyle style="color:yellow;;font-weight:bold"
attr TV_Programm style style="color:white;font-size:18px"

###########################


Hab die Schriftfarbe noch geändert um das ganze auf einem Floorplan platzieren zu können.

Hab dann noch versucht das Umschalten durch klicken was RoBra81 hier vorgestellt hat einzubauen, hab den Code so geäbdert:
Der Dummy
############################################
define Senderwechsel dummy
attr Senderwechsel room Wohnzimmer
attr Senderwechsel setList ARD ZDF Sat1 RTL rtl2 Pro7 VOX Kabel1 Sport1


das notify
############################################
define Senderwechsel.nf notify Senderwechsel.* {switchChannel('%EVENT')}
attr Senderwechsel.nf room Wohnzimmer


meine ReadingsGroup angepasst:
attr TV_Programm commands {"set Senderwechsel %READING"}

und dann die Funktion in die 99_myUtils.pm eingefügt
############################################
sub
switchChannel($)
{
  my %channellist = (
    Pro7 => '1',
    Sat1 => '2',
    RTL => '3',
    VOX => '7',
    rtl2 => '8',
    Kabel1 => '6',
    Sport1 => '45',
    ARD => '20',
ZDF => '21',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split("", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    $command = $command.'; set '.$TVDevice.' ENTER';
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Aber wenn ich dann eine Sendung anklicke passiert nichts, sprich es wird nicht geschaltet. Ich nutze das enigma2 Modul

Was könnte da noch  falsch sein?

Bekomme im Log dann immer diese Meldung:
2014.11.09 15:02:59.418 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/99_myUtils.pm line 130.
2014.11.09 15:02:59.437 1: Channelnumber not found for channel: rtl

In Zeile 130 steht:
my @digits = split("", $channellist{$channel});

Wenn ich übers enigma2 Modul umschalte funktioniert es und im Log steht:
ENIGMA2 set VU_Ultimo channel ProSieben_HD

Was müss ich ändern?

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 09 November 2014, 15:50:44
Hallo Tommy82,

da ich mich nicht um die Groß- und Kleinschreibung kümmern wollt, konvertiere ich den übergebenen Kanal zu Kleinbuchstaben. Daher müsstest du alle Sender in der Variable %channellist klein schreiben - dann müsste es funktionieren...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 09 November 2014, 21:43:22
Zitat von: RoBra81 am 09 November 2014, 15:50:44
Hallo Tommy82,

da ich mich nicht um die Groß- und Kleinschreibung kümmern wollt, konvertiere ich den übergebenen Kanal zu Kleinbuchstaben. Daher müsstest du alle Sender in der Variable %channellist klein schreiben - dann müsste es funktionieren...

Ronny

Hi Ronny,
ich hoffe ich hab dich  richtig verstanden, habs jetzt mal so geändert:
{
  my %channellist = (
    pro7 => '1',
    sat1 => '2',
    rtl => '3',
    vox => '7',
    rtl2 => '8',
    kabel1 => '6',
    sport1 => '45',
    ard => '20',
zdf => '21',
  );
 


geht aber trotzdem nicht

Im Log gibts diese Fehler:
2014.11.09 21:42:21.284 3: set VU_Ultimo s; set VU_Ultimo a; set VU_Ultimo t; set VU_Ultimo .; set VU_Ultimo 1; set VU_Ultimo _; set VU_Ultimo h; set VU_Ultimo d; set VU_Ultimo ENTER : Unknown argument s, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument a, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument t, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument ., choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument 1, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument _, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument h, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument d, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument ENTER, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
2014.11.09 21:42:21.296 3: Senderwechsel.nf return value: Unknown argument s, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument a, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument t, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument ., choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument 1, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument _, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument h, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument d, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Unknown argument ENTER, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel: mute:on,off input:-,tv,radio
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 10 November 2014, 07:20:18
Hallo,

es gibt da scheinbar zwei Probleme: zum einen liefert der Code

$channellist{$channel}

bei dir scheinbar nicht '1' sondern 'sat1_hd' -> das verstehe ich nicht ganz...

Und zum anderen kann man deinen Fernseher (das Enigma-Modul?) nicht wie beim STV-Modul für Samsung mit

set Fernseher 1

eine 1 senden. Wie muss denn das Enigma-Modul geschaltet werden?

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 November 2014, 07:25:26
In Enigma ist es set Fernseher Channel RTL

Wenn ich es gerade richtig im Kopf habe, bin leider unterwegs , aber so müsste es sein
Titel: Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 November 2014, 07:34:52
In Enigma ist es set Fernseher Channel RTL

Wenn ich es gerade richtig im Kopf habe, bin leider unterwegs , aber so müsste es sein

Du nutzt ja den Fernseher und ich will den Reciver damit schalten, macht das einen Unterschied?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 10 November 2014, 07:49:43
Dann brauchst du eventuell den Umweg über die Funktion gar nicht - die nutze ich nur, um z.B. RTL auf 43 zu mappen und dann dem Fernseher eine 4 gefolgt von einer 3 zu senden...

Probier mal das:

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben',
    rtl => 'RTL',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' Channel '.$channellist{$channel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


(natürlich mit einer passenden Channellist)

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 November 2014, 12:27:59
Danke werd ich heute Abend ausprobieren wenn ich zu Hause bin. Hab mich grade mal aufgewählt  und mal geguckt, wird über set vu_ultimo Channel rtl gesetzt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 November 2014, 20:16:20
Hi Ronny, hab bei deinem Code nur mal ProSieben_HD geändert, ansonsten sollte er passen, sieht jetzt so aus:
############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben:HD',
    rtl => 'RTL',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' Channel: '.$channellist{$channel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Allerdings klappts trotzdem nicht.
Im Log steht jetzt
2014.11.10 20:47:32.859 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.10 20:47:32.873 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.10 20:47:35.777 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.10 20:47:35.821 3: set VU_Ultimo Channel: ProSieben_HD : Unknown argument Channel:, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel:ProSieben_HD,SAT.1_HD,RTL,kabel_eins_HD,13th_Street,VOX,Fox_HD,Fox_Serie,Das_Vierte,TNT_Serie_HD,RTL_II,SUPER_RTL,RTL_Crime,RTL_NITRO,RTL_Passion,SAT.1_Gold,Discovery_HD,sixx_HD,TELE_5,Syfy,arte_HD,Sky_Krimi,Sky_Action_HD,Disney_Junior,Disney_XD,Das_Erste_HD,ZDF_HD,Einsfestival,EinsPlus,Heimatkanal,n-tv,N24,Nat_Geo_Wild_HD,NatGeo_HD,National_Geographic,Spiegel_Geschichte,zdf.kultur,ZDFinfo,zdf_neo,ProSieben_MAXX,Disney_Ch._HD mute:on,off input:tv,radio
2014.11.10 20:47:35.822 3: Senderwechsel.nf return value: Unknown argument Channel:, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel:ProSieben_HD,SAT.1_HD,RTL,kabel_eins_HD,13th_Street,VOX,Fox_HD,Fox_Serie,Das_Vierte,TNT_Serie_HD,RTL_II,SUPER_RTL,RTL_Crime,RTL_NITRO,RTL_Passion,SAT.1_Gold,Discovery_HD,sixx_HD,TELE_5,Syfy,arte_HD,Sky_Krimi,Sky_Action_HD,Disney_Junior,Disney_XD,Das_Erste_HD,ZDF_HD,Einsfestival,EinsPlus,Heimatkanal,n-tv,N24,Nat_Geo_Wild_HD,NatGeo_HD,National_Geographic,Spiegel_Geschichte,zdf.kultur,ZDFinfo,zdf_neo,ProSieben_MAXX,Disney_Ch._HD mute:on,off input:tv,radio
2014.11.10 20:47:37.855 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.10 20:47:37.859 3: set VU_Ultimo Channel: ProSieben_HD : Unknown argument Channel:, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel:ProSieben_HD,SAT.1_HD,RTL,kabel_eins_HD,13th_Street,VOX,Fox_HD,Fox_Serie,Das_Vierte,TNT_Serie_HD,RTL_II,SUPER_RTL,RTL_Crime,RTL_NITRO,RTL_Passion,SAT.1_Gold,Discovery_HD,sixx_HD,TELE_5,Syfy,arte_HD,Sky_Krimi,Sky_Action_HD,Disney_Junior,Disney_XD,Das_Erste_HD,ZDF_HD,Einsfestival,EinsPlus,Heimatkanal,n-tv,N24,Nat_Geo_Wild_HD,NatGeo_HD,National_Geographic,Spiegel_Geschichte,zdf.kultur,ZDFinfo,zdf_neo,ProSieben_MAXX,Disney_Ch._HD mute:on,off input:tv,radio
2014.11.10 20:47:37.860 3: Senderwechsel.nf return value: Unknown argument Channel:, choose one of statusRequest:noArg toggle:noArg on:noArg off:noArg reboot:noArg restartGui:noArg shutdown:noArg volume:slider,0,1,100 volumeUp:noArg volumeDown:noArg msg remoteControl channelUp:noArg channelDown:noArg play:noArg pause:noArg stop:noArg record:noArg showText channel:ProSieben_HD,SAT.1_HD,RTL,kabel_eins_HD,13th_Street,VOX,Fox_HD,Fox_Serie,Das_Vierte,TNT_Serie_HD,RTL_II,SUPER_RTL,RTL_Crime,RTL_NITRO,RTL_Passion,SAT.1_Gold,Discovery_HD,sixx_HD,TELE_5,Syfy,arte_HD,Sky_Krimi,Sky_Action_HD,Disney_Junior,Disney_XD,Das_Erste_HD,ZDF_HD,Einsfestival,EinsPlus,Heimatkanal,n-tv,N24,Nat_Geo_Wild_HD,NatGeo_HD,National_Geographic,Spiegel_Geschichte,zdf.kultur,ZDFinfo,zdf_neo,ProSieben_MAXX,Disney_Ch._HD mute:on,off input:tv,radio
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 November 2014, 21:01:36
S
Juhu, ich hab den Fehler gefunden, der Code sieht jetzt so aus:
############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$channel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


War ein Leerzeichen zuviel und ein "C" was ein "c" sein musst. Jetzt klappt das Umschalten. Jetzt mal abwarten ob um 21:15 umgeschaltet wird, hab dazu die "Nächste Sendung" auf einem anderen Programm angeklickt.
UNd werd den Code mal weiter füllen mit meinen Sendern.

Danke für die Tolle funktion



EDIT also die Funktion das wenn ich die "Nächste Sendung" anklicke dann zur entsprechenden Zeit umgeschaltet wurd funktioniert nicht, im Log steht dazu:
2014.11.10 21:28:19.636 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:29:19.686 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:30:19.568 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:31:19.785 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:32:19.666 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:33:19.783 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:34:19.786 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:35:19.634 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:36:20.027 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:37:19.659 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:38:19.667 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:39:19.785 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:40:19.775 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:41:19.713 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:42:19.924 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:43:19.892 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:44:19.964 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:45:19.913 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:46:19.491 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:47:19.495 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:48:19.488 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:49:19.642 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:50:19.458 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:51:19.479 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:52:19.920 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:53:20.067 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:54:19.636 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:55:19.797 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.10 21:56:20.026 3: HTTPMOD: Response didn't match Reading(s) Pro7


Heute nacht habe ich im Log immer diese Fehlermeldung:
2014.11.11 00:10:06.541 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:11:06.508 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:12:06.419 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:13:06.904 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:14:06.591 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:15:07.936 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.11 00:16:06.689 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:17:06.656 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:18:06.916 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:19:06.560 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:20:06.669 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:21:06.686 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:22:06.566 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:23:06.712 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:24:06.601 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:25:06.596 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:26:06.752 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:27:06.561 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:28:06.564 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:29:06.693 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:30:07.967 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.11 00:31:06.645 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:32:06.851 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:33:06.967 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:34:06.705 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:35:06.836 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:36:06.737 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:37:06.516 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:38:06.714 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:39:06.762 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:40:06.624 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:41:06.851 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:42:06.734 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:43:06.783 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:44:06.593 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:45:07.999 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.11 00:46:06.700 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:47:06.657 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:48:06.682 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:49:06.729 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:50:06.860 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:51:06.739 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:52:06.683 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:53:06.741 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:54:06.728 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:55:06.685 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:56:06.825 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:57:07.056 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:58:06.659 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 00:59:06.669 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:00:08.043 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.11 01:01:06.690 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:02:06.813 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:03:06.760 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:04:06.789 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:05:06.609 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:06:06.721 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:07:06.701 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:08:06.674 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:09:07.073 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:10:06.711 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:11:06.623 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:12:06.715 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:13:06.666 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:14:06.843 3: HTTPMOD: Response didn't match Reading(s) Pro7
2014.11.11 01:15:08.090 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.11 01:16:06.708 3: HTTPMOD: Response didn't match Reading(s) Pro7


Also irgendwas stimt noch nicht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 11 November 2014, 00:54:33
@Doggiebert Funktioniert es bei dir jetzt oder bleibt es immer noch hängen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 11 November 2014, 22:46:38
tut alles wie's soll. Ich habe nun auch RoBra81's Lösung eingebaut.
D.h.: cronjob holt sich per wget nun alle 15 min. die beiden Seiten, kombiniert das zu einer HTML-Seite, die ich dann über HTTPMOD vom lokalen Webserver abhole. 100% stabil so far, keine Aktualisierungsprobleme mehr.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Rince am 12 November 2014, 06:51:56
Ich greife mal die wget Sache auf:
Wäre es nicht einfacher, den in fhem eingebauten WebServer zu nutzen?
Der ist bei jedem garantiert installiert ;)

Das spart das Installieren und Warten eines weiteren WebServers, sowie System Ressourcen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schka17 am 12 November 2014, 07:09:40
Grundsätzlich funktioniert das, aber den apache benötige ich sowieso für andere Aufgaben auch (infodisplays), ist deutlich schneller als der FHEM Webserver und ich möchte den FHEM Prozess möglichst entlasten, hat schon genug  zu tun. Bei meinem System ist der Apache von der Resourcenseite vernachlässigbar, die Entlastung von FHEM hat die Stabilität aber deutlich erhöht.


Sent from my iPad using Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 12 November 2014, 07:26:35
Ich habe es zuerst mit dem FHEM-Webserver probiert, aber nachdem sich bei zwei Versuchen FHEM zweimal komplett aufgehängt hatte (beim define des HTTPMOD), bin ich auf den separaten Webserver umgestiegen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 November 2014, 08:04:20
Hi, wie oben erwähnt funktioniert das Umschalten beim klicken auf einen Sender problemlos, nur nicht wenn ich auf den nachfolgenden Sender klicke, was könnte da noch falsch sein? Dazu kommt das ich die ganze Zeit jede Menge Fehlermeldungen in log habe, wie im Anhang zu sehen, was ist da noch falsch?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 12 November 2014, 08:12:30
Kannst du mal die Definition des HTTPMOD (für Pro7 sollte reichen) und der ReadingsGroup posten?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 12 November 2014, 10:37:01
Zitat von: Rince am 12 November 2014, 06:51:56
Wäre es nicht einfacher, den in fhem eingebauten WebServer zu nutzen?
Der ist bei jedem garantiert installiert ;)
Das spart das Installieren und Warten eines weiteren WebServers, sowie System Ressourcen...
War bei mir auch so wie bei RoBra81 - mit dem hab ich's natürlich als erstes probiert, hat sich irgendwie geblockt - HTTPMOD und FHEMWEB scheinen sich da wohl irgendwie in die Quere zu kommen. Und der Webserver war bei meinem Raspi-Image schon dabei, ging also schnell.

Und im Sinne eines "separation of concerns", oder teile-und-herrsche, wie der Lateiner sagt, ist's mir ganz recht, client und server in getrennten Paketen zu haben. Viel lieber wäre es mir, wenn HTTPMOD auch mit File-URLs umgehen könnte oder eine andere Option hätte, alternativ dazu auf ein File zuzugreifen (so wie beim CALENDAR). Wäre u.a. für Tests manchmal hilfreich.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 12 November 2014, 11:44:15
wärs nicht noch einfacher gleich ein Modul zu schreiben, das sich die Seite holt und dann selbst mit regex zu phrasen? :D
ich glaub das könnte man mit einem einfachen Socket lösen aber ich bin nicht so fit da drin. Das würde aber das ganze rumgebastle ersparen.
Dann nur noch alle Regex der Kanäle in eine Tabelle und per attribut auswählbar machen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 12 November 2014, 13:16:15
Zitat von: Kuzl am 12 November 2014, 11:44:15
wärs nicht noch einfacher gleich ein Modul zu schreiben
entweder dieses, würde ich auch begrüßen, kann aber leider auch nichts dazu beitragen..! :-\ ;)

oder diese wget- und Apache Geschichte etwas deutlicher beschreiben, damit man dies nachvollziehen/-bauen kann. Aber Modul wäre auf jeden Fall der bessere Weg  ;)
aber keiner der Programmierer schaut wohl TV (weil er keine Zeit hat  ;) denn er programmiert ja  :D) und macht es deshalb nicht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Rince am 12 November 2014, 15:03:00
Ok ok,

wollen wir ein Featurerequest für HTTPMOD schreiben?

Zitat
Featurerequest für HTTPMOD
Ist es möglich, HTTPMOD so zu erweitern, dass er eine lokale Datei parsen kann?

Bis dahin:
ZitatAber Modul wäre auf jeden Fall der bessere Weg
Bin raus, noch nie gemacht. Wenn, dann bastle ich erst ein mplayer Modul :)



Zitatoder diese wget- und Apache Geschichte etwas deutlicher beschreiben
Das ist eigentlich recht simpel:

1. Schritt
wget ist ein nettes Tool, welches dir Dateien aus dem Netz lädt. Quasi ähnlich wie ein WebBrowser, aber ohne eine Anzeige und Verarbeitung der Daten, sondern es speichert die Daten in eine Datei...
Damit bekommst du erst mal ein 1:1 Abbild der Datei auf deinem Rechner.

2. Schritt
Jetzt brauchst du irgend einen weiteren Webserver auf deinem fhem Rechner
Apache ist nur einer von vielen.
Dein Webserver hat ein Verzeichnis, in welchem er die Dateien erwartet, die er zur Verfügung stellen muss. Das kann von WebServer zu WebServer unterschiedlich sein, i.d.R. kann man es konfigurieren.

3. Schritt
Die mit wget runtergeladenen Dateien müssen nun in dieses Webserververzeichnis

4. Schritt
Optional

5. Schritt
Du lässt HTTPMOD nicht auf den externen Server zugreifen, sondern auf deinen lokalen eigenen WebServer

Zusammenfassend:
Du brauchst einen Webserver (ruf doch mal die IP deines fhem Rechners im Browser mit Port 80 auf, statt 8083 => dann siehst du gleich ob schon ein WebServer läuft :)


Das Skript analysiert:
Zitat
wget -O /var/www/jetzt.html http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150
wget -O /var/www/gleich.html http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150
Hier wird 2x mit wget in das Verzeichnis /var/www eine Datei runtergeladen. Eine nennt sich jetzt.html, die andere Datei gleich.html.
Als URL von der sich wget das Zeug holen muss, ist die entsprechende tvmovie Seite angegeben, und zwar für 150 Fernsehsender
Die 150 kannst du verändern (Kopiere den Link in deinen Webbrowser => wenn alle gewünschten Sender auftauchen, ist es ok. Wenn welche auf Seite 2 sind, musst du die 150 erhöhen, wenn dir die ersten 80 reichen, kannst du die Zahl auch auf 80 setzen. Spart Downloadzeit und verringert den Netzwerktraffik


Zitat
rm /var/www/alles.html
Hier wird die Datei alles.html gelöscht, damit es im folgenden keinen Fehler gibt


Zitat
cat /var/www/jetzt.html >> /var/www/alles.html
Schreibt den Inhalt von jetzt.html in die Datei alles.html
(könnte man imho auch einfach mit "mv  /var/www/jetzt.html /var/www/alles.html" lösen, aber das ist letztlich egal


Zitat
sed 's/span/spandanngleich/g' /var/www/gleich.html >> /var/www/alles.html
sed ist eine Art automatischer Texteditor mit suchen/ersetzen. Hier wird der String "span" durch "spandanngleich" ersetzt in der Datei gleich.html, die Ausgabe wird an die Datei /var/www/alles.html hinten angehängt

Im Ergebins erhält man so eine Datei alles.html, die beiden runtergeladenen Webseiten enthält, wobei der Inhalt der zweiten Seite (gleich.html) modifiziert worden ist.
Also:
jetzt.html + modifiziertes gleich.html = alles.html


Damit reicht letztlich 1 HTTMOD Aufruf, um beide Webseiten auf einmal in fhem zu sehen bzw. eben die Readings anzulegen.

Ob das der Weisheit letzter Schluss ist, kann ich nicht beurteilen.
Was mir daran weniger gefällt, ist die Tatsache dass es so schwieriger ist eine Art "Umschalten wenn diese Sendung losgeht" zu schreiben.

Also:
Du schaust gerade auf ARD die Tagesschau, der Krimi im ZDF um 20.15 interessiert dich, dann könntest so sofort auf ZDF klicken und das Umschalten passierte nicht sofort, sondern eben um 20.15 Uhr...

Selbiges ist imho sinnvoller wenn es zwei getrennte Seiten sind.

Aber da das noch keiner in fhem umgesetzt hat, ist es zur Zeit quasi egal :)



Was mir sonst noch einfällt:
Ich halte es für schlauer, die Dateien nicht auf der SD Karte im RasPi rum zu schupsen.
Erstens ist es langsam, zweitens ruiniert man sich auf die Dauer seine SD Karte.
Eleganter fände ich es, eine kleine Ramdisk anzulegen (fstab), auf die der Webserver zugreift...

Nachteilig daran ist, dass es bei einem Reset des RasPi Fehlermeldungen im Log gibt, bis wget zum ersten Mal ausgeführt worden ist... (vielleicht könnte man den ersten Abruf auber auch in das fhem Startskript schreiben)


Glückwunsch wer das Posting bis hierher durchgelesen hat, ich hoffe, ich konnte etwas zur Klärung beitragen :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 12 November 2014, 15:39:23
OFFTOPIC:
ZitatWenn, dann bastle ich erst ein mplayer Modu
Kann man nicht schon mit dem TTS-Modul Musikdateien abspielen lassen?  - läuft ja auch über mplayer
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Rince am 12 November 2014, 16:34:02
Ja und nein.
Wir haben mehrere Module, die den mplayer nutzen. StreamRadio z.B. auch.
Letztlich machen aber beide eine Audioausgabe. Da scheint der Gedanke nahe, den mplayer Auszuklammern.
Oft kommt der Wunsch nach Bluetoothlautsprechern etc...
Hätten wir ein grundlegendes mplayer Modul, könnten davon sofort alle aufbauenden Module profitieren. Man braucht nicht in jedem Modul das Rad neu erfinden :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 12 November 2014, 20:08:05
Sehr schöne Zusammenfassung, aber:

Zitat von: Rince am 12 November 2014, 15:03:00
Was mir daran weniger gefällt, ist die Tatsache dass es so schwieriger ist eine Art "Umschalten wenn diese Sendung losgeht" zu schreiben.

Also:
Du schaust gerade auf ARD die Tagesschau, der Krimi im ZDF um 20.15 interessiert dich, dann könntest so sofort auf ZDF klicken und das Umschalten passierte nicht sofort, sondern eben um 20.15 Uhr...

Selbiges ist imho sinnvoller wenn es zwei getrennte Seiten sind.

Aber da das noch keiner in fhem umgesetzt hat, ist es zur Zeit quasi egal :)


das habe ich (wie weiter oben beschrieben) schon mit meiner Eine-Datei-Lösung umgesetzt  :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 November 2014, 20:34:07
Zitat von: RoBra81 am 12 November 2014, 08:12:30
Kannst du mal die Definition des HTTPMOD (für Pro7 sollte reichen) und der ReadingsGroup posten?

Also das list des TV_Programms sieht so aus:
Internals:
   DEF        http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
   Interval   60
   NAME       TV_Programme
   NR         200
   STATE      mein_TV_programm: Die große TV total Stock Car Crash Challenge 2014
   TYPE       HTTPMOD
   addr       http://www.tvmovie.de:80
   buf
   displayurl http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form
   host       www.tvmovie.de
   loglevel   4
   path       /tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form
   protocol   http
   redirects  0
   timeout    2
   url        http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form
   Readings:
     2014-11-11 21:19:42   ARD             In aller Freundschaft
     2014-11-11 21:19:42   II              RTL II Bones - Die Knochenjägerin
     2014-11-11 21:19:42   KABEL_1         Die strengsten Eltern der Welt
     2014-11-08 23:00:22   Pro7            Die große TV total Stock Car Crash Challenge 2014
     2014-11-09 12:37:55   RTL             Bauer sucht Frau
     2014-11-11 21:19:42   Sat1            Küss Dich reich
     2014-11-11 21:19:42   Sport1          Fußball
     2014-11-11 21:19:42   VOX             Goodbye Deutschland! Die Auswanderer
     2014-11-11 21:19:42   ZDF             Frontal 21
     2014-11-11 21:19:42   rtl2            Zuhause im Glück - Unser Einzug in ein neues Leben
Attributes:
   readingsName_ARD ARD
   readingsName_KABEL_1 KABEL_1
   readingsName_Pro7 Pro7
   readingsName_RTL II RTL II
   readingsName_Sat1 Sat1
   readingsName_Sport1 Sport1
   readingsName_VOX VOX
   readingsName_ZDF ZDF
   readingsName_rtl2 rtl2
   readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
   readingsRegex_KABEL_1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
   readingsRegex_Pro7 <span>Pro7<[\w\W]*?alt="(.*?)" title=
   readingsRegex_Pro7_time <span>Pro7<[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_Sport1 <span>Sport1 <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
   readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
   readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
   stateFormat mein_TV_programm: Pro7
   timeout    5


und so das es des TV_Programm_next
Internals:
   DEF        http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
   Interval   60
   NAME       TV_Programme_next
   NR         201
   STATE      mein_TV_programm: 2 Broke Girls
   TYPE       HTTPMOD
   addr       http://www.tvmovie.de:80
   buf
   displayurl http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form
   host       www.tvmovie.de
   loglevel   4
   path       /tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form
   protocol   http
   redirects  0
   timeout    2
   url        http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form
   Readings:
     2014-11-11 21:19:38   ARD_next        Report München
     2014-11-11 21:19:38   ARD_next_time   21:45
     2014-11-11 21:19:38   KABEL_1_next    K1 Magazin
     2014-11-11 21:19:38   KABEL_1_next_time 22:20
     2014-11-11 21:19:38   Pro7_next       2 Broke Girls
     2014-11-11 21:19:38   Pro7_next_time  21:35
     2014-11-11 21:19:38   RTL_next        CSI - Den Tätern auf der Spur
     2014-11-11 21:19:38   RTL_next_time   22:15
     2014-11-11 21:19:38   Sat1_next       akte 20.14 - Reporter kämpfen für Sie!
     2014-11-11 21:19:38   Sat1_next_time  22:15
     2014-11-11 21:19:38   Sport1_next     Fantalk
     2014-11-11 21:19:38   Sport1_next_time 22:15
     2014-11-11 21:19:38   VOX_next        Die Küchenchefs
     2014-11-11 21:19:38   VOX_next_time   23:15
     2014-11-11 21:19:38   ZDF_next        heute-journal
     2014-11-11 21:19:38   ZDF_next_time   21:45
     2014-11-11 21:19:38   rtl2_next       Extrem schön! - Endlich ein neues Leben
     2014-11-11 21:19:38   rtl2_next_time  22:15
Attributes:
   readingsName_ARD_next ARD_next
   readingsName_ARD_next_time ARD_next_time
   readingsName_KABEL_1_next KABEL_1_next
   readingsName_KABEL_1_next_time KABEL_1_next_time
   readingsName_Pro7_next Pro7_next
   readingsName_Pro7_next_time Pro7_next_time
   readingsName_RTL II_next_time RTL II_next_time
   readingsName_RTL_next RTL_next
   readingsName_RTL_next_time RTL_next_time
   readingsName_Sat1_next Sat1_next
   readingsName_Sat1_next_time Sat1_next_time
   readingsName_Sport1_next Sport1_next
   readingsName_Sport1_next_time Sport1_next_time
   readingsName_VOX_next VOX_next
   readingsName_VOX_next_time VOX_next_time
   readingsName_ZDF_next ZDF_next
   readingsName_ZDF_next_time ZDF_next_time
   readingsName_rtl2_next rtl2_next
   readingsName_rtl2_next_time rtl2_next_time
   readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
   readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_KABEL_1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
   readingsRegex_KABEL_1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_RTL II_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_Sport1_next <span>Sport1 <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_Sport1_next_time <span>Sport1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
   readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
   readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
   readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
   stateFormat mein_TV_programm: Pro7_next
   timeout    10
   verbose    1


und die readingsGroup
Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>
TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time
TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time
TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time
TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time
TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time
TV_Programme_next:Sport1@TV_Programme,Sport1_next,Sport1_next_time
TV_Programme_next:rtl2@TV_Programme,rtl2_next,rtl2_next_time
TV_Programme_next:KABEL_1@TV_Programme,KABEL_1_next,KABEL_1_next_time
TV_Programme_next:VOX@TV_Programme,VOX_next,VOX_next_time
   NAME       TV_Programm
   NR         202
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme_next 1
   Content2:
     TV_Programme 1
   DEVICES:
     ARRAY(0x830640)
     ARRAY(0x830490)
     ARRAY(0x830660)
     ARRAY(0x830670)
     ARRAY(0x830680)
     ARRAY(0x830690)
     ARRAY(0x8306a0)
     ARRAY(0x8306b0)
     ARRAY(0x8306c0)
     ARRAY(0x8306d0)
   DEVICES2:
     ARRAY(0x830640)
     ARRAY(0x830490)
     ARRAY(0x830660)
     ARRAY(0x830670)
     ARRAY(0x830680)
     ARRAY(0x830690)
     ARRAY(0x8306a0)
     ARRAY(0x8306b0)
     ARRAY(0x8306c0)
     ARRAY(0x8306d0)
     ARRAY(0x830120)
     ARRAY(0x830140)
     ARRAY(0x830c00)
     ARRAY(0x14a7f78)
     ARRAY(0x14a7fb8)
     ARRAY(0x14a7ff8)
     ARRAY(0x14a8038)
     ARRAY(0x14a8078)
     ARRAY(0x14a80b8)
   Fhem:
     lastDefChange 1
     last_update 1415820766.44481
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 273,788,0,
   group      TV_Programm
   nameIcon   { Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="color:white;font-size:18px"
   verbose    3
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Rince am 12 November 2014, 20:42:35
Zitatdas habe ich (wie weiter oben beschrieben) schon mit meiner Eine-Datei-Lösung umgesetzt  

Echt?
Dann ist mir das entgangen. Entschuldige bitte :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 12 November 2014, 21:27:37
@Tommy82

Da fehlt ein Leerzeichen hinter Pro7 in Programm
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 12 November 2014, 21:49:10
Ein Modul wäre schon cool aber ich bekomme es auch nicht hin  :'(
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 November 2014, 22:00:58
Zitat von: Paul am 12 November 2014, 21:27:37
@Tommy82

Da fehlt ein Leerzeichen hinter Pro7 in Programm

Danke für den Hinweis, hab das jetzt mal geändert, mal sehn ob der Fehler jetzt nicht mehr kommt.

Damit wären es nur noch 2 Probleme  :(, zum einen wird RTL nicht aktualisiert
readingsRegex_RTL
<span>RTL <span[\w\W]*?alt="(.*?)" title=

zum anderen geht das UMschalten durch anklicken der nachfolgenden sendung zu dem entsprechenden Zeitpunkt nicht, das Umschalten durch klicken auf die aktuelle sendung klappt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 12 November 2014, 22:11:47
Ja ist bei mir auch so keine Ahnung wo der Hund begraben ist
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 November 2014, 22:16:13
Zitat von: Markus am 12 November 2014, 22:11:47
Ja ist bei mir auch so keine Ahnung wo der Hund begraben ist

Was jetzt von meinen beiden Problemen ist bei dir auch so? :-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 12 November 2014, 22:18:30
Sorry
Das umschalten von next
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 12 November 2014, 22:22:53
Zitat von: Markus am 12 November 2014, 22:18:30
Sorry
Das umschalten von next

Ich hab's (vermutlich): In meiner Funktion gibt es die Zeile

      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);

die die Zeit für das at aus dem Reading ausliest - allerdings heißt das bei mir TV_Programm.dann. Bei euch müsste die Zeile vermutlich

      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);

heißen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 November 2014, 22:23:28
Zitat von: Markus am 12 November 2014, 22:18:30
Sorry
Das umschalten von next

Gut dann sind wir ja schonmal zu zweit :-)
Aber vieleicht hast du ja eine idee, wieso RTL bei mir nicht aktualisiert wird?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 12 November 2014, 22:25:58
Zitat von: Tommy82 am 12 November 2014, 22:23:28
Gut dann sind wir ja schonmal zu zweit :-)
Aber vieleicht hast du ja eine idee, wieso RTL bei mir nicht aktualisiert wird?

Da ist meineserachtens ein span zuviel:

<span>RTL <[\w\W]*?alt="(.*?)" title=
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 12 November 2014, 22:30:29
Da ist nichts zuviel, stand hier bereits wenn RTL und RTL2 runtergelaufen werden muss RTL in RTL1 umbenannt werden.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 November 2014, 22:38:25
Also grundsätzlich wird jetzt auch die Nachfolgende RTL Sendung richtig angezeigt (da war was zuviel), allerdings die erste Sendung steht jetzt  nur
Zitat&quot;Stern&quot;-TV

Hab das
Zitatfhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
mal geändert, demnach müsste um 22:45 jetzt auf Pro7 umgeschaltete werden


Hab im Log auch relativ viele
2014.11.12 22:36:21.715 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out, also auch da gibts wohl noch ein Problem

EDIt

Heute MOrgen sieht mein Log so aus:
2014.11.13 00:00:00.008 2: ENIGMA2 set VU_Ultimo channel SAT.1_HD
2014.11.13 00:00:00.031 3: VU_Ultimo.Senderwechsel.at: Device needs to be present to switch to a specific channel.
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
2014.11.13 03:15:28.723 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
2014.11.13 05:15:29.444 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)
ping: permission denied (are you root?)


Was kann das noch sein?
Und wieso um 0 UHr versucht wurde über at den Sender zu wechseln weiss ich auch nicht, das hätte um 22:45 passieren sollen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 13 November 2014, 07:38:48
0 Uhr ist der Default-Wert prüf mal das readingsVal
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 13 November 2014, 19:59:18
Zitat von: Paul am 13 November 2014, 07:38:48
0 Uhr ist der Default-Wert prüf mal das readingsVal

Das sieht so aus:
Zitatfhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);

würde sagen das es richtig ist oder?
Im Log steht allerdings nichts, der Reciever sollte jetzt um 19:55 auf Sat.1 schalten aber nichts passiert, im Log ist nur folgendes
2014.11.13 19:51:05.856 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.13 19:51:49.650 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.13 19:51:50.232 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.13 19:51:58.230 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2014.11.13 19:51:58.239 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Get()
2014.11.13 19:51:58.589 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 13 November 2014, 20:37:57
Das ReadingsVal ist auf jedenfall falsch

readingsVal('.......','.......','00:00')

Ich weiß nicht was das Channel da macht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 13 November 2014, 20:44:17
Zitat von: Paul am 13 November 2014, 20:37:57
Das ReadingsVal ist auf jedenfall falsch

readingsVal('.......','.......','00:00')

Ich weiß nicht was das Channel da macht

Wieso ist das falsch? bzw. wie muss es sein?

Das $channel sagt doch aus auf welchen channel umgeschaltet wird oder?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 13 November 2014, 20:56:52
Der Kanal hat sicher nichts da zu suchen, wo du die Zeit auslesen willst
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 13 November 2014, 21:53:52
Zitat von: Paul am 13 November 2014, 20:56:52
Der Kanal hat sicher nichts da zu suchen, wo du die Zeit auslesen willst

Aber so hat es RoBra81 ja geschrieben würde es bei ihm funktionieren!? Und woher soll das at sonst wissen wo es hinschalten soll?

WIe müsste es deiner meinung nach ausehen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 13 November 2014, 23:02:47
Doch, der channel ist richtig dort, da auf jedem Sender die nächste Sendung zu einem anderen Zeitpunkt anfängt. Es soll also zum Beispiel der Startzeitpunkt der nächsten Sendung auf RTL aus dem Reading rtl_time_next ausgelesen werden...

Wenn er bei dir um 00:00 Uhr versucht umzuschalten, dann scheint das at ja definiert worden zu sein (das müsstest du ja nach einem klick auf die nächste Sendung auch im fhem finden). Ist nur noch die Frage, warum er die Zeit nicht findet... Kannst du mal versuchen, den ReadingsVal-Befehl (mit einem richtigen channel) in geschweiften Klammern im Kommandofeld einzugeben?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 13 November 2014, 23:16:20
Wie meinst du soll das aussehen?
So?
.ReadingsVal('TV_Programme_next', $Das_Erste_HD'_next_time', '00:00')
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 13 November 2014, 23:21:39
So:
{ReadingsVal('TV_Programme_next','Das_Erste_HD_next_time','00:00')}
Der Sender (in dem Fall Das_Erste_HD muss demzufolge so im HTTPMOD vom TV_Programm_next existierten)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 13 November 2014, 23:29:21
Hab ich gemacht, es wird dann ein 00:00 zugrückgegeben
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 13 November 2014, 23:33:26
Heißt das HTTPMOD bei dir TV_Programme_next und gibt es da ein Reading Das_Erste_HD_next_time (Groß- und Kleinschreibung beachten)?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 14 November 2014, 00:00:41
Ich habe beim durchsehen meines Codes noch einen Fehler gefunden (der aber erstmal nix mit deinem Problem zu tun haben dürfte). Ersetze mal bitte die Zeilen


    my @array = split(/_/, $channel);
    $channel = $array[0];


mit der Zeile


$channel =~ s/_next//g;


sonst kann Probleme bei Sendern mit _ im Namen geben...
Titel: Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 14 November 2014, 07:26:59
Zitat von: RoBra81 am 13 November 2014, 23:33:26
Heißt das HTTPMOD bei dir TV_Programme_next und gibt es da ein Reading Das_Erste_HD_next_time (Groß- und Kleinschreibung beachten)?

JaEin :D
ZitatTV_Programme_next
und
readingsRegex_ARD_next_time

Der Channel auf den dann umgeschaltet werden soll heißt im Enigma2 Modul
Das_Erste_HD
Da könnte ja schon ein fehler liegen!?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 14 November 2014, 07:55:35
Nein, das ist kein Fehler, dafür gibt es ja das Mapping. Ich habe aber das Problem erkannt - kannst du mal die komplette Funktion (das sub) posten, da korrigiere ich es mal...
Titel: Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 14 November 2014, 08:11:49
Hier mein sub
############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',


  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$channel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
{
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Hoffe ich hab alles richtig kopiert, bin unterwegs und konnte Grad nur übers Handy zugreifen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 14 November 2014, 08:34:23
Das Problem war, dass bei mir die Readings alle mit Kleinbuchstaben sind und daher geht's bei mir. Bei dir ist ARD z.B. groß geschrieben. Ich habe es mal geändert, aber nicht getestet. So könnte es u.U. funktionieren - kannst du es mal probieren?:

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',


  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  my $next = 0;
  if ($channel =~ /_next/)
  {
  $channel =~ s/_next//g;
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{lc $channel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
{
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 14 November 2014, 08:37:03
Ja aber erst heute Abend, meld mich dann. Danke schon mal
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 16 November 2014, 11:19:47
Wenn ich das in meine myutils eingebe kommt beim speichern
ERROR:

Missing right curly or square bracket at ./FHEM/99_myUtils.pm line 145, at end of line syntax error at ./FHEM/99_myUtils.pm line 145, at EOF

In line 145 ist nur die geschweifte Klammer
Zitat}
Also hab ich noch eine } dahinter gesetzt, hoffe das war richtig?

Der nächste Sendungswechsel ist um 11:40, hab den mal angeklickt, dann sollte automatisch von jetzt Pro7 auf Sat1 gewechselt werden, mal sehn obs jetzt klappt:-)

Allerdings hab ich grade schon festgestellt das das normale Umschalten jetzt wieder nicht mehr klappt, im Log gibts jetzt den Fehler:
2014.11.16 11:20:16.287 1: Channelnumber not found for channel: Sat1

Denn gabs doch am anfang mal, denn hattest du doch eigentlich korregiert!?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 16 November 2014, 15:34:21
So, habs jetzt nochmal so abgeändert, jetzt klappt das normale Umschalten wieder, allerdings das Umschalten auf das "next" Programm geht nicht

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$channel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Bekomme im Log dann diesen Fehler:
2014.11.16 15:33:29.303 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/99_myUtils.pm line 130.
2014.11.16 15:33:29.322 3: delete VU_Ultimo.Senderwechsel.at : Please define VU_Ultimo.Senderwechsel.at first


In Zeile 130 steht
$command = 'set '.$TVDevice.' channel '.$channellist{$channel};
und das at heisst bei mir
ZitatVU_Ultimo.Senderwechsel.at
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Mario67 am 17 November 2014, 13:43:51
Hallo,

da ich die Aktualisierung der Anzeige des aktuellen Programms fast ausschließlich durch das Neusetzen der Definition in der Detail-Ansicht der beiden HTTPMOD-Devices auslösen konnte, habe ich versucht die Ursache dafür zu finden.
Im Beitrag http://forum.fhem.de/index.php/topic,29269.msg220319.html (http://forum.fhem.de/index.php/topic,29269.msg220319.html) habe ich beschrieben, woran mein Problem liegen könnte. Nachdem ich die dort beschriebene Änderung direkt im Modul vorgenommen habe (und natürlich ein reload 98_HTTPMOD.pm), aktualisiert sich die Anzeige gemäß dem verwendeten Intervall (und ich komme ohne Scripte und lokale Webserver aus).
Ich hoffe, dass es eine Lösung für die reguläre Version des Moduls geben wird.
Die Wahl des Wertes für den Timeout muss noch optimiert werden. 60 s sind schon ziemlich lang.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 18 November 2014, 09:59:50
Scheinbar ist ja schon eine neue Version unterwegs und sollte all unsere Probleme lösen :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 18 November 2014, 10:04:47

Zitat von: Kuzl am 18 November 2014, 09:59:50
Scheinbar ist ja schon eine neue Version unterwegs und sollte all unsere Probleme lösen :)

Wie und wo?:-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 18 November 2014, 10:04:55
Zitat von: Tommy82 am 16 November 2014, 15:34:21
So, habs jetzt nochmal so abgeändert, jetzt klappt das normale Umschalten wieder, allerdings das Umschalten auf das "next" Programm geht nicht

Kannst du das nochmal probieren:

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  my $lcchannel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_next/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Zitat von: Tommy82 am 16 November 2014, 15:34:21
Bekomme im Log dann diesen Fehler:
2014.11.16 15:33:29.303 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/99_myUtils.pm line 130.
2014.11.16 15:33:29.322 3: delete VU_Ultimo.Senderwechsel.at : Please define VU_Ultimo.Senderwechsel.at first


Die erste Meldung sollte nur kommen, wenn er den Sender nicht findet (sollte jetzt funktionieren) und die zweite kommt immer, wenn noch kein at definiert ist, da ich das erstmal pauschal lösche bevor ich es definiere...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 18 November 2014, 11:29:24
Zitat von: Tommy82 am 18 November 2014, 10:04:47
Wie und wo?:-)
Wenn der Entwickler damit fertig ist per update ;)
sollte nicht mehr zu lange dauern denke ich
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 18 November 2014, 11:31:18
@Ronny
Danke teste ich heute Abend und heb dann besxheid

@Kuzl
Soll das Ganze als Modul kommen oder wie muss ich das verstehen? Hb ich hier was verpasst?:-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Mario67 am 18 November 2014, 11:34:35
@Tommy82:
Schau mal in den Link den ich in Beitrag #255 hinterlegt hatte. Es geht um HTTPMOD.

Grüße,
Mario
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 18 November 2014, 11:37:29
Ah danke, hatte nicht gesehen das es da einen Kommentar gibt. Das super danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 18 November 2014, 21:41:38
Hi Ronny,
geht leider immer noch nicht, im Log kommt dann:
2014.11.18 21:36:13.468 5: TV_Programm: no longer visible, ignoring notify
2014.11.18 21:36:13.725 5: TV_Programm: not on any display, ignoring notify
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 18 November 2014, 22:32:11
Die Meldungen kommen jetzt aber meiner Meinung nach nicht von meiner Funktion...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 18 November 2014, 22:37:56
Kannst du denn noch auf die aktuelle Sendung umschalten? Wird für die nächste Sendung das at angelegt? Wie sieht das aus?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 19:36:15
Zitat von: RoBra81 am 18 November 2014, 22:37:56
Kannst du denn noch auf die aktuelle Sendung umschalten? Wird für die nächste Sendung das at angelegt? Wie sieht das aus?

Ja die aktuelle Sendung kann ich umschalten

Dieses at gibt es
Internals:
   CFGFN
   DEF        00:00 set VU_Ultimo channel
   NAME       VU_Ultimo.Senderwechsel.at
   NR         264
   STATE      Next: 00:00:00
   TRIGGERTIME 1416438000
   TRIGGERTIME_FMT 2014-11-20 00:00:00
   TYPE       at
   VOLATILE   1
Attributes:
   room       Wohnzimmer


Hätte normal jetzt um 19:40 Umschalten sollen, da ich auf next geklickt hab, allerdings kein erfolg.

Im Log findet sich nur
2014.11.19 19:43:12.914 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.19 19:43:12.924 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out


Hatte jetzt nochmal auf next 19:45 ARD gekklickt, und mal im EventMonitor geschaut, da kommt dann das:
2014-11-19 19:45:11.465 ENIGMA2 VU_Ultimo snrdb: 65
2014-11-19 19:45:11.465 ENIGMA2 VU_Ultimo snr: 65
2014-11-19 19:45:11.465 ENIGMA2 VU_Ultimo ber: 1096449641
2014-11-19 19:45:11.465 ENIGMA2 VU_Ultimo acg: 69
2014-11-19 19:45:13.529 ENIGMA2 VU_Ultimo eventremaining: 1759
2014-11-19 19:45:13.529 ENIGMA2 VU_Ultimo eventcurrenttime: 1416422711.41
2014-11-19 19:45:13.529 ENIGMA2 VU_Ultimo eventcurrenttime_next: 1416422711.48
2014-11-19 19:45:13.529 ENIGMA2 VU_Ultimo eventcurrenttime_hr: 19:45:11
2014-11-19 19:45:13.529 ENIGMA2 VU_Ultimo eventcurrenttime_next_hr: 19:45:11
2014-11-19 19:45:13.529 ENIGMA2 VU_Ultimo eventremaining_hr: 00:29:19
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 19:55:48
So, da ich nicht vor deinem Rechner sitze  ;), habe ich mal reichlich Logging eingebaut - irgendwie werden wir den Fehler schon finden:

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  Log(3, "switchChannel: Parameter channel: ".$channel);
  $channel =~ s/_time//g; 
  my $lcchannel = lc $channel;
  Log(3, "switchChannel: Lowercase channel: ".$lcchannel);
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    Log(3, "switchChannel: Next found, new channel: ".$channel);
    $next = 1;
  }
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};
  Log(3, "switchChannel: Switching command: ".$command);
 

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


-> Einfach mal ersetzen, einmal jetzt schalten und einmal auf eine zukünftige Sendung klicken und dann den Logauszug posten...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 20:15:45
Erstmal vielen Dank für deine Hilfe.

Hab den Code ersetz und dann JETZT umgeschaltet, klappt problemlos, im Log kommt dann:
2014.11.19 20:10:10.574 3: switchChannel: Parameter channel: Sat1
2014.11.19 20:10:10.577 3: switchChannel: Lowercase channel: sat1
2014.11.19 20:10:10.578 3: switchChannel: Switching command: set VU_Ultimo channel SAT.1_HD
2014.11.19 20:10:10.582 2: ENIGMA2 set VU_Ultimo channel SAT.1_HD
2014.11.19 20:10:17.349 3: switchChannel: Parameter channel: Pro7
2014.11.19 20:10:17.350 3: switchChannel: Lowercase channel: pro7
2014.11.19 20:10:17.351 3: switchChannel: Switching command: set VU_Ultimo channel ProSieben_HD
2014.11.19 20:10:17.355 2: ENIGMA2 set VU_Ultimo channel ProSieben_HD
2014.11.19 20:10:21.745 1: PERL WARNING: substr outside of string at /mod/external/usr/share/fhem/fhem.pl line 627.


In der fhem.ol Line 627 steht
     $hash->{$wbName} = substr($wb, $ret);

Dann hab ich NEXT RTL 20:15 angeklickt dann kommt das im Log
2014.11.19 20:11:15.412 3: switchChannel: Switching command: set VU_Ultimo channel
2014.11.19 20:11:20.352 3: switchChannel: Parameter channel: RTL_next
2014.11.19 20:11:20.354 3: switchChannel: Lowercase channel: rtl_next
2014.11.19 20:11:20.355 3: switchChannel: Next found, new channel: RTL
2014.11.19 20:11:20.356 3: switchChannel: Switching command: set VU_Ultimo channel


Im EventMonitor erscheint dann
2014-11-19 20:14:48.560 readingsGroup rg_VU_Ultimo VU_Ultimo.power: on
2014-11-19 20:14:48.581 ENIGMA2 VU_Ultimo presence: present
2014-11-19 20:14:48.581 ENIGMA2 VU_Ultimo power: on
2014-11-19 20:14:48.581 ENIGMA2 VU_Ultimo on
2014-11-19 20:14:50.636 ENIGMA2 VU_Ultimo volume: 100
2014-11-19 20:14:50.636 ENIGMA2 VU_Ultimo mute: off
2014-11-19 20:14:50.874 ENIGMA2 VU_Ultimo snrdb: 65
2014-11-19 20:14:50.874 ENIGMA2 VU_Ultimo snr: 65
2014-11-19 20:14:50.874 ENIGMA2 VU_Ultimo ber: 1096449641
2014-11-19 20:14:50.874 ENIGMA2 VU_Ultimo acg: 69


allerdings wird nicht umgeschaltet, im Log steht dann
2014.11.19 20:14:41.915 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.19 20:14:42.078 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out


Nochmal danke für deine Hilfe
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 20:28:24
So, jetzt geht's (vielleicht):

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  Log(3, "switchChannel: Parameter channel: ".$channel);
  $channel =~ s/_time//g; 
  Log(3, "switchChannel: Lowercase channel: ".$lcchannel);
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    Log(3, "switchChannel: Next found, new channel: ".$channel);
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};
  Log(3, "switchChannel: Switching command: ".$command);
 

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Ansonsten wieder Log posten :-|
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 20:30:30
Da bin ich mal gespannt :-)
Hatte jetzt auch mal mein System im Verdacht, die FB7390 hat eine mittlere Auslastung die letzten 24 Stunden von 81% die CPU!?!

Wenn ich deinen Code jetzt eingebe und speichern will kommt
Global symbol "$lcchannel" requires explicit package name at ./FHEM/99_myUtils.pm line 121.

In 121 steht
ZitatLog(3, "switchChannel: Lowercase channel: ".$lcchannel);
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 20:34:15
Hatte nur einen Teil verschoben und einen anderen übersehen:

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  Log(3, "switchChannel: Parameter channel: ".$channel);
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    Log(3, "switchChannel: Next found, new channel: ".$channel);
    $next = 1;
  }
  my $lcchannel = lc $channel;
  Log(3, "switchChannel: Lowercase channel: ".$lcchannel);
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};
  Log(3, "switchChannel: Switching command: ".$command);
 

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programm.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 20:39:08
Also das Umschalten von JETZT klappt problemlos
2014.11.19 20:37:48.900 2: ENIGMA2 set VU_Ultimo channel RTL
2014.11.19 20:37:59.665 3: switchChannel: Parameter channel: KABEL_1
2014.11.19 20:37:59.667 3: switchChannel: Lowercase channel: kabel_1
2014.11.19 20:37:59.668 3: switchChannel: Switching command: set VU_Ultimo channel kabel_eins_HD
2014.11.19 20:37:59.672 2: ENIGMA2 set VU_Ultimo channel kabel_eins_HD
2014.11.19 20:38:06.015 3: switchChannel: Parameter channel: RTL
2014.11.19 20:38:06.016 3: switchChannel: Lowercase channel: rtl
2014.11.19 20:38:06.017 3: switchChannel: Switching command: set VU_Ultimo channel RTL
2014.11.19 20:38:06.021 2: ENIGMA2 set VU_Ultimo channel RTL


Das Next muss ich jetzt kurz abwarten

Die nächste Sendung zum Umschalten kommt erst um 21:15, hab die mal angeklickt
2014.11.19 20:45:28.250 3: switchChannel: Parameter channel: VOX_next
2014.11.19 20:45:28.252 3: switchChannel: Next found, new channel: VOX
2014.11.19 20:45:28.253 3: switchChannel: Lowercase channel: vox
2014.11.19 20:45:28.254 3: switchChannel: Switching command: set VU_Ultimo channel VOX


Mal gucken obs klappt

Bis gleich
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 21:20:52
Also um 21:15 wurde nicht umgeschaltet, hab jetzt nochmal 21:20 angeklickt

2014.11.19 21:15:55.912 3: switchChannel: Parameter channel: rtl2_next
2014.11.19 21:15:55.914 3: switchChannel: Next found, new channel: rtl2
2014.11.19 21:15:55.915 3: switchChannel: Lowercase channel: rtl2
2014.11.19 21:15:55.916 3: switchChannel: Switching command: set VU_Ultimo channel RTL_II

EventMonitor
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo snrdb: 56
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo snr: 56
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo ber: 1096449641
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo acg: 65
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventremaining: 3406
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime: 1416428294.58
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime_next: 1416428294.65
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime_hr: 21:18:14
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime_next_hr: 21:18:14
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo snrdb: 56
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo snr: 56
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo ber: 1096449641
2014-11-19 21:18:14.740 ENIGMA2 VU_Ultimo acg: 65
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventremaining: 3406
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime: 1416428294.58
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime_next: 1416428294.65
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime_hr: 21:18:14
2014-11-19 21:18:16.783 ENIGMA2 VU_Ultimo eventcurrenttime_next_hr: 21:18:14
2014-11-19 21:19:44.742 ENIGMA2 VU_Ultimo snrdb: 56
2014-11-19 21:19:44.742 ENIGMA2 VU_Ultimo snr: 56
2014-11-19 21:19:44.742 ENIGMA2 VU_Ultimo ber: 1096449641
2014-11-19 21:19:44.742 ENIGMA2 VU_Ultimo acg: 65


Schaltet leider nicht um:
Einziger Eintrag im Log
2014.11.19 21:17:50.182 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.19 21:17:50.199 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.19 21:18:50.210 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.19 21:18:50.234 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.19 21:19:50.223 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.11.19 21:19:50.246 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out


Soll ich mal verbose 4 oder 5 setzen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 21:23:31
Also die events und Logeinträge von ENIGMA2 und HTTPMOD haben eigentlich nix damit zu tun. Kannst du nochmal ein next-Programm anklicken und gucken, ob das at angelegt wurde und wie's aussieht?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 21:26:51
Zitat von: RoBra81 am 19 November 2014, 21:23:31
Also die events und Logeinträge von ENIGMA2 und HTTPMOD haben eigentlich nix damit zu tun. Kannst du nochmal ein next-Programm anklicken und gucken, ob das at angelegt wurde und wie's aussieht?

Welches at?

Das VU_Ultimo.Senderwechsel.at at ist immer da
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 21:28:20
Das dürfte aber nur solange da sein, bis es ausgeführt wird. Wenn du wieder auf ein folgendes Programm klickst, wird es auch gelöscht und mit der neuen Zeit und dem neuen Programm neu angelegt...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 21:31:29
Wie gesagt ist immer da, ich habs jetzt mal von hand gelöscht und auf Next gedrückt
21:45 ARD
Dann kommt im LOg
2014.11.19 21:31:08.382 3: switchChannel: Parameter channel: ARD_next
2014.11.19 21:31:08.384 3: switchChannel: Next found, new channel: ARD
2014.11.19 21:31:08.385 3: switchChannel: Lowercase channel: ard
2014.11.19 21:31:08.386 3: switchChannel: Switching command: set VU_Ultimo channel Das_Erste_HD
2014.11.19 21:31:08.405 3: delete VU_Ultimo.Senderwechsel.at : Please define VU_Ultimo.Senderwechsel.at first


Aber das at ist angelegt:
Internals:
   CFGFN
   COMMAND    set VU_Ultimo channel Das_Erste_HD
   DEF        00:00 set VU_Ultimo channel Das_Erste_HD
   NAME       VU_Ultimo.Senderwechsel.at
   NR         876
   PERIODIC   no
   RELATIVE   no
   STATE      Next: 00:00:00
   TIMESPEC   00:00
   TRIGGERTIME 1416438000
   TRIGGERTIME_FMT 2014-11-20 00:00:00
   TYPE       at
   VOLATILE   1
Attributes:
   room       Wohnzimmer


Mal gucken was um 21:45 passiert
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 21:32:40
Und dann müsste es das at wieder geben?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 21:38:59
Jetzt aber:

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  Log(3, "switchChannel: Parameter channel: ".$channel);
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    Log(3, "switchChannel: Next found, new channel: ".$channel);
    $next = 1;
  }
  my $lcchannel = lc $channel;
  Log(3, "switchChannel: Lowercase channel: ".$lcchannel);
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};
  Log(3, "switchChannel: Switching command: ".$command);
 

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 21:49:39
Ich hoffe.-9

das normale umschalten klappt, hab jetzt mal 22:15 RTL geklickt
2014.11.19 21:49:20.307 3: switchChannel: Parameter channel: RTL_next
2014.11.19 21:49:20.308 3: switchChannel: Next found, new channel: RTL
2014.11.19 21:49:20.309 3: switchChannel: Lowercase channel: rtl
2014.11.19 21:49:20.310 3: switchChannel: Switching command: set VU_Ultimo channel RTL


Mal seh  was um 22:15 passiert
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 21:50:46
Wie sieht denn das at jetzt aus?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 21:58:15
Zitat von: RoBra81 am 19 November 2014, 21:50:46
Wie sieht denn das at jetzt aus?
Würde behaupten gut :-)
Internals:
   CFGFN
   COMMAND    set VU_Ultimo channel RTL
   DEF        22:15 set VU_Ultimo channel RTL
   NAME       VU_Ultimo.Senderwechsel.at
   NR         1721
   PERIODIC   no
   RELATIVE   no
   STATE      Next: 22:15:00
   TIMESPEC   22:15
   TRIGGERTIME 1416431700
   TRIGGERTIME_FMT 2014-11-19 22:15:00
   TYPE       at
   VOLATILE   1
Attributes:
   room       Wohnzimmer


Um 22:15 wissen wir mehr:-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 19 November 2014, 22:20:22
JUHU, du bist der BESTE :-)

Es funktioniert!!!!!!!!!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 19 November 2014, 22:22:17
Dann noch die Log-Einträge raus und alles ist gut

############################################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 20 November 2014, 18:39:21
Log ist raus, ich hoffe jetzt gehts immer noch :-)

Nochmal vielen Danke für die Hilfe

Funktioniert hervorragend.

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 29 November 2014, 20:58:59
Hi,
hab heute mal den Umzug von der FB auf meinen CT vorgenommen, und alles läuft.

Allerdings hab ich im Log immer noch andauernd diese Meldung
2014.11.27 21:01:29.242 5: TV_Programm: not on any display, ignoring notify
2014.11.27 21:01:29.387 5: TV_Programm: not on any display, ignoring notify


Keiner eine idee wo das Problem sein könnte? Oder wie ich dem Probleme auf die schliche kommen könnte?

Heute ha ich zusätzlich noch diese Fehlermeldung:
2014.11.29 09:46:00.302 3: HTTPMOD: Response didn't match Reading(s) ZDF
2014.11.29 09:47:03.340 3: HTTPMOD: Response didn't match Reading(s) ZDF
2014.11.29 09:48:06.477 3: HTTPMOD: Response didn't match Reading(s) ZDF
2014.11.29 09:49:09.239 3: HTTPMOD: Response didn't match Reading(s) ZDF


Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 04 Dezember 2014, 10:02:47
Ich habe im Log immer noch sehr viele Fehlermeldungen, welche nach einigen wiederholungen in einem disconnect der HMLAN enden.
Was kann ich dagegegen tun bzw. wo könnte der Fehler liegen?
2014.12.04 00:00:24.397 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:01:27.644 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:02:30.656 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:03:35.554 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:04:38.543 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:05:43.573 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:06:48.830 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:07:52.038 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:08:55.075 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:09:58.389 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:11:01.397 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:12:04.632 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:13:07.644 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:14:12.986 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:15:15.987 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:16:20.834 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:17:23.843 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:18:27.085 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:18:27.087 1: 192.168.188.27:1000 disconnected, waiting to reappear (HmLanAdapter)
2014.12.04 00:18:27.093 1: HMLAN_Parse: HmLanAdapter new condition disconnected
2014.12.04 00:19:30.085 1: 192.168.188.27:1000 reappeared (HmLanAdapter)
2014.12.04 00:19:30.092 1: HMLAN_Parse: HmLanAdapter new condition init
2014.12.04 00:19:30.149 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:19:30.285 1: HMLAN_Parse: HmLanAdapter new condition ok
2014.12.04 00:20:35.180 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:21:38.192 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:22:43.104 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:23:47.416 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:24:50.639 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:25:53.675 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:26:57.231 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:28:00.240 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:28:34.400 1: 192.168.188.27:1000 disconnected, waiting to reappear (HmLanAdapter)
2014.12.04 00:28:34.405 1: HMLAN_Parse: HmLanAdapter new condition disconnected
2014.12.04 00:29:03.419 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out
2014.12.04 00:29:35.062 1: 192.168.188.27:1000 reappeared (HmLanAdapter)
2014.12.04 00:29:35.069 1: HMLAN_Parse: HmLanAdapter new condition init
2014.12.04 00:29:35.158 1: HMLAN_Parse: HmLanAdapter new condition ok
2014.12.04 00:30:06.429 3: HTTPMOD got error in callback: connect to http://www.tvmovie.de:80 timed out


Danke

Was mir gerade noch aufgefallen ist ist das wenn ich die URL direkt in den Browser eingebe, das es "relativ" lange dauert bis die Seite aufgebaut wird, wieso auch immer...........
Würde doch vieleicht ein höheres timeout was helfen?!
Hab das timeout Attribute jetzt mal auf 90 gesetzt................
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 04 Dezember 2014, 10:40:56
Hallo,

also wenn die verbindung mit time-out abbricht ist der logische schritt den time-out einfach mal ganz hoch zu setzen und prüfen obs immer noch kommt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 04 Dezember 2014, 11:25:25
...und hoffentlich eine aktuelle Version von FHEM im Einsatz, da gab's ja ein paar Verbesserungen gerade im Umfeld HTTPMOD / HttpUtils in der letzten Woche...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 04 Dezember 2014, 12:12:06
Fhem ist aktuell, hab gestern das letzte update durchgeführt.
Also mit einem timeout von 90 hatte ich in den letzten zwei Stunden "nur" noch zweimal den Fehler.
Werd das timeout mal auf 120 setzen, mal sehn ob es sich dann damit erledigt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 Dezember 2014, 21:02:18
Das Problem tritt nun seltener auf, ist allerdings noch nicht weg.
Werd den timeout jetzt mal auf 300 stellen, dann sollte es hoffentlich gelöst sein
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 07 Dezember 2014, 10:04:22
Auch bei 300 tritt das Problem ab und an auf, und ich bekomme iese Fehler plötzlich:
2014.12.07 08:45:58.909 3: HTTPMOD: Response didn't match Reading(s) ARD
2014.12.07 08:46:58.836 3: HTTPMOD: Response didn't match Reading(s) ARD
2014.12.07 08:47:58.871 3: HTTPMOD: Response didn't match Reading(s) ARD
2014.12.07 08:49:02.614 3: HTTPMOD: Response didn't match Reading(s) ARD
2014.12.07 08:50:02.698 3: HTTPMOD: Response didn't match Reading(s) ARD
2014.12.07 08:51:02.632 3: HTTPMOD: Response didn't match Reading(s) ARD
2014.12.07 08:52:06.653 3: HTTPMOD: Response didn't match Reading(s) ARD
2014.12.07 08:53:06.702 3: HTTPMOD: Response didn't match Reading(s) ARD


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 08 Dezember 2014, 08:02:03
Okay das ist jetzt aber kein Timeout mehr. Hier kann es sein, dass evtl ARD einfach nicht auf der Antwortseite vorhanden ist. ich würde hier probieren, die Anzahl der Programme im Link zu erhöhen. Bedenke aber, dass dadurch naürlich die Seite größer wird.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 08 Dezember 2014, 19:40:23
Zitat von: Kuzl am 08 Dezember 2014, 08:02:03
Okay das ist jetzt aber kein Timeout mehr. Hier kann es sein, dass evtl ARD einfach nicht auf der Antwortseite vorhanden ist. ich würde hier probieren, die Anzahl der Programme im Link zu erhöhen. Bedenke aber, dass dadurch naürlich die Seite größer wird.

Daran kanns eigentlich nicht liegen, den Fehler hatte ich die ganze Zeit nicht, und ausser dem timeout hab ich nichts geändert. Interessanterweise, hab ich heute den Fehler mit Vox, nicht mit ARD, und leider auch wieder viele timeouts......
Seltsam ist  auch das ich die TimeOuts von ca. 0-3 Uhr bekomme, und dann erst wieder ab ca. 16 Uhr, dazwischen keine Probleme........
Versteh das langsam nicht mehr.

In welchem intervall werden die Daten neugeholt? Kann man das intervall ändern?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 08 Dezember 2014, 19:58:02
Ja das intervall ist das intervall bei HTTPMOD in sekunden.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 08 Dezember 2014, 20:43:52
Zitat von: Kuzl am 08 Dezember 2014, 19:58:02
Ja das intervall ist das intervall bei HTTPMOD in sekunden.

Hab das intervall jetzt mal von 60 auf 300  gestellt, mal sehen wie es morgen aussieht....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 09 Dezember 2014, 20:04:21
Heute nacht keinen einzigen Fehler, ich hoffe es bleibt dabei :-)

EDIT
Heute hab ich nochmal diese 3 Fehler, aber ansonsten läuft es
2014.12.10 00:28:12.071 3: HTTPMOD got error in callback: www.tvmovie.de: Connection timed out
2014.12.10 19:07:55.600 3: HTTPMOD: Response didn't match Reading(s) ARD_next, ARD_next_time, KABEL_1_next, KABEL_1_next_time, Pro7_next, Pro7_next_time, RTL_next, RTL_next_time, Sat1_next, Sat1_next_time, Sport1_next, Sport1_next_time, VOX_next, VOX_next_time, ZDF_next, ZDF_next_time, rtl2_next, rtl2_next_time
2014.12.10 19:43:00.203 3: HTTPMOD: Response didn't match Reading(s) ARD_next, ARD_next_time, KABEL_1_next, KABEL_1_next_time, Pro7_next, Pro7_next_time, RTL_next, RTL_next_time, Sat1_next, Sat1_next_time, Sport1_next, Sport1_next_time, VOX_next, VOX_next_time, ZDF_next, ZDF_next_time, rtl2_next, rtl2_next_time
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: AK-868 am 26 Dezember 2014, 21:13:12
Hallo zusammen...

ich hab auch was gebaut, damit es nicht komplett umsonst ist. Poste ich das hier mal.

Wenn ich das einbaue, dann läuft mein FHEM nicht mehr... Vermutlich mangels resourcen.

Enthalten eine TV Liste
Floorplan
Oh die Symbole müssen noch einkopiert werden www default
Steuerung für Samsung TV und der Sender.
TV muss definiert werden. Eig. als Aktor für den TV.
Da müssten noch die Zeiten angepasst werden. Sonst ist es ziemlich fertig.



define Fernsehen FLOORPLAN
attr Fernsehen fp_arrange 1

###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form 1800
attr TV_Programme userattr readingsName_ARD readingsName_ARD_time readingsName_DMAX readingsName_DMAX_time readingsName_KIKA readingsName_KIKA_time readingsName_Kabel1 readingsName_Kabel1_time readingsName_Pro7 readingsName_Pro7_time readingsName_RTL readingsName_RTL2 readingsName_RTL2_time readingsName_RTL_time readingsName_SRTL readingsName_SRTL_time readingsName_Sat1 readingsName_Sat1_time readingsName_VOX readingsName_VOX_time readingsName_WDR readingsName_WDR_time readingsName_ZDF readingsName_ZDF_time readingsRegex_ARD readingsRegex_ARD_time readingsRegex_DMAX readingsRegex_DMAX_time readingsRegex_KIKA readingsRegex_KIKA_time readingsRegex_Kabel1 readingsRegex_Kabel1_time readingsRegex_Pro7 readingsRegex_Pro7_time readingsRegex_RTL readingsRegex_RTL2 readingsRegex_RTL2_time readingsRegex_RTL_time readingsRegex_SRTL readingsRegex_SRTL_time readingsRegex_Sat1 readingsRegex_Sat1_time readingsRegex_VOX readingsRegex_VOX_time readingsRegex_WDR readingsRegex_WDR_time readingsRegex_ZDF readingsRegex_ZDF_time timeout
attr TV_Programme group HTTPMOD
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_time DMAX_time
attr TV_Programme readingsName_KIKA KIKA
attr TV_Programme readingsName_KIKA_time KIKA_time
attr TV_Programme readingsName_Kabel1 Kabel1
attr TV_Programme readingsName_Kabel1_time Kabel1_time
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_time RTL2_time
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_SRTL SRTL
attr TV_Programme readingsName_SRTL_time SRTL_time
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_time VOX_time
attr TV_Programme readingsName_WDR WDR
attr TV_Programme readingsName_WDR_time WDR_time
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_KIKA <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_KIKA_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Kabel1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Kabel1_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SRTL <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SRTL_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_VOX_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_WDR <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_WDR_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme room TVs
attr TV_Programme timeout 60

####

define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=soon&tv-station=0&tv-stations-count=100&form_build_id=form-bf6933f78551a5d931040f5ac76c2f18&form_id=dikr_tvm_tv_guide_tv_content_filter_form 1700
attr TV_Programme_next userattr readingsName_ARD_next readingsName_ARD_next_time readingsName_DMAX_next readingsName_DMAX_next_time readingsName_KIKA_next readingsName_KIKA_next_time readingsName_Kabel1_next readingsName_Kabel1_next_time readingsName_Pro7_next readingsName_Pro7_next_time readingsName_RTL2_next readingsName_RTL2_next_time readingsName_RTL_next readingsName_RTL_next_time readingsName_SRTL_next readingsName_SRTL_next_time readingsName_Sat1_next readingsName_Sat1_next_time readingsName_VOX_next readingsName_VOX_next_time readingsName_WDR_next readingsName_WDR_next_time readingsName_ZDF_next readingsName_ZDF_next_time readingsRegex_ARD_next readingsRegex_ARD_next_time readingsRegex_DMAX_next readingsRegex_DMAX_next_time readingsRegex_KIKA_next readingsRegex_KIKA_next_time readingsRegex_Kabel1_next readingsRegex_Kabel1_next_time readingsRegex_Pro7_next readingsRegex_Pro7_next_time readingsRegex_RTL2_next readingsRegex_RTL2_next_time readingsRegex_RTL_next readingsRegex_RTL_next_time readingsRegex_SRTL_next readingsRegex_SRTL_next_time readingsRegex_Sat1_next readingsRegex_Sat1_next_time readingsRegex_VOX_next readingsRegex_VOX_next_time readingsRegex_WDR_next readingsRegex_WDR_next_time readingsRegex_ZDF_next readingsRegex_ZDF_next_time timeout
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_DMAX_next DMAX_next
attr TV_Programme_next readingsName_DMAX_next_time DMAX_next_time
attr TV_Programme_next readingsName_KIKA_next KIKA_next
attr TV_Programme_next readingsName_KIKA_next_time KIKA_next_time
attr TV_Programme_next readingsName_Kabel1_next Kabel1_next
attr TV_Programme_next readingsName_Kabel1_next_time Kabel1_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL2_next RTL2_next
attr TV_Programme_next readingsName_RTL2_next_time RTL2_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_SRTL_next SRTL_next
attr TV_Programme_next readingsName_SRTL_next_time SRTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_VOX_next VOX_next
attr TV_Programme_next readingsName_VOX_next_time VOX_next_time
attr TV_Programme_next readingsName_WDR_next WDR_next
attr TV_Programme_next readingsName_WDR_next_time WDR_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_DMAX_next <span>DMAX</[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DMAX_next_time <span>DMAX</[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_KIKA_next <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_KIKA_next_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Kabel1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Kabel1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SRTL_next <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SRTL_next_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_WDR_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_WDR_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next room TVs
attr TV_Programme_next timeout 60

###
define TV_Programme_abend HTTPMOD http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=100&time=20%3A15&form_build_id=form-7d6283c3084c54f5892900f4f74a5caf&form_id=dikr_tvm_tv_guide_tv_stations_count_form 1600
attr TV_Programme_abend userattr readingsName_ARD_abend readingsName_DMAX_abend readingsName_KIKA_abend readingsName_Kabel1_abend readingsName_Pro7_abend readingsName_RTL2_abend readingsName_RTL_abend readingsName_SRTL_abend readingsName_Sat1_abend readingsName_VOX_abend readingsName_WDR_abend readingsName_ZDF_abend readingsRegex_ARD_abend readingsRegex_DMAX_abend readingsRegex_KIKA_abend readingsRegex_Kabel1_abend readingsRegex_Pro7_abend readingsRegex_RTL2_abend readingsRegex_RTL_abend readingsRegex_SRTL_abend readingsRegex_Sat1_abend readingsRegex_VOX_abend readingsRegex_WDR_abend readingsRegex_ZDF_abend timeout
attr TV_Programme_abend readingsName_ARD_abend ARD_abend
attr TV_Programme_abend readingsName_DMAX_abend DMAX_abend
attr TV_Programme_abend readingsName_KIKA_abend KIKA_abend
attr TV_Programme_abend readingsName_Kabel1_abend Kabel1_abend
attr TV_Programme_abend readingsName_Pro7_abend Pro7_abend
attr TV_Programme_abend readingsName_RTL2_abend RTL2_abend
attr TV_Programme_abend readingsName_RTL_abend RTL_abend
attr TV_Programme_abend readingsName_SRTL_abend SRTL_abend
attr TV_Programme_abend readingsName_Sat1_abend Sat1_abend
attr TV_Programme_abend readingsName_VOX_abend VOX_abend
attr TV_Programme_abend readingsName_WDR_abend WDR_abend
attr TV_Programme_abend readingsName_ZDF_abend ZDF_abend
attr TV_Programme_abend readingsRegex_ARD_abend <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_DMAX_abend <span>DMAX</[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_KIKA_abend <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Kabel1_abend <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Pro7_abend <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_RTL2_abend <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_RTL_abend <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_SRTL_abend <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Sat1_abend <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_VOX_abend <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_WDR_abend <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_ZDF_abend <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend room TVs
attr TV_Programme_abend timeout 60

###

define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>,<Abend>\
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next,ARD_abend@TV_Programme_abend\
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next,ZDF_abend@TV_Programme_abend\
TV_Programme_next:WDR_time@TV_Programme,WDR@TV_Programme,WDR_next_time,WDR_next,WDR_abend@TV_Programme_abend\
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next,RTL_abend@TV_Programme_abend\
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next,Sat1_abend@TV_Programme_abend\
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next,Pro7_abend@TV_Programme_abend\
TV_Programme_next:RTL2_time@TV_Programme,RTL2@TV_Programme,RTL2_next_time,RTL2_next,RTL2_abend@TV_Programme_abend\
TV_Programme_next:Kabel1_time@TV_Programme,Kabel1@TV_Programme,Kabel1_next_time,Kabel1_next,Kabel1_abend@TV_Programme_abend\
TV_Programme_next:VOX_time@TV_Programme,VOX@TV_Programme,VOX_next_time,VOX_next,VOX_abend@TV_Programme_abend\
TV_Programme_next:DMAX_time@TV_Programme,DMAX@TV_Programme,DMAX_next_time,DMAX_next,DMAX_abend@TV_Programme_abend\
TV_Programme_next:SRTL_time@TV_Programme,SRTL@TV_Programme,SRTL_next_time,SRTL_next,SRTL_abend@TV_Programme_abend\
TV_Programme_next:KIKA_time@TV_Programme,KIKA@TV_Programme,KIKA_next_time,KIKA_next,KIKA_abend@TV_Programme_abend\
attr TV_Programm fp_Fernsehen 309,224,0,
attr TV_Programm fp_Fernsehen 251,226,0,
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { ARD_time => 'ard', ZDF_time => 'zdf', WDR_time => 'wdr', Pro7_time => 'pro7', RTL2_time => 'rtl2', Kabel1_time => 'kabel1', VOX_time => 'vox', DMAX_time => 'dmax', SRTL_time => 'superrtl', KIKA_time => 'kika', Sat1_time => 'sat1', RTL_time => 'rtl' }
attr TV_Programm room TVs




define WohnzimmerTV STV 192.168.X.X 55000
attr WohnzimmerTV fp_Fernsehen 149,989,0,
attr WohnzimmerTV group HIFI
attr WohnzimmerTV room Wohnzimmer

##SenderDummy###################################################################


###ARD########################
define ARD dummy
attr ARD devStateIcon on:ard off:ard
attr ARD fp_Fernsehen 46,215,0,
attr ARD group TV_Sender
attr ARD icon ard
attr ARD room Wohnzimmer,TVs
attr ARD setList on off
attr ARD webCmd toggle:on:off

define ntfy_ARD notify ARD:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:34 set WohnzimmerTV 1");;\
}\
}

###ZDF########################
define ZDF dummy
attr ZDF devStateIcon on:zdf off:zdf
attr ZDF fp_Fernsehen 46,312,0,
attr ZDF group TV_Sender
attr ZDF icon zdf
attr ZDF room Wohnzimmer,TVs
attr ZDF setList on off
attr ZDF webCmd toggle:on:off

define ntfy_ZDF notify ZDF:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 2");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 2");;\
}\
}
###WDR########################
define WDR dummy
attr WDR devStateIcon off:wdr on:wdr
attr WDR fp_Fernsehen 46,423,0,
attr WDR group TV_Sender
attr WDR icon wdr
attr WDR room Wohnzimmer,TVs
attr WDR setList on off
attr WDR webCmd toggle:on:off

define ntfy_WDR notify WDR:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 3");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 3");;\
}\
}

###RTL########################
define RTL dummy
attr RTL devStateIcon on:rtl off:rtl
attr RTL fp_Fernsehen 46,548,0,
attr RTL group TV_Sender
attr RTL icon rtl
attr RTL room Wohnzimmer,TVs
attr RTL setList on off
attr RTL webCmd toggle:on:off

define ntfy_RTL notify RTL:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 4");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 4");;\
}\
}

###Sat1########################
define Sat1 dummy
attr Sat1 devStateIcon on:sat1 off:sat1
attr Sat1 fp_Fernsehen 46,661,0,
attr Sat1 group TV_Sender
attr Sat1 icon sat1
attr Sat1 room Wohnzimmer,TVs
attr Sat1 setList on off
attr Sat1 webCmd toggle:on:off

define ntfy_Sat1 notify Sat1:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 5");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 5");;\
}\
}

###Pro7########################
define Pro7 dummy
attr Pro7 devStateIcon on:pro7 off:pro7
attr Pro7 fp_Fernsehen 86,208,0,
attr Pro7 group TV_Sender
attr Pro7 icon pro7
attr Pro7 room Wohnzimmer,TVs
attr Pro7 setList on off
attr Pro7 webCmd toggle:on:off

define ntfy_Pro7 notify Pro7:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 6");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:31 set Pro7 on");;\
}\
}

###RTL2########################
define RTL2 dummy
attr RTL2 devStateIcon on:rtl2 off:rtl2
attr RTL2 fp_Fernsehen 84,307,0,
attr RTL2 group TV_Sender
attr RTL2 icon rtl2
attr RTL2 room Wohnzimmer,TVs
attr RTL2 setList on off
attr RTL2 webCmd toggle:on:off

define ntfy_RTL2 notify RTL2:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 7");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 6");;\
}\
}

###Kabel1########################
define Kabel1 dummy
attr Kabel1 devStateIcon on:kabel1 off:kabel1
attr Kabel1 fp_Fernsehen 86,418,0,
attr Kabel1 group TV_Sender
attr Kabel1 icon kabel1
attr Kabel1 room Wohnzimmer,TVs
attr Kabel1 setList on off
attr Kabel1 webCmd toggle:on:off

define ntfy_Kabel1 notify Kabel1:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 8");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 6");;\
}\
}

###VOX########################
define VOX dummy
attr VOX devStateIcon on:vox off:vox
attr VOX fp_Fernsehen 86,548,0,
attr VOX group TV_Sender
attr VOX icon vox
attr VOX room Wohnzimmer,TVs
attr VOX setList on off
attr VOX webCmd toggle:on:off

define ntfy_VOX notify VOX:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 9");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 9");;\
}\
}

###DMAX########################
define DMAX dummy
attr DMAX devStateIcon on:dmax off:dmax
attr DMAX fp_Fernsehen 84,665,0,
attr DMAX group TV_Sender
attr DMAX icon dmax
attr DMAX room Wohnzimmer,TVs
attr DMAX setList on off
attr DMAX webCmd toggle:on:off

define ntfy_DMAX notify DMAX:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
fhem("set WohnzimmerTV 0");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 10");;\
}\
}

###superrtl########################
define superrtl dummy
attr superrtl devStateIcon on:superrtl off:superrtl
attr superrtl fp_Fernsehen 133,211,0,
attr superrtl group TV_Sender
attr superrtl icon superrtl
attr superrtl room Wohnzimmer,TVs
attr superrtl setList on off
attr superrtl webCmd toggle:on:off

define ntfy_superrtl notify superrtl:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
fhem("set WohnzimmerTV 1");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 11");;\
}\
}

###kika########################
define kika dummy
attr kika devStateIcon on:kika off:kika
attr kika fp_Fernsehen 132,313,0,
attr kika group TV_Sender
attr kika icon kika
attr kika room Wohnzimmer,TVs
attr kika setList on off
attr kika webCmd toggle:on:off

define ntfy_kika notify kika:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
fhem("set WohnzimmerTV 2");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 11");;\
}\
}

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: AK-868 am 26 Dezember 2014, 21:51:11
Zitat von: AK-868 am 26 Dezember 2014, 21:13:12
Hallo zusammen...

ich hab auch was gebaut, damit es nicht komplett umsonst ist. Poste ich das hier mal.

Wenn ich das einbaue, dann läuft mein FHEM nicht mehr... Vermutlich mangels resourcen.

Enthalten eine TV Liste
Floorplan
Oh die Symbole müssen noch einkopiert werden www default
Steuerung für Samsung TV und der Sender.
TV muss definiert werden. Eig. als Aktor für den TV.
Da müssten noch die Zeiten angepasst werden. Sonst ist es ziemlich fertig.



define Fernsehen FLOORPLAN
attr Fernsehen fp_arrange 1

###########################
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form 1800
attr TV_Programme userattr readingsName_ARD readingsName_ARD_time readingsName_DMAX readingsName_DMAX_time readingsName_KIKA readingsName_KIKA_time readingsName_Kabel1 readingsName_Kabel1_time readingsName_Pro7 readingsName_Pro7_time readingsName_RTL readingsName_RTL2 readingsName_RTL2_time readingsName_RTL_time readingsName_SRTL readingsName_SRTL_time readingsName_Sat1 readingsName_Sat1_time readingsName_VOX readingsName_VOX_time readingsName_WDR readingsName_WDR_time readingsName_ZDF readingsName_ZDF_time readingsRegex_ARD readingsRegex_ARD_time readingsRegex_DMAX readingsRegex_DMAX_time readingsRegex_KIKA readingsRegex_KIKA_time readingsRegex_Kabel1 readingsRegex_Kabel1_time readingsRegex_Pro7 readingsRegex_Pro7_time readingsRegex_RTL readingsRegex_RTL2 readingsRegex_RTL2_time readingsRegex_RTL_time readingsRegex_SRTL readingsRegex_SRTL_time readingsRegex_Sat1 readingsRegex_Sat1_time readingsRegex_VOX readingsRegex_VOX_time readingsRegex_WDR readingsRegex_WDR_time readingsRegex_ZDF readingsRegex_ZDF_time timeout
attr TV_Programme group HTTPMOD
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_time DMAX_time
attr TV_Programme readingsName_KIKA KIKA
attr TV_Programme readingsName_KIKA_time KIKA_time
attr TV_Programme readingsName_Kabel1 Kabel1
attr TV_Programme readingsName_Kabel1_time Kabel1_time
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_time Pro7_time
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_time RTL2_time
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_SRTL SRTL
attr TV_Programme readingsName_SRTL_time SRTL_time
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_time Sat1_time
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_time VOX_time
attr TV_Programme readingsName_WDR WDR
attr TV_Programme readingsName_WDR_time WDR_time
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_DMAX <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_KIKA <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_KIKA_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Kabel1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Kabel1_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SRTL <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SRTL_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_VOX_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_WDR <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_WDR_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme room TVs
attr TV_Programme timeout 60

####

define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=soon&tv-station=0&tv-stations-count=100&form_build_id=form-bf6933f78551a5d931040f5ac76c2f18&form_id=dikr_tvm_tv_guide_tv_content_filter_form 1700
attr TV_Programme_next userattr readingsName_ARD_next readingsName_ARD_next_time readingsName_DMAX_next readingsName_DMAX_next_time readingsName_KIKA_next readingsName_KIKA_next_time readingsName_Kabel1_next readingsName_Kabel1_next_time readingsName_Pro7_next readingsName_Pro7_next_time readingsName_RTL2_next readingsName_RTL2_next_time readingsName_RTL_next readingsName_RTL_next_time readingsName_SRTL_next readingsName_SRTL_next_time readingsName_Sat1_next readingsName_Sat1_next_time readingsName_VOX_next readingsName_VOX_next_time readingsName_WDR_next readingsName_WDR_next_time readingsName_ZDF_next readingsName_ZDF_next_time readingsRegex_ARD_next readingsRegex_ARD_next_time readingsRegex_DMAX_next readingsRegex_DMAX_next_time readingsRegex_KIKA_next readingsRegex_KIKA_next_time readingsRegex_Kabel1_next readingsRegex_Kabel1_next_time readingsRegex_Pro7_next readingsRegex_Pro7_next_time readingsRegex_RTL2_next readingsRegex_RTL2_next_time readingsRegex_RTL_next readingsRegex_RTL_next_time readingsRegex_SRTL_next readingsRegex_SRTL_next_time readingsRegex_Sat1_next readingsRegex_Sat1_next_time readingsRegex_VOX_next readingsRegex_VOX_next_time readingsRegex_WDR_next readingsRegex_WDR_next_time readingsRegex_ZDF_next readingsRegex_ZDF_next_time timeout
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_DMAX_next DMAX_next
attr TV_Programme_next readingsName_DMAX_next_time DMAX_next_time
attr TV_Programme_next readingsName_KIKA_next KIKA_next
attr TV_Programme_next readingsName_KIKA_next_time KIKA_next_time
attr TV_Programme_next readingsName_Kabel1_next Kabel1_next
attr TV_Programme_next readingsName_Kabel1_next_time Kabel1_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL2_next RTL2_next
attr TV_Programme_next readingsName_RTL2_next_time RTL2_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_SRTL_next SRTL_next
attr TV_Programme_next readingsName_SRTL_next_time SRTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_VOX_next VOX_next
attr TV_Programme_next readingsName_VOX_next_time VOX_next_time
attr TV_Programme_next readingsName_WDR_next WDR_next
attr TV_Programme_next readingsName_WDR_next_time WDR_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_DMAX_next <span>DMAX</[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_DMAX_next_time <span>DMAX</[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_KIKA_next <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_KIKA_next_time <span>KI.KA<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Kabel1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Kabel1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SRTL_next <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SRTL_next_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_WDR_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_WDR_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next room TVs
attr TV_Programme_next timeout 60

###
define TV_Programme_abend HTTPMOD http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=100&time=20%3A15&form_build_id=form-7d6283c3084c54f5892900f4f74a5caf&form_id=dikr_tvm_tv_guide_tv_stations_count_form 1600
attr TV_Programme_abend userattr readingsName_ARD_abend readingsName_DMAX_abend readingsName_KIKA_abend readingsName_Kabel1_abend readingsName_Pro7_abend readingsName_RTL2_abend readingsName_RTL_abend readingsName_SRTL_abend readingsName_Sat1_abend readingsName_VOX_abend readingsName_WDR_abend readingsName_ZDF_abend readingsRegex_ARD_abend readingsRegex_DMAX_abend readingsRegex_KIKA_abend readingsRegex_Kabel1_abend readingsRegex_Pro7_abend readingsRegex_RTL2_abend readingsRegex_RTL_abend readingsRegex_SRTL_abend readingsRegex_Sat1_abend readingsRegex_VOX_abend readingsRegex_WDR_abend readingsRegex_ZDF_abend timeout
attr TV_Programme_abend readingsName_ARD_abend ARD_abend
attr TV_Programme_abend readingsName_DMAX_abend DMAX_abend
attr TV_Programme_abend readingsName_KIKA_abend KIKA_abend
attr TV_Programme_abend readingsName_Kabel1_abend Kabel1_abend
attr TV_Programme_abend readingsName_Pro7_abend Pro7_abend
attr TV_Programme_abend readingsName_RTL2_abend RTL2_abend
attr TV_Programme_abend readingsName_RTL_abend RTL_abend
attr TV_Programme_abend readingsName_SRTL_abend SRTL_abend
attr TV_Programme_abend readingsName_Sat1_abend Sat1_abend
attr TV_Programme_abend readingsName_VOX_abend VOX_abend
attr TV_Programme_abend readingsName_WDR_abend WDR_abend
attr TV_Programme_abend readingsName_ZDF_abend ZDF_abend
attr TV_Programme_abend readingsRegex_ARD_abend <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_DMAX_abend <span>DMAX</[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_KIKA_abend <span>KI.KA<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Kabel1_abend <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Pro7_abend <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_RTL2_abend <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_RTL_abend <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_SRTL_abend <span>Super RTL<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Sat1_abend <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_VOX_abend <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_WDR_abend <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_ZDF_abend <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend room TVs
attr TV_Programme_abend timeout 60

###

define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>,<Abend>\
TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,ARD_next_time,ARD_next,ARD_abend@TV_Programme_abend\
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,ZDF_next_time,ZDF_next,ZDF_abend@TV_Programme_abend\
TV_Programme_next:WDR_time@TV_Programme,WDR@TV_Programme,WDR_next_time,WDR_next,WDR_abend@TV_Programme_abend\
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,RTL_next_time,RTL_next,RTL_abend@TV_Programme_abend\
TV_Programme_next:Sat1_time@TV_Programme,Sat1@TV_Programme,Sat1_next_time,Sat1_next,Sat1_abend@TV_Programme_abend\
TV_Programme_next:Pro7_time@TV_Programme,Pro7@TV_Programme,Pro7_next_time,Pro7_next,Pro7_abend@TV_Programme_abend\
TV_Programme_next:RTL2_time@TV_Programme,RTL2@TV_Programme,RTL2_next_time,RTL2_next,RTL2_abend@TV_Programme_abend\
TV_Programme_next:Kabel1_time@TV_Programme,Kabel1@TV_Programme,Kabel1_next_time,Kabel1_next,Kabel1_abend@TV_Programme_abend\
TV_Programme_next:VOX_time@TV_Programme,VOX@TV_Programme,VOX_next_time,VOX_next,VOX_abend@TV_Programme_abend\
TV_Programme_next:DMAX_time@TV_Programme,DMAX@TV_Programme,DMAX_next_time,DMAX_next,DMAX_abend@TV_Programme_abend\
TV_Programme_next:SRTL_time@TV_Programme,SRTL@TV_Programme,SRTL_next_time,SRTL_next,SRTL_abend@TV_Programme_abend\
TV_Programme_next:KIKA_time@TV_Programme,KIKA@TV_Programme,KIKA_next_time,KIKA_next,KIKA_abend@TV_Programme_abend\
attr TV_Programm fp_Fernsehen 309,224,0,
attr TV_Programm fp_Fernsehen 251,226,0,
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { ARD_time => 'ard', ZDF_time => 'zdf', WDR_time => 'wdr', Pro7_time => 'pro7', RTL2_time => 'rtl2', Kabel1_time => 'kabel1', VOX_time => 'vox', DMAX_time => 'dmax', SRTL_time => 'superrtl', KIKA_time => 'kika', Sat1_time => 'sat1', RTL_time => 'rtl' }
attr TV_Programm room TVs




define WohnzimmerTV STV 192.168.X.X 55000
attr WohnzimmerTV fp_Fernsehen 149,989,0,
attr WohnzimmerTV group HIFI
attr WohnzimmerTV room Wohnzimmer

##SenderDummy###################################################################


###ARD########################
define ARD dummy
attr ARD devStateIcon on:ard off:ard
attr ARD fp_Fernsehen 46,215,0,
attr ARD group TV_Sender
attr ARD icon ard
attr ARD room Wohnzimmer,TVs
attr ARD setList on off
attr ARD webCmd toggle:on:off

define ntfy_ARD notify ARD:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:34 set WohnzimmerTV 1");;\
}\
}

###ZDF########################
define ZDF dummy
attr ZDF devStateIcon on:zdf off:zdf
attr ZDF fp_Fernsehen 46,312,0,
attr ZDF group TV_Sender
attr ZDF icon zdf
attr ZDF room Wohnzimmer,TVs
attr ZDF setList on off
attr ZDF webCmd toggle:on:off

define ntfy_ZDF notify ZDF:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 2");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 2");;\
}\
}
###WDR########################
define WDR dummy
attr WDR devStateIcon off:wdr on:wdr
attr WDR fp_Fernsehen 46,423,0,
attr WDR group TV_Sender
attr WDR icon wdr
attr WDR room Wohnzimmer,TVs
attr WDR setList on off
attr WDR webCmd toggle:on:off

define ntfy_WDR notify WDR:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 3");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 3");;\
}\
}

###RTL########################
define RTL dummy
attr RTL devStateIcon on:rtl off:rtl
attr RTL fp_Fernsehen 46,548,0,
attr RTL group TV_Sender
attr RTL icon rtl
attr RTL room Wohnzimmer,TVs
attr RTL setList on off
attr RTL webCmd toggle:on:off

define ntfy_RTL notify RTL:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 4");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 4");;\
}\
}

###Sat1########################
define Sat1 dummy
attr Sat1 devStateIcon on:sat1 off:sat1
attr Sat1 fp_Fernsehen 46,661,0,
attr Sat1 group TV_Sender
attr Sat1 icon sat1
attr Sat1 room Wohnzimmer,TVs
attr Sat1 setList on off
attr Sat1 webCmd toggle:on:off

define ntfy_Sat1 notify Sat1:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 5");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 5");;\
}\
}

###Pro7########################
define Pro7 dummy
attr Pro7 devStateIcon on:pro7 off:pro7
attr Pro7 fp_Fernsehen 86,208,0,
attr Pro7 group TV_Sender
attr Pro7 icon pro7
attr Pro7 room Wohnzimmer,TVs
attr Pro7 setList on off
attr Pro7 webCmd toggle:on:off

define ntfy_Pro7 notify Pro7:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 6");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:31 set Pro7 on");;\
}\
}

###RTL2########################
define RTL2 dummy
attr RTL2 devStateIcon on:rtl2 off:rtl2
attr RTL2 fp_Fernsehen 84,307,0,
attr RTL2 group TV_Sender
attr RTL2 icon rtl2
attr RTL2 room Wohnzimmer,TVs
attr RTL2 setList on off
attr RTL2 webCmd toggle:on:off

define ntfy_RTL2 notify RTL2:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 7");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 6");;\
}\
}

###Kabel1########################
define Kabel1 dummy
attr Kabel1 devStateIcon on:kabel1 off:kabel1
attr Kabel1 fp_Fernsehen 86,418,0,
attr Kabel1 group TV_Sender
attr Kabel1 icon kabel1
attr Kabel1 room Wohnzimmer,TVs
attr Kabel1 setList on off
attr Kabel1 webCmd toggle:on:off

define ntfy_Kabel1 notify Kabel1:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 8");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 6");;\
}\
}

###VOX########################
define VOX dummy
attr VOX devStateIcon on:vox off:vox
attr VOX fp_Fernsehen 86,548,0,
attr VOX group TV_Sender
attr VOX icon vox
attr VOX room Wohnzimmer,TVs
attr VOX setList on off
attr VOX webCmd toggle:on:off

define ntfy_VOX notify VOX:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 9");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 9");;\
}\
}

###DMAX########################
define DMAX dummy
attr DMAX devStateIcon on:dmax off:dmax
attr DMAX fp_Fernsehen 84,665,0,
attr DMAX group TV_Sender
attr DMAX icon dmax
attr DMAX room Wohnzimmer,TVs
attr DMAX setList on off
attr DMAX webCmd toggle:on:off

define ntfy_DMAX notify DMAX:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
fhem("set WohnzimmerTV 0");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 10");;\
}\
}

###superrtl########################
define superrtl dummy
attr superrtl devStateIcon on:superrtl off:superrtl
attr superrtl fp_Fernsehen 133,211,0,
attr superrtl group TV_Sender
attr superrtl icon superrtl
attr superrtl room Wohnzimmer,TVs
attr superrtl setList on off
attr superrtl webCmd toggle:on:off

define ntfy_superrtl notify superrtl:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
fhem("set WohnzimmerTV 1");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 11");;\
}\
}

###kika########################
define kika dummy
attr kika devStateIcon on:kika off:kika
attr kika fp_Fernsehen 132,313,0,
attr kika group TV_Sender
attr kika icon kika
attr kika room Wohnzimmer,TVs
attr kika setList on off
attr kika webCmd toggle:on:off

define ntfy_kika notify kika:.* {\
if(ReadingsVal("TV", "state", "Aus") eq "on")\
{\
fhem("set WohnzimmerTV 1");;\
fhem("set WohnzimmerTV 2");;\
}\
else\
{\
fhem("set TV on");;\
fhem("define verzoegert_TV_an at +00:00:10 set WohnzimmerTV 11");;\
}\
}


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 27 Dezember 2014, 13:44:02
Hab jetzt neuerdings diese Meldungen, die hatte ich früher nie, was kann das sein?
2014.12.27 12:35:05.403 3: TV_Programme_next: read callback: request type was Update,
header: HTTP/1.1 200 OK
Server: Apache
Last-Modified: Sat, 27 Dec 2014 11:25:03 +0000
Vary: Cookie,Accept-Encoding
ETag: "1419679503"-gzip
Content-Type: text/html; charset=utf-8
Cache-Control: max-age=36000
X-Cacheable: YES
Date: Sat, 27 Dec 2014 11:29:28 GMT
Connection: close
X-Server: 01
age: 0
X-Cache: HIT
X-Cache-Hits: 3, buffer empty,
Error read from http://www.tvmovie.de:80 timed out
2014.12.27 12:50:05.398 3: TV_Programme: read callback: request type was Update,
header: HTTP/1.1 200 OK
Server: Apache
Last-Modified: Sat, 27 Dec 2014 11:38:08 +0000
Vary: Cookie,Accept-Encoding
ETag: "1419680288"-gzip
Content-Type: text/html; charset=utf-8
cache-control: max-age=900
X-Cacheable: YES
Date: Sat, 27 Dec 2014 11:43:37 GMT
Connection: close
X-Server: 01
age: 0
X-Cache: HIT
X-Cache-Hits: 30, buffer empty,
Error read from http://www.tvmovie.de:80 timed out
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 28 Dezember 2014, 21:51:44
hallo allerseits,
genial was hier wieder in FHEM integriert wurde
auch wenn ich mal wieder Stunden lesen und probieren musste.
Wie bei so vielen anderen Features von FHEM wäre es schön wenn im ersten Post oder im Wiki das nötige Equipment zu finden wäre.
Hab den ganzen Thread bestimmt 2 oder 3 mal gelesen, ..
Das umschalten klappt zwar noch nicht aber zumindest bekomme ich meine 15 Programme mit Icons angezeigt.
:-)
einfach obercool
sogar das aktualisieren klappt.
neben Callmonitor Benzinpreis und vielen anderen tollen Tools wieder geniale Arbeit der Entwickler.
Noch mehr begeisterte user gäbe es bestimmt wenn man sich das alles nicht so mühsam zusammensuchen müsste,
nur als Anregung nicht als Kritik !!!!!!!!!111

Es wäre schön wenn im ersten Post bei Neuentwicklugnen immer ein funktionierendes beispiel wäre.
hier 5 Programme.
den Rest kann man sich ja dann erarbeiten.
Thanks an alle die ihre cfg hier gepostet haben.
ohne das hätte ich sicher keine chance gehabt das zu realisieren
:D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 29 Dezember 2014, 21:08:45
Hallo würde die Steuerung nun auch gerne angehen
Den ganzen Thread nochmal durchgegangen,
@Tommy
kannst du mir mal deinen aktuellen Teil aus der fhem.cfg  und die util posten, du hast ja doch ne Menge Probleme gehabt
da ich auch Anfänger bin eben kein Itler

Hab nen LG2011
hier meine Definition der LG TV Fernbedienung ( war damals auch ein Kampf mit Hilfe des Entwicklers, jetzt können es alle mti LG nutzen :-)  )

####################################################################
###########      LG TV  incl Fernbedieung                   ########
####################################################################


define LG_TV LGTV2011 192.168.178.32
attr LG_TV loglevel 0
attr LG_TV pairingcode GLLMANN
attr LG_TV room TV


define LG_remote remotecontrol
attr LG_remote group TVF
attr LG_remote rc_iconpath icons/remotecontrol
attr LG_remote rc_iconprefix black_btn_
attr LG_remote room TVTest
attr LG_remote row00 power_off:POWEROFF,tv:TV,hdmi:HDMI
attr LG_remote row01 :blank,:blank,:blank
attr LG_remote row02 one:1,two:2,three:3
attr LG_remote row03 four:4,five:5,six:6
attr LG_remote row04 seven:7,eight:8,nine:9
attr LG_remote row05 channel_back:PRECH,zero:0,favorites:FAV
attr LG_remote row06 :blank,:blank,:blank
attr LG_remote row07 volume_up:UP,mute:MUTE,channel_up:UP
attr LG_remote row08 :VOL,:blank,:PROG
attr LG_remote row09 volume_down:DOWN,channel_list:CH_LIST,channel_down:DOWN
attr LG_remote row10 quick_menu:MENU,teletext:TEXT,guide:GUIDE
attr LG_remote row11 :blank,:blank,:blank
attr LG_remote row12 tools:TOOLS,up:UP,info:INFO
attr LG_remote row13 left:LEFT,enter:ENTER,right:RIGHT
attr LG_remote row14 return:RETURN,down:DOWN,exit:EXIT



define notify_LG_remote notify LG_remote set LG_TV $EVENT



da muss dann im code wohl einiges geändert werden. Wenn man es schon mal gemacht hat, sieht man es sicher sofort
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 29 Dezember 2014, 22:04:09
Hi,
ich habe in meiner 99_myUtils
############################### TV Programm ########################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


und in meiner fhem.cfg
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 300
attr TV_Programme userattr readingsName_ARD readingsName_KABEL_1 readingsName_Pro7 readingsName_RTL readingsName_Sat1 readingsName_Sport1 readingsName_VOX readingsName_ZDF readingsName_rtl2 readingsRegex_ARD readingsRegex_KABEL_1 readingsRegex_Pro7 readingsRegex_RTL readingsRegex_Sat1 readingsRegex_Sport1 readingsRegex_VOX readingsRegex_ZDF readingsRegex_rtl2 stateFormat timeout
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_KABEL_1 KABEL_1
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sport1 Sport1
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_KABEL_1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Pro7 <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sat1 <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sport1 <span>Sport1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 300
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 300
attr TV_Programme_next userattr readingsName_ARD_next readingsName_ARD_next_time readingsName_KABEL_1_next readingsName_KABEL_1_next_time readingsName_Pro7_next readingsName_Pro7_next_time readingsName_RTL_next readingsName_RTL_next_time readingsName_Sat1_next readingsName_Sat1_next_time readingsName_Sport1_next readingsName_Sport1_next_time readingsName_VOX_next readingsName_VOX_next_time readingsName_ZDF_next readingsName_ZDF_next_time readingsName_rtl2_next readingsName_rtl2_next_time readingsRegex_ARD_next readingsRegex_ARD_next_time readingsRegex_KABEL_1_next readingsRegex_KABEL_1_next_time readingsRegex_Pro7_next readingsRegex_Pro7_next_time readingsRegex_RTL_next readingsRegex_RTL_next_time readingsRegex_Sat1_next readingsRegex_Sat1_next_time readingsRegex_Sport1_next readingsRegex_Sport1_next_time readingsRegex_VOX_next readingsRegex_VOX_next_time readingsRegex_ZDF_next readingsRegex_ZDF_next_time readingsRegex_rtl2_next readingsRegex_rtl2_next_time stateFormat timeout
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_KABEL_1_next KABEL_1_next
attr TV_Programme_next readingsName_KABEL_1_next_time KABEL_1_next_time
attr TV_Programme_next readingsName_Pro7_next Pro7_next
attr TV_Programme_next readingsName_Pro7_next_time Pro7_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_Sat1_next Sat1_next
attr TV_Programme_next readingsName_Sat1_next_time Sat1_next_time
attr TV_Programme_next readingsName_Sport1_next Sport1_next
attr TV_Programme_next readingsName_Sport1_next_time Sport1_next_time
attr TV_Programme_next readingsName_VOX_next VOX_next
attr TV_Programme_next readingsName_VOX_next_time VOX_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_KABEL_1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_KABEL_1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Pro7_next <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sat1_next <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sport1_next <span>Sport1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sport1_next_time <span>Sport1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 300


Aber du weisst ja, die fhem.cfg soll man nicht manuell bearbeiten!

Des weiteren läuft das bei mir ja auch auf einem VU-Ultimo den ich damit schalte, wenn ich dich richtig verstehe willst du es ja mit einem LG Fernseher machen!?
Da muss bestimmt das ein oder andere angepasst werden, denk mal das der LG eher auf Nummern, alswie auf Programm Namen geht!? War zumindest hier im Thread bei anderen Fernsehern so.

MFG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 29 Dezember 2014, 22:06:54
Wenn du die Sender mittels Nummern statt Namen wechselst brauchst du eher die sub:

sub
switchChannel($)
{
  my %channellist = (
    ard => '1',
    zdf => '2',
    mdr => '3',
    rtl => '43',
    rtl1 => '43',
    rtl2 => '44',
    vox => '45',
    sat1 => '46',
    pro7 => '47',
    kabel1 => '48',
    dmax => '53',
    kika => '50',
    superrtl => '49'   
  );
 
  my $TVDevice = 'DG.wz.TV.WohnzimmerTV';

  my ($channel) = @_;
 
  if ($channel eq 'closebutton')
  {
    fhem('set DG.wz.TV.Programm.RG visibility hide');
    return;
  }

  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split("", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    $command = $command.'; set '.$TVDevice.' ENTER';
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('DG.wz.TV.Programm', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 29 Dezember 2014, 22:08:58
ok
thanks probiere das mal

wenn ich einen Senderwechsel mit set machen will brauche ich das hier:

set LG_remote  one

aber Programm 11
weder set LG_remote  one one
noch set LG_remote  ten
noch set LG_remote  wrd

funktioniert
hab von Anfang an immer in meiner cfg rumgebastelt, hat am Anfang durchaus Probleme gemacht
aber nach und nach hab ich die Syntax verstanden

durch Hinweise in cer cfg finde ich dann auch Monate später mich noch dort zurecht
irgendwei hab ich das über die FHEM Oberfläche nie richtig verstanden, kann das eine oder andere da zwar auch
aber direkt in der cfg funktioniert es bei mir definitiv besser

das nur so am Rande
das Modell hab ich schon ausgetauscht
mal sehen was passier
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 29 Dezember 2014, 22:42:16
so hab mir alles angeschaut und das hier definiert

fhem.cfg

################################################################
########       Dummy Senderwechsel                   ###########
####    http://forum.fhem.de/index.php/topic,28123.150.html  ###
################################################################
define LG_remote.Senderwechsel dummy
attr LG_remote.Senderwechsel room TV
attr LG_remote.Senderwechsel setList ard zdf wdr sat1 rtl rtl2 pro7 vox kabel1 dmax KiKa SuperRTL

define LG_remote.Senderwechsel.nf notify LG_remote.Senderwechsel.* {switchChannel('%EVENT')}
attr LG_remote.Senderwechsel.nf room TV

define DG.wz.TV.Programm.RG readingsGroup ...
attr DG.wz.TV.Programm.RG commands {"set LG_remote.Senderwechsel %READING"}


99_myutils.pm
sub
switchChannel($)
{
  my %channellist = (
    ard => 'one',
    zdf => 'two',
    wdr => 'three',
    rtl => 'four',
    rtl1 => 'four',
    rtl2 => 'eight',
    vox => 'six',
    sat1 => 'five',
    pro7 => '47',
    kabel1 => '48',
    dmax => 'nine',
       
  );
 
   my $TVDevice = 'LG_remote';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split("", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    $command = $command.'; set '.$TVDevice.' ENTER';
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('LG_remote.dann', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room TV');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


dann save
shutdown restart
neues Browser Fenster
bei Klick auf Sender Icon keine Reaktion bisher
da ist bestimmt was mit den Namen noch nicht ok ?!
mit den Punkten etc bin ich noch etwas verwirrt
DG.wz.TV.WohnzimmerTV.Senderwechsel
so war es vorher
mal sehen

hab wohl das gleiche Problem wie tomy
etwas verwirrend sind die Punkte in den Bezeichnungen habe Post 170 oder so noch mal gelesen...
ist glaube ich schon was spät
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 30 Dezember 2014, 07:45:59
Wir fangen mal ganz am Anfang an: wie wechselst du mit fhem deinen Fernsehsender (nicht mit remote Modul) ?Muss ja sowas wie
set LG_TV 1[\code]
sein? Die Funktion soll nicht mit dem Fernbedienungsmodul sprechen sondern direkt mit dem Fernseher (war das verständlich - ist ganz schön früh)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 30 Dezember 2014, 21:58:35
Hallo
Sorry hatte heute überhaupt keine zeit...
Die Erkältungswelle rollt und die meisten Kollegen sind im Urlaub.
Bin erst spät nach Hause gekommen und  musste  dann den medicus sehen
da wollte auch einer verstehen und nicht nur einfach machen
werde mich morgen im Laufe des nachmittags damit beschäftigen.
Prinzipiell versteh ich das wohl schon was da passieren muss/soll
Wäre toll wenn du mich da unterstützen könntest das näher zu verstehen,
bin auch bereit viel zu lesen, denn ich will nicht nur das es funktioniert
ich will auch verstehen warum
Thanks
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 30 Dezember 2014, 22:00:18
Kein Problem, im Fall von Tommy82 haben wir es ja auch hinbekommen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 30 Dezember 2014, 22:25:20
thanks
sollte ja noch was an Konzentration über sein
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 31 Dezember 2014, 18:04:10
Hallo RoBra
wenn ich also  in der FHME Befehlszeile
set LG_remote two
eingeben, wechselt er zum ZDF liegt bei mir auf 2
wenn ich
set LG_remote three
eingebe wechselt er direkt auf wdr was bei mir auf 3 liegt

wie Kanal 10 erreicht werden kann ??
hab da zb
set LG_remote ten
eingegeben
da passiert gar nichts
wenn ich aber
set LG_remote one zero
eingebe springt er ins 1.

set LG_remote zdf
zb funktioniert auch nicht.
wenn ich zumindest 1-9 schalten könnte wäre ja schon mal was


Ich bin bei dir wegen der Geräte-Bezeichnungen mit den Punkten etwas durcheinandergekommen....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 01 Januar 2015, 12:23:17
Was passiert, wenn du
set LG_TV 1; set LG_TV 0
eingibst?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 01 Januar 2015, 12:52:24
also wenn ich den kompletten code den du gepostet hast in der commandozeile eingebe
kommt das hier


Unknown argument 1, choose one of audio_description audio_language av1 av2 av3 av_mode back blue channel_back channel_down channel_list channel_up cinema_zoom component component_rgb_hdmi displayPairingCode down eight energy_saving exit_cmd factory_advanced_menu1 factory_advanced_menu2 factory_picture_check factory_sound_check fast_forward favorites five four green greyed_out_add_button guide hdmi hdmi1 hdmi2 hdmi3 hdmi4 home_menu info input installation_menu left live_tv mute nine one pair pause picture_mode play power_off premium_menu quick_menu ratio ratio_16_9 ratio_4_3 record red rewind rgb right select_cmd seven simplink six sleep_timer slideshow_usb1 slideshow_usb2 sound_mode status_bar stop subtitle_language t_opt teletext three three_d tv_radio two underscore up usb volume_down volume_up yellow zero
Unknown argument 0, choose one of audio_description audio_language av1 av2 av3 av_mode back blue channel_back channel_down channel_list channel_up cinema_zoom component component_rgb_hdmi displayPairingCode down eight energy_saving exit_cmd factory_advanced_menu1 factory_advanced_menu2 factory_picture_check factory_sound_check fast_forward favorites five four green greyed_out_add_button guide hdmi hdmi1 hdmi2 hdmi3 hdmi4 home_menu info input installation_menu left live_tv mute nine one pair pause picture_mode play power_off premium_menu quick_menu ratio ratio_16_9 ratio_4_3 record red rewind rgb right select_cmd seven simplink six sleep_timer slideshow_usb1 slideshow_usb2 sound_mode status_bar stop subtitle_language t_opt teletext three three_d tv_radio two underscore up usb volume_down volume_up yellow zer
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 01 Januar 2015, 12:56:08
wenn ich aber
set LG_remote 1; set LG_remote 0
eingebe kommt
1
in der Ausgabe

schalten würde er aber wenn ich
set LG_remote one
eingebe dann wechselt er zu ard
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 01 Januar 2015, 12:59:02
wenn ich das hier eingebe
set LG_TV one
schaltet er auch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 01 Januar 2015, 13:18:21
das hier jetzt meine cfg
################################################################
########       Dummy Senderwechsel                   ###########
####    http://forum.fhem.de/index.php/topic,28123.150.html  ###
################################################################

define Senderwechsel dummy
attr Senderwechsel room TV
attr Senderwechsel setList one two three four

define LG_TV.Senderwechsel.nf notify LG_remote.Senderwechsel.* {switchChannel('%EVENT')}
attr LG_TV.Senderwechsel.nf room TV

define LG_TV.Programm.RG readingsGroup ...
attr LG_TV.Programm.RG commands {"set LG_TV.Senderwechsel %READING"}


und das hier in der 99_myUtils.pm
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'seven',
    rtl => 'four',
ard => 'one',
    kabel_1 => 'one',
sat1 => 'five',
    rtl2 => 'nine',
    vox => 'six',
zdf => 'two',
  );
 
  my $TVDevice = 'LG_remote';

  my ($channel) = @_;
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


wenn ich nun in meiner Programmanzeige auf einen Sender klicke
wird mir als dummy senderwechsel das Logo des ausgewählten Senders angezeigt.
im event monitor kommt das dann
2015-01-01 13:16:58 dummy Senderwechsel dmax

nun müsste dmax übersetzt werden in nine
und das Kommando
set LG_TV nine
müßte erzeugt werden
das läuft dann wohl über das notify?!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 01 Januar 2015, 21:13:27
So, probier mal das in der myUtils:

sub
switchChannel($)
{
  my %channellist = (
    ard => 'one',
    zdf => 'two',
    wdr => 'three',
    rtl => 'four',
    rtl1 => 'four',
    rtl2 => 'eight',
    vox => 'six',
    sat1 => 'five',
    pro7 => 'four,seven',
    kabel1 => 'four,eight',
    dmax => 'nine'
  );
 
  my $TVDevice = 'LG_TV';

  my ($channel) = @_;
 
  if ($channel eq 'closebutton')
  {
    fhem('set DG.wz.TV.Programm.RG visibility hide');
    return;
  }

  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split(",", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('DG.wz.TV.Programm', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 01 Januar 2015, 21:47:44
Thanks
das Jahr fängt ja gut an
nun klappt es
werde mir das morgen mal ansehen, damit ich auch den code verstehe


von dir war auch der Abfallkalender
der seit 1 Stunde auch funktioniert
hat mich zwar einiges an Zeit gekostet
aber sieht nun klasse aus
incl Icons :-)
Bild lade ich gleich hoch

1000 Dank
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 01 Januar 2015, 22:28:13
Abfallkalender?? :-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 01 Januar 2015, 22:31:37
http://forum.fhem.de/index.php/topic,24646.msg238503.html#msg238503

cool
Hast du ne Ahnung wie ich Programm 1o etc schalten kann
1-9 geht ja nun..
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 01 Januar 2015, 22:33:09
Hatte ich in dem Post ein Beispiel drin, das du mal probieren könntest:

    pro7 => 'four,seven',
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 01 Januar 2015, 22:35:12
Bei mir (enigma2) gehts haltt über  die Namen, hätte behauptet er müsste bei dir 10 bzw ten nehmen, hast du es mal mit gross oder Kleinschreibung versucht?

Ansonsten gibts vieleicht in einem LG (war doch ein LG Fernseher?) Forum einen Hinweis wie die 10 usw. codiert werden?!
Oder hier z.b. http://www.fernseh-maul.de/Community/
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 01 Januar 2015, 22:56:18
mit dem Komma dazwischen klappt es leider noch nicht,
werded as morgen mal in Ruhe checken
oder den LG Spezi hier mal anmailen.
der hat mir damals geholfen das der LG2011 überhaupt per FHEM zu steuern ist.
bin ja heute einen Riesen Schritt weitergekommen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 03 Januar 2015, 19:22:36
Hallo
der letzte Schritt will mir nicht gelingen :-(
Leider kann nach Aussage des Modulschreibers der LG nicht mit 2 stelligen Sendern umgehen
ok das ist im Moment erst mal nicht schlimm
der Senderwechsel auf das nächste Programm zum folgenden Sendebeginn klappt noch nicht.

Hier einige Infos dazu
(http://senderwechsel1.jpg)

(http://senderwechsel2.jpg)

Dazu folgender code

################################################################
########       Dummy Senderwechsel                   ###########
####    http://forum.fhem.de/index.php/topic,28123.150.html  ###
################################################################

############################################

define Senderwechsel dummy
attr Senderwechsel room TV
attr Senderwechsel setList ARD ZDF MDR Sat1 RTL RTL2 Pro7 VOX Kabel1 DMAX KiKa SuperRTL


define Programm.RG readingsGroup TV_Programme_next.*
attr Programm.RG commands {"Senderwechsel %READING"}
attr Programm.RG room TV

define Senderwechsel.nf notify Senderwechsel.* {switchChannel('%EVENT')}
attr Senderwechsel.nf room TV


das hier in der utils

sub
switchChannel($)
{
  my %channellist = (
    ard => 'one',
    zdf => 'two',
    wdr => 'three',
    rtl => 'four',
    rtl1 => 'four',
    rtl2 => 'eight',
    vox => 'six',
    sat1 => 'five',
    pro7 => 'seven',
    ntv => 'one,zero',
    dmax => 'nine'
  );
 
  my $TVDevice = 'LG_TV';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split("", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    $command = $command.'; set '.$TVDevice.' ENTER';
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room TV');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


ich tippe mal in der util ist was faul
da kommt halt nicht das richtige Kommando raus
es müsste was in dieser Art um 20:15 ausgeführt werden
set LG_TV one
zB
da fehlt mir noch was Syntax know how, wird ja besser aber reicht wohl noch nicht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 03 Januar 2015, 19:25:46
Das ist aber nicht mein letzter Code - den hatte ich auf deinen LG angepasst...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 03 Januar 2015, 19:29:05
Hallo
war den ganzen Thread hin und hergegangen, hab dieses und jenes probiert, geklappt hats mit keinem code bisher
hier kommt wenigstens ein at

Das at soll doch wohl den Senderwechsel anstossen
oder?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 03 Januar 2015, 19:43:36
so das ist alles was für einen LG 2011 gebruacht wird für die fhem.cfg
enthalten Fernsteuerung und Fernsehprogramm
schalten klappt, schalten auf die nächste Sendung auch, was noch nicht ganz optimal klappt ist die schnelle Aktualisierung des at auf der Bildschirn, wenn man das aber kontrolliert so werden die neuen Zeiten sehr wohl übernommen.
weiter unten die util
Was noch kommt ist das Schalten der Sender über 9 also 2 stellig etc, da hat der LG Modul Ersteller nachgelegt, wenn ich das getestet habe werde ich auch das noch einbauen.

Thanks noch mal an Robra für die Geduld

Schalten von 2 stelligen Sendern geht jetzt auch über die Kommandozeile, dazu wurde das Modul LG2011 angpasst, das werde ich nun hier einarbeiten und wenn es läuft auch posten


###################################################################
###                    TV Programm                        #########
###    http://forum.fhem.de/index.php/topic,28123.0.html  #########
###################################################################

# -------------------------------
# aktuelle Sendung
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 240
attr TV_Programme userattr readingsName_ard readingsName_ard_time readingsName_arte readingsName_arte_time readingsName_dmax readingsName_dmax_time readingsName_dreisat readingsName_dreisat_time readingsName_kabel1 readingsName_kabel1_time readingsName_n24 readingsName_n24_time readingsName_ndr readingsName_ndr_time readingsName_ntv readingsName_ntv_time readingsName_phoenix readingsName_phoenix_time readingsName_pro7 readingsName_pro7_time readingsName_rtl1 readingsName_rtl1_time readingsName_rtl2 readingsName_rtl2_time readingsName_rtlnitro readingsName_rtlnitro_time readingsName_sat1 readingsName_sat1_time readingsName_sixx readingsName_sixx_time readingsName_tele5 readingsName_tele5_time readingsName_vox readingsName_vox_time readingsName_wdr readingsName_wdr_time readingsName_zdf readingsName_zdf_time readingsName_zdfinfo readingsName_zdfinfo_time readingsName_zdfkultur readingsName_zdfkultur_time readingsName_zdfneo readingsName_zdfneo_time readingsRegex_ard readingsRegex_ard_time readingsRegex_arte readingsRegex_arte_time readingsRegex_dmax readingsRegex_dmax_time readingsRegex_kabel1 readingsRegex_kabel1_time readingsRegex_n24 readingsRegex_n24_time readingsRegex_ntv readingsRegex_ntv_time readingsRegex_phoenix readingsRegex_phoenix_time readingsRegex_pro7 readingsRegex_pro7_time readingsRegex_rtl1 readingsRegex_rtl1_time readingsRegex_rtl2 readingsRegex_rtl2_time readingsRegex_rtlnitro readingsRegex_rtlnitro_time readingsRegex_sat1 readingsRegex_sat1_time readingsRegex_sixx readingsRegex_sixx_time readingsRegex_tele5 readingsRegex_tele5_time readingsRegex_vox readingsRegex_vox_time readingsRegex_wdr readingsRegex_wdr_time readingsRegex_zdf readingsRegex_zdf_time readingsRegex_zdfinfo readingsRegex_zdfinfo_time stateFormat timeout verbose
attr TV_Programme readingsName_ard ard
attr TV_Programme readingsName_ard_time ard_time
attr TV_Programme readingsName_arte arte
attr TV_Programme readingsName_arte_time arte_time
attr TV_Programme readingsName_dmax dmax
attr TV_Programme readingsName_dmax_time dmax_time
attr TV_Programme readingsName_kabel1 kabel1
attr TV_Programme readingsName_kabel1_time kabel1_time
attr TV_Programme readingsName_n24 n24
attr TV_Programme readingsName_n24_time n24_time
attr TV_Programme readingsName_ndr ndr
attr TV_Programme readingsName_ndr_time ndr_time
attr TV_Programme readingsName_ntv ntv
attr TV_Programme readingsName_ntv_time ntv_time
attr TV_Programme readingsName_phoenix phoenix
attr TV_Programme readingsName_phoenix_time phoenix_time
attr TV_Programme readingsName_pro7 pro7
attr TV_Programme readingsName_pro7_time pro7_time
attr TV_Programme readingsName_rtl1 rtl1
attr TV_Programme readingsName_rtl1_time rtl1_time
attr TV_Programme readingsName_rtl2 rtl2
attr TV_Programme readingsName_rtl2_time rtl2_time
attr TV_Programme readingsName_rtlnitro rtlnitro
attr TV_Programme readingsName_rtlnitro_time rtlnitro_time
attr TV_Programme readingsName_sat1 sat1
attr TV_Programme readingsName_sat1_time sat1_time
attr TV_Programme readingsName_sixx sixx
attr TV_Programme readingsName_sixx_time sixx_time
attr TV_Programme readingsName_tele5 tele5
attr TV_Programme readingsName_tele5_time tele5_time
attr TV_Programme readingsName_vox vox
attr TV_Programme readingsName_vox_time vox_time
attr TV_Programme readingsName_wdr wdr
attr TV_Programme readingsName_wdr_time wdr_time
attr TV_Programme readingsName_zdf zdf
attr TV_Programme readingsName_zdf_time zdf_time
attr TV_Programme readingsName_zdfinfo zdfinfo
attr TV_Programme readingsName_zdfinfo_time zdfinfo_time
attr TV_Programme readingsRegex_ard <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ard_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_arte <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_arte_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_dmax <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_dmax_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_kabel1 <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_kabel1_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_n24 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_n24_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ntv <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ntv_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_phoenix <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_phoenix_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_pro7 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_pro7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl1 <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl1_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtl2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtl2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_rtlnitro <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_rtlnitro_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sat1 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sat1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_sixx <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_sixx_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_tele5 <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_tele5_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_vox <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_vox_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_wdr <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_wdr_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdf <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdf_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_zdfinfo <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_zdfinfo_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme room TV
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
attr TV_Programme verbose 1

##  readingsName
##
##
##
##
##
## nächste Sendung
##
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
attr TV_Programme_next userattr readingsName_ard_next readingsName_ard_next_time readingsName_arte_next readingsName_arte_next_time readingsName_dmax_next readingsName_dmax_next_time readingsName_kabel1_next readingsName_kabel1_next_time readingsName_n24_next readingsName_n24_next_time readingsName_ndr_next readingsName_ndr_next_time readingsName_ntv_next readingsName_ntv_next_time readingsName_phoenix_next readingsName_phoenix_next_time readingsName_pro7_next readingsName_pro7_next_time readingsName_rtl1_next readingsName_rtl1_next_time readingsName_rtl2_next readingsName_rtl2_next_time readingsName_rtlnitro_next readingsName_rtlnitro_next_time readingsName_sat1_next readingsName_sat1_next_time readingsName_sixx_next readingsName_sixx_next_time readingsName_tele5_next readingsName_tele5_next_time readingsName_vox_next readingsName_vox_next_time readingsName_wdr_next readingsName_wdr_next_time readingsName_zdf_next readingsName_zdf_next_time readingsName_zdfinfo_next readingsName_zdfinfo_next_time readingsName_zdfkultur_next readingsName_zdfkultur_next_time readingsRegex_ard_next readingsRegex_ard_next_time readingsRegex_arte_next readingsRegex_arte_next_time readingsRegex_dmax_next readingsRegex_dmax_next_time readingsRegex_dreisat_next readingsRegex_dreisat_next_time readingsRegex_kabel1_next readingsRegex_kabel1_next_time readingsRegex_n24_next readingsRegex_n24_next_time readingsRegex_ndr_next readingsRegex_ndr_next_time readingsRegex_ntv_next readingsRegex_ntv_next_time readingsRegex_phoenix_next readingsRegex_phoenix_next_time readingsRegex_pro7_next readingsRegex_pro7_next_time readingsRegex_rtl1_next readingsRegex_rtl1_next_time readingsRegex_rtl2_next readingsRegex_rtl2_next_time readingsRegex_rtlnitro_next readingsRegex_rtlnitro_next_time readingsRegex_sat1_next readingsRegex_sat1_next_time readingsRegex_sixx_next readingsRegex_sixx_next_time readingsRegex_tele5_next readingsRegex_tele5_next_time readingsRegex_vox_next readingsRegex_vox_next_time readingsRegex_wdr_next readingsRegex_wdr_next_time readingsRegex_zdf_next readingsRegex_zdf_next_time readingsRegex_zdfinfo_next readingsRegex_zdfinfo_next_time readingsRegex_zdfkultur_next readingsRegex_zdfkultur_next_time stateFormat timeout verbose
attr TV_Programme_next readingsName_ard_next ard_next
attr TV_Programme_next readingsName_ard_next_time ard_next_time
attr TV_Programme_next readingsName_arte_next arte_next
attr TV_Programme_next readingsName_arte_next_time arte_next_time
attr TV_Programme_next readingsName_dmax_next dmax_next
attr TV_Programme_next readingsName_dmax_next_time dmax_next_time
attr TV_Programme_next readingsName_kabel1_next kabel1_next
attr TV_Programme_next readingsName_kabel1_next_time kabel1_next_time
attr TV_Programme_next readingsName_n24_next n24_next
attr TV_Programme_next readingsName_n24_next_time n24_next_time
attr TV_Programme_next readingsName_ndr_next ndr_next
attr TV_Programme_next readingsName_ndr_next_time ndr_next_time
attr TV_Programme_next readingsName_ntv_next ntv_next
attr TV_Programme_next readingsName_ntv_next_time ntv_next_time
attr TV_Programme_next readingsName_phoenix_next phoenix_next
attr TV_Programme_next readingsName_phoenix_next_time phoenix_next_time
attr TV_Programme_next readingsName_pro7_next pro7_next
attr TV_Programme_next readingsName_pro7_next_time pro7_next_time
attr TV_Programme_next readingsName_rtl1_next rtl1_next
attr TV_Programme_next readingsName_rtl1_next_time rtl1_next_time
attr TV_Programme_next readingsName_rtl2_next rtl2_next
attr TV_Programme_next readingsName_rtl2_next_time rtl2_next_time
attr TV_Programme_next readingsName_rtlnitro_next rtlnitro_next
attr TV_Programme_next readingsName_rtlnitro_next_time rtlnitro_next_time
attr TV_Programme_next readingsName_sat1_next sat1_next
attr TV_Programme_next readingsName_sat1_next_time sat1_next_time
attr TV_Programme_next readingsName_sixx_next sixx_next
attr TV_Programme_next readingsName_sixx_next_time sixx_next_time
attr TV_Programme_next readingsName_tele5_next tele5_next
attr TV_Programme_next readingsName_tele5_next_time tele5_next_time
attr TV_Programme_next readingsName_vox_next vox_next
attr TV_Programme_next readingsName_vox_next_time vox_next_time
attr TV_Programme_next readingsName_wdr_next wdr_next
attr TV_Programme_next readingsName_wdr_next_time wdr_next_time
attr TV_Programme_next readingsName_zdf_next zdf_next
attr TV_Programme_next readingsName_zdf_next_time zdf_next_time
attr TV_Programme_next readingsName_zdfinfo_next zdfinfo_next
attr TV_Programme_next readingsName_zdfinfo_next_time zdfinfo_next_time
attr TV_Programme_next readingsName_zdfkultur_next zdfkultur_next
attr TV_Programme_next readingsName_zdfkultur_next_time zdfkultur_next_time
attr TV_Programme_next readingsRegex_ard_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ard_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_arte_next <span>ARTE <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_arte_next_time <span>ARTE <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_dmax_next <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_dmax_next_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_kabel1_next <span>KABEL1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_kabel1_next_time <span>KABEL1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_n24_next <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_n24_next_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ndr_next <span>NDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ndr_next_time <span>NDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ntv_next <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ntv_next_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_phoenix_next <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_phoenix_next_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_pro7_next <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_pro7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl1_next <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl1_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtl2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtl2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_rtlnitro_next <span>RTL NITRO <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_rtlnitro_next_time <span>RTL NITRO <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sat1_next <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sat1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_sixx_next <span>sixx <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_sixx_next_time <span>sixx <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_tele5_next <span>Tele 5 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_tele5_next_time <span>Tele 5 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_vox_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_vox_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_wdr_next <span>WDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_wdr_next_time <span>WDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdf_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdf_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfinfo_next <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfinfo_next_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_zdfkultur_next <span>zdf.kultur<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_zdfkultur_next_time <span>zdf.kultur<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next room TV
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 60
attr TV_Programme_next verbose 1
##
##

# -------------------------------
# Visualisierung


define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>\
TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next\
TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next_time,zdf_next\
TV_Programme_next:wdr_time@TV_Programme,wdr@TV_Programme,wdr_next_time,wdr_next \
TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next_time,rtl1_next \
TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next_time,sat1_next\
TV_Programme_next:vox_time@TV_Programme,vox@TV_Programme,vox_next_time,vox_next \
TV_Programme_next:pro7_time@TV_Programme,pro7@TV_Programme,pro7_next_time,pro7_next\
TV_Programme_next:rtl2_time@TV_Programme,rtl2@TV_Programme,rtl2_next_time,rtl2_next \
TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next_time,dmax_next \
TV_Programme_next:ntv_time@TV_Programme,ntv@TV_Programme,ntv_next_time,ntv_next \
TV_Programme_next:kabel1_time@TV_Programme,kabel1@TV_Programme,kabel1_next_time,kabel1_next\
TV_Programme_next:n24_time@TV_Programme,n24@TV_Programme,n24_next_time,n24_next\
TV_Programme_next:arte_time@TV_Programme,arte@TV_Programme,arte_next_time,arte_next\
TV_Programme_next:tele5_time@TV_Programme,tele5@TV_Programme,tele5_next_time,tele5_next\
TV_Programme_next:rtlnitro_time@TV_Programme,rtlnitro@TV_Programme,rtlnitro_next_time,rtlnitro_next\
TV_Programme_next:sixx_time@TV_Programme,sixx@TV_Programme,sixx_next_time,sixx_next\
TV_Programme_next:zdfinfo_time@TV_Programme,zdfinfo@TV_Programme,zdfinfo_next_time,zdfinfo_next
attr TV_Programm alias TV Programm
## diese Zeile ermöglich überhaupt erst den Senderwechsel
attr TV_Programm commands {"set Senderwechsel %READING"}
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { ard_time => 'ard', zdf_time => 'zdf', arte_time => 'arte', pro7_time => 'pro7', kabel1_time => 'kabel1', sat1_time => 'sat1', rtl1_time => 'rtl1', rtl2_time => 'rtl2', sixx_time => 'sixx', dmax_time => 'dmax', ntv_time => 'ntv', n24_time => 'n24', ndr_time => 'ndr', phoenix_time => 'phoenix', zdfinfo_time => 'zdfinfo', rtlnitro_time => 'rtl_nitro', tele5_time => 'tele5', vox_time => 'vox', wdr_time => 'wdr', zdfkultur_time => 'zdf_kultur'}
attr TV_Programm nameStyle style="color:lightgreen;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"

##
###
## Icons
###

#attr TV_Programm nameIcon { ServusTV_time => 'servus_tv',DSat_time => '3sat', ARD_time => 'ard', ZDF_time => 'zdf', Pro7_time => 'pro7', Sat1_time => 'sat1', rtl1_time => 'rtl1', Kabel1_time => 'kabel1', VOX_time => 'vox', RTL2_time => 'rtl2', DMAX_time => 'dmax', ZDFNEO_time => 'zdf_neo', RTLNITRO_time => 'rtl_nitro' }



################################################################
########       Dummy Senderwechsel                   ###########
####    http://forum.fhem.de/index.php/topic,28123.150.html  ###
################################################################

define Senderwechsel dummy
attr Senderwechsel room TV
attr Senderwechsel setList ARD ZDF MDR Sat1 RTL RTL2 Pro7 VOX Kabel1 DMAX KiKa SuperRTL

define Senderwechsel.nf notify Senderwechsel.* {switchChannel('%EVENT')}
attr Senderwechsel.nf room TV

define Programm_RG readingsGroup TV_Programm.*: ab
attr Programm_RG commands {"set Senderwechsel %READING"}
attr Programm_RG room TV




Hier der code der in die 99_myutils.pm muss.
Wichtig ist am Anfang der Bereich, hier im Thread auch erklärt.

package main;
use strict;
use warnings;
use POSIX;
use Time::Local;
sub myAbfallTermine_Initialize($$)
{
my ($hash) = @_;
}
sub
switchChannel($)
{
  my %channellist = (
    ard => 'one',
    zdf => 'two',
    wdr => 'three',
    rtl => 'four',
    rtl1 => 'four',
    rtl2 => 'eight',
    vox => 'six',
    sat1 => 'five',
    pro7 => 'four,seven',
    kabel1 => 'four,eight',
    dmax => 'nine'
  );
 
  my $TVDevice = 'LG_TV';

  my ($channel) = @_;
 
  if ($channel eq 'closebutton')
  {
    fhem('set Programm_RG visibility hide');
    return;
  }

  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split(",", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', 'ab').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room TV');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 06 Januar 2015, 10:16:29
Hallo Franz, sieht super aus. Wo genau müssen die Senderlogos liegen und wie müssen sie heißen?


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: HolyMoly am 06 Januar 2015, 17:12:43
Senderlogos müssen nach /opt/fhem/www/images/default
und heißen wie in attr TV_Programm nameIcon angelegt also z.B. zdf.png
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 06 Januar 2015, 17:47:18
wollte nur sicher gehen, da ich diese genau an den Ort abgelegt habe und sie auch die benötigte Bezeichnung haben doch trotz shutdown restart erscheint keines. Muss nochmal suchen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 06 Januar 2015, 19:17:58
Hallo,

ich muss Coolice bestätigen. Paar Images bekomme ich zum Verrecken nicht angezeigt (z.B. 3Sat). Hab die Dinger umbenannt, mehrfach kopiert, hab den Code zig mal eingegeben. Aber ohne Erfolg.
Versuche am Wochenende die Bilder mal in ein andere Format zu wandeln. Vielleicht geht es dann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Doggiebert am 06 Januar 2015, 20:19:52
probiers mal mit Namen ohne Ziffer, zB dreisat...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 07 Januar 2015, 06:05:09
Zitat von: Doggiebert am 06 Januar 2015, 20:19:52
probiers mal mit Namen ohne Ziffer, zB dreisat...

Danke für die schnelle Antwort.
das war das erste was ich getestet habe ;) Hab sogar die ganzen Variablen umbenannt. Es sind aber andere Sender betroffen, wo keine Zahl drinnen sind.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 07 Januar 2015, 22:32:16
DANKE für die bisherige Arbeit hier!
Nun richte ich mir die TV-Vorschau auch auf meinem Flur-Display ein.

Ich habe 2 Fliegen mit einer Klappe geschlagen: Ich hatte auch nach einer Änderung Probleme mit den Icons, ich habe das Problem nicht lösen können, obwohl vorher alles klappte. Und: Wenn das Sender-Icon ganz vorne steht, fehlt mir bei der hinteren Spalte die Übersicht.

Fazit: bei der readingsGroup "attr nonames 1", dann wird die Spalte ausgeblendet. Dafür kann man sie reinsetzen wo man will, mit zum Beispiel "<%logo_ard>".

Bei mir sieht es nun so aus wie im Anhang. Von links: Startzeit aktuelle Sendung -- Name aktuelle Sendung -- Senderlogo -- Zeit nächste Sendung -- Name nächste Sendung -- Sendung heute (!) 20:15 Uhr.

Insbesondere der Punkt, dass auch jetzt nach 20:15 Uhr noch das Programm von vorhin dargestellt wird, gefällt mir noch nicht, da muss ich mir noch was einfallen lassen.

Wer einen Teil nachbauen will, hier der Code, ausnahmsweise mal aus der fhem.cfg:
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=175&time=now&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme userattr readingsName_ARD readingsName_ARD_time readingsName_KABEL1 readingsName_KABEL1_time readingsName_MDR readingsName_MDR_time readingsName_N24 readingsName_N24_time readingsName_NTV readingsName_NTV_time readingsName_PHOENIX readingsName_PHOENIX_time readingsName_PRO7 readingsName_PRO7_time readingsName_RTL readingsName_RTL2 readingsName_RTL2_time readingsName_RTL_time readingsName_SAT1 readingsName_SAT1_time readingsName_SERVUSTVD readingsName_SERVUSTVD_time readingsName_VOX readingsName_VOX_time readingsName_ZDF readingsName_ZDFINFO readingsName_ZDFINFO_time readingsName_ZDFNEO readingsName_ZDFNEO_time readingsName_ZDF_time readingsRegex_ARD readingsRegex_ARD_time readingsRegex_KABEL1 readingsRegex_KABEL1_time readingsRegex_MDR readingsRegex_MDR_time readingsRegex_N24 readingsRegex_N24_time readingsRegex_NTV readingsRegex_NTV_time readingsRegex_PHOENIX readingsRegex_PHOENIX_time readingsRegex_PRO7 readingsRegex_PRO7_time readingsRegex_RTL readingsRegex_RTL2 readingsRegex_RTL2_time readingsRegex_RTL_time readingsRegex_SAT1 readingsRegex_SAT1_time readingsRegex_SERVUSTVD readingsRegex_SERVUSTVD_time readingsRegex_VOX readingsRegex_VOX_time readingsRegex_ZDF readingsRegex_ZDFINFO readingsRegex_ZDFINFO_time readingsRegex_ZDFNEO readingsRegex_ZDFNEO_time readingsRegex_ZDF_time stateFormat timeout
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_time ARD_time
attr TV_Programme readingsName_KABEL1 KABEL1
attr TV_Programme readingsName_KABEL1_time KABEL1_time
attr TV_Programme readingsName_MDR MDR
attr TV_Programme readingsName_MDR_time MDR_time
attr TV_Programme readingsName_N24 N24
attr TV_Programme readingsName_N24_time N24_time
attr TV_Programme readingsName_NTV NTV
attr TV_Programme readingsName_NTV_time NTV_time
attr TV_Programme readingsName_PHOENIX PHOENIX
attr TV_Programme readingsName_PHOENIX_time PHOENIX_time
attr TV_Programme readingsName_PRO7 PRO7
attr TV_Programme readingsName_PRO7_time PRO7_time
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_time RTL2_time
attr TV_Programme readingsName_RTL_time RTL_time
attr TV_Programme readingsName_SAT1 SAT1
attr TV_Programme readingsName_SAT1_time SAT1_time
attr TV_Programme readingsName_SERVUSTVD SERVUSTVD
attr TV_Programme readingsName_SERVUSTVD_time SERVUSTVD_time
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_time VOX_time
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDFINFO ZDFINFO
attr TV_Programme readingsName_ZDFINFO_time ZDFINFO_time
attr TV_Programme readingsName_ZDFNEO ZDFNEO
attr TV_Programme readingsName_ZDFNEO_time ZDFNEO_time
attr TV_Programme readingsName_ZDF_time ZDF_time
attr TV_Programme readingsRegex_ARD <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_KABEL1 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_KABEL1_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_MDR <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_MDR_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_N24 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_N24_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_NTV <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_NTV_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_PHOENIX <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_PHOENIX_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_PRO7 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_PRO7_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_RTL2_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_RTL_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SAT1 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SAT1_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_SERVUSTVD <span>SERVUSTVD<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_SERVUSTVD_time <span>SERVUSTVD<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_VOX <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_VOX_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDFINFO <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDFINFO_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDFNEO <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ZDFNEO_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_ZDF_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme room TV-Programm
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 60
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=175&time=soon&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next userattr readingsName_ARD_next readingsName_ARD_next_time readingsName_KABEL1_next readingsName_KABEL1_next_time readingsName_MDR_next readingsName_MDR_next_time readingsName_N24_next readingsName_N24_next_time readingsName_NTV_next readingsName_NTV_next_time readingsName_PHOENIX_next readingsName_PHOENIX_next_time readingsName_PRO7_next readingsName_PRO7_next_time readingsName_RTL2_next readingsName_RTL2_next_time readingsName_RTL_next readingsName_RTL_next_time readingsName_SAT1_next readingsName_SAT1_next_time readingsName_SERVUSTVD_next readingsName_SERVUSTVD_next_time readingsName_VOX_next readingsName_VOX_next_time readingsName_ZDFINFO_next readingsName_ZDFINFO_next_time readingsName_ZDFNEO_next readingsName_ZDFNEO_next_time readingsName_ZDF_next readingsName_ZDF_next_time readingsRegex_ARD_next readingsRegex_ARD_next_time readingsRegex_KABEL1_next readingsRegex_KABEL1_next_time readingsRegex_MDR_next readingsRegex_MDR_next_time readingsRegex_N24_next readingsRegex_N24_next_time readingsRegex_NTV_next readingsRegex_NTV_next_time readingsRegex_PHOENIX_next readingsRegex_PHOENIX_next_time readingsRegex_PRO7_next readingsRegex_PRO7_next_time readingsRegex_RTL2_next readingsRegex_RTL2_next_time readingsRegex_RTL_next readingsRegex_RTL_next_time readingsRegex_SAT1_next readingsRegex_SAT1_next_time readingsRegex_SERVUSTVD_next readingsRegex_SERVUSTVD_next_time readingsRegex_VOX_next readingsRegex_VOX_next_time readingsRegex_ZDFINFO_next readingsRegex_ZDFINFO_next_time readingsRegex_ZDFNEO_next readingsRegex_ZDFNEO_next_time readingsRegex_ZDF_next readingsRegex_ZDF_next_time stateFormat timeout
attr TV_Programme_next readingsName_ARD_next ARD_next
attr TV_Programme_next readingsName_ARD_next_time ARD_next_time
attr TV_Programme_next readingsName_KABEL1_next KABEL1_next
attr TV_Programme_next readingsName_KABEL1_next_time KABEL1_next_time
attr TV_Programme_next readingsName_MDR_next MDR_next
attr TV_Programme_next readingsName_MDR_next_time MDR_next_time
attr TV_Programme_next readingsName_N24_next N24_next
attr TV_Programme_next readingsName_N24_next_time N24_next_time
attr TV_Programme_next readingsName_NTV_next NTV_next
attr TV_Programme_next readingsName_NTV_next_time NTV_next_time
attr TV_Programme_next readingsName_PHOENIX_next PHOENIX_next
attr TV_Programme_next readingsName_PHOENIX_next_time PHOENIX_next_time
attr TV_Programme_next readingsName_PRO7_next PRO7_next
attr TV_Programme_next readingsName_PRO7_next_time PRO7_next_time
attr TV_Programme_next readingsName_RTL2_next RTL2_next
attr TV_Programme_next readingsName_RTL2_next_time RTL2_next_time
attr TV_Programme_next readingsName_RTL_next RTL_next
attr TV_Programme_next readingsName_RTL_next_time RTL_next_time
attr TV_Programme_next readingsName_SAT1_next SAT1_next
attr TV_Programme_next readingsName_SAT1_next_time SAT1_next_time
attr TV_Programme_next readingsName_SERVUSTVD_next SERVUSTVD_next
attr TV_Programme_next readingsName_SERVUSTVD_next_time SERVUSTVD_next_time
attr TV_Programme_next readingsName_VOX_next VOX_next
attr TV_Programme_next readingsName_VOX_next_time VOX_next_time
attr TV_Programme_next readingsName_ZDFINFO_next ZDFINFO_next
attr TV_Programme_next readingsName_ZDFINFO_next_time ZDFINFO_next_time
attr TV_Programme_next readingsName_ZDFNEO_next ZDFNEO_next
attr TV_Programme_next readingsName_ZDFNEO_next_time ZDFNEO_next_time
attr TV_Programme_next readingsName_ZDF_next ZDF_next
attr TV_Programme_next readingsName_ZDF_next_time ZDF_next_time
attr TV_Programme_next readingsRegex_ARD_next <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_next_time <span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_KABEL1_next <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_KABEL1_next_time <span>KABEL 1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_MDR_next <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_MDR_next_time <span>MDR<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_N24_next <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_N24_next_time <span>N24 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_NTV_next <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_NTV_next_time <span>NTV<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_PHOENIX_next <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_PHOENIX_next_time <span>Phoenix<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_PRO7_next <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_PRO7_next_time <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL2_next <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL2_next_time <span>RTL II <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_RTL_next <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_RTL_next_time <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SAT1_next <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SAT1_next_time <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_SERVUSTVD_next <span>SERVUSTVD<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_SERVUSTVD_next_time <span>SERVUSTVD<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_VOX_next <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_VOX_next_time <span>VOX <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDFINFO_next <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDFINFO_next_time <span>ZDFinfo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDFNEO_next <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDFNEO_next_time <span>ZDF neo<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_ZDF_next <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ZDF_next_time <span>ZDF <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next room TV-Programm
attr TV_Programme_next stateFormat mein_TV_programm_next: Pro7_next
attr TV_Programme_next timeout 60
define TV_Programme_2015 HTTPMOD http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=175&form_id=dikr_tvm_tv_guide_tv_stations_count_form 900
attr TV_Programme_2015 userattr readingsName_ARD_2015 readingsName_KABEL1_2015 readingsName_MDR_2015 readingsName_N24_2015 readingsName_NTV_2015 readingsName_PHOENIX_2015 readingsName_PRO7_2015 readingsName_RTL2_2015 readingsName_RTL_2015 readingsName_SAT1_2015 readingsName_SERVUSTVD_2015 readingsName_VOX_2015 readingsName_ZDFINFO_2015 readingsName_ZDFNEO_2015 readingsName_ZDF_2015 readingsRegex_ARD_2015 readingsRegex_KABEL1_2015 readingsRegex_MDR_2015 readingsRegex_N24_2015 readingsRegex_NTV_2015 readingsRegex_PHOENIX_2015 readingsRegex_PRO7_2015 readingsRegex_RTL2_2015 readingsRegex_RTL_2015 readingsRegex_SAT1_2015 readingsRegex_SERVUSTVD_2015 readingsRegex_VOX_2015 readingsRegex_ZDFINFO_2015 readingsRegex_ZDFNEO_2015 readingsRegex_ZDF_2015 stateFormat timeout
attr TV_Programme_2015 readingsName_ARD_2015 ARD_2015
attr TV_Programme_2015 readingsName_KABEL1_2015 KABEL1_2015
attr TV_Programme_2015 readingsName_MDR_2015 MDR_2015
attr TV_Programme_2015 readingsName_N24_2015 N24_2015
attr TV_Programme_2015 readingsName_NTV_2015 NTV_2015
attr TV_Programme_2015 readingsName_PHOENIX_2015 PHOENIX_2015
attr TV_Programme_2015 readingsName_PRO7_2015 PRO7_2015
attr TV_Programme_2015 readingsName_RTL2_2015 RTL2_2015
attr TV_Programme_2015 readingsName_RTL_2015 RTL_2015
attr TV_Programme_2015 readingsName_SAT1_2015 SAT1_2015
attr TV_Programme_2015 readingsName_SERVUSTVD_2015 SERVUSTVD_2015
attr TV_Programme_2015 readingsName_VOX_2015 VOX_2015
attr TV_Programme_2015 readingsName_ZDFINFO_2015 ZDFINFO_2015
attr TV_Programme_2015 readingsName_ZDFNEO_2015 ZDFNEO_2015
attr TV_Programme_2015 readingsName_ZDF_2015 ZDF_2015
attr TV_Programme_2015 readingsRegex_ARD_2015 <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_KABEL1_2015 <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_MDR_2015 <span>MDR<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_N24_2015 <span>N24 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_NTV_2015 <span>NTV<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_PHOENIX_2015 <span>Phoenix<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_PRO7_2015 <span>PRO 7 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_RTL2_2015 <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_RTL_2015 <span>RTL <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_SAT1_2015 <span>SAT.1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_SERVUSTVD_2015 <span>SERVUSTVD<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_VOX_2015 <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_ZDFINFO_2015 <span>ZDFinfo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_ZDFNEO_2015 <span>ZDF neo<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 readingsRegex_ZDF_2015 <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_2015 room TV-Programm
attr TV_Programme_2015 stateFormat mein_TV_programm_2015: Pro7_2015
attr TV_Programme_2015 timeout 60
define TV_Programm readingsGroup TV_Programme_next:ARD_time@TV_Programme,ARD@TV_Programme,<%logo_ard>,ARD_next_time,<>,ARD_next,ARD_2015@TV_Programme_2015 \
TV_Programme_next:ZDF_time@TV_Programme,ZDF@TV_Programme,<%logo_zdf>,ZDF_next_time,<>,ZDF_next,ZDF_2015@TV_Programme_2015 \
TV_Programme_next:MDR_time@TV_Programme,MDR@TV_Programme,<%logo_mdr>,MDR_next_time,<>,MDR_next,MDR_2015@TV_Programme_2015 \
TV_Programme_next:RTL_time@TV_Programme,RTL@TV_Programme,<%logo_rtl>,RTL_next_time,<>,RTL_next,RTL_2015@TV_Programme_2015 \
TV_Programme_next:SAT1_time@TV_Programme,SAT1@TV_Programme,<%logo_sat1>,SAT1_next_time,<>,SAT1_next,SAT1_2015@TV_Programme_2015 \
TV_Programme_next:PRO7_time@TV_Programme,PRO7@TV_Programme,<%logo_pro7>,PRO7_next_time,<>,PRO7_next,PRO7_2015@TV_Programme_2015 \
TV_Programme_next:KABEL1_time@TV_Programme,KABEL1@TV_Programme,<%logo_kabel1>,KABEL1_next_time,<>,KABEL1_next,KABEL1_2015@TV_Programme_2015 \
TV_Programme_next:VOX_time@TV_Programme,VOX@TV_Programme,<%logo_vox>,VOX_next_time,<>,VOX_next,VOX_2015@TV_Programme_2015 \
TV_Programme_next:RTL2_time@TV_Programme,RTL2@TV_Programme,<%logo_rtl2>,RTL2_next_time,<>,RTL2_next,RTL2_2015@TV_Programme_2015 \
TV_Programme_next:N24_time@TV_Programme,N24@TV_Programme,<%logo_n24>,N24_next_time,<>,N24_next,N24_2015@TV_Programme_2015 \
TV_Programme_next:NTV_time@TV_Programme,NTV@TV_Programme,<%logo_ntv>,NTV_next_time,<>,NTV_next,NTV_2015@TV_Programme_2015 \
TV_Programme_next:PHOENIX_time@TV_Programme,PHOENIX@TV_Programme,<%logo_phoenix>,PHOENIX_next_time,<>,PHOENIX_next,PHOENIX_2015@TV_Programme_2015 \
TV_Programme_next:SERVUSTVD_time@TV_Programme,SERVUSTVD@TV_Programme,<%logo_servus>,SERVUSTVD_next_time,<>,SERVUSTVD_next,SERVUSTVD_2015@TV_Programme_2015 \
TV_Programme_next:ZDFINFO_time@TV_Programme,ZDFINFO@TV_Programme,<%logo_zdf_info>,ZDFINFO_next_time,<>,ZDFINFO_next,ZDFINFO_2015@TV_Programme_2015 \
TV_Programme_next:ZDFNEO_time@TV_Programme,ZDFNEO@TV_Programme,<%logo_zdf_neo>,ZDFNEO_next_time,<>,ZDFNEO_next,ZDFNEO_2015@TV_Programme_2015
attr TV_Programm fp_TV 0,0,0,
attr TV_Programm group TV_Programm
attr TV_Programm nameStyle style="text-align:center"
attr TV_Programm noheading 1
attr TV_Programm nonames 1
attr TV_Programm room TV-Programm
attr TV_Programm valueStyle style="text-align:left;; font-size:15px"


Ich habe gefühlt 10 Stunden oder mehr benötigt, um so weit zu kommen. Daher fände ich es auch richtig gut, wenn es für das TV-Programm mal ein Modul gibt. Ich bin leider zu blöd dafür.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 09 Januar 2015, 09:16:46
Hallo,

ich hab massive Probleme manche Sender hinzuzufügen.

Manche Sender gehen wunderbar, andere werden nur halb dargestellt, andere gar nicht. Die werden nicht richtig abgefragt.

Beispiele:
Sport1 US: Da klappt aktuell, bei next wird die Zeit nicht ausgelesen, bei abend passiert gar nix
Sport1+: wird gar nicht angezeigt.
Nat Geo Wild: Da werden bei aktuell (im Feld seit) und Next (im Feld aktuelle Sendung) die Sendungen angezeigt aber keine Uhrzeiten, abend gar nicht.

Vermute, dass das mit dem Abend damit zu tun hat, dass ich es noch nicht geschaft habe eine html abfrage zu machen mit allen 200 Sendern. Dann sollte dass wohl auch gehen. Bei Aktuell und Next werden alle Sender abgefragt.

Hab zwar noch nicht viele Sender hinzugefügt (32 Sender habe ich momentan eingetragen), aber der Rest funktioniert mehr oder weniger (bei paar werden die Logos nicht angezeigt)

define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=200&time=now&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200 1800

attr TV_Programme readingsName_ARD_alpha ARD_alpha
attr TV_Programme readingsName_ARD_alpha_time ARD_alpha_time
attr TV_Programme readingsName_NG NG
attr TV_Programme readingsName_NG-WILD NG-WILD
attr TV_Programme readingsName_NG-WILD_time NG-WILD_time
attr TV_Programme readingsName_NG_time NG_time
attr TV_Programme readingsName_Sport1 Sport1
attr TV_Programme readingsName_Sport1Plus Sport1Plus
attr TV_Programme readingsName_Sport1Plus_time Sport1Plus_time
attr TV_Programme readingsName_Sport1US Sport1US
attr TV_Programme readingsName_Sport1US_time Sport1US_time
attr TV_Programme readingsName_Sport1_time Sport1_time
attr TV_Programme readingsRegex_ARD_alpha <span>ARD Alpha<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_ARD_alpha_time <span>ARD Alpha<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_NG <span>National Geographic <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_NG-WILD <span>Nat Geo Wild <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_NG-WILD_time <span>Nat Geo Wild <[\w\W]*?air-time"><stroNG-WILD>(.*?)<\/strong>
attr TV_Programme readingsRegex_NG_time <span>National Geographic <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sport1 <span>Sport1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sport1US <span>Sport1 US<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sport1US <span>Sport1 US<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sport1Plus <span>SPORT1+ <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_Sport1Plus_time <span>SPORT1+  <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme readingsRegex_Sport1_time <span>Sport1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>

define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=soon&tv-station=0&tv-stations-count=200&form_build_id=form-bf6933f78551a5d931040f5ac76c2f18&form_id=dikr_tvm_tv_guide_tv_content_filter_form 1700

attr TV_Programme_next readingsName_ARD_alpha_next ARD_alpha_next
attr TV_Programme_next readingsName_ARD_alpha_next_time ARD_alpha_next_time
attr TV_Programme_next readingsName_NG-WILD_next NG-WILD_next
attr TV_Programme_next readingsName_NG-WILD_next_time NG-WILD_next_time
attr TV_Programme_next readingsName_NG_next NG_next
attr TV_Programme_next readingsName_NG_next_time NG_next_time
attr TV_Programme_next readingsName_Sport1Plus_next Sport1Plus_next
attr TV_Programme_next readingsName_Sport1Plus_next_time Sport1Plus_next_time
attr TV_Programme_next readingsName_Sport1US_next Sport1US_next
attr TV_Programme_next readingsName_Sport1US_next_time Sport1US_next_time
attr TV_Programme_next readingsName_Sport1_next Sport1_next
attr TV_Programme_next readingsName_Sport1_next_time Sport1_next_time
attr TV_Programme_next readingsRegex_ARD_alpha_next <span>ARD Alpha<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_ARD_alpha_next_time <span>ARD Alpha<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_NG-WILD_next <span>Nat Geo Wild <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_NG-WILD_next_time <span>Nat Geo Wild <[\w\W]*?air-time"><stroNG-WILD>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_NG_next <span>National Geographic <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_NG_next_time <span>National Geographic <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sport1Plus_next <span>SPORT1+ <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sport1Plus_time_next <span>SPORT1+ <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sport1US_next <span>Sport1 US<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sport1US_time_next <span>Sport1 US<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next readingsRegex_Sport1_next <span>Sport1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next readingsRegex_Sport1_next_time <span>Sport1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>

define TV_Programme_abend HTTPMOD http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-7d6283c3084c54f5892900f4f74a5caf&form_id=dikr_tvm_tv_guide_tv_stations_count_form 1600

attr TV_Programme_abend readingsName_ARD_alpha_abend ARD_alpha_abend
attr TV_Programme_abend readingsName_NG_abend NG_abend
attr TV_Programme_abend readingsName_Sport1Plus_abend Sport1Plus_abend
attr TV_Programme_abend readingsName_Sport1US_abend Sport1US_abend
attr TV_Programme_abend readingsName_Sport1_abend Sport1_abend
attr TV_Programme_abend readingsRegex_ARD_alpha_abend <span>ARD Alpha<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsName_NG-WILD_abend NG-WILD_abend
attr TV_Programme_abend readingsRegex_NG-WILD_abend <span>Nat Geo Wild <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_NG_abend <span>National Geographic <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Sport1Plus_abend <span>SPORT1+  <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Sport1US_abend <span>Sport1 US<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Sport1_abend <span>Sport1 <[\w\W]*?alt="(.*?)" title=

define TV_A readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>,<Abend>
<Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>,<Abend>
TV_Programme_next:Sport1_time@TV_Programme,Sport1@TV_Programme,Sport1_next_time,Sport1_next,Sport1_abend@TV_Programme_abend
TV_Programme_next:Sport1Plus_time@TV_Programme,Sport1Plus@TV_Programme,Sport1Plus_next_time,Sport1Plus_next,Sport1Plus_abend@TV_Programme_abend
TV_Programme_next:Sport1US_time@TV_Programme,Sport1US@TV_Programme,Sport1US_next_time,Sport1US_next,Sport1US_abend@TV_Programme_abend
TV_Programme_next:History_time@TV_Programme,History@TV_Programme,History_next_time,History_next,History_abend@TV_Programme_abend
TV_Programme_next:NG_time@TV_Programme,NG@TV_Programme,NG_next_time,NG_next,NG_abend@TV_Programme_abend
TV_Programme_next:NG-WILD_time@TV_Programme,NG-WILD@TV_Programme,NG-WILD_next_time,NG-WILD_next,NG-WILD_abend@TV_Programme_abend


Seht ihr beim Code einen Fehler? Vielleicht schaue ich schon zu viel drauf geschaut, dass ich blind bin :)

Danke für eure Hilfe.

Gb4u
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 Januar 2015, 18:23:21
Hi,
ich hab mit der readingsGroup anzeige auf meinem Wandtablett auch noch ein Problem, auf meinem Laptop wird es wie im Anhang "Laptop" angezeigt, auf dem Tablett dann wie im Anhang "Tablett" hab noch nicht rausgefunden woran das liegt.....

Wird auf dem Tabett wieso auch immer kleiner angezeigt, obwohl genug Platz nach rechts wäre

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 10 Januar 2015, 18:30:00
Nutzt du vielleicht verschiedene CSS?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 Januar 2015, 20:32:49
nein, greife bei beiden überden gleichen Port drauf zu, und diesem ist in der fhem.cfg die css zugeordnet
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 11 Januar 2015, 01:41:56
Probiere es mal mit dem style-Attribut style="width:513px", mit der Pixel-Breite, die du dort zur Verfügung hast.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 11 Januar 2015, 15:27:03
Kennt jemand eine andere Seite, wo man vernünftig das Programm abfragen kann? Also als alternative zu tvmovie. Dort finde ich nicht alles für mich nötigen Sender.

tv spielfilm wär besser :) Problem ist, dass ich noch nicht rausgefunden habe, wie ich alle sender da anzeigen kann.
Wenn ich das rausgefunden habe, versuche ich mal die Daten auszulesen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 11 Januar 2015, 15:29:06
Was hat TV Spielfilm mehr?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 11 Januar 2015, 15:32:11
glaub das tvmovie schuld ist, dass bei mir Sport1+ nicht richtig angezeigt wird. Problem ist auch, dass ich bei Sendungen 20:15 nicht alle abfragen kann, womit ich die Sender der 2. Seite nicht einbinden kann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 11 Januar 2015, 20:20:23
Zitat von: MaJu am 11 Januar 2015, 01:41:56
Probiere es mal mit dem style-Attribut style="width:513px", mit der Pixel-Breite, die du dort zur Verfügung hast.

Das hat super funktioniert, danke für den Tip
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: tagedieb am 11 Januar 2015, 21:33:29
Hallo und guten abend

ich verfolge hier schon eine ganze Weile den Thread und habe mit meinen Anfängerissen versucht, mir eine TV anzeige nachzustellen
die jeweiligen Logos habe ich nach den hier genannten "Hinweisen "kopiert und in www/images/default gespeichert
jedoch erscheinen bei mir in der Anzeige keine Logos

Ich habe die Logos mit dem vorgeschlagenem Namen abgespeichert   :(
was habe ich übersehen/überlesen?

Ich freue mich über Hinweise

Grüsse Tagedieb
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 11 Januar 2015, 21:37:56
Also bei mir heissen die z.b.
Zitatsport1.png
oder
Zitatvox.png
und hast du ein set WEB rereadicons gemacht?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 11 Januar 2015, 21:43:54
Wenn die Icons nicht richtig dargestellt werden, schreib in die Readingsgroup doch am Anfang einfach als erste Zelle <%sport1>
... wenn deine Bild-Datei "sport1.png" heißt.
Die jeweils erste Zelle der anderen Sender passt du entsprechend an.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: tagedieb am 11 Januar 2015, 21:57:48
Hallo Tommy82

danke für eure schnelle Antwort
die Dateinamen waren korrekt - es funktioniert jedoch mit dem Hinweis von MaJu

Dankeschön

Gruss Tagedieb
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 11 Januar 2015, 23:59:56
Hallo,

hat es schon wer geschafft Sport1+ einzubinden? Vermute, dass es wegen dem "+" Probleme macht.

Bei Sport1 und Sport1 US bekomme ich keine Anzeige bei Abends. Kann die Sender auch in der Abfrage nicht finden :(
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 12 Januar 2015, 07:55:34
Sonderzeichen müssen entsprechend maskiert werden, wurde hier schon in den ersten Seiten irgendwo erklärt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 12 Januar 2015, 19:06:01
Danke Kuzl. Das wars ;)


So die ersten Sender sind drinnen. Es kommen noch einige mehr.

Am Wochenende versuche ich meine VU mit den Sendern zu verbinden (wenn es geht mit Buttons auf den Logos). Wenn wer eine Anleitung hat, nehme ich sie gerne :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 Januar 2015, 21:03:57
Da du ja so fleissig warst, würden sich bestimmt alle, für deinen Code zu den Sendern interessieren :-), das mit dem Abend Programm ist noch interessant, vieleicht bau ich das noch bei mir ein:-)
Und schöne Logos hast du da genommen

Das Umschalten auf der VU hab ich dank RoBra's hilfe mit diesen Codes hinbekommen, denn du dann nur für dich anpassen müsstest, dann sollte es klappen

Dummy definieren
############################################
define Senderwechsel dummy
attr Senderwechsel room Wohnzimmer
attr Senderwechsel setList ARD ZDF Sat1 RTL rtl2 Pro7 VOX Kabel1 Sport1


notify anlegen
define Senderwechsel.nf notify Senderwechsel.* {switchChannel('%EVENT')}
attr Senderwechsel.nf room Wohnzimmer


readingsGroup anpassen
attr TV_Programm commands {"set Senderwechsel %READING"}

sub in die 99_myUtils.pm einfügen
############################### TV Programm ########################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 12 Januar 2015, 21:07:00
Sobald alle Sender (die ich haben möchte) werde ich die selbstverständlich posten :)

Hab schon ein Bug in der Liste bereinigt (nun werden eigendlich alle Abendsendungen angezeigt) und einige Sender hinzugefügt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 Januar 2015, 21:11:53
Das hört sich doch gut an :-) Das Umschalten kannste ja mit obenstehenden Code mal testen, sollte für die VU passen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 12 Januar 2015, 21:17:01
Kann ich erst am Wochenende testen. Da bin ich erst wieder zu Hause, wo die VU steht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 14 Januar 2015, 12:12:47
Hallo,

hab das gestern mal für die Sender angepasst, die mich interessieren. Klappt auch alles, bis auf die cons.

1.  Bekomme nur die Namen der Ikonen angezeigt.

attr TV_Programm nameIcon { 'ard_time' => 'ard', 'zdf_time' => 'zdf', 'arte_time' => 'arte', 'dreisat_time' => '3sat', pro7_time => 'pro7', 'kabel1_time' => 'kabel1', 'sat1_time' => 'sat1', 'br_time' => 'tvlogo_br', 'phoenix_time' => 'tvlogo_phoenix', 'swr_time' => 'tvlogo_swr', 'zdfinfo_time' => 'tvlogo_zdfinfo'}

Habe beide Varianten nach www/images/default kopiert. Laut der Commandref ist ja www/images/default schon bei
attr WEB  - als default eingetragen und muss daher nicht mehr gesetzt werden.

Es gibt also in dem Ordner also sowohl "zdf.png", al auch "tvlogo_zdf". Beide Varianten werden nicht angezeigt, nur der Name, dh. werden nicht gefunden.

Was mache ich da falsch? Habe den Beitrag durchgelesen, aber keinen passenden Hinweis gefunden.

Hat noch jemand "BR-Alpha" in der Liste oder ev. dafür ein Logo? (Wenns dann mal bei mir läuft... :-))
Gruß

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 14 Januar 2015, 12:15:50
Hallo Elektrolurch,

versuch mal die '' bei der time Variable zu entfernen

also 'zdf_time' => 'zdf' in zdf_time => 'zdf' ändern

Datei muss zdf.psd oder zdf.jpg heißen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 14 Januar 2015, 12:25:20
Hallo,

die '' in dem Hash sollten überhaupt nicht stören, im Gegenteil, es ist besser sie drin zu haben, da ansonsten perl versucht da etwas zu interpretieren (z.B.{ mein-Name => 'Felix'' } geht nicht)
Ich hatte es erst ohne '' aus dem Beispielen hier übernommen und da ging es auch nicht. Die '' habe ich danach hinein gemacht.
Das mapping geht ja, denn er zeigt ja den Ikonnamen, statt der Ikone an (unterstrichen als Link). Und laut Commandref muss der Pfad zum default-Ordner ja nicht gesetzt werden....


Wieso .psd oder .jpg?
Da sind doch nur .png - Dateien im default - Ordner.

Gruß

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 14 Januar 2015, 12:51:13
png ist völlig okay, ich arbeite auch ausschließlich damit und habe auch nichts weiter gemacht.
Welcher Icon-Name wird dir denn angezeigt? So muss auch die png-Datei heißen.

Wenn du Bilder neu in den Bilder-Ordner geschoben hast, musst du die Bilder erst von FHEM einlesen lassen mit:
set WEB rereadicons
Das natürlich auch für die anderen Instanzen.
Oder einfach (nach dem speichern der Config ;-) ) mit "shutdown restart" FHEM neustarten, dabei werden die Bilder auch eingelesen.

Wenn das mit den Bildern nicht klappt, kannst du auch als erste Spalte die Icons direkt setzen mit zum Beispiel <%zdf> (so, wie die Bild-Datei heißt, ohne Dateiendung) und das Attribut nonames auf 1.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 14 Januar 2015, 14:33:37
Hallo,

oooh mon dieu,  da bin ich auch gerade drauf gekommen, dass fhem die wohl cached:

Wenn du Bilder neu in den Bilder-Ordner geschoben hast, musst du die Bilder erst von FHEM einlesen lassen mit:
Code: [Auswählen]
set WEB rereadicons
Das kannte ich noch nicht.

Danke.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 14 Januar 2015, 14:52:58
Hallo,

nachdem ich heute den Sender Kabel1 hinzugefügt habe fehlen auf einmal alle Senderlogos und anstatt den Namen die ich mit attr TV_Programm nameIcon { ard_time => 'ard', zdf_time => 'zdf', pro7_time => 'pro7', kabel-1_time => 'kabel1', sat1_time => 'sat1', rtl1_time => 'rtl1', rtl2_time => 'rtl2', sixx_time => 'sixx', dmax_time => 'dmax', rtlnitro_time => 'rtl_nitro', vox_time => 'vox', wdr_time => 'wdr'} gesetzt habe steht nur TV_Programme_next.

Könnte mir jemand eine Tipp geben was ich versuchen kann?

DEF der Readingsgroup
<Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung>
TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next
TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next_time,zdf_next
TV_Programme_next:wdr_time@TV_Programme,wdr@TV_Programme,wdr_next_time,wdr_next
TV_Programme_next:sat1_time@TV_Programme,sat1@TV_Programme,sat1_next_time,sat1_next
TV_Programme_next:rtl1_time@TV_Programme,rtl1@TV_Programme,rtl1_next_time,rtl1_next
TV_Programme_next:vox_time@TV_Programme,vox@TV_Programme,vox_next_time,vox_next
TV_Programme_next:pro7_time@TV_Programme,pro7@TV_Programme,pro7_next_time,pro7_next
TV_Programme_next:rtl2_time@TV_Programme,rtl2@TV_Programme,rtl2_next_time,rtl2_next
TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next_time,dmax_next
TV_Programme_next:kabel-1_time@TV_Programme,kabel-1@TV_Programme,kabel-1_next_time,kabel-1_next
TV_Programme_next:rtlnitro_time@TV_Programme,rtlnitro@TV_Programme,rtlnitro_next_time,rtlnitro_next
TV_Programme_next:sixx_time@TV_Programme,sixx@TV_Programme,sixx_next_time,sixx_next


DEF des HTTPMOD TV_Programme
http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 240

DEF des HTTPMOD TV_Programme_next
http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 14 Januar 2015, 15:09:28
Mal wieder zum Grundsätzlichen.

Ich finde das TV-Programm in FHEM eine richtig feine Sache!
Aber die aktuelle Lösung bringt auch Probleme mit sich, die wir nicht ignorieren sollten. Leider weiß ich hier aber auch keine Abhilfe.

Das Problem, geschildert an meiner Config:
Im Moment lasse ich alle 2 Minuten das aktuelle Programm und das Folgeprogramm abrufen. Ich muss die Anzahl 175 nehmen, da sonst N24 nicht mit auftaucht.
Zudem lasse ich einmal pro Viertelstunde das 20:15-Programm laden, hier allerdings weniger Senderanzahl, da N24 kein 20:15-Programm hat (20:05 Uhr wird ja leider nicht mit aufgelistet).

Das bedeutet: 30 pro Stunde MAL 24 Stunden am Tag MAL 2 Abrufe PLUS 4 pro Stunde MAL 24 Stunden am Tag --> Alleine mein FHEM verursacht bei dem Seitenbetreiber über 1.500 Seitenaufrufe pro Tag!!! Bei jedem der eine ähnliche Config hat ist es genauso viel.
Da ist es evtl. nur noch eine Frage der Zeit, bis hier irgendwann eine Sperre auf IP-Basis oder zu häufigem Abruf passiert.
Insbesondere wird das Datenvolumen leider enorm aufgebläht wenn man 175 Sender inklusive Bild-Link und Beschreibungstext und allem möglichen anderen Kram abruft, obwohl man nur Anfangszeit und Titel von 15 Sendern braucht.

Wie gesagt, ich weiß leider keine Lösung.
Sinnvoll wäre, wenn man die Sender einzeln abrufen könnte und so triggern, dass erst bei Beginn der nächsten Sendung der nächste Abruf erfolgt.

Zwischenlösung zur Datenvermeidung:
Ich habe ohnehin eine Abwesenheitsschaltung und werde auch eine Nachtschaltung bauen. In dieser Zeit werde ich die 3 Abrufe auf disable=1 setzen. Und während meiner Anwesenheit auf disable=0. Das reduziert die täglichen Abrufe bei mir schonmal um mehr als die Hälfte.

Ich würde mich über eine Diskussion zu diesem Thema freuen.

@coolice:
Ich hatte den Fehler auch nach Zufügen eines einzelnen Senders, aber nicht gefunden wo er steckt. Deshalb habe ich die Logos mit <&icon-Name> fest gesetzt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 14 Januar 2015, 15:55:55
Zitat@coolice:
Ich hatte den Fehler auch nach Zufügen eines einzelnen Senders, aber nicht gefunden wo er steckt. Deshalb habe ich die Logos mit <&icon-Name> fest gesetzt.
So?
attr TV_Programm { ard_time => <&ard>, zdf_time => <&zdf>}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 14 Januar 2015, 16:01:11
Nein, direkt in die Definition:

TV_Programme_next:<%ard>,ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next
me,dmax@TV_Programme,dmax_next_time,dmax_next
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: tagedieb am 14 Januar 2015, 17:34:48
Hallo und guten abend

ich habe versucht einige Fernsehkanäle hinzuzufügen und erhalte jetzt folgende Fehlermeldung:2015.01.14 17:22:53 3: TV_Programme: inconsistant attributes for readingsName_ZDFKULTUR
2015.01.14 17:22:53 3: TV_Programme: inconsistant attributes for readingsName_ZDFKULTUR_time
2015.01.14 17:22:53 3: TV_Programme: Response didn't match Reading(s) ARD_alpha_time, KIKA, N24, N24_time, SAT1GOLD, SAT1GOLD_time, SuperRTL, SuperRTL_time
2015.01.14 17:22:54 3: TV_Programme_next: inconsistant attributes for readingsName_SuperRTL_next
2015.01.14 17:22:54 3: TV_Programme_next: inconsistant attributes for readingsName_SuperRTL_next_time
2015.01.14 17:22:54 3: TV_Programme_next: inconsistant attributes for readingsName_ZDFKULTUR_next
2015.01.14 17:22:54 3: TV_Programme_next: inconsistant attributes for readingsName_ZDFKULTUR_next_time
2015.01.14 17:22:54 3: TV_Programme_next: inconsistant attributes for readingsName_readingsName_KIKA_next
2015.01.14 17:22:54 3: TV_Programme_next: Response didn't match Reading(s) ARD_alpha_next_time, KIKA_next_time, N24_next, N24_next_time, NTV_next, NTV_next_time, SAT1GOLD_next, SAT1GOLD_next_time, SERVUSTVD_next, SERVUSTVD_next_time
2015.01.14 17:24:34 3: TV_Programme_2015: Response didn't match Reading(s) ARD_alpha_2015, SAT1GOLD_2015, SuperRTL_2015, ZDFKULTUR_2015


kann mir von den Profis bitte jemand helfen?
Wo muss ich den Fehler suchen?

zum Bsp von: Sat1Gold und SuperRTL erscheint das Logo - doch keine Anzeige - jedoch nicht im Reading
für ARD Alpha und ZDFKultur erscheint nicht einmal das Logo
Ich habe vorhandene Sender kopiert und durch die entsprechenden Bezeichnungen ersetzt   :-\

Gruss tagedieb
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Andy89 am 14 Januar 2015, 18:24:14
Servus,
ich hätte eine Frage zu den Icons. Wie macht ihr das, dass sie genau die richtige Größe haben?
Kann man das einstellen? Wenn ja wie :-[, wenn nein, mit welchem Programm verkleinert ihr es auf welche Größe^^?
Danke =)

Beste Grüße
Andy
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 14 Januar 2015, 18:31:14
Ich nutze z.b. IrvanView zum Massenverkleinern.
Und nein. Hab noch keine Lösung gefunden, die Icons via FHEM zu verkleinern.
ist aber auch mit Batchverkleinerung kein Problem :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 15 Januar 2015, 15:47:55
Hallo, ich bekomme ein Reading nicht hin. Habe den Sender Super RTL hinzugefügt. Wie in der Readingsgroup zu sehen wird nur die aktuelle Anfangszeit , die Anfangszeit der nächsten Sendung und der Titel
der nächsten Sendung dargestellt. Die Attribute sind denke ich richtig definiert. Kann mir jemand den entscheidenden Tipp geben?

Grüße
Mirco
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 15 Januar 2015, 18:03:10
2 Stunden später und alles ist ohne das ich etwas verändert habe in Ordnung und wird richtig angezeigt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schucki am 15 Januar 2015, 19:28:58
Zitat von: MaJu am 14 Januar 2015, 15:09:28

ZitatIch finde das TV-Programm in FHEM eine richtig feine Sache!

Dem kann ich nur zustimmen. Ich lese seit beginn hier mit, un kann nun endlich meine Sender auch in der Liste sehen.

ZitatAber die aktuelle Lösung bringt auch Probleme mit sich, die wir nicht ignorieren sollten. Leider weiß ich hier aber auch keine Abhilfe.

Das befürchte ich leider auch.

ZitatDas bedeutet: 30 pro Stunde MAL 24 Stunden am Tag MAL 2 Abrufe PLUS 4 pro Stunde MAL 24 Stunden am Tag --> Alleine mein FHEM verursacht bei dem Seitenbetreiber über 1.500 Seitenaufrufe pro Tag!!! Bei jedem der eine ähnliche Config hat ist es genauso viel.
Da ist es evtl. nur noch eine Frage der Zeit, bis hier irgendwann eine Sperre auf IP-Basis oder zu häufigem Abruf passiert.
Insbesondere wird das Datenvolumen leider enorm aufgebläht wenn man 175 Sender inklusive Bild-Link und Beschreibungstext und allem möglichen anderen Kram abruft, obwohl man nur Anfangszeit und Titel von 15 Sendern braucht.

Der Seitenbetreiber wird sich nur bedingt freuen, wenn er so viel hits auf seine Seite hat, der Trafic wir aber wie du geschrieben hast, enorm bleiben, wenn sich hier aus dem Forum noch einige einklinken.

Zitat
Wie gesagt, ich weiß leider keine Lösung.
Sinnvoll wäre, wenn man die Sender einzeln abrufen könnte und so triggern, dass erst bei Beginn der nächsten Sendung der nächste Abruf erfolgt.

Ich fände es auch toll, wenn man nicht immer allen Datenmüll mitschleppen müsste. Deine Überlegung nur temporär alle Daten zu sammeln liest sich gut.

ZitatZwischenlösung zur Datenvermeidung:
Ich habe ohnehin eine Abwesenheitsschaltung und werde auch eine Nachtschaltung bauen. In dieser Zeit werde ich die 3 Abrufe auf disable=1 setzen. Und während meiner Anwesenheit auf disable=0. Das reduziert die täglichen Abrufe bei mir schonmal um mehr als die Hälfte.

Leider reichen meine Kenntnisse nicht aus, dies zu realisieren. Im Moment bin ich als Einsteiger in FHEM nur hier mitlesen und copy&past am machen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 15 Januar 2015, 19:39:34
Warum lässt du das 20:15 Programm so oft abrufen?  Das ist doch das einzige das nur einmal am Tag geladen werden muss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schucki am 15 Januar 2015, 19:40:51
Ich habe hier noch ein anderes kleines Problem, wo ich nicht weiss, wo ich ansetzen soll.

Dass nicht alle Sender angezeigt werden bzw. alle Infos gelistet werden habe ich hier ja schon öfter gelesen, aber bei mir werden als nachfolgende Sendungen Uhrzeiten angezeigt, die so nicht stimmen könne. Hat da jemand eine Idee?

Gruss guck

Bitte macht weiter so, ich finde das hier ganz grosses Kino.  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 15 Januar 2015, 21:19:18
Zitat von: coolice am 15 Januar 2015, 15:47:55
Hallo, ich bekomme ein Reading nicht hin. Habe den Sender Super RTL hinzugefügt. Wie in der Readingsgroup zu sehen wird nur die aktuelle Anfangszeit , die Anfangszeit der nächsten Sendung und der Titel
der nächsten Sendung dargestellt. Die Attribute sind denke ich richtig definiert. Kann mir jemand den entscheidenden Tipp geben?

Grüße
Mirco

Also bei mir funktioniert:


readingsName_SRTL SRTL
readingsName_SRTL_time SRTL_time
readingsRegex_SRTL <span>Super RTL<[\w\W]*?alt="(.*?)" title=
readingsRegex_SRTL_time <span>Super RTL<[\w\W]*?air-time"><strong>(.*?)<\/strong>


Am besten löscht du deine Einträge nochmal und gibst sie per Hand in die CMD. Das hilft bei mir immer :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 15 Januar 2015, 21:41:20
@Markus: Ich hatte meine Konfig nicht vor Augen, die 20:15-Sender lasse ich alle 2 Stunden laden. Das ist bei den Gesamtabrufen aber ohnehin das geringste Übel. Bei 1.500 Abrufen am Tag machen ein paar Dutzend mit einer geringeren Senderanzahl nicht wirklich einen Unterschied, nun sind es noch 12 am Tag, die ich auf noch weniger reduzieren könnte.
Aber zur Abhilfe: Wie kann man angeben, dass die 20:15-Zeiten jeden Tag 6 Uhr geladen werden? Was ist, wenn der Server 6 Uhr nicht erreichbar ist? Daher finde ich es das geringste Übel, den 20:15-Abruf alle 4 oder 6 Stunden oder so machen zu lassen.

@schucki:
Ich habe einen dummy der "Abwesenheit" heißt. Bei mir wird der aus einer Kombination von Türsensor und Taster mit einem Status versehen. Das kann man aber auch über einen Tastenklick auf dem Floorplan oder die Anwesenheitssteuerung machen. Folgendes DOIF bewirkt das folgene:
Wenn in FHEM der Befehl "set Abwesenheit abwesend" gesendet wird, dann werden die 3 TV-Programm-Abrufe deaktiviert (disable=1). Damit mir währenddessen auf dem Floorplan (den ich auch per Fernzugriff anschaue) nicht irgendwelche uralten Readings angezeigt werden die nicht mehr stimmen, lasse ich auch alle Readings löschen (außer die von 20:15 Uhr, denn die dürften aktuell genug geladen sein). Diese Funktion ist aber wohl mit Vorsicht zu genießen, brachte bei mir bisher aber keine erkennbaren Probleme.
Wenn der Befehl "set Abwesenheit anwesend" erzeugt wird, wird sofort der Abruf für das aktuell laufende Programm wieder aktiviert. Damit die 3 Abrufe nicht alle zur identischen Zeit loslegen und zu einer Behinderung führen, lasse ich das Folgeprogramm erst mit einer Verzögerung von 1 Minute starten (=sleep 60), das 20:15-Programm mit weiteren 2 Minuten Verzögerung.



define DOIF_TV_Abruf_Aktivierung DOIF

([Abwesenheit:?abwesend]) (attr TV_Programme disable 1, attr TV_Programme_2015 disable 1, attr TV_Programme_next disable 1, deletereading TV_Programme .*, deletereading TV_Programme_next .*)

DOELSEIF
([Abwesenheit:?anwesend]) (attr TV_Programme disable 0, sleep 60; attr TV_Programme_next disable 0; sleep 120; attr TV_Programme_2015 disable 0)

(Dies ist ein angepasster Abriss, mein DOIF ist durch die Tür-/Taster-Integration und die Ansteuerung von WebVieControl sonst noch umfangreicher)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 16 Januar 2015, 20:42:19
Bitte einen eigenen trade aufmachen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 23 Januar 2015, 13:27:30
@Markus
Einen eigenen Trade? Wen meinst du damit?
Ich will zumindest nix verkaufen. Und wenn du "Thread" meinst, dann sind die letzten Antworten hierher passend.


Nun noch eine Frage von mir, vor allem um das Problem "unnötige Seitenabrufe" weiter zu entschärfen:
Die meisten Sendungen fangen auf die Endminuten "0" oder "5" an (also 19:20 oder 20:05), die Minuten dazwischen sind eher unrelevant (es gibt kaum Sendungen die zum Beispiel 19:53 anfangen).

Ziel deshalb: Den Abruf nicht alle 2 Minuten durchführen, sondern alle 5 Minuten. Das muss dann aber auch zum Rhytmus passen. Denn es bringt ja nichts, um 20:14:58 neu zu laden, dann wird ja die nächsten 5 Minuten noch was falsches angezeigt. Vielmehr sollte der Abruf immer ein paar Sekunden nach den Endminuten "0" und "5" erfolgen und die Übersicht damit mit deutlich weniger Abrufen aktueller halten als bisher.

Wie aber bringt man FHEM bzw. dem Modul bei, immer zum Beispiel 20 Sekunden nach den beiden Endminuten den Abruf zu starten, nicht stur alle 5 Minuten?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 23 Januar 2015, 13:33:17
Zitat von: MaJu am 23 Januar 2015, 13:27:30
Wie aber bringt man FHEM bzw. dem Modul bei, immer zum Beispiel 20 Sekunden nach den beiden Endminuten den Abruf zu starten, nicht stur alle 5 Minuten?

Bau doch ein at mit alignTime...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 23 Januar 2015, 14:50:55
Hallo,

so ganz trivial ist das leider nun mal nicht:

1. Die einzige Möglichkeit httpmod ein- und auszuschalten ist wohl
attr name disable 1 bzw. 0.
Das macht man in einem at (at1).
2. Nach dem Einschalten weiß man aber dann erst einmal nicht, wann die next_time - Werte aktuell sind. Also muss man aus dem aktuellen at1 ein neues definieren (at2)und das aktuelle verlassen.
3. Das Folge-at2 berechnet nun die minimale (niedrigste) Zeit für die Nachfolgesendungen + ca. 30 Sekunden und definiert damit wieder das at 1, was erst einmal httpmod wieder auf disable 0 setzt.
Im at2 wird httmod auf disable 1 gesetzt.

Ich schau mal, ob ich da zwei kleine perl-Routinen für den Kram schreiben kann. Wahrscheinlich braucht man noch ein Objekt (define), so dass das ganze auch nach einem Neustart wieder anläuft.
Dann kann man auch auf at verzichten und gleich "InternalTimer" verwenden.


Jemand noch eine andere Idee?

Elektrolurch

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 23 Januar 2015, 14:56:27
Oder man macht es mit dem separaten Download via wget, der mittels cronjob angestoßen wird (so mache ich es) - da kann man FHEM auch alle zwei Minuten anschubsen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 23 Januar 2015, 15:15:39
Elektrolurch:
Wenn ich dich richtig verstanden habe, willst du sogar die Zeiten der Folgesendungen berücksichtigen und erst bei Beginn der ersten nächsten Sendung einen neuen Abruf starten?
Das wäre ja noch besser. Denn gerade am Beispiel der Sendungen 20:15 Uhr ist deutlich, dass man dann meist etwa Stunde gar keinen Abruf braucht.

Das übersteigt meine Kenntnisse leider deutlich, so dass ich leider nicht unterstützen kann. Ich teste aber gerne.
Wenn möglich, wäre die Prüfung auf einen Abwesenheitsdummy (bzw. irgendeinen Dummy) gut, damit man die Abfrage bei Abwesenheit und nachts auf ohne großen Aufwand ganz abschalten kann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 23 Januar 2015, 15:54:13
Würde zwei Zeiten als Attribut vorsehen:

starttime und endtime
zwischen den würden dann die Abfragen laufen.

Das Ganze würde dann so aussehen:

define myTVHelper TVHelper <TVJetzt> <TVDanach>

TVJetzt und TVDanach wären die beiden httpmod -. Objekte

Ausgewertet würden dann die readings .*next_time von <TVDanach>.

Mal sehen, ev. komme ich ja am Wochenende dazu.

Elektrolurch
Titel: Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 23 Januar 2015, 16:06:15
Fixe Zeiten finde ich nicht so gut, da es bei Schichtarbeit jeden Tag anders aussieht. Auch im Urlaub.
Damit ginge auch nicht, die Abfrage nachts beim schlafen UND tagsüber bei Abwesenheit zu unterbinden.

Ich fände einen Dummy "dummy_TV_Abfrage" mit den Möglichkeiten "abfragen" und "ruhen" (oder wie auch immer vergleichbar anders) besser, dessen Status man dann in seinen Automatismen mit setzen kann.

Das setzen des Dummy auf "ruhen" müsste die Abfrage disablen, das setzen auf "abfragen" startet eine Initiale Abfrage wie beim FHEM-Neustart.

NACHTRAG: Insbesondere um 20:15 sind die TV-Seiten fast alle überlastet, so dass die Abfrage in den Timeout läuft. Dennoch muss sichergestellt werden, dass es eine Folgeabfrage gibt, zum Beispiel nach 2 Minuten wenn es kein Zeit-Reading gibt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 23 Januar 2015, 16:35:35
Die festen Zeiten werde ich mal vorsehen. Sind ja Attribute. Ansonsten wird das Attribut disable unterstütz. Damit kann jeder individuell seine "Gewohnheiten" implementieren.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 23 Januar 2015, 18:14:00
@MaJu Hast recht mein Beitrag schaut jetzt etwas verloren aus  :'(
aber Jemand hatte Fragen über httpmod die nicht hier her gehörten  ::)
und hat den Beitrag einfach Gelöscht um mich Blöd dastehen zu lassen!!  >:(

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 23 Januar 2015, 21:34:16
So, ich habe mal wieder was gebastelt und stelle es hier zum Test: Nach den Diskussionen oben bezüglich der Häufigkeit der Updates habe ich folgendes gemacht:

1. Ich habe das Aktualisierungsintervall meines TVProgramms (nur eins für now und next: DG.wz.TV.Programm.temp) auf 5 Sekunden gesetzt und das Attribut disable auf 1 gesetzt:


define DG.wz.TV.Programm.temp httpmod <Adresse> 5
attr DG.wz.TV.Programm.temp disable 1


2. Ich habe ein notify gebaut, das nach der Aktualisierung des TVProgramms gebaut, welches das disable wieder auf 1 setzt und (hier kommt der Clou) eine Sub aufruft:

define DG.wz.TV.Programm.temp.not.update notify DG.wz.TV.Programm.temp.* attr DG.wz.TV.Programm.temp disable 1; {defineNextUpdate()}

3. Ich habe eine Sub gebaut, die die Zeiten für die nächsten Programme durchgeht, die nächste Zeit raussucht und ein at definiert, welches 30 Sekunden nach Start des nächsten Programmes das disable des TVProgramms auf 0 setzt und somit ein Update startet:

sub
defineNextUpdate()
{
  # Name des HTTPMod-Devices, welches die nächsten Sendungen enthält
  my $nextProgramDevice = 'DG.wz.TV.Programm.temp';
  # Name des HTTPMod-Devices, welches die aktuellen Sendungen enthält (kann '' bleiben, wenn nur ein HTTPMod verwendet wird)
  my $nowProgramDevice = '';
  # Raum, welchem das at zugeordnet werden soll
  my $room = 'Wohnzimmer';

  # Liste der verwendeten Kanäle ohne "_next_time"
  my @channels = ("ard",
                  "dmax",
                  "kabel1",
                  "kika",
                  "mdr",
                  "pro7",
                  "rtl1",
                  "rtl2",
                  "sat1",
                  "superrtl",
                  "vox",
                  "zdf");

  my ($sec,$min,$hour,$mday,$mon,$year) = localtime;
  my $t  = timelocal($sec,$min,$hour,$mday,$mon,$year)+60;
  my $zero = '';
  if ($min < 10)
  {
    $zero = '0';
  }
  my $timeNow = $hour.":".$zero.$min;

  my $timeNextTime = $t + (60*60*24);
  my $timeNext = ($hour+1).":".$zero.$min;
 
  foreach (@channels) {
    my $tempTimeNext = ReadingsVal($nextProgramDevice, $_.'_next_time', '');
    my @tempTimeNextParts = split(/:/, $tempTimeNext);
    my $tempTimeNextTime;
    if ($tempTimeNext lt $timeNow && $tempTimeNext gt '00:00')
    {
      $tempTimeNextTime = timelocal($sec,$tempTimeNextParts[1],$tempTimeNextParts[0],$mday,$mon,$year) + (60*60*24);
    }
    else
    {
      $tempTimeNextTime = timelocal($sec,$tempTimeNextParts[1],$tempTimeNextParts[0],$mday,$mon,$year);
    }
    if ($tempTimeNextTime > $t && $tempTimeNextTime < $timeNextTime)
    {
      $timeNextTime = $tempTimeNextTime;
      $timeNext = $tempTimeNextParts[0].':'.$tempTimeNextParts[1];
    }
  }

  fhem('define '.$nextProgramDevice.'.at.update at '.$timeNext.':30 attr '.$nextProgramDevice.' disable 0');
  fhem('attr '.$nextProgramDevice.'.at.update room '.$room);
  if ($nowProgramDevice ne '')
  {
    fhem('define '.$nowProgramDevice.'.at.update at '.$timeNext.':30 attr '.$nowProgramDevice.' disable 0');
    fhem('attr '.$nowProgramDevice.'.at.update room '.$room);
  }
}


Das sub muss noch an den Kommentierten stellen angepasst werden.

Wie gesagt, ist das eine erste Version. Das definieren des at hat in einem ersten Test bereits erfolgreich funktioniert, ich kann aber noch nicht sagen, ob die 30 Sekunden reichen, dass die Webseite upgedatet ist, oder ob man die Zeit noch hochsetzen muss. Auch weiß ich nicht, ob Sendungen zum Tageswechsel richtig funktionieren - in der Programmierung sind diese berücksichtigt, aber getestet habe ich das noch nicht. Sollte mal keine Nachfolgesendung gefunden werden, wird ein at für in einer Stunde erstellt.

Bitte testet es mal bei Interesse und gebt bei Bedarf Rückmeldung...

Ronny

EDIT: habe noch einen kleinen Fehler korriegiert...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 27 Januar 2015, 17:04:02
Hallo,

so, jetzt habe ich auch eine Lösung gebastelt, die httpmod nur noch dann aufruft, wenn sich die Zeiten in TV_Programm_next ändern.
Vorteile:
1. Man muss nicht die beiden httpmod - Module auf disable stellen und eine Wiederholungsrate von 5 Sekunden bei den Modulen einstellen. Dies kann nämlich zu Problemen führen.
2. Die Berechnung der nächten Aktualisierungszeit erfolgt über die readings *.-time_next des TV_Programm_next - Objektes. Es muss also keine Kanalliste hinterlegt werden.
So gehts:
1. Einfach die angehängte fhem-Datei ins FHEM - Verzeichnis kopieren und mit "reload" oder Neustart aktivieren.
2. Die beiden Objekte (TV_Programme und TV_Programme_next, oder wie sie bei euch heißen) per modify auf  eine lange Refreshzeit (z.B. 3 Stunden oder länger) einstellen.
Das Intervall ist die letzte Zahl im modify-Feld.

3. define TVhelper TVhelper <TV_Programme> <TV_Programme_next>

und schon läuft das Teil automatisch.
Standardmäßig werden die Programminfos zwischen 16:00 und 23:00 Uhr automatisch aktualisiert.
Wer das abändern möchte, setzt bitte die beiden Attribute
attr TVhelper starttime 12:00
attr TVhelper endtime 23:59

Das Laden der Webseiten erfolgt über das httpmod - Modul, in dem dort der TVhelper die httpmod_Update() - Routine direkt aufruft. Daher müssen die beiden httmod - Objekte
disable 0
sein, sonst werden die Webseiten nicht geladen.
Beim o.g. define wird erstmalig das disable auf 0 gesetzt, falls das jemand doch vergessen hat!


30 Sekunden nach dem Laden der Webseiten wird die nächste Zeit berechnet und ein at  erzeugt:
TVhelper_<Zeit>_at
Mit disem at wird dann die nächste Aktualisierung der Programminfos durchgefühert.

Wer diese Zeit einstellen möchte
attr TVhelper delay-time-read 15

Mit attr TVhelper verbose 3 oder 4
sieht man, wie die Zeiten berechnet werden.

Die readings im dem TV_Programme_next Objekt, die die Zeiten der nächsten Sendungen enthalten, müssen:
~m/.*_next_time/
entsprechen.

Mit
attr TVhelper disable 1
kann man das Modul daktvieren. Dann werden die Programminfos nur noch gem. des Intervalls von httmod aktualisiert.

Viel Spaß

Elektrolurch


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 27 Januar 2015, 17:53:09
@Elektrolurch: Danke! :-)

Habe es bei mir installiert und es macht spontan einen sehr guten Eindruck. Habe die HTTPMODs der TV-Programme auf 20000 gesetzt, durch deinen TVhelper wurde die nächste Abrufzeit anhand der von mir gewählten Sender richtig gesetzt und ausgeführt und auch das nächste at richtig gesetzt.

Auch die Möglichkeiten mit start- und endtime  finde ich hervorragend gelöst. Und disable für die getriggerte Abwesenheits- und Nachtschaltung.

Ganz dolle danke!

Was passiert eigentlich, wenn der Server nicht erreichbar ist von dem das TV-Programm geladen wird, wie es bei den Sendungen 20:05 und 20:15 sicher oft der Fall sein wird?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 27 Januar 2015, 17:59:31
Die Zeitenberechnung macht die TVhelper_NextTime Rotine.
Falls der Server nicht erreichbar ist, liefert httpmod keine aktualisierten Daten. Leider gibt es dafür auch kein Event. Also wird die nächste Zeit auf Grund der vorhandnenen Daten berechnet, vermutlich dürfte das gar nicht auffallen j:-)
Ich hatte es seit Sonntag getestet und mir das log angeschaut und das sah eigentlich auf Anhieb ok aus.
...

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 27 Januar 2015, 18:08:44
Danke.
Da quasi alle Sender um 20:05/20:15 eine neue Sendung starten, gibt es zu diesem Zeitpunkt noch keine andere next_time als 20:15, die gezogen werden könnte.
Testen und beobachten wir es :-)
Da die typischen Primetime-Tage Freitag und Samstag sind, vermute ich, dass die Engpässe bei der Server-Erreichbarkeit vor allem an diesen beiden Tagen auftreten, wenn die halbe Nation online guckt was gleich im TV kommt. Das ist auch so die übliche Erfahrung die ich bisher beim TV-Programm anschauen im Browser habe. Auch die Abfrage durch fhem blieb um diese Zeiten ergebnislos.

(Bitte nicht als "meckern" verstehen, ich bin deutlich zu unerfahren für ein solches Modul [um nicht "zu doof" zu sagen] und es liegt mir fern das zu kritisieren was hier von technisch versierten Mitstreitern in der Freizeit gebastelt und kostenlos der Allgemeinheit zur Verfügung gestellt wird)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 30 Januar 2015, 11:33:42
Komisch, dass das Helferlein von Elektrolurch erst so wenig heruntergeladen wurde.
Liebe Nutzer dieses TV-Programm-Codeschnipsels: Bitte versucht so datensparsam wie möglich zu sein. Je mehr Nutzer den Abfrage-Server überstrapazieren, desto eher wird es dazu führen, dass technische Mittel zur Unterbindung ergriffen werden. Die Einrichtung des TVhelper ist kinderleicht, wenn man schon das andere geschafft hat.

__________________________

Ich bitte um Hilfe:

In meiner ReadingsGroup werden Sonderzeichen bei den Sendungsnamen immer als Code dargestellt wenn der Floorplan neu geladen wird. Erst beim Aktualisieren des Readings werden Zeichen wie Anführungszeichen oder Hochkomma richtig angezeigt. Insbesondere bei den 20:15-Programmen, die ja im Idealfall nur einmal am Tag geladen werden, hat man ab dem Zeitpunkt des Neuladens der Seite immer zum Beispiel "Law &amp; Order" statt "Law & Order" stehen, das reduziert leider den WAF.

Besteht hier die Möglichkeit der Abhilfe?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 30 Januar 2015, 12:31:00
Hab das Helferein eingebunden ;)

Hat wer schon geschafft für 13th Street eine Abendsendung oder das Logo einzubinden?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 30 Januar 2015, 23:03:17
Hallo, wollte mit define TVhelper TVhelper <TV_Programme> <TV_Programme_next> den TVhelper installieren. Ich bekomme nach dem Enter drücken aber nur TVhelper: define <Name> TVhelper <TVnow> <TVnext> angezeigt. Mehr passiert nicht. Mach ich was falsch?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 31 Januar 2015, 03:15:19
Steht ja e da du musst noch den Namen Tv Programm und tv Programm next angeben oder wie es bei dir auch heißen mag
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 31 Januar 2015, 03:17:56
Zitat von: Markus am 31 Januar 2015, 03:15:19
Steht ja e da du musst noch den Namen Tv Programm und tv Programm next angeben oder wie es bei dir auch heißen mag
Ohne Pfeile :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 31 Januar 2015, 11:33:56
Zitat:
Ohne Pfeile :D

Schon mal CommandRef gelesen:

<Name> oder
[<Wert>],...

Kommt da bei JEDER Beschreibung von define vor....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 31 Januar 2015, 12:53:04
Hallo,

ich habe den Code von Markus und Simonberry (die lange Senderliste.....) bei mir eingespielt.
Läuft soweit wie es soll.

Bei mir läuft das Viera Modul, d.h. ich kann von FHEM aus meinen Panasonic Fernseher steuern.

Wäre schön, wenn man mit Klick auf das Senderlogo einen Befehl senden könnte, um auch
diesen Kanal einzuschalten.   d.h. set <myTV> <channel> [<Kanalnummer>]

Geht das, was ist dazu am Code zu ändern ?

Gruss

Ralf


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 31 Januar 2015, 14:53:36
@ rasti natürlich geht das  8)



##############################################################
# $Id: 99_Utils.pm 1932 2012-10-06 20:15:33Z ulimaass $                                                           #
#                        Markus 24.11.2014                                                                                                #
##############################################################
package main;

use strict;
use warnings;
use POSIX;

sub
TVsenderUtils_Initialize($$)
{
  my ($hash) = @_;
}


sub
switchChannel($)
{
  my %channellist = (
    anixe => '81',
    ard => '16',
    arte => '41',
    br => '49',
    deluxemusic => '62',
    disney => '11',
    dmax => '21',
    dreisat => '18',
    einsfestival => '2',
    einplus => '65',
    euronews => '60',
    hr => '51',
    kabel1 => '9',
    kika => '50',
    mdr => '3',
    n24 => '59',
    ndr => '48',
    nick => '39',
    ntv => '58',
    phoenix => '71',
    pro7 => '1',
    rbb => '53',
    rtl => '2',
    rtl1 => '2',
    rtl2 => '3',
    rtlnitro => '22',
    sat1 => '4',
    sat1gold => '30',
    servustv => '38',
    sixx => '32',
    superrtl => '12',
    swr => '54',
    tagesschau => '69',
    tele5 => '10',
    tlc => '2',
    viva => '19',
    vox => '5',
    wdr => '47',
    zdf => '17',
    zdfinfo => '66',
    zdfkultur => '70',
    zdfneo => '68',
    ORF1 => '6',
    ORF2 => '7',
    ORF3 => '8',
    ATV => '13',
    ATV2 => '14',
    PULS4 => '15',
    SOPHIATV => '20',
    Hitradiooe3 => '23',
    Folx => '24',
    ProSiebenMAXX => '27',
    TechTime => '28',
    RIC => '7',
    WeltDerWunder => '31',
  );
 
  my $TVDevice = 'TV channel';

  my ($channel) = @_;
  $channel =~ s/_time//g;
  $channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split(/_/, $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $command = '';
 
  my @digits = split("", $channellist{$channel});
 
  foreach (@digits)
  {
    if ($command ne '')
    {
      $command = $command.'; ';
    }
    $command = $command.'set '.$TVDevice.' '.$_;
  }
 
  if ($command ne '')
  {
    $command = $command.'; set '.$TVDevice.' ENTER';
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
     fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
       fhem('attr '.$TVDevice.'.Senderwechsel.at room TV');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
1;
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: coolice am 31 Januar 2015, 17:12:08

Zitat von: Markus am 31 Januar 2015, 03:15:19
Steht ja e da du musst noch den Namen Tv Programm und tv Programm next angeben oder wie es bei dir auch heißen mag
hab ich doch. Siehe Code


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 31 Januar 2015, 17:17:07
Schon klar ich hab deinen Code gesehen
Aber ließ dir doch die Antworten darauf nochmal durch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 31 Januar 2015, 21:48:37
Hallo Markus,

habe versucht das einzubinden, geht aber (noch) nicht...ich komme nach wie vor auf die
Seite https://192.168.178.6:8083/fhem?detail=TV_Programme wenn ich aufs Logo klicke.

Ich habe deinen Code oben in 99_myUtilsTVswitcher.pm gespeichert und im FHEM Verzeichnis
mit Berechtigung 644 abgelegt. Zusätzlich in fhem.cfg noch folgendes gesetzt :

attr TV_Programm commands { ard => "{mlfunc_tv_switch(\"ard\")}", zdf => "{mlfunc_tv_switch(\"zdf\")}", arte => "{mlfunc_tv_switch(\"arte\")}", dreisat => "{mlfunc_tv_switch(\"dreisat\")}", pro7 => "{mlfunc_tv_switch(  ........... uswusw

Was anderes ist mir aufgefallen, ich habe mir mal den Log angeschaut, der ist voller Fehlermeldungen

2015.01.31 21:31:40 2: VIERA: defined with host: 192.168.178.9 and interval: 30
2015.01.31 21:31:52 1: Including ./log/fhem.save
2015.01.31 21:31:53 1: OWX: 1-Wire bus OneWireAdapter: interface master DS2480 re-detected
2015.01.31 21:31:53 1: usb create starting
2015.01.31 21:31:55 3: Probing CUL device /dev/ttyAMA0
2015.01.31 21:31:55 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.01.31 21:31:55 3: Probing FRM device /dev/ttyAMA0
2015.01.31 21:32:00 1: usb create end
2015.01.31 21:32:00 2: SecurityCheck:  telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2015.01.31 21:32:00 0: Server started with 66 defined entities (version $Id: fhem.pl 7609 2015-01-17 21:37:05Z rudolfkoenig $, os linux, user fhem, pid 4125)
2015.01.31 21:32:04 1: OWX: 1-Wire devices found on bus OneWireAdapter (Temperatur_Keller)
2015.01.31 21:34:22 3: TVhelper: found -> next time 21:35 disney
2015.01.31 21:34:22 3: Starte next timer for TVhelper:
define TVhelper_2135_at at 21:35:30 {TVhelper_Update("TVhelper");;}
2015.01.31 21:36:00 3: TVhelper: found -> next time 21:40 einsfestival
2015.01.31 21:36:00 3: Starte next timer for TVhelper:
define TVhelper_2140_at at 21:40:30 {TVhelper_Update("TVhelper");;}
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 34) line 1.
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 35) line 1.
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 36) line 1.
2015.01.31 21:36:59 2: Undefined subroutine &main::mlfunc_tv_switch called at (eval 37) line 1.


usw usw....die Fehlerliste geht weiter bis eval 113.
Gehe ich nicht auf die TV-Senderlistenseite in FHEM kommen keine Meldungen im Log.

Ist das normal ? Eigentlich läuft zumindest die Anzeige der Programme und die
werden auch ständig aktualisiert. Fällt einem Benutzer also auch nicht auf....

Was mache ich falsch ?

Gruss

Ralf

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 31 Januar 2015, 23:57:24
Hallo Markus,

ein paar Fehler habe ich bei mir gefunden.....

mlfunc_tv_switch ist wohl deine Funktion switchChannel

Wenn ich das aber nun ersetzte passiert folgendes


a) der Fernseher zappt mir alle 2 Minuten alle Programme durch
Dabei folgende Fehler im log:
2015.01.31 23:38:08 2: VIERA: defined with host: 192.168.178.9 and interval: 30
2015.01.31 23:38:21 1: Including ./log/fhem.save
2015.01.31 23:38:22 1: OWX: 1-Wire bus OneWireAdapter: interface master DS2480 re-detected
2015.01.31 23:38:27 3: VIERA: Set channel 1
2015.01.31 23:38:27 3: VIERA: Set channel 6
2015.01.31 23:38:27 1: PERL WARNING: Argument "enter" isn't numeric in numeric lt (<) at ./FHEM/70_VIERA.pm line 208.
2015.01.31 23:38:27 3: set TV channel 1; set TV channel 6; set TV channel ENTER : VIERA: Channel is too high or low!
2015.01.31 23:38:27 3: VIERA: Set channel 1
2015.01.31 23:38:27 3: VIERA: Set channel 7
2015.01.31 23:38:27 3: set TV channel 1; set TV channel 7; set TV channel ENTER : VIERA: Channel is too high or low!
2015.01.31 23:38:27 3: VIERA: Set channel 4
2015.01.31 23:38:28 3: VIERA: Set channel 1
2015.01.31 23:38:28 3: set TV channel 4; set TV channel 1; set TV channel ENTER : VIERA: Channel is too high or low!


b) Wenn ich aufs Senderlogo klicke komme ich weiterhin auf /fhem?detail=TV_Programme
c) Das aktuelle Programm der Sender erscheint als Hyperlink. Klick drauf führt aber zu gar nichts

Ich habe erstmal das attr TV_Programm commands { ard => "{mlfunc_tv_switch(\"ard\")}", zdf => "{mlfunc_tv_switch(\"zdf\")}", arte => "{mlfunc_tv_switch(\"arte\")}", dreisat => "{mlfunc_tv_switch(\"dreisat\")}", pro7 => "{mlfunc_tv_switch(  ........... uswusw
in fhem.cfg auskommentiert, damit man weiter fernsehen kann ....

Asche auf mein Haupt aber so ist das nun mal, wenn man nicht programmieren
sondern nur in fremden Programmen rumpfuschen kann.

Aber vielleicht hilfst du mir trotzdem weiter......

Gruss

Ralf

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Markus am 01 Februar 2015, 01:37:54
Bei mir funktioniert es wenn ich auf den Programm Namen klicke nicht auf das logo
Ich hab auch viera und wenn du meine cfg auch hast musste es eigentlich funktioniert

Hat jemand noch andere Sender als ich eingebunden?
Wäre cool wenn's hier veröffentlicht werden, mir fehlen noch einige

Gruss Markus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 01 Februar 2015, 09:31:16
Moin :) Ich bin dabei einige sender einzubinden.

Hier mein akt. Stand :)

Sobald die Bilder passen und halbwegs alle sender drinnen sind, gebe ich euch den Code :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 01 Februar 2015, 15:23:29
Hallo Markus,

vielleicht könntest du mal deinen aktuellen Stand der FHEM.cfg (also den TV-Teil ntürlich nur)
posten, ich habe mir meine Konfiguration aus verschiedenen Posts rausgeholt und da ist
vermutlich was schiefgelaufen....

Insbesondere für mich als Anfänger ist es hilfreich, alles zusammen zu haben.

Anbei mal die Konfiguration, die bei mir nicht läuft.... (Fehler wie in meinem vorigen Posting beschrieben)

Gruss

Ralf
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 01 Februar 2015, 16:18:40
Zitat von: Germanboy4u am 01 Februar 2015, 09:31:16
Moin :) Ich bin dabei einige sender einzubinden.

Hier mein akt. Stand :)

Sobald die Bilder passen und halbwegs alle sender drinnen sind, gebe ich euch den Code :)

Das sind ja mal ne Menge Sender, da freu ich mich schon auf den kompletten Code:-)
Wo hast du die schönen Icons her?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 01 Februar 2015, 18:01:14
Hier mein Code: Es sind noch paar Fehler drinnen (z.B. wird aus welchem Grund auch immer kein Logo für 13th Street angezeigt.

Logos kann ich leider nicht geben, da ich die von meiner VU+ genommen habe. Wenn ihr in den passenden Foren nach Picons für Enigma2 Satrecievern (Dreambox, VU+ ect) sucht, findet ihr sicherlich passendes. Müsst euch nur die Arbeit machen die Bilder umzubenennen. Mit 1_0_1_2EE4_441_1_C00000_0_0_0.png will keiner Arbeiten ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 01 Februar 2015, 18:18:27
Hallo,

die beiden letzten Beiträge würde ich mal am liebsten löschen:
Solche langen Listings gehören nicht in den Forumstext, sonden in eine Anlage!!!!!!
Genauso wie manche hier seitenlange logile-Auszüge löschen, so nach dem Motto: Erst einmal alles ins Forum rein kippen, irgendeiner wirds schon anschauen. Auch hier kann man logiles, oder deren Auszüge als Anhang an einen Beitrag hängen.
Das macht das ganze übersichtlicher, insbesondere erleichtert es den anderen Mitglieder/innen oder -ixen das SUCHEN!!!!!!
Danke.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 01 Februar 2015, 18:19:30
Stimmt. Anlage :) Daran hab ich nicht gedacht. Mache ich sofort.

Edit: So anderen Beiträge sind gelöscht.

Wer Fehler findet bitte berichten.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schaufma am 02 Februar 2015, 20:24:03
hi Germanboy4u ...

lässt du dich echt nicht erweichen? ich meine deine icons wären schon schön und vom Prinzip her bin ich ich ja echt faul ;-)

cu
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 02 Februar 2015, 20:33:29
Da die Logos nicht auf meinem Mist gewachsen sind, kann ich sie leider nicht weiter geben.

http://www.i-have-a-dreambox.com/wbb2/board.php?boardid=248 <-- dort finest du ganz viele picons :)
http://www.vuplus-support.org/wbb3/index.php?page=Board&boardID=87 <-- hier auch :)
http://www.vuplus-support.org/wbb3/index.php?page=Thread&threadID=48973&s=3b138d00ddecd9a3bcdc605c1dafdd86782c0f4a <-- hier findest du die Picons aus dem Screen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 02 Februar 2015, 20:51:58
17 Downloads? Und keiner hat den Fehler bei ServusTV gefunden?  ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schaufma am 02 Februar 2015, 21:14:09
na, so weit bin ich noch nicht ... muss ja picons umbenennen  :P

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 02 Februar 2015, 21:15:44
Passt nur indirekt hierhin, aber ich lasse mir die EPG Daten direkt von meiner meine VU+ Duo2 via iframe anzeigen. Also wer einen "ENIGMA" Receiver sein eigen nennt könnte dies auch darüber lösen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 02 Februar 2015, 21:26:52
Hab auch eine VU. Aber iframe ist meiner Meinung nicht das beste :)

Gut wärs irgendwie die epg.dat auszulesen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 02 Februar 2015, 22:19:29
Zitat von: Germanboy4u am 02 Februar 2015, 20:51:58
17 Downloads? Und keiner hat den Fehler bei ServusTV gefunden?  ;D

idu meinst die fehlende Folgesendung und -Uhrzeit ?

das ist glaube nicht nur in deiner Version so....

Gruss

Ralf

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 02 Februar 2015, 22:29:11
da fehlt ein Lehrzeichen. Dann wird auch das aktuelle Programm angezeigt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 02 Februar 2015, 22:31:17
da fällt mir was ein. Die VU+ legt doch die EPG.dat ab. Ich gucke mal die Tage wie diese aufgebaut ist.
Am iframe ist das Schöne, dass man daraus direkt eine Aufnahme programmieren kann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schaufma am 03 Februar 2015, 21:02:09
@germanboy4you:

wahrscheinlich bin ich blind ... magst mir sagen, wo das Lesezeichen zu viel ist?

p.s. umbenennen hat funktioniert, hab aber auch die Jungs im vu+ forum angeschrieben, ob man die icons evtl. auch verwenden könnte (wenn man einen Referenz link macht). im vu forum gibt es momentan eh einen thread für "fhem als enigma plugin"... das schaut schon mal vielversprechend aus...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 03 Februar 2015, 21:37:39
Zitat von: schaufma am 03 Februar 2015, 21:02:09
@germanboy4you:

wahrscheinlich bin ich blind ... magst mir sagen, wo das Lesezeichen zu viel ist?
Was für ein Lesezeichen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Michi240281 am 03 Februar 2015, 21:47:36
Hallo zusammen,

habe gerade mal versucht, das TV Programm bei mir zu integrieren. Dazu habe ich den gesamten Code aus Post #405 bei mir reinkopiert.

Leider taucht das Modul und die RG nirgends auf! Kann es sein, dass ich für HTTPMOD noch was installieren muss und wie wäre der Befehl dazu (RPi)?

Danke und Gruß
Michael
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 03 Februar 2015, 22:02:53
Restart hast du gemacht?

Versuch mal es über die cmd einen Sender hinzuzufügen Musst eigendlich nichts installieren.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Michi240281 am 03 Februar 2015, 23:01:00
Fhem restart? Ne hab ich nicht!

Das abspeichern der fhem.cfg hat ca. 2-3 Minuten gedauert, nachdem ich den gesamten Inhalt aus Post #405 einkopiert habe. Danach war nirgends was vom TV Programm zu sehen. Daher dachte ich, es würde was fehlen vllt! Also ist ein Fhem restart zwingend erforderlich?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 04 Februar 2015, 06:21:57
Tue dir einen Gefallen. Kopier nie einen Code über "Edit Files" in die cfg. Entweder direkt in die Datei schreiben oder besser alles oben in die command eingeben.

und nach jedem Abspeichern ist ein "shutdown restart" notwendig. Sonst kann der Inhalt nicht geladen werden.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schaufma am 04 Februar 2015, 08:01:32
sorry ... meinte Leerzeichen (sch... mac autokorrektur)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 04 Februar 2015, 08:39:40
Es ist eins zuwenig. ;D

attr TV_Programme readingsRegex_SERVUSTVD<span>SERVUSTVD<[\w\W]*?alt="(.*?)" title= <-

das muss heißen:
attr TV_Programme readingsRegex_SERVUSTVD <span>SERVUSTVD<[\w\W]*?alt="(.*?)" title=
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Michi240281 am 05 Februar 2015, 11:41:25
Das TV Programm wird nun eingebunden!

Jedoch folgende Frage: Kann es sein, dass dieses Modul das System sehr stark ausbremst? Seitdem ich die gesamten Programme aus Post #405 bei mir eingebunden habe, ist alles irgendwie sehr zäh geworden. Das Abspeichern der fhem.cfg dauert auch jedes Mal 2-3 Minuten in denen fhem auch garnicht erreichbar ist (auch zu sehen am blinken des HMLAN). Ich denke ich werde in einem ersten Schritt mal die Programme auf ein Mindestmaß reduzieren, wie ich es überhaupt benötige!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 05 Februar 2015, 11:53:18
@Michi:
Ein Ausbremsen des Systems kann ich nicht feststellen (FHEM läuft auf einem RPi, der ja nicht sonderlich potent ist).

Wie speicherst du denn die fhem.cfg? Über "edit files" in der FHEM-Oberfläche? Das solltest du möglichst nicht tun. Wenn du schon an der fhem.cfg direkt rumspielst, dann lieber über FTP oder notfalls Samba-Zugriff (Netzwerkordner).
Grundsätzlich sollten wir als Nutzer nie selbst an der fhem.cfg arbeiten, sondern ausschließlich über das Kommandofeld in der Oberfläche und die jeweiligen Attribute in den einzelnen Geräten/Devices.

Nebenbei: Wie oft aktualisiert dein TV-Programm? Hast du den TVhelper auch installiert, um unnötige Aufrufe und damit unnötige Last auf deinem System zu vermeiden?
Hast du alle Programme eingebunden? Das sind ja gefühlt hunderte, da ist es kein Wunder wenn es Ressourcen frisst! Nimm dir die Programme raus, die du für dich brauchst, den Rest löschen. Sonst bringt auch der TVhelper nicht so viel, wenn Anzahl der Sender deutlich über der benötigten liegt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 05 Februar 2015, 12:10:10
Ich nutze FHEM auf einer Nas. Merke da kein geschwindigkeitsunterschied. Nutze auch den TVhelper.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 05 Februar 2015, 12:19:09
Da ich diese Verzögerungen auch bemerkt hatte (hatte bei jedem update freeze-Meldungen im Log und wenn ich in dem Moment das Licht geschaltet habe, dauerte das auch länger) habe ich solche Dinge auf die eigentlich ausrangierte FritzBox ausgelagert und per FHEM2FHEM angebunden...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 05 Februar 2015, 12:51:48
Hallo Leute,

was haltet ihr davon, den TVhelper so auszubauen, dass er das Programm selbst vom Server holt und nicht auf  HTTPMOD angewiesen ist?
Dann wärs ein eigenständiges Modul, das auch eingecheckt werden kann.
Ich stells mir so vor, dass dann über ein Attribut nur noch die Sender eingestellt werden müssen und zusätzlich noch welche Zeiten man haben will (aktuell, danach, 20:15 )
das Modul filtert dann die programme raus und stellt sie in Readings bereit.

Zusätzlich kann der bisherige Mechanismus von TVhelper weiter verwendet werden sodass nur ein update gemacht wird, wenn es benötigt wird.

Gruß
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Michi240281 am 05 Februar 2015, 16:54:00
Zitat von: MaJu am 05 Februar 2015, 11:53:18
@Michi:
Ein Ausbremsen des Systems kann ich nicht feststellen (FHEM läuft auf einem RPi, der ja nicht sonderlich potent ist).

Wie speicherst du denn die fhem.cfg? Über "edit files" in der FHEM-Oberfläche? Das solltest du möglichst nicht tun. Wenn du schon an der fhem.cfg direkt rumspielst, dann lieber über FTP oder notfalls Samba-Zugriff (Netzwerkordner).
Grundsätzlich sollten wir als Nutzer nie selbst an der fhem.cfg arbeiten, sondern ausschließlich über das Kommandofeld in der Oberfläche und die jeweiligen Attribute in den einzelnen Geräten/Devices.

Nebenbei: Wie oft aktualisiert dein TV-Programm? Hast du den TVhelper auch installiert, um unnötige Aufrufe und damit unnötige Last auf deinem System zu vermeiden?
Hast du alle Programme eingebunden? Das sind ja gefühlt hunderte, da ist es kein Wunder wenn es Ressourcen frisst! Nimm dir die Programme raus, die du für dich brauchst, den Rest löschen. Sonst bringt auch der TVhelper nicht so viel, wenn Anzahl der Sender deutlich über der benötigten liegt.

Klar, ich habe den gesamten Inhalt aus Post #405 bei mir über Edit files in die fhem.cfg kopiert und abgespeichert. Wie sollte ich es anders machen? Ist ja viel zu mühselig, das alles einzeln in die Kommandozeile zu kopieren. Ich "pfusche" selbst an sich sehr sehr selten noch in der fhem.cfg rum. Nur bei nem 3-seitigen Code habe ich das natürlich gemacht.
Wie oft das aktuelisiert kann ich garnicht sagen, noch nicht nachgeschaut! Wie gesagt alles Original aus Post #405. Werde da heute alles reduzieren bis auf die Programme die ich haben möchte.
TVHelper habe ich nicht installiert, sagt mir (noch!!) garnichts!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schaufma am 05 Februar 2015, 18:50:47
hi !

jetzt muss ich doch noch mal fragen ... wo werden die icons hinkopiert?

in fhem/www/images/default ?

müssen die dann in ein unterverzeichnis "tvlogos"?

heissen müssen sie z.B. "ard_hd.png", oder?

irgendwie habe ich schon alles durch ... aber die dinger werden nicht angezeigt ... ATTR WEB ICONPATH angepasst, in verschieden Verzeichnisse kopiert usw ...

was mach ich falsch!

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 05 Februar 2015, 20:46:32
also ich hab alle TV Logos unter default/tvlogos

Musst den Iconpfad anpassen. Oder die ard_hd.png ins default Verzeichniss kopieren. und dann die Logopfade ändern.

Wichtig ist, dass du die Icons neu einlesen lässt. Dann sollte das auch klappen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 05 Februar 2015, 20:48:15
Zitat von: schaufma am 05 Februar 2015, 18:50:47
hi !

jetzt muss ich doch noch mal fragen ... wo werden die icons hinkopiert?

in fhem/www/images/default ?


Genau.

Zitat
müssen die dann in ein unterverzeichnis "tvlogos"?

Bei dem Code den ich hier runtergeladen habe nein

Zitat
heissen müssen sie z.B. "ard_hd.png", oder?

Nein, bei dem Code den ich her her habe heissen die tvlogo_ard.png usw.

Zitat
irgendwie habe ich schon alles durch ... aber die dinger werden nicht angezeigt ... ATTR WEB ICONPATH angepasst, in verschieden Verzeichnisse kopiert usw ...

was mach ich falsch!

weiss ich nicht genau....viel Erfolg bei der Fehlersuche!

Gruss

Ralf
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 05 Februar 2015, 21:12:06
@Schaufa

Wenn rasti meinen Code benutzt hat, stimmt es nicht, was er gesagt hat :)

Wenn du meinen Code genommen hast, müssen die Bilder ins Unterverzeichnis tvologos.
deswegen steht auch im Code sowas wie: attr TV_Programm nameIcon { ARD_time => 'tvlogos/ard_hd',
Die Bilder müssen in meinem Code ard_hd.png heißen. Also wie im nameIcon steht (+ Endung natürlich)
Wichtig ist, dass du auf Groß und Kleinschreibung achstest, wenn du es auf einem Linux System (NAS, Raspberry, Debian,Fritzbox, VU+, etc.) nutzt. Bei FHEM auf Windows wär das glaube ich egal.

So sieht meine Iconpath aus:
attr WEB iconPath fhemSVG:openautomation:default:icons_small:weather:tvlogos

Danach FHEM durchstarten und
set WEB rereadicons
ausführen

So hat es bei mir geklappt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schaufma am 06 Februar 2015, 15:57:43
hi !

das hier:

set WEB rereadicons       DANKE!

war es ... werden bei einem Restart die Icons nicht neu eingelesen? das hatte ich öfters gemacht ...

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Germanboy4u am 06 Februar 2015, 18:59:43
glaub nicht, dass das automatisch eingelesen wird. Keine Ahnung. Hauptsache es funktioniert jetzt :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SimonHipp am 09 Februar 2015, 21:21:33
Guten Abend, hat jemand denn schon eine Lösung zwecks den Anzeigeprobleme mit z.B. "&quot;Spiegel&quot;-TV".
Ist irgendwie nicht so toll und auch nicht wirklich leserlich!

Grüße
Simon
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SimonHipp am 12 Februar 2015, 10:20:53
Ich habe den Code soweit in mein Fhem eingebunden.
Läuft super und stabil.
Jetzt habe ich leider erfolglos versucht noch die Programmnummer vor der Ausgabe einzugeben.
Gelingt mir aber nicht, ich hätte gerne das z.B. 1 Das Erste / 2 ZDF / usw. ausgegeben wird, kann mir hier jemand helfen?
Ist bestimmt nur eine Kleinigkeit und ich steh auf dem Schlauch.

DANKEEEEE
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: jkatweb am 04 März 2015, 17:52:50
Hallo Simon,

ich habe es so gelöst.


# TV-Programm
define TV_Programm readingsGroup <Programm>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit>,<Kanal>
TV_Programme_next:ard_time@TV_Programme,ard@TV_Programme,ard_next,ard_next_time,<1>
TV_Programme_next:zdf_time@TV_Programme,zdf@TV_Programme,zdf_next,zdf_next_time,<2>
TV_Programme_next:ndr_time@TV_Programme,ndr@TV_Programme,ndr_next,ndr_next_time,<3>
usw.


Einfach eine Spalte <Kanal> eingefügt und bei den einzelnen Kanälen die Programmnummer <1> eingetragen. Vielleicht nicht hübsch, aber klappt.

Gruß
Jens
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schucki am 04 März 2015, 19:01:08
Hallo Jens

danke für Deine Lösung, klappt so wie ich mir das vorgestellt habe. An dem Problem habe ich auch schon gegrübelt.

Gruss schucki
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SimonHipp am 05 März 2015, 20:06:23
Ich finde die Lösung auch super, mit der Kanalnummer.
Nur möchte ich die Nummer ganz vorne anzeigen, klappt aber nicht.
Hat jemand eine Lösung?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 05 März 2015, 21:47:37
Zitat von: SimonHipp am 05 März 2015, 20:06:23
Nur möchte ich die Nummer ganz vorne anzeigen, klappt aber nicht.
Hat jemand eine Lösung?

Wie sieht es denn bei dir aus, was funktioniert nicht?

Das folgende Beispiel sollte die Programmnummer "1" in der ersten Spalte anzeigen:
TV_Programme_next:<1>,ard_time@TV_Programme,ard@TV_Programme,ard_next,ard_next_time
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: selfarian am 12 März 2015, 14:38:22
Schöne Sache! :-)
Danke auch an Germanboy4u für die Senderliste :-) war zwar etwas Arbeit die ganzen Bilder zu finden und umzubenennen aber jetzt passt es erstmal :-)
Was mich nur etwas stört ist halt der Aufwand der Pflege dann, wenn man etwas umsortieren möchte.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 12 März 2015, 16:30:47
Tja, über den Pflegeaufwand hatte ich auch schon nachgedacht.
Idee wäre einen hash mit allen Programmen einmal anzulegen, der gehört quasi zum "Modul" und dann im define folgendes mitzugeben:

define TV TV ARD,ZDF,WDR... usw.

Daraus liesse sich ja dann automatisch per perl die readingsGroup generieren.

In dem hash müssten die Daten dann so abgelegt werden, wie man die Suchuster für httpmod benötigt.

also zwei Eintragungen für die Zeit (jetzt,danach) und zwei für die Programme.
Leider kann man den hash nicht auch noch automatisch generieren, da ja auf der Webseite die Programme nicht immer gleich codiert sind und somit die Suchmuster unterschiedlich sind.

Wenn also die "cloud" den hash aufbaut, dann ist das mit dem perl-Skript kein Problem mehr.
Da ich ein fauler Hund bin, generiere ich auf diese Weise mir readingsGroups (siehe z.B. EMONITOR unter den Codeschnipseln).

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 12 März 2015, 20:11:15
@ Elektrolurch, hört sich gut an, kannste so machen  8)

Ich habe immer noch immer mal wieder, im moment jeden Tag diese Meldungen im Log
2015.03.12 16:16:19.421 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:21:19.629 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:26:19.423 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:31:19.428 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:36:19.489 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:41:19.440 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:46:19.457 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:51:19.436 3: TV_Programme: Response didn't match Reading(s) ARD
2015.03.12 16:56:19.481 3: TV_Programme: Response didn't match Reading(s) ARD


Wobei die Uhrzeit und die Sender Variieren, tritt auch meistens nur einmal am Tag auf, mit ein paar Einträgen

Und wenn ich einen Sender anklicke damit im Anschluss an die laufende Sendung umgeschaltet wird, bekomme ich diese Log Meldung:
2015.03.12 22:43:21.352 3: delete VU_Ultimo.Senderwechsel.at : Please define VU_Ultimo.Senderwechsel.at first
Woran kann das noch liegen?

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SimonHipp am 15 März 2015, 10:04:23
Zitat von: MaJu am 05 März 2015, 21:47:37
Wie sieht es denn bei dir aus, was funktioniert nicht?

Das folgende Beispiel sollte die Programmnummer "1" in der ersten Spalte anzeigen:
TV_Programme_next:<1>,ard_time@TV_Programme,ard@TV_Programme,ard_next,ard_next_time

Leider nicht, ich habe das jetzt endlich mal eingepflegt, nur sieht jetzt meine Übersicht so aus wie in der Anlage!!
Hat jemand eine Idee?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SimonHipp am 15 März 2015, 10:21:05
und so sieht es ohne die ID`s aus, richtig  :P
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 15 März 2015, 10:23:02
Ohne die komplette ReadingsGroup zu kennen schwierig...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SimonHipp am 15 März 2015, 10:30:20
Zitat von: RoBra81 am 15 März 2015, 10:23:02
Ohne die komplette ReadingsGroup zu kennen schwierig...

siehe Anlage, sorry total vergessen!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 16 März 2015, 00:51:48
Hallo Zusammen,
coole Idee  ;)
hab mir mal die Konfig von SimonHipp reinkopiert... aber leider sehe ich garnix , keine Define´s , keine Räuem .. nix.
Liegt das an ev. fehlende ICON´s

Danke für jeden Tipp und sorry falls ich mich einfach zu d... anstelle !

kvo1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 16 März 2015, 07:47:41
Zitat von: SimonHipp am 15 März 2015, 10:30:20
siehe Anlage, sorry total vergessen!

Das Problem ist, dass das NameIcon, das du definierst in der ReadingsGroup scheinbar aus dem ersten Spalteneintrag ermittelt wird: In der funktionierenden Version ist deine erste Spalte z.B. "ard_time@TV_Programme" und das Logo wird mit "ard_time => 'ard'" korrekt zugeordnet. Wenn du jetzt eine Spalte "<1>" hinzufügst, dass die NameIcon-Zuordnung natürlich nicht mehr. An deiner Stelle würde ich es so machen (exemplarisch für eine Zeile):

define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung> \
TV_Programme_next:!logo_ard,!1,ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next


mit

attr TV_Programm valueIcon { 'logo_ard' => 'ard' }

Beachte: valueIcon statt nameIcon

Es könnte auch sein, dass folgendes ohne Attribut valueIcon pro Sender geht:

define TV_Programm readingsGroup <Programm>,<seit>,<aktuelle Sendung>,<ab>,<folgende Sendung> \
TV_Programme_next:!ard,!1,ard_time@TV_Programme,ard@TV_Programme,ard_next_time,ard_next

attr TV_Programm valueIcon { %VALUE }


Hierfür muss die erste Spalte (hier !ard) immer so heißen, wie die Logo-Datei...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 22 März 2015, 21:03:03
Hi,
ich wollte mein TV Programme jetzt auch mal um die die Anzeige um des Programms um 20:15 erweitern, aber irgendwas mache ich da falsch, da da immer das Programm von der folgenden Sendung nach der 20:15 Sendung angezeigt wird. Find den Fehler nicht, denk mal ich hab in der RD etwas falsch definiert!?

DIe Einträge vom aktuellen TV_Programm sehen so aus:
readingsName_Pro7 Pro7
readingsRegex_Pro7<span>PRO 7 <span[\w\W]*?alt="(.*?)" title=


TV_Programme_next

readingsName_Pro7_next
Pro7_next
deleteattr
readingsName_Pro7_next_time
Pro7_next_time

readingsRegex_Pro7_next
<span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
deleteattr
readingsRegex_Pro7_next_time
<span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>


TV_Programme_abend
readingsName_Pro7_abend
Pro7_abend
readingsRegex_Pro7_abend
<span>PRO 7 <span[\w\W]*?alt="(.*?)" title=


Die TV_Programm readingsGroup sieht so aus:
Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<Abend>
TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time,Sat1_next,Sat1_abend@TV_Programme_abend
TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_next,Pro7_abend@TV_Programm_abend
TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time
TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time
TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time
TV_Programme_next:Sport1@TV_Programme,Sport1_next,Sport1_next_time
TV_Programme_next:rtl2@TV_Programme,rtl2_next,rtl2_next_time
TV_Programme_next:KABEL_1@TV_Programme,KABEL_1_next,KABEL_1_next_time
TV_Programme_next:VOX@TV_Programme,VOX_next,VOX_next_time
   NAME       TV_Programm
   NR         195
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme_next 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
   DEVICES:
     ARRAY(0x50537b8)
     ARRAY(0x598a4c0)
     ARRAY(0x5650638)
     ARRAY(0x5711220)
     ARRAY(0x15eeb78)
     ARRAY(0x55359c0)
     ARRAY(0x56fc340)
     ARRAY(0x540cc48)
     ARRAY(0x540f5f8)
     ARRAY(0x5985e48)
   DEVICES2:
     ARRAY(0x50537b8)
     ARRAY(0x598a4c0)
     ARRAY(0x5650638)
     ARRAY(0x5711220)
     ARRAY(0x15eeb78)
     ARRAY(0x55359c0)
     ARRAY(0x56fc340)
     ARRAY(0x540cc48)
     ARRAY(0x540f5f8)
     ARRAY(0x5985e48)
     ARRAY(0x5665bc0)
     ARRAY(0x52ab928)
     ARRAY(0x56658c0)
     ARRAY(0x540b680)
     ARRAY(0x5301458)
     ARRAY(0x5985ab8)
     ARRAY(0x556d8a8)
     ARRAY(0x5252a30)
     ARRAY(0x5652148)
     ARRAY(0x558a558)
   Fhem:
     lastDefChange 178
     last_update 1427053750.89237
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameStyle  style="color:yellow;font-weight:bold"
     Nameicon:
       ARD        ard
       KABEL_1    kabel1
       Pro7       pro7
       RTL        rtl
       Sat1       sat1
       Sport1     sport1
       VOX        vox
       ZDF        zdf
       rtl2       rtl2
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="width:800px;color:white;font-size:18px"


Was mache ich falsch?

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 24 März 2015, 21:00:41
Keiner eine idee was da bei mir schlief hängt?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 25 März 2015, 12:46:31
Das Problem dürfte eher in dem Link liegen, den FHEM für den Erhalt der Daten aufruft. Denn soweit ich weiß erhält dieser jeweils nur eine Sendung pro Sender. Wenn du falsche Sendung erhältst, musst du nicht das Auslesen des Inhalts anpassen, sondern dir den richtigen Inhalt holen.

Welchen Link nutzt du denn für das 20:15-Programm?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 25 März 2015, 16:55:38
Hallo,

Hat noch jemand eine Idee was ich mit Sonderzeichen machen kann, damit die richtig angezeigt werden?

ZitatRizzoli &amp; Isles

Aktuell nutze ich Safari für die Anzeige von FHEM.

Vielen Dank.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 25 März 2015, 20:40:19
Zitat von: MaJu am 25 März 2015, 12:46:31
Das Problem dürfte eher in dem Link liegen, den FHEM für den Erhalt der Daten aufruft. Denn soweit ich weiß erhält dieser jeweils nur eine Sendung pro Sender. Wenn du falsche Sendung erhältst, musst du nicht das Auslesen des Inhalts anpassen, sondern dir den richtigen Inhalt holen.

Welchen Link nutzt du denn für das 20:15-Programm?

Diese hier, der im Browser auch problemlos klppt
http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200 43200

Seh grade aber auch das es im Log einen Fehler gibt
2015.03.25 20:51:11.567 3: TV_Programme_abend: Read found inconsistant attributes for readingsName_VOX_abend
2015.03.25 20:52:34.012 2: Can't find string terminator '"' anywhere before EOF at (eval 285) line 1.

2015.03.25 20:52:34.012 2: Can't find string terminator '"' anywhere before EOF at (eval 286) line 1.

2015.03.25 20:52:34.015 2: Can't find string terminator '"' anywhere before EOF at (eval 287) line 1.

2015.03.25 20:52:34.016 2: Can't find string terminator '"' anywhere before EOF at (eval 288) line 1.

2015.03.25 20:52:34.071 1: PERL WARNING: Argument "-" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 734.
2015.03.25 20:53:00.199 3: TV_Programme_abend: Defined with URL http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200 and interval 43200
2015.03.25 20:53:02.450 3: TV_Programme_abend: Read found inconsistant attributes for readingsName_VOX_abend
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 26 März 2015, 21:00:46
Zitat von: Germanboy4u am 01 Februar 2015, 18:01:14
Hier mein Code: Es sind noch paar Fehler drinnen (z.B. wird aus welchem Grund auch immer kein Logo für 13th Street angezeigt.

Logos kann ich leider nicht geben, da ich die von meiner VU+ genommen habe. Wenn ihr in den passenden Foren nach Picons für Enigma2 Satrecievern (Dreambox, VU+ ect) sucht, findet ihr sicherlich passendes. Müsst euch nur die Arbeit machen die Bilder umzubenennen. Mit 1_0_1_2EE4_441_1_C00000_0_0_0.png will keiner Arbeiten ;)

Ich hab den "ABend" Code Germanboy genommen, aber bekomme immer noch nur ??? angezeigt, die config sieht so aus:
define TV_Programme_abend HTTPMOD http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200 43200
attr TV_Programme_abend userattr readingsName_13THSTREET_abend readingsName_ARD_abend readingsName_Kabel1_abend readingsName_Pro7_abend readingsName_RTL2_abend readingsName_RTL_abend readingsName_Sat1_abend readingsName_Sport1_abend readingsName_VOX_abend readingsName_ZDF_abend readingsRegex_13THSTREET_abend readingsRegex_ARD_abend readingsRegex_Kabel1_abend readingsRegex_Pro7_abend readingsRegex_RTL2_abend readingsRegex_RTL_abend readingsRegex_Sport1_abend readingsRegex_VOX_abend readingsRegex_ZDF_abend timeout
attr TV_Programme_abend readingsName_13THSTREET_abend 13THSTREET_abend
attr TV_Programme_abend readingsName_ARD_abend ARD_abend
attr TV_Programme_abend readingsName_Kabel1_abend Kabel1_abend
attr TV_Programme_abend readingsName_Pro7_abend Pro7_abend
attr TV_Programme_abend readingsName_RTL2_abend RTL2_abend
attr TV_Programme_abend readingsName_RTL_abend RTL_abend
attr TV_Programme_abend readingsName_Sat1_abend Sat1_abend
attr TV_Programme_abend readingsName_Sport1_abend Sport1_abend
attr TV_Programme_abend readingsName_VOX_abend VOX_abend
attr TV_Programme_abend readingsName_ZDF_abend ZDF_abend
attr TV_Programme_abend readingsRegex_13THSTREET_abend <span>13TH STREET <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_ARD_abend <span>ARD <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Kabel1_abend <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Pro7_abend <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_RTL2_abend <span>RTL II <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_RTL_abend <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_Sport1_abend <span>Sport1 <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_VOX_abend <span>VOX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend readingsRegex_ZDF_abend <span>ZDF <[\w\W]*?alt="(.*?)" title=
attr TV_Programme_abend timeout 60

Was läuft da schief?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 26 März 2015, 21:01:53
Edit
habs jetzt weitestgehend hinbekommen, bis darauf das ich wenn ich das 13th Street Icon definiere garkeine Icons mehr angezeigt bekomme, bei dieser definition
nameIcon
{ 13THSTREET => '13thstreet',Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }

Wenn ich es ohne 13thStreet mache, wird mir alles bis auf 13th Street korrekt angezeigt
nameIcon
{ Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }


Wo könnte da das Problem liegen?

Das andere ist, das ich beim "Abend" Programm keine Daten für 13th Street bekomme, beim aktuellen TV Programm und beim TV Programm_next aber schon, find nur den Fehler nicht.

Das Abend Programm für 13th Street sieht so aus:

attr TV_Programme_abend readingsName_13THSTREET_abend 13THSTREET_abend
attr TV_Programme_abend readingsRegex_13THSTREET_abend <span>13TH STREET <[\w\W]*?alt="(.*?)" title=

Hoffe es hat noch einer eine idee...

EDIT
Hab noch ein weiteres Problem mit 13thStreet, wollte jetzt auch die Umschaltfunktion mit 13thStreet nutzen und habe dazu in meiner 99_MyUtils.pm  die funktionen erweitert um 13THSTREET, sieht dann so aus:
############################### TV Programm ########################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel_1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => '',
    vox => 'VOX',
zdf => 'ZDF_HD',
   13thstreet => '13THSTREET',
  );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Beim Speichern bekomme ich dann diesen Fehler
Zitatsyntax error at ./FHEM/99_myUtils.pm line 135, near "13thstreet"

Im Log gibts dazu dann auch diesen Fehler:
Zitat2015.03.27 17:01:42.177 2: Undefined subroutine &main::VU_UltimoRGvalueFormat called at (eval 27969) line 1

Was ist da noch falsch?

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 28 März 2015, 00:47:51
Bin kein Programmierer...aber nach mal ein Leerzeichen zwischen dem Komma und Pro7   ?
Stimmt die groß- Kleinschreibung des Icon ?
Ist es vorhanden ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 28 März 2015, 17:04:13
Hi,
auch mit Leerzeichen gehts nicht, ja Schreibweise ist richtig.

Ich denke es liegt daran das es mit einer Zahl anfangt, denn daher kommt anscheint auch der Fehler in der 99_MYUtils, wenn ich den 13THStreet eintrag dort wieder entferne, dann kommt auch keine Fehlermeldung mehr
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ErzGabriel am 30 März 2015, 13:54:31
Cooles Projekt.
Habe ich direkt mal bei mir eingefügt und klappt auch bestens. Schnall nur nicht wo ich die Icons hinkopieren muss.
Könnte mal bitte jemand den genauen Pfad posten?
Danke.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 30 März 2015, 20:03:44
Entweder im Standard Icon Pfad oder in einem eigenen Verzeichnis...
Schau mal hier http://www.fhemwiki.de/wiki/Icons
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 30 März 2015, 21:04:51
Hat einer eine idee wieso bei 13th Street bei mir um 20:15 keine Daten im reading kommen? Bei aktuell und danach kommen Daten

Internals:
   BUSY       0
   DEF        http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200 300
   HTTPHEADER
   Interval   300
   LASTSEND   1427741891.45865
   MainURL    http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200
   NAME       TV_Programme_abend
   NR         286
   STATE      Die Simpsons
   TYPE       HTTPMOD
   addr       http://www.tvmovie.de:80
   buf        HTTP/1.1 200 OK
path       /tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200
   protocol   http
   redirects  0
   timeout    300
   url        http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200
   QUEUE:
   Readings:
     2015-03-30 20:58:11   ARD_abend       Der Reise-Check
     2015-03-30 20:58:11   Kabel1_abend    Hellboy
     2015-03-30 20:58:11   Pro7_abend      Die Simpsons
     2015-03-30 20:58:11   RTL2_abend      Die Geissens - Eine schrecklich glamouröse Familie!
     2015-03-30 20:58:11   RTL_abend       Wer wird Millionär?
     2015-03-30 20:58:11   Sat1_abend      Detective Laura Diamond
     2015-03-26 23:56:36   Sport1_abend    Darts
     2015-03-30 20:58:11   VOX_abend       Beim ersten Mal
     2015-03-30 20:58:11   ZDF_abend       Sein gutes Recht
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://www.tvmovie.de/tv-programm-heute-abend-20-15.html?tv-stations-count=200&time=20%3A15&form_build_id=form-3d02ae2f947aa2d7dc144e212d0a29b3&form_id=dikr_tvm_tv_guide_tv_stations_count_form=200
Attributes:
   readingsName_13THSTREET_abend 13THSTREET_abend
   readingsName_ARD_abend ARD_abend
   readingsName_Kabel1_abend Kabel1_abend
   readingsName_Pro7_abend Pro7_abend
   readingsName_RTL2_abend RTL2_abend
   readingsName_RTL_abend RTL_abend
   readingsName_Sat1_abend Sat1_abend
   readingsName_Sport1_abend Sport1_abend
   readingsName_VOX_abend VOX_abend
   readingsName_ZDF_abend ZDF_abend
   readingsRegex_13THSTREET_abend <span>13TH STREET <[\w\W]*?alt="(.*?)" title=
   readingsRegex_ARD_abend <span>ARD <[\w\W]*?alt="(.*?)" title=
   readingsRegex_Kabel1_abend <span>KABEL 1 <[\w\W]*?alt="(.*?)" title=
   readingsRegex_Pro7_abend <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_RTL2_abend <span>RTL II <[\w\W]*?alt="(.*?)" title=
   readingsRegex_RTL_abend <span>RTL <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_Sat1_abend <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
   readingsRegex_Sport1_abend <span>Sport1 <[\w\W]*?alt="(.*?)" title=
   readingsRegex_VOX_abend <span>VOX <[\w\W]*?alt="(.*?)" title=
   readingsRegex_ZDF_abend <span>ZDF <[\w\W]*?alt="(.*?)" title=
   stateFormat Pro7_abend
   timeout    300
   userattr   readingsName_13THSTREET_abend readingsName_ARD_abend readingsName_Kabel1_abend readingsName_Pro7_abend readingsName_RTL2_abend readingsName_RTL_abend readingsName_Sat1_abend readingsName_Sport1_abend readingsName_VOX_abend readingsName_ZDF_abend


Und wieso in meiner rd, nur "Programm" in der übersicht Gelb ist, und der rest weiss?
Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme_next:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
TV_Programme_next:Sport1@TV_Programme,Sport1_next,Sport1_next_time,Sport1_abend@TV_Programme_abend
TV_Programme_next:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme_next:KABEL_1@TV_Programme,KABEL_1_next,KABEL_1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme_next:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
   NAME       TV_Programm
   NR         195
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme_next 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
   DEVICES:
     ARRAY(0x1853208)
     ARRAY(0x1853070)
     ARRAY(0x1853160)
     ARRAY(0x1853250)
     ARRAY(0x1853268)
     ARRAY(0x1853298)
     ARRAY(0x1672048)
     ARRAY(0x18531d8)
     ARRAY(0x1853190)
     ARRAY(0x548b78)
     ARRAY(0x548bf0)
   DEVICES2:
     ARRAY(0x1853208)
     ARRAY(0x1853070)
     ARRAY(0x1853160)
     ARRAY(0x1853250)
     ARRAY(0x1853268)
     ARRAY(0x1853298)
     ARRAY(0x1672048)
     ARRAY(0x18531d8)
     ARRAY(0x1853190)
     ARRAY(0x548b78)
     ARRAY(0x548bf0)
     ARRAY(0x18aaee0)
     ARRAY(0x18ab240)
     ARRAY(0x18aaf28)
     ARRAY(0x18ab600)
     ARRAY(0x18ab5d0)
     ARRAY(0x18ab6c0)
     ARRAY(0x18ab690)
     ARRAY(0x18af898)
     ARRAY(0x18adc28)
     ARRAY(0x18b4b98)
     ARRAY(0x18b4b68)
     ARRAY(0x18b4c58)
     ARRAY(0x18b4c28)
     ARRAY(0x18b4d18)
     ARRAY(0x18b4ce8)
     ARRAY(0x18b4dd8)
     ARRAY(0x18b4da8)
     ARRAY(0x18b4e98)
     ARRAY(0x18b4e68)
     ARRAY(0x18b4f58)
   Fhem:
     lastDefChange 1
     last_update 1427740990.05302
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameStyle  style="color:yellow;font-weight:bold"
     Nameicon:
       ARD        ard
       KABEL_1    kabel1
       Pro7       pro7
       RTL        rtl
       Sat1       sat1
       Sport1     sport1
       VOX        vox
       ZDF        zdf
       rtl2       rtl2
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="width:1000px;color:white;font-size:18px"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ErzGabriel am 30 März 2015, 21:06:50
Habe die Logos in den Standardpfad kopiert und Fhem neu gestartet aber ich sehe sie immer noch nicht. Muss ich da noch was einstellen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 30 März 2015, 21:09:26
Zitat von: ErzGabriel am 30 März 2015, 21:06:50
Habe die Logos in den Standardpfad kopiert und Fhem neu gestartet aber ich sehe sie immer noch nicht. Muss ich da noch was einstellen?

Hast du die nameIcons definietrt?

nameIcon   { Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ErzGabriel am 30 März 2015, 21:13:57
Hatte den Code von Kuzl kopiert und eingefügt, da waren die Nameicons definiert. Habe es gerade noch mal neu gemacht und jetzt geht es. Komisch.
Danke für die Hilfe.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 30 März 2015, 21:20:05
Das ist doch das wichtigste:-)
Hast du 13th Street? :-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ErzGabriel am 30 März 2015, 21:21:24
Nö, habe ich nicht. Sag mir jetzt auch nicht wirklich was das überhaupt ist.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: WarLord am 31 März 2015, 20:39:10
Hi

ich hab mich hier auch mal etwas bedient und mir das TV Programm mit eingebaut. nur hab ich ein kleines Problem mit einem Sender. Bei DMAX kommt nur das aktuelle Programm und keine Zeiten oder nachfolgendes Programm (Siehe Bild). Hab schon von nem anderen Sender kopiert und neu definiert und jedes mal neugestartet aber ich kriegs einfach nicht hin.
evtl fällt ja einem von euch der Fehler auf. (Code ist im Anhang)

Danke schonmal
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 02 April 2015, 21:13:39
Seit heute geht bei mir das aktuelle Programm nicht mehr. Hat noch jemand Probleme oder vielleicht sogar eine Lösung?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 02 April 2015, 21:59:53
hab heute auch einige Fehler im Log, werd mal auf MOrgen warten
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: tagedieb am 02 April 2015, 22:30:39
Hallo WarLord

ich habe diese Zeile bei mir so
TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next_time,dmax_next
und dieser Link wurde verwendet

MainURL

http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form

und es erscheint wie im screenshot


gruss tagedieb
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 03 April 2015, 12:58:06
Hab den Log heute auch wieder voll mit
2015.04.03 00:03:20.056 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:08:18.880 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:13:18.780 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:18:17.310 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:23:17.265 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:28:17.288 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:33:17.298 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:38:17.286 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:43:17.314 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:48:17.310 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:53:17.295 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 00:58:17.311 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 01:03:19.097 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 01:08:18.836 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 01:13:17.372 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 01:18:17.336 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 01:23:17.328 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 01:28:17.352 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.04.03 01:33:17.343 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)


Allerdings ist es heute komplett nicht aktualisiert, weder aktuell, noch next, noch abend
Die Readings sind seit gestern nicht merh aktualisiert worden, hab grade mal den Cubie neugestartet, aber keine besserung
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 04 April 2015, 11:29:40
Zitat von: gloob am 02 April 2015, 21:13:39
Seit heute geht bei mir das aktuelle Programm nicht mehr. Hat noch jemand Probleme oder vielleicht sogar eine Lösung?

Habe dasselbe Problem....
Es wurde nix geändert aber nur das nächste Programm wird richtig angezeigt.
das aktuelle Programm bleibt gleich.

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 04 April 2015, 12:46:07
gleiches Problem

bei den beiden Devices ..

TV_Programme
TV_Programme_next

steht in "STATE"    nur  drei ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: jkatweb am 04 April 2015, 14:44:55
Hallo zusammen,

kann es sein, das die Seite geändert worden ist und statt z.B.

<span>ARD <[\w\W]*?alt="(.*?)" title=
<span>ARD <[\w\W]*?air-time"><strong>(.*?)<\/strong>

<h2>ARD<[\w\W]*?title="(.*?)" name=
<h2>ARD<[\w\W]*?startDate">(.*?)<\/time>

angegeben werden muss?

Ich glaub es kommt noch schlimmer, die Seite lädt nur einige Fernsehsender vorab und erst nach Aufforderung "Weitere Sender laden" andere nach.

Gruß
Jens
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 04 April 2015, 19:09:00
ich glaube es liegt an den Parametern im http Aufruf... leider ist mir das derzeit eh noch unklar ?

Vielleicht kann Kuzl helfen , wenn er dies liest  :-[

kvo1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 04 April 2015, 21:35:58
Zitat von: kvo1 am 04 April 2015, 19:09:00
ich glaube es liegt an den Parametern im http Aufruf... leider ist mir das derzeit eh noch unklar ?

Nicht unbedingt - das Layout der Jetzt-Seite wurde stark verändert. Das alte Layout ist aber unter

http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=now&tv-station=0&tv-stations-count=150

noch zu finden -> der HTTPMOD für das Jetzt-Programm müsste dementsprechend angepasst werden...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 04 April 2015, 21:50:18
Hallo Zusammen,

die Seite wurde so verändert, dass jetzt das tv-stations-count nicht mehr funktioniert. Statt dessen ist das jetzt in gruppen gegliedert. ich benutze z.b. diese Adresse:

http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?group=5&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form


hier ist group=5, wer mehr sender braucht muss einach z.b. group=11 nehmen (je nach bedarf anpassen)

Außerdem muss, wie Jens bereits erklärt hat, der regex geändert werden.

Ich finds nur merkwürdig, dass das ganze bis jetzt nur das aktuelle Programm betrifft.

Viele Grüße,
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 04 April 2015, 21:53:15
Zitat von: Kuzl am 04 April 2015, 21:50:18
Außerdem muss, wie Jens bereits erklärt hat, der regex geändert werden.

Bei dem von mir angegebenen Link kann man die RegExp unverändert lassen...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 04 April 2015, 21:54:09
Hi, ich hab jetzt mal diese 3 Links genommen
http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=now&tv-station=0&tv-stations-count=150&form_build_id=form-3ae6d8e2a7678fda1505a655453858ff&form_id=dikr_tvm_tv_guide_tv_content_filter_form
http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=soon&tv-station=0&tv-stations-count=150&form_build_id=form-61ea3937a2c089fa9f29c1c353d4a5aa&form_id=dikr_tvm_tv_guide_tv_content_filter_form
http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=soon&tv-station=0&tv-stations-count=150&form_build_id=form-61ea3937a2c089fa9f29c1c353d4a5aa&form_id=dikr_tvm_tv_guide_tv_content_filter_form

Damit werden die Daten wieder aktualisiert so wie es bis jetzt aussieht.

Allerdings sieht meine RD noch seltsam aus, einige Senungsnamen werden falsch dargestellt und die Überschriften sollten komplett Gelb sein, aber nur "Programme" wird geb dargestellt, sowie das das Logo von 13th Street nich nicht funktioniert.

Vieleicht hat ja noch einer eine idee was ich da falsch mache?!

Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme_next:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme_next:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme_next:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
TV_Programme_next:Sport1@TV_Programme,Sport1_next,Sport1_next_time,Sport1_abend@TV_Programme_abend
TV_Programme_next:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme_next:KABEL_1@TV_Programme,KABEL_1_next,KABEL_1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme_next:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
   NAME       TV_Programm
   NR         195
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programme_next 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
   DEVICES:
     ARRAY(0x2eb1818)
     ARRAY(0x2eb54f0)
     ARRAY(0x2ef89a8)
     ARRAY(0x2f29e88)
     ARRAY(0x2eac530)
     ARRAY(0x20ccfc0)
     ARRAY(0x2848b80)
     ARRAY(0x28459e8)
     ARRAY(0x2ec27a8)
     ARRAY(0x2f08fb8)
     ARRAY(0x2f38ee0)
   DEVICES2:
     ARRAY(0x2eb1818)
     ARRAY(0x2eb54f0)
     ARRAY(0x2ef89a8)
     ARRAY(0x2f29e88)
     ARRAY(0x2eac530)
     ARRAY(0x20ccfc0)
     ARRAY(0x2848b80)
     ARRAY(0x28459e8)
     ARRAY(0x2ec27a8)
     ARRAY(0x2f08fb8)
     ARRAY(0x2f38ee0)
     ARRAY(0x2eb1c98)
     ARRAY(0x23ea350)
     ARRAY(0x2eb5010)
     ARRAY(0x2b91b60)
     ARRAY(0x2ed4870)
     ARRAY(0x2c6a8a8)
     ARRAY(0x2ec2988)
     ARRAY(0x2ed8668)
     ARRAY(0x21479f0)
     ARRAY(0x2eca490)
     ARRAY(0x2eb4c68)
     ARRAY(0x2f275b0)
     ARRAY(0x283f998)
     ARRAY(0x2eebaa8)
     ARRAY(0x2ebaf98)
     ARRAY(0x283f0c8)
     ARRAY(0x2ed2bd0)
     ARRAY(0x2840d58)
     ARRAY(0x2ef8108)
     ARRAY(0x2ef7b18)
   Fhem:
     lastDefChange 16
     last_update 1428176916.49085
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameStyle  style="color:yellow;font-weight:bold"
     Nameicon:
       ARD        ard
       KABEL_1    kabel1
       Pro7       pro7
       RTL        rtl
       Sat1       sat1
       Sport1     sport1
       VOX        vox
       ZDF        zdf
       rtl2       rtl2
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { Pro7 => 'pro7', Sat1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL_1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="width:1000px;color:white;font-size:18px"


Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 04 April 2015, 22:30:53
Mit dem neuen Link von Tommy82 geht es wieder bei mir
Eine Zeile hab ich geändert:

VORHER:
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120

JETZT:
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=now&tv-station=0&tv-stations-count=150&form_build_id=form-3ae6d8e2a7678fda1505a655453858ff&form_id=dikr_tvm_tv_guide_tv_content_filter_form
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 04 April 2015, 23:55:45
Zitat von: rasti am 04 April 2015, 22:30:53
Mit dem neuen Link von Tommy82 geht es wieder bei mir
Eine Zeile hab ich geändert:

VORHER:
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120

JETZT:
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=now&tv-station=0&tv-stations-count=150&form_build_id=form-3ae6d8e2a7678fda1505a655453858ff&form_id=dikr_tvm_tv_guide_tv_content_filter_form

Hallo rasti,
Danke , funktioniert bei mir auch , ausser das mir scheinbar einige ICON´s fehlen !

Dachte die liegen alle in einem Icon-pfad ?

gruss
kvo1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schucki am 05 April 2015, 08:55:57
:-) Jetzt geht, danke euch, wieder alles.

Wenn tvMovie jetzt wieder alles ändern sollte, wäre da eine andere Quelle, z Bsp 'Klack' eine Alternative? Leider kenne ich mich bei der Programmierung nicht so aus wie der Rest hier im Forum. Trotzdem Danke an alle die hier mitmachen.

Ps Frohe Ostern

Gruss schucki
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 April 2015, 10:45:41
Grundsätzlich kann man auch andere Seiten nehmen, muss dann aber das ein oder andere an den Readings geändert werden, von daher wäre es schön wenn TVMovie nichts ändern würde :-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schucki am 05 April 2015, 12:06:54
Hallo @Tommy82

klar wäre es schön, wenn man tvMovie weiter benutzen könnte, wenn aber ständig Änderungen kommen hat man aber immer was zum nachbessern. Vielleicht wäre da eine andere Seite mit weniger Änderungen dann eine Alternative.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: jnewton957 am 05 April 2015, 14:16:04
Hallo,

ich habe für die Darstellung des Programms um/ab 20:15 das wie folgt angepasst:
define TV_Programme_2015 HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=20:15&tv-station=0&tv-stations-count=150&form_build_id=form-61ea3937a2c089fa9f29c1c353d4a5aa&form_id=dikr_tvm_tv_guide_tv_content_filter_form


Grüße

Jörg
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 06 April 2015, 10:42:42
Also ich nutz das TV Programm jetzt schon eine ganze Zeit, und hatte das Problem jetzt das erste mal, glaube (und hoffe) das die Seite nicht so oft geändert wird:-)

Hab dank Andre auch mittlerweile das 13thStreet Picon angezeigt bekommen, muss im "nameIcon" Attribut wie folgt stehen:
{ "13THSTREET" => '13thstreet', Pro7 => 'pro7}

Aber aus welchem Grund ich im Abend reading 13thStreet nicht angezeigt bekomme versteh ich noch nicht, und bin für jeden Tip dankbar..............
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: WarLord am 06 April 2015, 18:13:35
Zitat von: tagedieb am 02 April 2015, 22:30:39
Hallo WarLord

ich habe diese Zeile bei mir so
TV_Programme_next:dmax_time@TV_Programme,dmax@TV_Programme,dmax_next_time,dmax_next
und dieser Link wurde verwendet

MainURL

http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=150&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form

und es erscheint wie im screenshot


gruss tagedieb

Danke für den Tipp, aber hat leider keine besserung gebracht.

dafür hab ich den fehler gefunden ich hatte es so geschrieben
attr TV_Programme readingsRegex_DMAX <span>DMAX <[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX_time <span>DMAX <[\w\W]*?air-time"><strong>(.*?)<\/strong>


muss aber so sein
attr TV_Programme readingsRegex_DMAX <span>>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme readingsRegex_DMAX_time <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>


das Leerzeichen bei 2. DMAX war zuviel
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 06 April 2015, 19:35:54
Zitat von: kvo1 am 04 April 2015, 23:55:45
Hallo rasti,
Danke , funktioniert bei mir auch , ausser das mir scheinbar einige ICON´s fehlen !

Dachte die liegen alle in einem Icon-pfad ?

gruss
kvo1

liegen sie auch, zumindest bei mir.
Bei mir fehlen auch keine Icons, alles nun OK bei mir

Gruss

Ralf
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 07 April 2015, 15:33:55
Hallo,

Zitat von: schucki am 05 April 2015, 08:55:57
Wenn tvMovie jetzt wieder alles ändern sollte, wäre da eine andere Quelle, z Bsp 'Klack' eine Alternative? Leider kenne ich mich bei der Programmierung nicht so aus wie der Rest hier im Forum. Trotzdem Danke an alle die hier mitmachen.

ich habe mir jetzt mal die Mühe gemacht und eine (erweiterte) Alternative für Klack gebaut (siehe Anhang). Diese hat folgende Vorteile/Erweiterungen:

1. bei Klack braucht es nur eine Seite für 'Jetzt' und 'Gleich'
2. ich habe auch Readings für die Beschreibung der Sendung, einen Link zu mehr Details und einen Link zu einem Bild für die Sendung hinzugefügt
3. Der Aufbau der Seite ist gut strukturiert, sodass ich die RegExen für alle Free-TV-Sender mit einer Excelmappe bauen konnte

Nun zu den aktuellen Mankos/offenen Punkten:
1. Wegen Vorteil Nummer 3 und da ich nicht alle Sender nutze, kann ich nicht garantieren, dass alle gehen - sollte etwas nicht gehen, könnte ich mir dies explizit ansehen.
2. Ich will die nächsten Tage noch eine passende ReadingsGroup bauen, die evtl. auch die neuen Möglichkeiten (Sendungsbild und Link) nutzt - diese ist also in der angehängten Datei noch nicht enthalten
3. Beim Sendungsbild gibt es noch zwei Probleme/Herausforderungen:
    1. Existiert für eine Sendung kein Bild, so wird auf Grund des suboptimalen RegExp das nächste im HTML gefundene Bild genommen, da ich noch keine funktionierende Negation gefunden habe - vielleicht kann hier jemand mit mehr Erfahrung bei den RegExp mal draufsehen
    2. Wenn 1. gelöst ist, müssten vor der Aktualisierung alle Image-Readings gelöscht werden, da sonst bei "Nichtfinden" das alte Reading stehen bleibt.
4. Die Seite für 20:15 und anschließend sieht vom Aufbau gleich aus - es könnte also passen, die gleichen Attribute mit dem entsprechenden Link zu nutzen...

So, viel Erfolg beim Testen...

Ronny


EDIT: zu Punkt 4: gerade probiert und es geht - einfach eine Kopie vom konfigurierten Klack anlegen und Link zu

http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html

ändern...

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 07 April 2015, 15:54:14
Hallo,

damit's nicht im EDIT untergeht, mache ich für die aktualisierte Version mal einen neuen Post - es fehlten einige Dinge...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 07 April 2015, 17:45:18
das ist ja mal echt Klasse und sieht ordentlich aus...

Danke !!!

Gehe mal davon aus das es funktioniert.....wenn du es hier postest..
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ulli am 07 April 2015, 18:50:14
Die frage ist natürlich wie man jetzt alle Informationen sinnvoll in ein readinggroup bekommt und es dann auch noch auf Anhieb versteht ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 07 April 2015, 22:42:36
Zitat von: RoBra81 am 07 April 2015, 15:54:14
Hallo,

damit's nicht im EDIT untergeht, mache ich für die aktualisierte Version mal einen neuen Post - es fehlten einige Dinge...

Ronny
Hallo Ronny

wie schaut den der Rest aus ? ... Define .....

kvo1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 07 April 2015, 22:51:26
Sorry, den hatte ich bei meiner Korrektur wohl vergessen:

define Klack HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 07 April 2015, 23:20:50
Zitat von: RoBra81 am 07 April 2015, 22:51:26
Sorry, den hatte ich bei meiner Korrektur wohl vergessen:

define Klack HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
hm, irgendwas mach ich falsch, ich seh gerade mal garnix !

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 08 April 2015, 09:09:49
So, ich habe es gerade nochmal mit der angehängten Datei und dem folgenden Vorgehen erfolgreich probiert:

1. TV-Programm definieren: erste Zeile aus der angehängten Datei in Eingabefeld in FHEMWEB ausführen
2. gewünschte Sender blockweise (maximal 9 Sender am Stück) hinzufügen: Gesamten Senderblock aus Datei in Eingabefeld in FHEMWEB ausführen

Möglicherweise funktioniert es auch über Bearbeiten der fhem.cfg, aber da ich versuche, dies zu vermeiden (und auf meinem Hauptsystem auch ConfigDB  nutze) kann ich nicht garantieren, dass das geht...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 08 April 2015, 11:21:52
Hallo Ronny,

Danke, werde ich heute Abend mal testen.

Kvo1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MaJu am 08 April 2015, 12:45:35
@Ronny:
Danke, der erste Test mit Klack ist sehr vielversprechend. Vor allem, dass nur noch eine Seite für das Programm jetzt und danach geladen werden muss und dass bei 20:15 auch schon die Folgesendung mit auf der Seite ist.

Leider fehlt mir im Moment massiv Zeit, das in meine Installationen komplett einzubinden, inklusive ReadingsGroups :-(

Meine Ziele:

1. Erstellung einer Excel-Tabelle zur Filterung der gewünschten Daten ([Mehrfach-]Auswahl über die Filterfunktion), so dass jeder selbst in der Titelzeile auswählen kann welche Sender er haben möchte und welche jeweiligen Infos.

Nicht jeder braucht ARD und nicht jeder braucht das Bild oder den Link, deshalb ist es besser das bei einer Vielzahl von Sendern nicht "sinnlos" immer mit Daten zu füllen, es kostet ja immer nur unnötig Rechenarbeit.

2. Anpassung vom "TVHELPER" von Elektrolurch. Vielleicht kann er uns hier auch unterstützen? Denn auch bei Klack sollten wir versuchen, die Abrufe so gering wie möglich zu halten.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 08 April 2015, 15:32:30
Die Excel-Tabelle hätte ich quasi fertig, da ich selbst damit gearbeitet habe - ein bisschen aufhübschen und dann könnte man vermutlich auch die Bezahlsender einfach rein bekommen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 10 April 2015, 14:32:30
Hallo,

zum "Anfüttern" schon mal ein paar Screenshots meiner Umsetzung - Details (inklusive Excel-Tabelle) folgen (hoffentlich) am Wochenende...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 10 April 2015, 20:26:04
Hi,
sehr geil,
wie hast du das z,b mit der Einlendung der Detail INfos auf der letzten Seite gelöst?

Andere Frage, hab auf deinem FP gesehen das du von der Türsprechanlage anscheint ein Bild in Fhem empfängst wenn ich die Icons richtig deute!? Was ist das für eine anlage?

Danke

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 10 April 2015, 20:49:03
Hallo Ronny,

Sehr cool, sieht echt super aus  ;)

Klaus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ulli am 21 April 2015, 17:31:58
Hi Ronny,

Mich würde auch die Umsetzung interessieren. Gibst dazu nochmal update?

Danke und Grüße,
  Ulli
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 21 April 2015, 21:28:32
Hallo,

ich war die letzen Tage familiär gut eingespannt und hatte wenig Zeit für FHEM. Nun habe ich mich mal dran gemacht und die angefangene Excel-Tabelle erweitert. Da die Lösung sehr umfangreich ist, folgt ein langer (und hoffentlich genau so umfassender wie verständlicher) Text:

Hier nun die einzelnen Komponenten meiner Lösung als Überblick - eine kurze Anleitung, wie diese zu bauen sind folgt weiter unten:

1. zwei HTTPMOD-Devices, welche die Programmdaten für jetzt und gleich sowie 20:15 und anschließend abrufen.
2. zwei DOIFs zum Update der Programmdaten nur bei Bedarf
3. mehrere Readingsgroups zur Darstellung der einzelnen Seiten des TV-Programms (ich habe je 3 Seiten für jetzt/gleich und 20:15/anschließend -> insgesamt also 6)
4. eine Readingsgroup mit einem Symbol zu Aufruf der ersten Seite
5. Einen Dummy, der die Detailinformationen entält
6. eine Readingsgroup zur Darstellung der Details der ausgewählten Sendung
7. eine Funktion in der 99_myUtils zur Steuerung der anzuzeigenden Seite, wechseln des Senders, Programmieren von Sendungen, Anzeigen von Details

Nun möchte ich im groben die Umsetzung beschreiben - ich werde nicht auf jedes Detail (z.B. die grafische Gestaltung der Readingsgroups) eingehen, und bitte darum, nicht alles nur per Copy und Paste zu übernehmen, sondern auch zu versuchen, das, was man umsetzt zu verstehen. Natürlich helfe ich auch gern, wenn ihr an irgendeiner Stelle gar nicht weiter kommt...

Zur Unterstützung der Punkte 1-3 habe ich die angehängte Excel-Datei erstellt, die ich im Folgenden noch etwas erläutern will - ich muss allerdings etwas warnen: ich habe meine Lösung zwar mit Hilfe der Excel-Datei gebaut, habe die Excel-Datei aber anschließend noch erweitert, um weitere Unterstüzung zu geben -> das heißt im Klartext, dass nicht alle Funktionsweisen der Excel-Datei 100%ig getestet sind.

Vorbereitung der Excel-Datei:
a) in Zelle A2 den gewünschten Namensstamm angeben -> dieser wird für HTTPMOD, Readingsgroup, DOIF, ... jeweils mit entsprechenden Suffixen verwendet (kann auch so belassen werden)
b) in Spalte B die Nummerierung der gewünschten Sender festlegen (bei nicht gewünschen Sendern bleibt die Spalte B leer
c) Daten nach Spalte B sortieren
d) in Spalte A die Seitennummern (für Readingsgroup) für die Sender festlegen (entsprechend dem Beispiel in der Tabelle)
e) Leere Zeilen in Spalte B wegfiltern
f) in Zeile 4 in den Spalten D bis M durch aufsteigende Nummerierung die gewünschten Informationen auswählen -> wird eine Information nicht gewünscht (z.B. _link) die Zelle leer lassen und in der Zelle weiterzählen (wenn man _link nicht wünscht wäre z.B. _image die Nummer 4)
g) -> dazu komme ich bei der Readingsgroup :)

Hinweise:
a) die gelben Zellen können angepasst werden, die grünen sind zum Kopieren ins FHEM-Eingabefeld
b) alle Zellen der Excel-Tabelle sollten so formatiert sein, dass der Inhalt mehrerer markierter Zellen einfach ins Eingabefeld von FHEMWEB kopiert werden kann - ein Arbeiten mit fhem.cfg ist nicht nötig.

Zu 1.:
Die Zellen B3 und B4 definieren die beiden HTTPMOD-Devices mit einigen benötigten Attributen (dazu später mehr) -> einfach beide markieren, kopieren und ins FHEM-Eingabefeld kopieren und mit Enter ausführen.
Die Spalten D bis M enthalten ab Zeile 6 die für die Auswertung im HTTPMOD benötigten Attribute -> auch hier kann man einfach mehrere Zeilen markieren, kopieren und in FHEM ausführen. Aber ACHTUNG: Wenn man zu viele Zellen auf einmal nimmt, kann es dazu führen, dass FHEM abstürzt - ich bin mit 9 Sendern pro Vorgang ganz gut zurecht gekommen (dauert im FHEM etwas).
Gleiches gilt für die Spalten O bis X - hier für das Programm ab 20:15.
So, hier folgt die erste Besonderheit: ich habe die HTTPMODs so definiert, dass sie deaktiviert sind. Zur Aktualisierung bieten sie stattdessen ein "get TVProgramm" (die benötigten Attribute sind bereits in den Zellen B3 und B4 enthalten). Die automatische Aktualisierung habe ich wie gesagt über zwei DOIFs gelöst.

Zu 2.:
Die DOIFs können mit den Zellen in Spalte AB ab Zeile 5 (bis zur letzten in Spalte B ausgefüllten Zeile) erstellt werden.

Zu 3.:
Die Definition der Readingsgroups erfolgt mit den Spalten AL (Jetzt) und AN (20:15) ab Zeile 6. Die Spalten AP und AR enthalten für die Readingsgroups erforderliche Attribute (Senderlogos, Kommandos und Visibility)
Für die Anpassung der Readingsgroups gibt es noch folgende Möglichkeiten:
a) Umsortierung der Spalten AE bis AJ (komplette Spalte im Excel markieren -> Strg+x -> Spalte markieren, vor der die Spalte eingebaut werden soll -> Strg++)
b) Umbenennung der Überschriften der Readingsgroup (Zeile 4 der Spalten AE bis AJ)
c) Entfernen von Spalten der Readingsgroup durch Löschen der Überschrift der entsprechenden Spalte (Zeile 4 der Spalten AE bis AJ)

Zu 4.:
define DG.wz.TV.WohnzimmerTV.RG.Symbol readingsGroup DG.wz.TV.WohnzimmerTV.RG.Symbol:!Symbol ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol commands { 'Symbol' => 'set DG.wz.TV.WohnzimmerTV.RG.Control.Page1 visibility show' } ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol group TVProgramm ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol noheading 1 ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol nonames 1 ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol notime 1 ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol style {readingsGroupFloorplanStyle()} ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol valueIcon { 'Symbol' => 'it_television' } ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol visibility hideable ;


Zu 5.:
Die Definition des Dummys ist wie folgt:
define DG.wz.TV.Programm.Details dummy

Zu 6.:
Die Definition der Readingsgroup lautet wie folgt:
define DG.wz.TV.Programm.Details.Popup.RG readingsGroup DG.wz.TV.Programm.Details:!closebutton,<> DG.wz.TV.Programm.Details:Channel DG.wz.TV.Programm.Details:!trenner DG.wz.TV.Programm.Details:Time,Title DG.wz.TV.Programm.Details:Image,Details DG.wz.TV.Programm.Details:!trenner DG.wz.TV.Programm.Details:TimeNext,TitleNext DG.wz.TV.Programm.Details:ImageNext,DetailsNext;
attr DG.wz.TV.Programm.Details.Popup.RG cellStyle { "c:2" => 'style="width:500px;;"', "r:1" => 'style="text-align:left;;"' } ;
attr DG.wz.TV.Programm.Details.Popup.RG commands { 'closebutton' => 'set DG.wz.TV.Programm.Details.Popup.RG visibility hide' };
attr DG.wz.TV.Programm.Details.Popup.RG noheading 1 ;
attr DG.wz.TV.Programm.Details.Popup.RG nonames 1 ;
attr DG.wz.TV.Programm.Details.Popup.RG notime 1 ;
attr DG.wz.TV.Programm.Details.Popup.RG valueColumns {  'Channel' => 'colspan="2"', 'trenner' => 'colspan="2"' } ;
attr DG.wz.TV.Programm.Details.Popup.RG valueIcon { '_2015_Page1' => 'rc_RIGHT@lightgray', '_Page2' => 'rc_DOWN@lightgray', 'closebutton' => 'control_x@lightgray', 'Channel.tvlogo_ARD' => 'tvlogo_ARD', 'Channel.tvlogo_ZDF' => 'tvlogo_ZDF', 'Channel.tvlogo_RTL' => 'tvlogo_RTL', 'Channel.tvlogo_SAT.1' => 'tvlogo_SAT.1', 'Channel.tvlogo_Pro7' => 'tvlogo_Pro7', 'Channel.tvlogo_RTL_II' => 'tvlogo_RTL_II', 'Channel.tvlogo_VOX' => 'tvlogo_VOX', 'Channel.tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins', 'Channel.tvlogo_TELE_5' => 'tvlogo_TELE_5', 'Channel.tvlogo_ARTE' => 'tvlogo_ARTE', 'Channel.tvlogo_3sat' => 'tvlogo_3sat', 'Channel.tvlogo_Super_RTL' => 'tvlogo_Super_RTL', 'Channel.tvlogo_WDR' => 'tvlogo_WDR', 'Channel.tvlogo_NDR' => 'tvlogo_NDR', 'Channel.tvlogo_Bayern' => 'tvlogo_Bayern', 'Channel.tvlogo_SWR_BW' => 'tvlogo_SWR_BW', 'Channel.tvlogo_SWR_RP' => 'tvlogo_SWR_RP', 'Channel.tvlogo_HR' => 'tvlogo_HR', 'Channel.tvlogo_MDR' => 'tvlogo_MDR', 'Channel.tvlogo_RBB' => 'tvlogo_RBB', 'Channel.tvlogo_sixx' => 'tvlogo_sixx', 'Channel.tvlogo_Pro7_MAXX' => 'tvlogo_Pro7_MAXX', 'Channel.tvlogo_RTL_NITRO' => 'tvlogo_RTL_NITRO', 'Channel.tvlogo_SAT.1_Gold' => 'tvlogo_SAT.1_Gold', 'Channel.tvlogo_NICK' => 'tvlogo_NICK', 'Channel.tvlogo_Disney' => 'tvlogo_Disney', 'Channel.tvlogo_KiKa' => 'tvlogo_KiKa', 'Channel.tvlogo_DMAX' => 'tvlogo_DMAX', 'Channel.tvlogo_Eins_Plus' => 'tvlogo_Eins_Plus', 'Channel.tvlogo_Phoenix' => 'tvlogo_Phoenix', 'Channel.tvlogo_N24' => 'tvlogo_N24', 'Channel.tvlogo_N-TV' => 'tvlogo_N-TV' }
attr DG.wz.TV.Programm.Details.Popup.RG valuePrefix { 'Image' => '<img src="', 'ImageNext' => '<img src="' } ;
attr DG.wz.TV.Programm.Details.Popup.RG valueStyle { 'Channel' => 'style="font-size:25px;;"', 'Title' => 'style="font-size:20px;;"', 'TitleNext' => 'style="font-size:20px;;"', 'Time' => 'style="font-size:20px;;"', 'TimeNext' => 'style="font-size:20px;;"', 'trenner' => 'style="background-color:lightgray;;font-size:1px;;"' } ;
attr DG.wz.TV.Programm.Details.Popup.RG valueSuffix { 'Image' => '">', 'ImageNext' => '">' } ;
attr DG.wz.TV.Programm.Details.Popup.RG visibility hidden ;


Zu 7.:
Die Funktion in der 99_myUtils lautet wie folgt:
sub
switchChannel($)
{
  my %channellist = (
    'ARD' => '1',
    'ZDF' => '2',
    'MDR' => '3',
    'RTL' => '4',
    'rtl1' => '4',
    'RTL_II' => '9',
    'VOX' => '7',
    'SAT.1' => '5',
    'Pro7' => '6',
    'Kabel_eins' => '8',
    'DMAX' => '10',
    'KiKa' => '19',
    'Super_RTL' => '16'   
  );
 
  my $TVDevice = 'DG.wz.TV.WohnzimmerTV';

  my ($channel) = @_;
 
  my $action = '';
 
  my @command = split("-",$channel);
  $channel = $command[1];
 
  Log(0, $command[0]);
 
  my $time = '';
  if ($command[0] =~ /2015/)
  {
  $time = '.2015';
  }
 
  if ($channel eq 'closebutton')
  {
    fhem('set DG.wz.TV.WohnzimmerTV.RG.Symbol visibility show');
    return;
  }

if ($channel =~ /_Page/) {
    $channel =~ s/_/./g;
    fhem('set DG.wz.TV.WohnzimmerTV.RG.Control'.$channel.' visibility show');
    return;
  }

if ($channel =~ /tvlogo_/) {
  $action = 'details';
  }
  elsif ($channel =~ /_time_next/) {
  $action = 'plan';
  }
  elsif ($channel =~ /_time/) {
  $action = 'switch';
  }
  else {
  $action = 'switch';
  }
 
  $channel =~ s/_time//g;
  $channel =~ s/tvlogo_//g;
  #$channel = lc $channel;
  my $next = 0;
  if ($channel =~ /_next/)
  {
  $channel =~ s/_next//g;
    $next = 1;
  }
   
  my $command = '';
  if ($action eq 'switch' || $action eq 'plan')
  {
    my @digits = split("", $channellist{$channel});

    foreach (@digits)
    {
      if ($command ne '')
      {
        $command = $command.'; ';
      }
      $command = $command.'set '.$TVDevice.' '.$_;
    }

    if ($command ne '')
    {
      $command = $command.'; set '.$TVDevice.' ENTER';
      if ($next == 1)
      {
        $command =~ s/;/;;/g;
        fhem('delete '.$TVDevice.'.Senderwechsel.at');
        fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_next_time', '00:00').' '.$command);
        fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
      }
      else
      {
        fhem($command);
      }
    }
    else
    {
      Log(1, 'Channelnumber not found for channel: '.$channel);
    }
  }
  elsif ($action eq 'details')
  {
    my $channelName = $channel;
    $channelName =~ s/_/ /g;
    $channelName = 'tvlogo_'.$channel;
    $command = 'setreading DG.wz.TV.Programm.Details Channel '.$channelName;
    $command = $command.'; setreading DG.wz.TV.Programm.Details Title '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel, '');
    $command = $command.'; setreading DG.wz.TV.Programm.Details Details '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_details', '');
    $command = $command.'; setreading DG.wz.TV.Programm.Details Time '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_time', '');
    $command = $command.'; setreading DG.wz.TV.Programm.Details Image '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_image', '/fhem/images/default/KeinBild.png');
    $command = $command.'; setreading DG.wz.TV.Programm.Details DetailsNext '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_next_details', '');
    $command = $command.'; setreading DG.wz.TV.Programm.Details TitleNext '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_next', '');
    $command = $command.'; setreading DG.wz.TV.Programm.Details TimeNext '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_next_time', '');
    $command = $command.'; setreading DG.wz.TV.Programm.Details ImageNext '.ReadingsVal('DG.wz.TV.Programm'.$time, $channel.'_next_image', '/fhem/images/default/KeinBild.png');
    $command = $command.'; set DG.wz.TV.Programm.Details.Popup.RG visibility show';
    $command = decode_entities($command);
    fhem($command);
  }
}


Diese Sub hat die folgenden Funktionen:
a) Senderwechsel bei Klick auf eine aktuelle Sendung oder die zugehörige Zeit
b) Planung des Senderwechsels bei Klick auf eine zukünftige Sendung bzw, die zugehörige Zeit
-> diese beiden Funktionen hatte ich schonmal beschrieben und will daher nicht näher darauf eingehen
c) Schließen der Readingsgroup bei Klick auf den "closebutton"
d) Die Magie: Bei Klick auf das Logo des Senders, werden die Daten der Sendungen in den Dummy kopiert und die Readingsgroup eingeblendet -> hier ist noch etwas Handarbeit notwendig: bei Änderung des Namensstamms in Excel-Tabelle muss dies entsprechend auch in der Sub geändert werden ("DG.wz.TV.Programm" in "ReadingsVal('DG.wz.TV.Programm'.$time" in den letzten Zeilen)
e) Außerdem werden die HTML-Zeichen dekodiert -> hierfür wird noch folgendes use benötigt:

use HTML::Entities;


Der "Trick" hier ist nun, dass alle Readingsgroups in den gleichen Raum, im gleichen Floorplan und (von der Details-Readingsgroup abgesehen) in der gleichen group (Attribut) sein müssen -> dadurch werden beim Einblenden einer Readingsgroup alle anderen Readingsgroups der gleichen group ausgeblendet.

So, ich hoffe, ich habe an alles gedacht und es einigermaßen verständlich erklären können.

Ich wünsche viel Erfolg beim Testen und versuche, bei eventuellen Problemen zeitnah zu helfen...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 22 April 2015, 19:39:48
da hat sich aber einer wahnsinnig Mühe gemacht  ::)

Mit der Exel Tabelle habe ich schon was rumgespielt, genial wie das miteinander verknüpft ist, in A2 einfach den Namen ändern und alles wird angepasst.

wenn ich nun wie unter 1 beschrieben
Die Zellen B3 und B4 definieren die beiden HTTPMOD-Devices mit einigen benötigten Attributen (dazu später mehr) -> einfach beide markieren, kopieren und ins FHEM-Eingabefeld kopieren und mit Enter ausführen.

habe ich gemacht und dann kommt das hier.
Unknown command http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html, try help.

Einfach ignorieren ?


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 22 April 2015, 19:58:20
Zitat von: Franz Tenbrock am 22 April 2015, 19:39:48
habe ich gemacht und dann kommt das hier.
Unknown command http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html, try help.

Ich habe mal in A2 "Test" eingetragen und dann enthält B3 und B4 zusammen

define Test HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html; attr Test get1Name TVProgramm; attr Test get1URL http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html; attr Test disable 1;
define Test.2015 HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html; attr Test.2015 get1Name TVProgramm; attr Test.2015 get1URL http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html; attr Test.2015 disable 1;


Wenn ich das ins FHEM-Eingabefeld eingebe, werden die zwei Devices Test und Test.2015 angelegt - einen Fehler habe ich nicht...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 22 April 2015, 21:25:09
wer lesen kann ist klar im Vorteil,,
grrrrr
hatte A1 kopiert
wie dämlich
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 22 April 2015, 21:26:56
Und dabei ist es doch so schön bunt  ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: uniqueck am 22 April 2015, 22:21:16
auch von mir erst einmal vielen Dank für diese Arbeit.

Ich habe das gestern auch schon mal soweit getestet und ausprobiert.
Die Readings funktionieren auch soweit nur sehe ich irgendwie keine Icons.

Ich habe die Icons direkt unterhalb von ./www/images/default abgelegt und auch rereadicons durchgeführt, sie sind auch soweit vorhanden, aber es werden keine Icons angezeigt.

wenn ich das ganze nun auf einen floorplane positionieren will, welche readingGroup ist das denn, oder ist das nur der dummy.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 22 April 2015, 22:23:15
Auf den floorplan müssen alle Pages, dass Symbol für den Aufruf und auch die für die Details...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 23 April 2015, 08:23:13
Nachdem ich mich gestern etwas blöd angestellt habe, bin ich heute morgen etwas früher aufgestanden und habs noch einmal probiert.
Das meiste hat auch gut geklappt. Konnte problemlos 10 Sender en block kopieren.

Dabei habe ich aber einen kleinen Fehler? in der Exel Tabelle gefunden.
Ich habe den Namen in der Zelle A2 geändert.  "Test"

In den Zellen AN und AL entsteht dann aber ein Fehler #Name?
da wird scheinbar der Name nicht geändert, Bezug fehlt?!

Habe das gerade auf einem anderen Rechner mit Exel noch einmal probiert.

(http://klack:JPG)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Panik am 23 April 2015, 10:26:44
Hallo Franz Tenbrock,

hast du Macros aktiviert? Du musst diese zulassen, sonst klappt das Verketten2 nicht und damit werden auch die Zellen
fehlerhaft berechnet.

Panik
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 23 April 2015, 10:45:44
das wirds sein, habe auf meinem großen Monitor die Hinweiszeile nicht gesehen :-(
wenn ich nun aber dort Macros aktivieren will kommt eine Meldung das das Macro defekt ist.
Suche nun die Einstellung um Macros generell zu aktivieren...
oh mann.

Trotzdem genial das mit der Tabelle.
Liegt ja wieder an mir...

so die Einstellungen für Macros im Vertrauenscenter geändert und siehe da, alles wird geändert..
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: uniqueck am 23 April 2015, 21:55:28
guten abend,

also ich habe das heute nochmal weiter versucht nach zu vollziehen.

bei zu 4.


define DG.wz.TV.WohnzimmerTV.RG.Symbol readingsGroup DG.wz.TV.WohnzimmerTV.RG.Symbol:!Symbol ;
attr DG.wz.TV.WohnzimmerTV.RG.Symbol commands { 'Symbol' => 'set DG.wz.TV.WohnzimmerTV.RG.Control.Page1 visibility show' } ;


muss da das Command nicht lauten?


attr DG.wz.TV.WohnzimmerTV.RG.Symbol commands { 'Symbol' => 'set DG.wz.TV.Programm.RG.Page1 visibility show' } ;


des weiteren die RGs der einzelnen Sender 2015 und jetzt, verstehe ich noch nicht ganz.


DG.wz.TV.Programm.2015:!closebutton,!_Page1,<>,!_2015_Page2,<>,<>
<Programm>,<Nummer>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit>
DG.wz.TV.Programm.2015:!tvlogo_ARD,!1,ARD_time,ARD,ARD_next,ARD_next_time
DG.wz.TV.Programm.2015:!tvlogo_ZDF,!2,ZDF_time,ZDF,ZDF_next,ZDF_next_time
DG.wz.TV.Programm.2015:!tvlogo_MDR,!3,MDR_time,MDR,MDR_next,MDR_next_time
DG.wz.TV.Programm.2015:!tvlogo_SAT.1,!4,SAT.1_time,SAT.1,SAT.1_next,SAT.1_next_time
DG.wz.TV.Programm.2015:!tvlogo_RTL,!5,RTL_time,RTL,RTL_next,RTL_next_time
DG.wz.TV.Programm.2015:!tvlogo_Pro7,!6,Pro7_time,Pro7,Pro7_next,Pro7_next_time
DG.wz.TV.Programm.2015:!tvlogo_VOX,!7,VOX_time,VOX,VOX_next,VOX_next_time
DG.wz.TV.Programm.2015:!tvlogo_Kabel_eins,!8,Kabel_eins_time,Kabel_eins,Kabel_eins_next,Kabel_eins_next_time DG.wz.TV.Programm.2015:!tvlogo_RTL_II,!9,RTL_II_time,RTL_II,RTL_II_next,RTL_II_next_time
DG.wz.TV.Programm.2015:!tvlogo_DMAX,!10,DMAX_time,DMAX,DMAX_next,DMAX_next_time
DG.wz.TV.Programm.2015:!tvlogo_sixx,!11,sixx_time,sixx,sixx_next,sixx_next_time
DG.wz.TV.Programm.2015:!tvlogo_RTL_NITRO,!12,RTL_NITRO_time,RTL_NITRO,RTL_NITRO_next,RTL_NITRO_next_time


trotz der definition des attributes valueIcon, werden bei mir einfach keine symbole der sender angezeigt.


{'tvlogo_ARD' => 'tvlogo_ARD',  'tvlogo_ZDF' => 'tvlogo_ZDF',  'tvlogo_MDR' => 'tvlogo_MDR',  'tvlogo_SAT.1' => 'tvlogo_SAT.1',  'tvlogo_RTL' => 'tvlogo_RTL',  'tvlogo_Pro7' => 'tvlogo_Pro7',  'tvlogo_VOX' => 'tvlogo_VOX',  'tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins',  'tvlogo_RTL_II' => 'tvlogo_RTL_II',  'tvlogo_DMAX' => 'tvlogo_DMAX',  'tvlogo_sixx' => 'tvlogo_sixx',  'tvlogo_RTL_NITRO' => 'tvlogo_RTL_NITRO',  'tvlogo_TELE_5' => 'tvlogo_TELE_5',  'tvlogo_ARTE' => 'tvlogo_ARTE',  'tvlogo_Disney' => 'tvlogo_Disney',  'tvlogo_Super_RTL' => 'tvlogo_Super_RTL',  'tvlogo_NICK' => 'tvlogo_NICK',  'tvlogo_KiKa' => 'tvlogo_KiKa',  'tvlogo_RBB' => 'tvlogo_RBB',  'tvlogo_Bayern' => 'tvlogo_Bayern',  'tvlogo_HR' => 'tvlogo_HR',  'tvlogo_3sat' => 'tvlogo_3sat',  'tvlogo_NDR' => 'tvlogo_NDR',  'tvlogo_WDR' => 'tvlogo_WDR',  'tvlogo_SWR_BW' => 'tvlogo_SWR_BW',  'tvlogo_SWR_RP' => 'tvlogo_SWR_RP',  'tvlogo_Pro7_MAXX' => 'tvlogo_Pro7_MAXX',  'tvlogo_SAT.1_Gold' => 'tvlogo_SAT.1_Gold',  'tvlogo_Eins_Plus' => 'tvlogo_Eins_Plus',  'tvlogo_Phoenix' => 'tvlogo_Phoenix',  'tvlogo_N24' => 'tvlogo_N24',  'tvlogo_N-TV' => 'tvlogo_N-TV}


und ja die Icons sind da, nicht alle aber ein paar. wobei ich bei einem anderen RG, nur einen Sender angezeigt habe und dort wird leider auch nicht das Icon angezeigt.

jemand ne Idee, oder jemand hier dabei, welcher das schon komplett zum laufen gebracht hat?


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 23 April 2015, 22:29:30
wo müssen die Icons denn hin ?

das mit der Exel Tbl hab ich hinbekommen indem ich Macros voll erlaubt habe.
Dann habe ich das Ganze TV_Klack genannt auch die Umbenennung hat geklappt
in der my99utils hab ich die entsprechenden Stellen soweit ich das verstanden habe geändert

Was etwas verwirrend ist, ist der zusammengesetzte Name mit den ganzen Punkten dazwischen..in der Readingsgroup dann wieder etwas anders.
Schade, das Ganze sieht einfach super super klasse aus und ich brenne darauf das auch hinzubekommen, wahrscheinlich dann erst mal ohne irgendetwas umzubenennen...
Wahrscheinlich muss ich mal wieder den Ganzen Thread 2-3 mal lesen....
am WE soll ja das Wetter etwas schlechter werden.

Zum Glück habe ich ja eine alte TV Programm Anzeige die funktioniert, leider nciht so schöööööön


DEF ([06:00]) (deletereading TV_Klack.2015 .*_image; get TV_Klack.2015 TVProgramm)

NAME TV_Klack.2015.DI.update
NR 848
NTFY_ORDER 50-TV_Klack.2015.DI.update
STATE ???
TYPE DOIF



BUSY   0
DEF   http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
   
HTTPHEADER   
Interval   300
LASTSEND   142.981.757.570.107
MainURL   http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html



Readings:

Readings
ARD
Tagesthemen - Mit Wetter
2015-04-23 22:26:35


das eine oder andere klappt ja schon

TV_Klack.RG.Page1
Programm
Nummer
Seit
Jetzt
Dann
Uhrzeit
TV_Klack
{ 'tvlogo_ARD' => 'tvlogo_ARD', 'tvlogo_ZDF' => 'tvlogo_ZDF', 'tvlogo_WDR' => 'tvlogo_WDR', 'tvlogo_RTL' => 'tvlogo_RTL', 'tvlogo_SAT.1' => 'tvlogo_SAT.1', 'tvlogo_VOX' => 'tvlogo_VOX', 'tvlogo_Pro7' => 'tvlogo_Pro7', 'tvlogo_RTL_II' => 'tvlogo_RTL_II', 'tvlogo_DMAX' => 'tvlogo_DMAX', 'tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins', { 'tvlogo_ARD' => 'tvlogo_ARD', 'tvlogo_ZDF' => 'tvlogo_ZDF', 'tvlogo_WDR' => 'tvlogo_WDR', 'tvlogo_RTL' => 'tvlogo_RTL', 'tvlogo_SAT.1' => 'tvlogo_SAT.1', 'tvlogo_VOX' => 'tvlogo_VOX', 'tvlogo_Pro7' => 'tvlogo_Pro7', 'tvlogo_RTL_II' => 'tvlogo_RTL_II', 'tvlogo_DMAX' => 'tvlogo_DMAX', 'tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins', { 'tvlogo_ARD' => 'tvlogo_ARD', 'tvlogo_ZDF' => 'tvlogo_ZDF', 'tvlogo_WDR' => 'tvlogo_WDR', 'tvlogo_RTL' => 'tvlogo_RTL', 'tvlogo_SAT.1' => 'tvlogo_SAT.1', 'tvlogo_VOX' => 'tvlogo_VOX', 'tvlogo_Pro7' => 'tvlogo_Pro7', 'tvlogo_RTL_II' => 'tvlogo_RTL_II', 'tvlogo_DMAX' => 'tvlogo_DMAX', 'tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins', { 'tvlogo_ARD' => 'tvlogo_ARD', 'tvlogo_ZDF' => 'tvlogo_ZDF', 'tvlogo_WDR' => 'tvlogo_WDR', 'tvlogo_RTL' => 'tvlogo_RTL', 'tvlogo_SAT.1' => 'tvlogo_SAT.1', 'tvlogo_VOX' => 'tvlogo_VOX', 'tvlogo_Pro7' => 'tvlogo_Pro7', 'tvlogo_RTL_II' => 'tvlogo_RTL_II', 'tvlogo_DMAX' => 'tvlogo_DMAX', 'tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins', { 'tvlogo_ARD' => 'tvlogo_ARD', 'tvlogo_ZDF' => 'tvlogo_ZDF', 'tvlogo_WDR' => 'tvlogo_WDR', 'tvlogo_RTL'


Bin im Moment noch etwas verwirrt wo was falsch ist.

Ist schon sehr komplex...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: uniqueck am 24 April 2015, 00:33:48
also ich bin nun wieder ein stück weiter, auch vom verständnis.

die icons kannst du einfach unterhalb von /www/images/default ablegen, ggf. an die rechte denke, solltest du diese mit einem anderen user dorthin schieben.

bei mir hat nur nix richtig funktioniert, da er trotz der 9 Päkchen wie Ronny empfohlen hatte, trotzdem irgendwie alles nicht wirklich korrekt übernommen hatte.

ich kann nun jedenfalls, mit Klick auf das TV Symbol die erste Seite öffnen und mit dem Klick auf den Close Button diesen auch wieder schließen, und soweiter.

ich denke es ist hilfreich am anfang nur mit einer seite mit einem oder zwei sendern los zulegen, damit das konstrukt wie ronny schon zu recht sagt auch verstanden wird.

mal sehen ob ich das mit dem dummy noch verstehe, aber nun ist erstmal schluß für jetzt.

vielen dank nochmal ronny, sieht einfach klasse aus.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 25 April 2015, 09:29:54
Hallo,
sieht genial aus, daher brennend interessiert, aber schon ein komplexes Unterfangen ...

habe es 2x probiert mit geänderten Namen in der Exel Tabl.  Feld A2, Namen wurden auch alle geändert, habe auch Readings bekommen aber leider keine Anzeige.

Dann erneuter Anlauf mit der ursprünglichen Tabl ohne etwas zu verändern.
Habe aber immer nur die Zeile 6 genommen, also nur ARD
in Spalte AB habe ich Zeile 5 und 6 genommen.
dann Punkte 4-7 Code ausgewählt und kopiert, immer alles in den Raum Klack gepackt damit ich hinterher sehe was zusammengehört, da ich ja noch das alte TV_Programm habe.

Was dies hier bedeutet bzw wohin es gehört habe ich ncoh nicht verstanden
use HTML::Entities;

wenn ich es in fhem in die Kommandozeile eingebe kommt eine Fehlermeldung.

Die Reading bekomme ich durchaus richtig in der Tabellenform
Readings
ARD
Die Pfefferkörner (124)
2015-04-25 09:13:23

Da ich ja nur ARD erst einmal definiert habe, ist der code ind er fhem cfg ja noch halbwegsübersichtlich, ich poste ihn mal hier.
Das Icon für ARD liegt unter www/images/default und hat den namen ard.png
muss wohl umbenannt werden?!
in tvlogo_ARD



define DG.wz.TV.Programm HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
attr DG.wz.TV.Programm userattr disable get1Name get1URL reading021Name reading021Regex reading022Name reading022Regex reading023Name reading023Regex reading024Expr reading024Name reading024Regex reading025Name reading025Regex reading026Name reading026Regex reading027Name reading027Regex reading028Name reading028Regex reading029Expr reading029Name reading029Regex reading030Name reading030Regex
attr DG.wz.TV.Programm disable 1
attr DG.wz.TV.Programm get1Name TVProgramm
attr DG.wz.TV.Programm get1URL http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
attr DG.wz.TV.Programm reading021Name ARD
attr DG.wz.TV.Programm reading021Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr DG.wz.TV.Programm reading022Name ARD_time
attr DG.wz.TV.Programm reading022Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr DG.wz.TV.Programm reading023Name ARD_details
attr DG.wz.TV.Programm reading023Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr DG.wz.TV.Programm reading024Expr "http://www.klack.de".$val
attr DG.wz.TV.Programm reading024Name ARD_link
attr DG.wz.TV.Programm reading024Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr DG.wz.TV.Programm reading025Name ARD_image
attr DG.wz.TV.Programm reading025Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr DG.wz.TV.Programm reading026Name ARD_next
attr DG.wz.TV.Programm reading026Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr DG.wz.TV.Programm reading027Name ARD_next_time
attr DG.wz.TV.Programm reading027Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr DG.wz.TV.Programm reading028Name ARD_next_details
attr DG.wz.TV.Programm reading028Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr DG.wz.TV.Programm reading029Expr "http://www.klack.de".$val
attr DG.wz.TV.Programm reading029Name ARD_next_link
attr DG.wz.TV.Programm reading029Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr DG.wz.TV.Programm reading030Name ARD_next_image
attr DG.wz.TV.Programm reading030Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr DG.wz.TV.Programm room Klack
define DG.wz.TV.Programm.2015 HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html
attr DG.wz.TV.Programm.2015 userattr disable get1Name get1URL reading021Name reading021Regex reading022Name reading022Regex reading023Name reading023Regex reading024Expr reading024Name reading024Regex reading025Name reading025Regex reading026Name reading026Regex reading027Name reading027Regex reading028Name reading028Regex reading029Expr reading029Name reading029Regex reading030Name reading030Regex
attr DG.wz.TV.Programm.2015 disable 1
attr DG.wz.TV.Programm.2015 get1Name TVProgramm
attr DG.wz.TV.Programm.2015 get1URL http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html
attr DG.wz.TV.Programm.2015 reading021Name ARD
attr DG.wz.TV.Programm.2015 reading021Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr DG.wz.TV.Programm.2015 reading022Name ARD_time
attr DG.wz.TV.Programm.2015 reading022Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr DG.wz.TV.Programm.2015 reading023Name ARD_details
attr DG.wz.TV.Programm.2015 reading023Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr DG.wz.TV.Programm.2015 reading024Expr "http://www.klack.de".$val
attr DG.wz.TV.Programm.2015 reading024Name ARD_link
attr DG.wz.TV.Programm.2015 reading024Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr DG.wz.TV.Programm.2015 reading025Name ARD_image
attr DG.wz.TV.Programm.2015 reading025Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr DG.wz.TV.Programm.2015 reading026Name ARD_next
attr DG.wz.TV.Programm.2015 reading026Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr DG.wz.TV.Programm.2015 reading027Name ARD_next_time
attr DG.wz.TV.Programm.2015 reading027Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr DG.wz.TV.Programm.2015 reading028Name ARD_next_details
attr DG.wz.TV.Programm.2015 reading028Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr DG.wz.TV.Programm.2015 reading029Expr "http://www.klack.de".$val
attr DG.wz.TV.Programm.2015 reading029Name ARD_next_link
attr DG.wz.TV.Programm.2015 reading029Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr DG.wz.TV.Programm.2015 reading030Name ARD_next_image
attr DG.wz.TV.Programm.2015 reading030Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr DG.wz.TV.Programm.2015 room Klack
define DG.wz.TV.Programm.2015.DI.update DOIF ([06:00]) (deletereading DG.wz.TV.Programm.2015 .*_image;; get DG.wz.TV.Programm.2015 TVProgramm)
attr DG.wz.TV.Programm.2015.DI.update do always
attr DG.wz.TV.Programm.2015.DI.update room Klack
define DG.wz.TV.Programm.RG.Page1 readingsGroup !closebutton,<>,<>,_Page2,!_2015_Page1 <Programm>,<Nummer>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit> DG.wz.TV.Programm:!tvlogo_ARD,1,ARD_time,ARD,ARD_next,ARD_next_time
attr DG.wz.TV.Programm.RG.Page1 commands { 'trigger DG.wz.TV.WohnzimmerTV.Senderwechsel.nf Jetzt-%READING' }
attr DG.wz.TV.Programm.RG.Page1 group TVProgramm
attr DG.wz.TV.Programm.RG.Page1 room Klack
attr DG.wz.TV.Programm.RG.Page1 valueIcon { 'tvlogo_ARD' => 'tvlogo_ARD',
attr DG.wz.TV.Programm.RG.Page1 visibility hidden
define DG.wz.TV.Programm.2015.RG.Page1 readingsGroup !closebutton,<>,<>,_Page2,!_2015_Page1 <Programm>,<Nummer>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit> DG.wz.TV.Programm:!tvlogo_ARD,1,ARD_time,ARD,ARD_next,ARD_next_time
attr DG.wz.TV.Programm.2015.RG.Page1 commands { 'trigger DG.wz.TV.WohnzimmerTV.Senderwechsel.nf 2015-%READING' }
attr DG.wz.TV.Programm.2015.RG.Page1 group TVProgramm
attr DG.wz.TV.Programm.2015.RG.Page1 valueIcon { 'tvlogo_ARD' => 'tvlogo_ARD',
attr DG.wz.TV.Programm.2015.RG.Page1 visibility hidden
define DG.wz.TV.WohnzimmerTV.RG.Symbol readingsGroup DG.wz.TV.WohnzimmerTV.RG.Symbol:!Symbol
attr DG.wz.TV.WohnzimmerTV.RG.Symbol commands { 'Symbol' => 'set DG.wz.TV.WohnzimmerTV.RG.Control.Page1 visibility show' }
attr DG.wz.TV.WohnzimmerTV.RG.Symbol group TVProgramm
attr DG.wz.TV.WohnzimmerTV.RG.Symbol noheading 1
attr DG.wz.TV.WohnzimmerTV.RG.Symbol nonames 1
attr DG.wz.TV.WohnzimmerTV.RG.Symbol notime 1
attr DG.wz.TV.WohnzimmerTV.RG.Symbol room Klack
attr DG.wz.TV.WohnzimmerTV.RG.Symbol style {readingsGroupFloorplanStyle()}
attr DG.wz.TV.WohnzimmerTV.RG.Symbol valueIcon { 'Symbol' => 'it_television' }
attr DG.wz.TV.WohnzimmerTV.RG.Symbol visibility hideable
define DG.wz.TV.Programm.Details dummy
attr DG.wz.TV.Programm.Details room Klack
define DG.wz.TV.Programm.Details.Popup.RG readingsGroup DG.wz.TV.Programm.Details:!closebutton,<> DG.wz.TV.Programm.Details:Channel DG.wz.TV.Programm.Details:!trenner DG.wz.TV.Programm.Details:Time,Title DG.wz.TV.Programm.Details:Image,Details DG.wz.TV.Programm.Details:!trenner DG.wz.TV.Programm.Details:TimeNext,TitleNext DG.wz.TV.Programm.Details:ImageNext,DetailsNext
attr DG.wz.TV.Programm.Details.Popup.RG cellStyle { "c:2" => 'style="width:500px;;"', "r:1" => 'style="text-align:left;;"' }
attr DG.wz.TV.Programm.Details.Popup.RG commands { 'closebutton' => 'set DG.wz.TV.Programm.Details.Popup.RG visibility hide' }
attr DG.wz.TV.Programm.Details.Popup.RG noheading 1
attr DG.wz.TV.Programm.Details.Popup.RG nonames 1
attr DG.wz.TV.Programm.Details.Popup.RG notime 1
attr DG.wz.TV.Programm.Details.Popup.RG room Klack
attr DG.wz.TV.Programm.Details.Popup.RG valueColumns {  'Channel' => 'colspan="2"', 'trenner' => 'colspan="2"' }
attr DG.wz.TV.Programm.Details.Popup.RG valueIcon { '_2015_Page1' => 'rc_RIGHT@lightgray', '_Page2' => 'rc_DOWN@lightgray', 'closebutton' => 'control_x@lightgray', 'Channel.tvlogo_ARD' => 'tvlogo_ARD', 'Channel.tvlogo_ZDF' => 'tvlogo_ZDF', 'Channel.tvlogo_RTL' => 'tvlogo_RTL', 'Channel.tvlogo_SAT.1' => 'tvlogo_SAT.1', 'Channel.tvlogo_Pro7' => 'tvlogo_Pro7', 'Channel.tvlogo_RTL_II' => 'tvlogo_RTL_II', 'Channel.tvlogo_VOX' => 'tvlogo_VOX', 'Channel.tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins', 'Channel.tvlogo_TELE_5' => 'tvlogo_TELE_5', 'Channel.tvlogo_ARTE' => 'tvlogo_ARTE', 'Channel.tvlogo_3sat' => 'tvlogo_3sat', 'Channel.tvlogo_Super_RTL' => 'tvlogo_Super_RTL', 'Channel.tvlogo_WDR' => 'tvlogo_WDR', 'Channel.tvlogo_NDR' => 'tvlogo_NDR', 'Channel.tvlogo_Bayern' => 'tvlogo_Bayern', 'Channel.tvlogo_SWR_BW' => 'tvlogo_SWR_BW', 'Channel.tvlogo_SWR_RP' => 'tvlogo_SWR_RP', 'Channel.tvlogo_HR' => 'tvlogo_HR', 'Channel.tvlogo_MDR' => 'tvlogo_MDR', 'Channel.tvlogo_RBB' => 'tvlogo_RBB', 'Channel.tvlogo_sixx' => 'tvlogo_sixx', 'Channel.tvlogo_Pro7_MAXX' => 'tvlogo_Pro7_MAXX', 'Channel.tvlogo_RTL_NITRO' => 'tvlogo_RTL_NITRO', 'Channel.tvlogo_SAT.1_Gold' => 'tvlogo_SAT.1_Gold', 'Channel.tvlogo_NICK' => 'tvlogo_NICK', 'Channel.tvlogo_Disney' => 'tvlogo_Disney', 'Channel.tvlogo_KiKa' => 'tvlogo_KiKa', 'Channel.tvlogo_DMAX' => 'tvlogo_DMAX', 'Channel.tvlogo_Eins_Plus' => 'tvlogo_Eins_Plus', 'Channel.tvlogo_Phoenix' => 'tvlogo_Phoenix', 'Channel.tvlogo_N24' => 'tvlogo_N24', 'Channel.tvlogo_N-TV' => 'tvlogo_N-TV' }  attr DG.wz.TV.Programm.Details.Popup.RG valuePrefix { 'Image' => '<img src="', 'ImageNext' => '<img src="' }
attr DG.wz.TV.Programm.Details.Popup.RG valueStyle { 'Channel' => 'style="font-size:25px;;"', 'Title' => 'style="font-size:20px;;"', 'TitleNext' => 'style="font-size:20px;;"', 'Time' => 'style="font-size:20px;;"', 'TimeNext' => 'style="font-size:20px;;"', 'trenner' => 'style="background-color:lightgray;;font-size:1px;;"' }
attr DG.wz.TV.Programm.Details.Popup.RG valueSuffix { 'Image' => '">', 'ImageNext' => '">' }
attr DG.wz.TV.Programm.Details.Popup.RG visibility hidden


(http://klack.jpg)
(http://klack1.jpg)

wen ich nun
get  DG.wz.TV.Programm
kommt das hier:
TVProgramm requested, watch readings
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 26 April 2015, 13:20:30
Wir gehen einfach mal schrittweise ein Problem nach dem anderen an: Bei dem ValueIcon fehlt eine schließende Klammer '}'.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 26 April 2015, 16:32:07
so einfach kann es sein,
wüsste aber nicht das ich die Klammer gelöscht hätte....

aber egal..

(http://klack3.img)

das ist doch schon mal was
wenn ich nun auf das Sendericon klicke
kommt das hier:
Please define DG.wz.TV.WohnzimmerTV.Senderwechsel.nf first
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 26 April 2015, 16:46:47
wie sollte man vorgehen um zB 2 weiter Programme zu integrieren?
Einfach in der Tabelle die nächsten 2 Zeilen kopieren und dann einfügen?

Habs dann doch ganz neu gemacht nun mit 9 Sendern.
Sortieren und Page Zuordnung klappt auch
was aber immer fehlt ist die } am Ende bei valueIcon

mit den Icon Namen hab ich auch verstanden

Hab noch das alte TVProgramm drin, ist das ev ein Problem?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 26 April 2015, 21:06:16
Zitat von: Franz Tenbrock am 26 April 2015, 16:32:07
wüsste aber nicht das ich die Klammer gelöscht hätte....

Kann sein, dass die nur drin ist, wenn du aus der Excel-Tabelle alle Zeilen nimmst, in denen bei der Nummerierung der Sender eine Zahl drin steht...

Zitat von: Franz Tenbrock am 26 April 2015, 16:32:07
wenn ich nun auf das Sendericon klicke
kommt das hier:
Please define DG.wz.TV.WohnzimmerTV.Senderwechsel.nf first

Da habe ich doch tatsächlich was vergessen: Du brauchst ein Notify um die Funktion aus der myUtils aufzurufen:

define DG.wz.TV.WohnzimmerTV.Senderwechsel.nf notify DG.wz.TV.WohnzimmerTV.Senderwechsel.nf.* {switchChannel('%EVENT')}

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 26 April 2015, 21:09:15
Zitat von: Franz Tenbrock am 25 April 2015, 09:29:54
Was dies hier bedeutet bzw wohin es gehört habe ich ncoh nicht verstanden
use HTML::Entities;

Das gehört in myUtils ganz am Anfang - da dürften schon einige use... drin stehen.

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 26 April 2015, 21:12:14
Zitat von: Franz Tenbrock am 26 April 2015, 16:46:47
wie sollte man vorgehen um zB 2 weiter Programme zu integrieren?
Einfach in der Tabelle die nächsten 2 Zeilen kopieren und dann einfügen?

Du müsstest zunächst die Attribute zum HTTPMOD hinzufügen (einfach aus der Tabelle kopieren und in FHEM ausführen). Weitere Zeilen in dem DOIF und in der Readingsgroup kannst du auch aus der Excel-Tabelle kopieren - diese darfst du aber nicht im Eingabefeld ausführen, sondern musst die entsprechendens DEFs bearbeiten und die Zeilen einfügen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 26 April 2015, 22:44:28
So halbwegs läuft es jetzt, schalten geht noch nicht.

mein TV Device nennt sich LG_TV

das hab ich in der 99_myutils auch an einer Stelle geändert, steht wahrscheinlich noch woanders.. :_(
aber wird schon noch---

wäre es nicht sinnvoller den Ansatz mit TV Klack in einen eigenen Thread zu packen? mit deiner Anleitung direkt am Anfang vom Post....
Auch Hinweise dazu welche Icon gebraucht werden und wie sie benannt sein sollten,
Der Code ist ja sehr umfangreich, und Anfänger machen dann sicher mehr Fehler als nötig.
diesen Hinweis den du mir gegeben hast dazu
use HTML::Entities;

Das gehört in myUtils ganz am Anfang - da dürften schon einige use... drin stehen.


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: hartenthaler am 09 Mai 2015, 13:06:47
Ich bin dabei den wirklich guten Klack-Ansatz nachzuvollziehen (super!), bin aber noch nicht ganz am Ziel. Ich erhalte die Readings und die aktualisieren sich auch. Im Logfile ist zu sehen, dass alte Einträge anscheinend auch wieder ordentlich gelöscht werden. Soweit ok.

Aber die Darstellung ist bei mir noch nicht wirklich schön und der Mechanismus mit den Pop-Up-Fenstern funktioniert noch nicht und die Icons gehen bei mir gar nicht. Ich habe bisher FLOORPLAN nicht verwendet, kenne mich also noch nicht gut damit aus. Dort sieht es so wie hier beigelegt aus.

Was habe ich getan:
- Anleitung gelesen und befolgt  ;)
- die Basisbezeichnung im Feld A2 der Excel-Tabelle geändert
- erst einmal nur eine Gruppe mit 9 Sendern angelegt
- allerdings wollte ich einen pay statt einem free-Sender aufnehmen, deshalb habe ich rbb im Moment bei mir doppelt; sobald alles andere läuft, werde ich die Excel so anpassen, dass man sowohl pay als auch free Sender auswählen kann; dann ersetze ich einen der doppelten rbb durch Syfy
- alles von Excel nach fhem kopiert
- Änderung für die Basisbezeichnung an diversen Stellen im Code nachgezogen, wo es noch nicht automatisch richtig war
- das ursprünglich vergessene notify nachgetragen define TV.WohnzimmerTV.Senderwechsel.nf notify TV.WohnzimmerTV.Senderwechsel.nf.* {switchChannel('%EVENT')}
- den offensichtlich falschen command-Code bei .Symbol geändert in attr TV.WohnzimmerTV.RG.Symbol commands { 'Symbol' => 'set TV.Programm.RG.Page1 visibility show' } Stimmt das so?
- ein paar group und room Attribute gesetzt
- den FLOORPLAN angelegt

Wo die Icons gesucht werden und wie ich sie benennen muss, ist mir nicht klar. Derzeit liegen sie bei mir in .../www/images/default/tv und heißen etwa arte.png. Ich habe aber auch ein Icon als tvlogo_ARTE.png direkt in default abgelegt. Ging aber alles nicht. Und mir fehlen wohl die Icons rc_RIGHT, rc_DOWN und control_x.

Ich finde das Symbol mit dem Fernseher sowohl ganz normal im fhem-Menüpunkt Unsorted, als auch auf dem floorplan, aber ein Klick darauf bewirkt nichts. Könnt ihr mir da bitte helfen?

Wenn das dann läuft, möchte ich mir gerne die Funktionen zum Programmwechsel und zur Aufzeichnung ansehen. Ich habe eine Harmony-IR-LAN Fernbedienung in fhem integriert und möchte diese Befehle dann an diese Fernbedienung weitergeben,

Hier mein Code (der obere Teil scheint ja richtig zu funktionieren, das Problem steckt wohl eher am unteren Ende):
# Fernsehprogramm über klack.de
define TV.Programm HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
attr TV.Programm userattr disable get1Name get1URL icon reading021Name reading021Regex reading022Name reading022Regex reading023Name reading023Regex reading024Expr reading024Name reading024Regex reading025Name reading025Regex reading026Name reading026Regex reading027Name reading027Regex reading028Name reading028Regex reading029Expr reading029Name reading029Regex reading030Name reading030Regex reading031Name reading031Regex reading032Name reading032Regex reading033Name reading033Regex reading034Expr reading034Name reading034Regex reading035Name reading035Regex reading036Name reading036Regex reading037Name reading037Regex reading038Name reading038Regex reading039Expr reading039Name reading039Regex reading040Name reading040Regex reading041Name reading041Regex reading042Name reading042Regex reading043Name reading043Regex reading044Expr reading044Name reading044Regex reading045Name reading045Regex reading046Name reading046Regex reading047Name reading047Regex reading048Name reading048Regex reading049Expr reading049Name reading049Regex reading050Name reading050Regex reading051Name reading051Regex reading052Name reading052Regex reading053Name reading053Regex reading054Expr reading054Name reading054Regex reading055Name reading055Regex reading056Name reading056Regex reading057Name reading057Regex reading058Name reading058Regex reading059Expr reading059Name reading059Regex reading060Name reading060Regex reading061Name reading061Regex reading062Name reading062Regex reading063Name reading063Regex reading064Expr reading064Name reading064Regex reading065Name reading065Regex reading066Name reading066Regex reading067Name reading067Regex reading068Name reading068Regex reading069Expr reading069Name reading069Regex reading070Name reading070Regex reading071Name reading071Regex reading072Name reading072Regex reading073Name reading073Regex reading074Expr reading074Name reading074Regex reading075Name reading075Regex reading076Name reading076Regex reading077Name reading077Regex reading078Name reading078Regex reading079Expr reading079Name reading079Regex reading080Name reading080Regex reading081Name reading081Regex reading082Name reading082Regex reading083Name reading083Regex reading084Expr reading084Name reading084Regex reading085Name reading085Regex reading086Name reading086Regex reading087Name reading087Regex reading088Name reading088Regex reading089Expr reading089Name reading089Regex reading090Name reading090Regex reading091Name reading091Regex reading092Name reading092Regex reading093Name reading093Regex reading094Expr reading094Name reading094Regex reading095Name reading095Regex reading096Name reading096Regex reading097Name reading097Regex reading098Name reading098Regex reading099Expr reading099Name reading099Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Expr reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Expr reading109Name reading109Regex reading110Name reading110Regex
attr TV.Programm disable 1
attr TV.Programm get1Name TVProgramm
attr TV.Programm get1URL http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
attr TV.Programm group TVProgramm
attr TV.Programm icon it_television
attr TV.Programm reading021Name ARD
attr TV.Programm reading021Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading022Name ARD_time
attr TV.Programm reading022Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading023Name ARD_details
attr TV.Programm reading023Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading024Expr "http://www.klack.de".$val
attr TV.Programm reading024Name ARD_link
attr TV.Programm reading024Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading025Name ARD_image
attr TV.Programm reading025Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading026Name ARD_next
attr TV.Programm reading026Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading027Name ARD_next_time
attr TV.Programm reading027Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading028Name ARD_next_details
attr TV.Programm reading028Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading029Expr "http://www.klack.de".$val
attr TV.Programm reading029Name ARD_next_link
attr TV.Programm reading029Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading030Name ARD_next_image
attr TV.Programm reading030Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading031Name ZDF
attr TV.Programm reading031Regex <span class="stationName">ZDF<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading032Name ZDF_time
attr TV.Programm reading032Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading033Name ZDF_details
attr TV.Programm reading033Regex <span class="stationName">ZDF<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading034Expr "http://www.klack.de".$val
attr TV.Programm reading034Name ZDF_link
attr TV.Programm reading034Regex <span class="stationName">ZDF<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading035Name ZDF_image
attr TV.Programm reading035Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading036Name ZDF_next
attr TV.Programm reading036Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading037Name ZDF_next_time
attr TV.Programm reading037Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading038Name ZDF_next_details
attr TV.Programm reading038Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading039Expr "http://www.klack.de".$val
attr TV.Programm reading039Name ZDF_next_link
attr TV.Programm reading039Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading040Name ZDF_next_image
attr TV.Programm reading040Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading041Name RBB
attr TV.Programm reading041Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading042Name RBB_time
attr TV.Programm reading042Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading043Name RBB_details
attr TV.Programm reading043Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading044Expr "http://www.klack.de".$val
attr TV.Programm reading044Name RBB_link
attr TV.Programm reading044Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading045Name RBB_image
attr TV.Programm reading045Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading046Name RBB_next
attr TV.Programm reading046Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading047Name RBB_next_time
attr TV.Programm reading047Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading048Name RBB_next_details
attr TV.Programm reading048Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading049Expr "http://www.klack.de".$val
attr TV.Programm reading049Name RBB_next_link
attr TV.Programm reading049Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading050Name RBB_next_image
attr TV.Programm reading050Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading051Name RBB
attr TV.Programm reading051Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading052Name RBB_time
attr TV.Programm reading052Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading053Name RBB_details
attr TV.Programm reading053Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading054Expr "http://www.klack.de".$val
attr TV.Programm reading054Name RBB_link
attr TV.Programm reading054Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading055Name RBB_image
attr TV.Programm reading055Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading056Name RBB_next
attr TV.Programm reading056Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading057Name RBB_next_time
attr TV.Programm reading057Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading058Name RBB_next_details
attr TV.Programm reading058Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading059Expr "http://www.klack.de".$val
attr TV.Programm reading059Name RBB_next_link
attr TV.Programm reading059Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading060Name RBB_next_image
attr TV.Programm reading060Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading061Name ARTE
attr TV.Programm reading061Regex <span class="stationName">ARTE<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading062Name ARTE_time
attr TV.Programm reading062Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading063Name ARTE_details
attr TV.Programm reading063Regex <span class="stationName">ARTE<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading064Expr "http://www.klack.de".$val
attr TV.Programm reading064Name ARTE_link
attr TV.Programm reading064Regex <span class="stationName">ARTE<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading065Name ARTE_image
attr TV.Programm reading065Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARTE:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading066Name ARTE_next
attr TV.Programm reading066Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading067Name ARTE_next_time
attr TV.Programm reading067Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading068Name ARTE_next_details
attr TV.Programm reading068Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading069Expr "http://www.klack.de".$val
attr TV.Programm reading069Name ARTE_next_link
attr TV.Programm reading069Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading070Name ARTE_next_image
attr TV.Programm reading070Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARTE:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading071Name Phoenix
attr TV.Programm reading071Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading072Name Phoenix_time
attr TV.Programm reading072Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading073Name Phoenix_details
attr TV.Programm reading073Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading074Expr "http://www.klack.de".$val
attr TV.Programm reading074Name Phoenix_link
attr TV.Programm reading074Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading075Name Phoenix_image
attr TV.Programm reading075Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="Phoenix:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading076Name Phoenix_next
attr TV.Programm reading076Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading077Name Phoenix_next_time
attr TV.Programm reading077Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading078Name Phoenix_next_details
attr TV.Programm reading078Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading079Expr "http://www.klack.de".$val
attr TV.Programm reading079Name Phoenix_next_link
attr TV.Programm reading079Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading080Name Phoenix_next_image
attr TV.Programm reading080Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="Phoenix:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading081Name ZDF_info
attr TV.Programm reading081Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading082Name ZDF_info_time
attr TV.Programm reading082Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading083Name ZDF_info_details
attr TV.Programm reading083Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading084Expr "http://www.klack.de".$val
attr TV.Programm reading084Name ZDF_info_link
attr TV.Programm reading084Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading085Name ZDF_info_image
attr TV.Programm reading085Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF info:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading086Name ZDF_info_next
attr TV.Programm reading086Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading087Name ZDF_info_next_time
attr TV.Programm reading087Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading088Name ZDF_info_next_details
attr TV.Programm reading088Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading089Expr "http://www.klack.de".$val
attr TV.Programm reading089Name ZDF_info_next_link
attr TV.Programm reading089Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading090Name ZDF_info_next_image
attr TV.Programm reading090Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF info:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading091Name ZDF_neo
attr TV.Programm reading091Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading092Name ZDF_neo_time
attr TV.Programm reading092Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading093Name ZDF_neo_details
attr TV.Programm reading093Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading094Expr "http://www.klack.de".$val
attr TV.Programm reading094Name ZDF_neo_link
attr TV.Programm reading094Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading095Name ZDF_neo_image
attr TV.Programm reading095Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF neo:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading096Name ZDF_neo_next
attr TV.Programm reading096Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading097Name ZDF_neo_next_time
attr TV.Programm reading097Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading098Name ZDF_neo_next_details
attr TV.Programm reading098Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading099Expr "http://www.klack.de".$val
attr TV.Programm reading099Name ZDF_neo_next_link
attr TV.Programm reading099Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading100Name ZDF_neo_next_image
attr TV.Programm reading100Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF neo:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading101Name ARD_ALPHA
attr TV.Programm reading101Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading102Name ARD_ALPHA_time
attr TV.Programm reading102Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm reading103Name ARD_ALPHA_details
attr TV.Programm reading103Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading104Expr "http://www.klack.de".$val
attr TV.Programm reading104Name ARD_ALPHA_link
attr TV.Programm reading104Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading105Name ARD_ALPHA_image
attr TV.Programm reading105Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD ALPHA:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm reading106Name ARD_ALPHA_next
attr TV.Programm reading106Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm reading107Name ARD_ALPHA_next_time
attr TV.Programm reading107Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm reading108Name ARD_ALPHA_next_details
attr TV.Programm reading108Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm reading109Expr "http://www.klack.de".$val
attr TV.Programm reading109Name ARD_ALPHA_next_link
attr TV.Programm reading109Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm reading110Name ARD_ALPHA_next_image
attr TV.Programm reading110Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD ALPHA:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm room Medientechnik

# TV-Programm für 20:15 Uhr
define TV.Programm.2015 HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html
attr TV.Programm.2015 userattr disable get1Name get1URL icon reading021Name reading021Regex reading022Name reading022Regex reading023Name reading023Regex reading024Expr reading024Name reading024Regex reading025Name reading025Regex reading026Name reading026Regex reading027Name reading027Regex reading028Name reading028Regex reading029Expr reading029Name reading029Regex reading030Name reading030Regex reading031Name reading031Regex reading032Name reading032Regex reading033Name reading033Regex reading034Expr reading034Name reading034Regex reading035Name reading035Regex reading036Name reading036Regex reading037Name reading037Regex reading038Name reading038Regex reading039Expr reading039Name reading039Regex reading040Name reading040Regex reading041Name reading041Regex reading042Name reading042Regex reading043Name reading043Regex reading044Expr reading044Name reading044Regex reading045Name reading045Regex reading046Name reading046Regex reading047Name reading047Regex reading048Name reading048Regex reading049Expr reading049Name reading049Regex reading050Name reading050Regex reading051Name reading051Regex reading052Name reading052Regex reading053Name reading053Regex reading054Expr reading054Name reading054Regex reading055Name reading055Regex reading056Name reading056Regex reading057Name reading057Regex reading058Name reading058Regex reading059Expr reading059Name reading059Regex reading060Name reading060Regex reading061Name reading061Regex reading062Name reading062Regex reading063Name reading063Regex reading064Expr reading064Name reading064Regex reading065Name reading065Regex reading066Name reading066Regex reading067Name reading067Regex reading068Name reading068Regex reading069Expr reading069Name reading069Regex reading070Name reading070Regex reading071Name reading071Regex reading072Name reading072Regex reading073Name reading073Regex reading074Expr reading074Name reading074Regex reading075Name reading075Regex reading076Name reading076Regex reading077Name reading077Regex reading078Name reading078Regex reading079Expr reading079Name reading079Regex reading080Name reading080Regex reading081Name reading081Regex reading082Name reading082Regex reading083Name reading083Regex reading084Expr reading084Name reading084Regex reading085Name reading085Regex reading086Name reading086Regex reading087Name reading087Regex reading088Name reading088Regex reading089Expr reading089Name reading089Regex reading090Name reading090Regex reading091Name reading091Regex reading092Name reading092Regex reading093Name reading093Regex reading094Expr reading094Name reading094Regex reading095Name reading095Regex reading096Name reading096Regex reading097Name reading097Regex reading098Name reading098Regex reading099Expr reading099Name reading099Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Expr reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Expr reading109Name reading109Regex reading110Name reading110Regex
attr TV.Programm.2015 disable 1
attr TV.Programm.2015 get1Name TVProgramm
attr TV.Programm.2015 get1URL http://www.klack.de/fernsehprogramm/2015-im-tv/0/-1/free.html
attr TV.Programm.2015 icon it_television
attr TV.Programm.2015 reading021Name ARD
attr TV.Programm.2015 reading021Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading022Name ARD_time
attr TV.Programm.2015 reading022Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading023Name ARD_details
attr TV.Programm.2015 reading023Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading024Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading024Name ARD_link
attr TV.Programm.2015 reading024Regex <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading025Name ARD_image
attr TV.Programm.2015 reading025Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading026Name ARD_next
attr TV.Programm.2015 reading026Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading027Name ARD_next_time
attr TV.Programm.2015 reading027Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading028Name ARD_next_details
attr TV.Programm.2015 reading028Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading029Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading029Name ARD_next_link
attr TV.Programm.2015 reading029Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading030Name ARD_next_image
attr TV.Programm.2015 reading030Regex <span class="stationName">ARD<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading031Name ZDF
attr TV.Programm.2015 reading031Regex <span class="stationName">ZDF<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading032Name ZDF_time
attr TV.Programm.2015 reading032Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading033Name ZDF_details
attr TV.Programm.2015 reading033Regex <span class="stationName">ZDF<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading034Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading034Name ZDF_link
attr TV.Programm.2015 reading034Regex <span class="stationName">ZDF<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading035Name ZDF_image
attr TV.Programm.2015 reading035Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading036Name ZDF_next
attr TV.Programm.2015 reading036Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading037Name ZDF_next_time
attr TV.Programm.2015 reading037Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading038Name ZDF_next_details
attr TV.Programm.2015 reading038Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading039Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading039Name ZDF_next_link
attr TV.Programm.2015 reading039Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading040Name ZDF_next_image
attr TV.Programm.2015 reading040Regex <span class="stationName">ZDF<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading041Name RBB
attr TV.Programm.2015 reading041Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading042Name RBB_time
attr TV.Programm.2015 reading042Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading043Name RBB_details
attr TV.Programm.2015 reading043Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading044Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading044Name RBB_link
attr TV.Programm.2015 reading044Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading045Name RBB_image
attr TV.Programm.2015 reading045Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading046Name RBB_next
attr TV.Programm.2015 reading046Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading047Name RBB_next_time
attr TV.Programm.2015 reading047Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading048Name RBB_next_details
attr TV.Programm.2015 reading048Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading049Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading049Name RBB_next_link
attr TV.Programm.2015 reading049Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading050Name RBB_next_image
attr TV.Programm.2015 reading050Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading051Name RBB
attr TV.Programm.2015 reading051Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading052Name RBB_time
attr TV.Programm.2015 reading052Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading053Name RBB_details
attr TV.Programm.2015 reading053Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading054Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading054Name RBB_link
attr TV.Programm.2015 reading054Regex <span class="stationName">RBB<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading055Name RBB_image
attr TV.Programm.2015 reading055Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading056Name RBB_next
attr TV.Programm.2015 reading056Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading057Name RBB_next_time
attr TV.Programm.2015 reading057Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading058Name RBB_next_details
attr TV.Programm.2015 reading058Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading059Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading059Name RBB_next_link
attr TV.Programm.2015 reading059Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading060Name RBB_next_image
attr TV.Programm.2015 reading060Regex <span class="stationName">RBB<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="RBB:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading061Name ARTE
attr TV.Programm.2015 reading061Regex <span class="stationName">ARTE<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading062Name ARTE_time
attr TV.Programm.2015 reading062Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading063Name ARTE_details
attr TV.Programm.2015 reading063Regex <span class="stationName">ARTE<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading064Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading064Name ARTE_link
attr TV.Programm.2015 reading064Regex <span class="stationName">ARTE<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading065Name ARTE_image
attr TV.Programm.2015 reading065Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARTE:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading066Name ARTE_next
attr TV.Programm.2015 reading066Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading067Name ARTE_next_time
attr TV.Programm.2015 reading067Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading068Name ARTE_next_details
attr TV.Programm.2015 reading068Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading069Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading069Name ARTE_next_link
attr TV.Programm.2015 reading069Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading070Name ARTE_next_image
attr TV.Programm.2015 reading070Regex <span class="stationName">ARTE<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARTE:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading071Name Phoenix
attr TV.Programm.2015 reading071Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading072Name Phoenix_time
attr TV.Programm.2015 reading072Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading073Name Phoenix_details
attr TV.Programm.2015 reading073Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading074Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading074Name Phoenix_link
attr TV.Programm.2015 reading074Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading075Name Phoenix_image
attr TV.Programm.2015 reading075Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="Phoenix:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading076Name Phoenix_next
attr TV.Programm.2015 reading076Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading077Name Phoenix_next_time
attr TV.Programm.2015 reading077Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading078Name Phoenix_next_details
attr TV.Programm.2015 reading078Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading079Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading079Name Phoenix_next_link
attr TV.Programm.2015 reading079Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading080Name Phoenix_next_image
attr TV.Programm.2015 reading080Regex <span class="stationName">Phoenix<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="Phoenix:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading081Name ZDF_info
attr TV.Programm.2015 reading081Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading082Name ZDF_info_time
attr TV.Programm.2015 reading082Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading083Name ZDF_info_details
attr TV.Programm.2015 reading083Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading084Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading084Name ZDF_info_link
attr TV.Programm.2015 reading084Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading085Name ZDF_info_image
attr TV.Programm.2015 reading085Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF info:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading086Name ZDF_info_next
attr TV.Programm.2015 reading086Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading087Name ZDF_info_next_time
attr TV.Programm.2015 reading087Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading088Name ZDF_info_next_details
attr TV.Programm.2015 reading088Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading089Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading089Name ZDF_info_next_link
attr TV.Programm.2015 reading089Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading090Name ZDF_info_next_image
attr TV.Programm.2015 reading090Regex <span class="stationName">ZDF info<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF info:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading091Name ZDF_neo
attr TV.Programm.2015 reading091Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading092Name ZDF_neo_time
attr TV.Programm.2015 reading092Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading093Name ZDF_neo_details
attr TV.Programm.2015 reading093Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading094Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading094Name ZDF_neo_link
attr TV.Programm.2015 reading094Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading095Name ZDF_neo_image
attr TV.Programm.2015 reading095Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF neo:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading096Name ZDF_neo_next
attr TV.Programm.2015 reading096Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading097Name ZDF_neo_next_time
attr TV.Programm.2015 reading097Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading098Name ZDF_neo_next_details
attr TV.Programm.2015 reading098Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading099Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading099Name ZDF_neo_next_link
attr TV.Programm.2015 reading099Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading100Name ZDF_neo_next_image
attr TV.Programm.2015 reading100Regex <span class="stationName">ZDF neo<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ZDF neo:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading101Name ARD_ALPHA
attr TV.Programm.2015 reading101Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading102Name ARD_ALPHA_time
attr TV.Programm.2015 reading102Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV.Programm.2015 reading103Name ARD_ALPHA_details
attr TV.Programm.2015 reading103Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading104Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading104Name ARD_ALPHA_link
attr TV.Programm.2015 reading104Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading105Name ARD_ALPHA_image
attr TV.Programm.2015 reading105Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="image left">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD ALPHA:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 reading106Name ARD_ALPHA_next
attr TV.Programm.2015 reading106Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV.Programm.2015 reading107Name ARD_ALPHA_next_time
attr TV.Programm.2015 reading107Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV.Programm.2015 reading108Name ARD_ALPHA_next_details
attr TV.Programm.2015 reading108Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br/>\s*(.*?)(<img|<\/div)
attr TV.Programm.2015 reading109Expr "http://www.klack.de".$val
attr TV.Programm.2015 reading109Name ARD_ALPHA_next_link
attr TV.Programm.2015 reading109Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a\s*href="(.*?)"
attr TV.Programm.2015 reading110Name ARD_ALPHA_next_image
attr TV.Programm.2015 reading110Regex <span class="stationName">ARD ALPHA<\/span>[\w\W]*?<td class="image">\s*<a\s*href="\/[\w\d\/\.\-]*?"\s*title="ARD ALPHA:[^<]*?<img\s*class="epgImage" src="(.*?)"
attr TV.Programm.2015 room Medientechnik

und der zweite Teil des Codes folgt im nächsten Blog-Beitrag, da ich hier ein technisches Problem hatte.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: hartenthaler am 10 Mai 2015, 22:47:37
... komisch - mein obiger Blogbeitrag bricht irgendwie mittendrin ab und der zweite große Code-Block wird nicht dargestellt. Hier ein neuer Versuch:

define TV.WohnzimmerTV.Senderwechsel.nf notify TV.WohnzimmerTV.Senderwechsel.nf.* {switchChannel('%EVENT')}

define TV.WohnzimmerTV.RG.Symbol readingsGroup TV.WohnzimmerTV.RG.Symbol:!Symbol
attr TV.WohnzimmerTV.RG.Symbol commands { 'Symbol' => 'set TV.Programm.RG.Page1 visibility show' }
attr TV.WohnzimmerTV.RG.Symbol group TV
attr TV.WohnzimmerTV.RG.Symbol noheading 1
attr TV.WohnzimmerTV.RG.Symbol nonames 1
attr TV.WohnzimmerTV.RG.Symbol notime 1
attr TV.WohnzimmerTV.RG.Symbol style {readingsGroupFloorplanStyle()}
attr TV.WohnzimmerTV.RG.Symbol valueIcon { 'Symbol' => 'it_television' }
attr TV.WohnzimmerTV.RG.Symbol visibility hideable

# Dummy für die Informationen zu den Details einer Sendung
define TV.Programm.Details dummy

# Readings Group
define TV.Programm.Details.Popup.RG readingsGroup TV.Programm.Details:!closebutton,<> TV.Programm.Details:Channel TV.Programm.Details:!trenner TV.Programm.Details:Time,Title TV.Programm.Details:Image,Details TV.Programm.Details:!trenner TV.Programm.Details:TimeNext,TitleNext TV.Programm.Details:ImageNext,DetailsNext
attr TV.Programm.Details.Popup.RG cellStyle { "c:2" => 'style="width:500px;;"', "r:1" => 'style="text-align:left;;"' }
attr TV.Programm.Details.Popup.RG commands { 'closebutton' => 'set TV.Programm.Details.Popup.RG visibility hide' }
attr TV.Programm.Details.Popup.RG group TV
attr TV.Programm.Details.Popup.RG noheading 1
attr TV.Programm.Details.Popup.RG nonames 1
attr TV.Programm.Details.Popup.RG notime 1
attr TV.Programm.Details.Popup.RG room TV
attr TV.Programm.Details.Popup.RG valueColumns {  'Channel' => 'colspan="2"', 'trenner' => 'colspan="2"' }
attr TV.Programm.Details.Popup.RG valueIcon { '_2015_Page1' => 'rc_RIGHT@lightgray', '_Page2' => 'rc_DOWN@lightgray', 'closebutton' => 'control_x@lightgray', 'Channel.tvlogo_ARD' => 'tv/ard', 'Channel.tvlogo_ZDF' => 'tvlogo_ZDF', 'Channel.tvlogo_RTL' => 'tvlogo_RTL', 'Channel.tvlogo_SAT.1' => 'tvlogo_SAT.1', 'Channel.tvlogo_Pro7' => 'tvlogo_Pro7', 'Channel.tvlogo_RTL_II' => 'tvlogo_RTL_II', 'Channel.tvlogo_VOX' => 'tvlogo_VOX', 'Channel.tvlogo_Kabel_eins' => 'tvlogo_Kabel_eins', 'Channel.tvlogo_TELE_5' => 'tvlogo_TELE_5', 'Channel.tvlogo_ARTE' => 'tvlogo_ARTE', 'Channel.tvlogo_3sat' => 'tvlogo_3sat', 'Channel.tvlogo_Super_RTL' => 'tvlogo_Super_RTL', 'Channel.tvlogo_WDR' => 'tvlogo_WDR', 'Channel.tvlogo_NDR' => 'tvlogo_NDR', 'Channel.tvlogo_Bayern' => 'tvlogo_Bayern', 'Channel.tvlogo_SWR_BW' => 'tvlogo_SWR_BW', 'Channel.tvlogo_SWR_RP' => 'tvlogo_SWR_RP', 'Channel.tvlogo_HR' => 'tvlogo_HR', 'Channel.tvlogo_MDR' => 'tvlogo_MDR', 'Channel.tvlogo_RBB' => 'tvlogo_RBB', 'Channel.tvlogo_sixx' => 'tvlogo_sixx', 'Channel.tvlogo_Pro7_MAXX' => 'tvlogo_Pro7_MAXX', 'Channel.tvlogo_RTL_NITRO' => 'tvlogo_RTL_NITRO', 'Channel.tvlogo_SAT.1_Gold' => 'tvlogo_SAT.1_Gold', 'Channel.tvlogo_NICK' => 'tvlogo_NICK', 'Channel.tvlogo_Disney' => 'tvlogo_Disney', 'Channel.tvlogo_KiKa' => 'tvlogo_KiKa', 'Channel.tvlogo_DMAX' => 'tvlogo_DMAX', 'Channel.tvlogo_Eins_Plus' => 'tvlogo_Eins_Plus', 'Channel.tvlogo_Phoenix' => 'tvlogo_Phoenix', 'Channel.tvlogo_N24' => 'tvlogo_N24', 'Channel.tvlogo_N-TV' => 'tvlogo_N-TV' }
attr TV.Programm.Details.Popup.RG valuePrefix { 'Image' => '<img src="', 'ImageNext' => '<img src="' }
attr TV.Programm.Details.Popup.RG valueStyle { 'Channel' => 'style="font-size:25px;;"', 'Title' => 'style="font-size:20px;;"', 'TitleNext' => 'style="font-size:20px;;"', 'Time' => 'style="font-size:20px;;"', 'TimeNext' => 'style="font-size:20px;;"', 'trenner' => 'style="background-color:lightgray;;font-size:1px;;"' }
attr TV.Programm.Details.Popup.RG valueSuffix { 'Image' => '">', 'ImageNext' => '">' }
attr TV.Programm.Details.Popup.RG visibility hidden

# Readings Group
define TV.Programm.RG.Page1 readingsGroup !closebutton,<>,<>,_Page2,!_2015_Page1 <Programm>,<Nummer>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit> TV.Programm:!tv/ard,1,ARD_time,ARD,ARD_next,ARD_next_time TV.Programm:!tvlogo_ZDF,2,ZDF_time,ZDF,ZDF_next,ZDF_next_time TV.Programm:!tvlogo_RBB,3,RBB_time,RBB,RBB_next,RBB_next_time TV.Programm:!tvlogo_RBB,4,RBB_time,RBB,RBB_next,RBB_next_time TV.Programm:!tvlogo_ARTE,5,ARTE_time,ARTE,ARTE_next,ARTE_next_time TV.Programm:!tvlogo_Phoenix,6,Phoenix_time,Phoenix,Phoenix_next,Phoenix_next_time TV.Programm:!tvlogo_ZDF_info,7,ZDF_info_time,ZDF_info,ZDF_info_next,ZDF_info_next_time TV.Programm:!tvlogo_ZDF_neo,8,ZDF_neo_time,ZDF_neo,ZDF_neo_next,ZDF_neo_next_time TV.Programm:!tvlogo_ARD_ALPHA,9,ARD_ALPHA_time,ARD_ALPHA,ARD_ALPHA_next,ARD_ALPHA_next_time
attr TV.Programm.RG.Page1 group TV
attr TV.Programm.RG.Page1 room TV

define TV.Programm.2015.RG.Page1 readingsGroup !closebutton,<>,<>,_Page2,!_2015_Page1 <Programm>,<Nummer>,<Seit>,<Jetzt>,<Dann>,<Uhrzeit> TV.Programm:!tv/ard,1,ARD_time,ARD,ARD_next,ARD_next_time TV.Programm:!tv/zdf,2,ZDF_time,ZDF,ZDF_next,ZDF_next_time TV.Programm:!tv/rbb,3,RBB_time,RBB,RBB_next,RBB_next_time TV.Programm:!tvlogo_RBB,4,RBB_time,RBB,RBB_next,RBB_next_time TV.Programm:!tvlogo_ARTE,5,ARTE_time,ARTE,ARTE_next,ARTE_next_time TV.Programm:!tvlogo_Phoenix,6,Phoenix_time,Phoenix,Phoenix_next,Phoenix_next_time TV.Programm:!tvlogo_ZDF_info,7,ZDF_info_time,ZDF_info,ZDF_info_next,ZDF_info_next_time TV.Programm:!tvlogo_ZDF_neo,8,ZDF_neo_time,ZDF_neo,ZDF_neo_next,ZDF_neo_next_time TV.Programm:!tvlogo_ARD_ALPHA,9,ARD_ALPHA_time,ARD_ALPHA,ARD_ALPHA_next,ARD_ALPHA_next_time
attr TV.Programm.2015.RG.Page1 group TV
attr TV.Programm.2015.RG.Page1 room TV

# DOIF
define TV.Programm.DI.update DOIF ([[TV.Programm:ARD_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:ZDF_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:RBB_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:RBB_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:ARTE_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:Phoenix_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:ZDF_info_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:ZDF_neo_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm) DOELSEIF ([[TV.Programm:ARD_ALPHA_next_time]]) (deletereading TV.Programm .*_image;; get TV.Programm TVProgramm)

define TV.Programm.2015.DI.update DOIF ([06:00]) (deletereading TV.Programm.2015 .*_image;; get TV.Programm.2015 TVProgramm)
attr TV.Programm.2015.DI.update do always

define Fernsehprogramm FLOORPLAN
attr Fernsehprogramm fp_arrange 1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 10 Mai 2015, 23:42:59
ZitatAber die Darstellung ist bei mir noch nicht wirklich schön und der Mechanismus mit den Pop-Up-Fenstern funktioniert noch nicht und die Icons gehen bei mir gar nicht. Ich habe bisher FLOORPLAN nicht verwendet, kenne mich also noch nicht gut damit aus. Dort sieht es so wie hier beigelegt aus.

Das Attribute iconPath hast Du aber gesetzt ? , sonst geht nur default !

Bsp.
attr WEB iconPath fhemSVG:openautomation:default:icons_small

kvo1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 11 Mai 2015, 09:03:36
Da ich gerade keinen FHEM-Zugang habe, erstmal ein paar Hinweise und Ansatzpunkte:

- alle Readingsgroups müssen dem gleichen Floorplan hinzugefügt werden (ich glaube irgendwo gab's mal ein sehr schönes Einsteiger-PDF zum Floorplan)
- der Name der Logos steht in der ersten Spalte der ReadingsGroup (z.B. tvlogo_Phoenix) ist bei dir aber stellenweise falsch (z.B. !tv/ard)
- wenn du eine Bilddatei umbenennst oder neu erstellst, musst du diese erst neu einlesen:
set WEB rereadicons
- die rc_-Icons sind glaube ich svgs, die in einem der www/images-Ordner (fhem oder openautomation) liegen müssten
- die ReadingsGroup für die Details-Anzeige hast du auch angelegt? (die gehört ebenfalls in den Floorplan)
- wenn du es erstmal ohne Floorplan probieren willst, müssen alle ReadingsGroups (auch die des Symbols) im gleichen Raum und der gleichen Group sein
- die Sub in der myUtils hast du auch übernommen und an deine Namen angepasst?

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SL85 am 13 Mai 2015, 10:47:40
Hallo zusammen,

bin grad etwas am verzweifeln.  :'(
Ich versuche anhand dieser Seite das HTTPMOD aufzubauen:
http://tatort-fans.de/category/stadt-archiv/tatort-muenster/ (http://tatort-fans.de/category/stadt-archiv/tatort-muenster/)

Leider bekomme ich anhand des Beispieles nichts ausgelesen.
Wo liegt mein Fehler?

define TV_Tatort HTTPMOD http://tatort-fans.de/category/stadt-archiv/tatort-muenster/ 60
attr TV_Tatort userattr readingsName_ARD readingsName_BR readingsName_NDR readingsName_WDR readingsRegex_ARD readingsRegex_BR readingsRegex_NDR readingsRegex_WDR stateFormat timeout
attr TV_Tatort readingsName_ARD ARD
attr TV_Tatort readingsName_BR BR
attr TV_Tatort readingsName_NDR NDR
attr TV_Tatort readingsName_WDR WDR
attr TV_Tatort readingsRegex_ARD <span>ARD<[\w\W]*?alt="(.*?)" title=
attr TV_Tatort readingsRegex_BR <span>BR <span[\w\W]*?alt="(.*?)" title=
attr TV_Tatort readingsRegex_NDR <span>NDR <span[\w\W]*?alt="(.*?)" title=
attr TV_Tatort readingsRegex_WDR <span>WDR <span[\w\W]*?alt="(.*?)" title=
attr TV_Tatort stateFormat mein_TV_programm: WDR
attr TV_Tatort timeout 5

define TV_Tatort_next HTTPMOD http://tatort-fans.de/category/stadt-archiv/tatort-muenster/ 60
attr TV_Tatort_next userattr readingsName_ARD_next readingsName_ARD_next_time readingsName_BR_next readingsName_BR_next_time readingsName_NDR_next readingsName_NDR_next_time readingsName_WDR_next readingsName_WDR_next_time readingsRegex_ARD_next readingsRegex_ARD_next_time readingsRegex_BR_next readingsRegex_BR_next_time readingsRegex_NDR_next readingsRegex_NDR_next_time readingsRegex_WDR_next readingsRegex_WDR_next_time stateFormat timeout
attr TV_Tatort_next readingsName_ARD_next ARD_next
attr TV_Tatort_next readingsName_ARD_next_time ARD_next_time
attr TV_Tatort_next readingsName_BR_next BR_next
attr TV_Tatort_next readingsName_BR_next_time BR_next_time
attr TV_Tatort_next readingsName_NDR_next NDR_next
attr TV_Tatort_next readingsName_NDR_next_time NDR_next_time
attr TV_Tatort_next readingsName_WDR_next WDR_next
attr TV_Tatort_next readingsName_WDR_next_time WDR_next_time
attr TV_Tatort_next readingsRegex_ARD_next <span>ARD<[\w\W]*?location"(.*?)" title=
attr TV_Tatort_next readingsRegex_ARD_next_time <span>ARD<[\w\W]*?startDate"><strong>(.*?)<\/strong>
attr TV_Tatort_next readingsRegex_BR_next <span>BR <span[\w\W]*?location"(.*?)" title=
attr TV_Tatort_next readingsRegex_BR_next_time <span>BR <[\w\W]*?startDate"><strong>(.*?)<\/strong>
attr TV_Tatort_next readingsRegex_NDR_next <span>NDR <span[\w\W]*?location"(.*?)" title=
attr TV_Tatort_next readingsRegex_NDR_next_time <span>NDR <[\w\W]*?startDate"><strong>(.*?)<\/strong>
attr TV_Tatort_next readingsRegex_WDR_next <span>WDR <span[\w\W]*?location"(.*?)" title=
attr TV_Tatort_next readingsRegex_WDR_next_time <span>WDR <[\w\W]*?startDate"><strong>(.*?)<\/strong>
attr TV_Tatort_next stateFormat mein_TV_programm: WDR_next
attr TV_Tatort_next timeout 10

define TV_Tatorte readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Tatort_next:ARD@TV_Tatort,ARD_next,ARD_next_time TV_Tatort_next:BR@TV_Tatort,BR_next,BR_next_time TV_Tatort_next:NDR@TV_Tatort,NDR_next,NDR_next_time TV_Tatort_next:WDR@TV_Tatort,WDR_next,WDR_next_time
attr TV_Tatorte nameStyle style="color:yellow;;font-weight:bold"
attr TV_Tatorte room TV


Gruß Sebastian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 18 Mai 2015, 19:59:53
Zitat von: rasti am 04 April 2015, 22:30:53
Mit dem neuen Link von Tommy82 geht es wieder bei mir
Eine Zeile hab ich geändert:

VORHER:
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=150&time=now form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 120

JETZT:
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?time=now&tv-station=0&tv-stations-count=150&form_build_id=form-3ae6d8e2a7678fda1505a655453858ff&form_id=dikr_tvm_tv_guide_tv_content_filter_form

Seit heute 11 Uhr ist das FS-Programm eingefroren,
ich habe noch die "alte" TV-Movie-Konfigutation, kein klack...

Hat sich die tvmovie-Seite schon wieder geändert ???
Ist schon ärgerlich wenn das alle paar Tage klemmt...

Gruss

Ralf


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 18 Mai 2015, 20:01:49
Bei mir leider das gleiche.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 18 Mai 2015, 20:29:39
Hab das heute auch, ich warte mal bis morgen, wenn es dann nicht besser ist guck ich es mir nochmal an
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 19 Mai 2015, 13:15:37
Hallo RoBra81,

Hast du zufällig ein Beispiel wie du es bei dir implementiert hast? Ich bekomme mit deiner Excel Tabelle leider völlig falsche Darstellungen für 2015. Bei mir wird dort immer das aktuelle Programm angezeigt und das folgende. So wie in der ReadingsGroup für das aktuelle Programm auch.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 19 Mai 2015, 18:03:37
Hallo zusammen,

ich hab jetzt mal geschaut was sich da geändert hat.
habs jetzt auf die schnelle nicht hinbekommen. Ist leider wieder sehr viel anders als früher.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 21 Mai 2015, 20:41:38
Bekomms grad auch nicht hin, ist anscheint etwas mehr aufwand.....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 21 Mai 2015, 21:38:59
Die sinnvollste Variante ist denke ich auf Klack umzusteigen. Wenn man nur den link und die regex austauscht hält sich der aufwand in grenzen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 21 Mai 2015, 21:42:09
Da bin ich mir noch nicht sicher ob sich der Aufwand in grenzen hält :-) Deshalb traue ich mich grad noch nicht ans umstellen  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 22 Mai 2015, 08:15:30
ich habs gestern gemacht. ist wirklich nur das austauschen des links und der regex. der Rest kann gleich bleiben und die Readingsgroup usw. bleibt davon unberührt.

viele Grüße,
Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 22 Mai 2015, 17:16:00
Zitat von: Kuzl am 22 Mai 2015, 08:15:30
ich habs gestern gemacht. ist wirklich nur das austauschen des links und der regex. der Rest kann gleich bleiben und die Readingsgroup usw. bleibt davon unberührt.

viele Grüße,
Kuzl

Hallo,

vielleicht  könntest du mir und den anderen Codeschnorrern mit dem neuen Link und Beispielcode aushelfen ?

Gruss

Ralf
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 23 Mai 2015, 16:00:06
Wie muss der Link für "Dann" aussehen?

Undwie die regex einträge?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 Mai 2015, 19:58:28
Den link aus dem thread der zu der Exceltabelle gehört und die Regex aus der Tabelle

Gruß Kuzl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 23 Mai 2015, 20:30:13
Also als regex z.b. <span class="stationName">ARD<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>;??

Und die links?
http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
http://www.klack.de/fernsehprogramm/2015-im-tv/0/0/all.html


Wie ist der Link für danach?

Die Excel Tabelle verwirrt mich bis jetzt nur....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 25 Mai 2015, 00:00:32
den Link für danach brauchst du nicht mehr. die Daten sind doch im
http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
enthalten.

LG Tom_S
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 25 Mai 2015, 15:26:33
Ok, und wie müssen die regex aussehen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 25 Mai 2015, 15:30:47
Zitat von: Tommy82 am 25 Mai 2015, 15:26:33
Ok, und wie müssen die regex aussehen?

Steht doch alles in #498
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 25 Mai 2015, 16:43:08
habe auch erst ein wenig probiert, ist aber ganz einfach. Hier mal ein Beispiel für Pro7
attr TV_Programme readingsRegex_Pro7 <span class="stationName">Pro7</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Pro7_next <span class="stationName">Pro7</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Pro7_next_time <span class="stationName">Pro7</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_Pro7_time <span class="stationName">Pro7</span>[\w\W]*?<td class="time">\s*(.*?)\s*<

und 20:15

attr TV_Programme_abend readingsRegex_Phoenix_abend <span class="stationName">Phoenix<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>


die regex sind für alle Sender gleich. Nur den Namen hinter class="stationName">  ändern.

Gruß
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 26 Mai 2015, 19:04:24
Hi,
ich hab jetzt mal noch etwas hin und her probiert allerdings funktionieren Kabel 1, Sat 1 und Sport 1 nicht, allerdings find ich bei denen 3 den Fehler nicht, das TV-Programm sieht jetzt so aus:
Readings:
     2015-05-26 18:45:05   13THSTREET      Navy CIS
     2015-03-26 21:44:04   13THSTREET_abend Criminal Minds
     2015-05-26 18:45:05   ARD             Gefragt - Gejagt
     2015-05-18 11:04:57   KABEL_1         Castle
     2015-05-26 18:45:05   Pro7            Die Simpsons
     2015-05-26 18:45:05   RTL             RTL aktuell
     2015-05-26 18:45:05   SAT.1           In Gefahr - Ein verhängnisvoller Moment
     2015-05-18 11:04:57   Sat1            Richterin Barbara Salesch
     2015-05-18 11:04:57   Sport1          Sport-Quiz
     2015-05-26 18:45:05   VOX             mieten, kaufen, wohnen
     2015-05-26 18:45:05   ZDF             SOKO Köln
     2015-05-26 18:45:05   rtl2            Köln 50667
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
Attributes:
   readingsName_13THSTREET 13THSTREET
   readingsName_ARD ARD
   readingsName_KABEL_1 KABEL_1
   readingsName_Pro7 Pro7
   readingsName_RTL RTL
   readingsName_SAT.1 SAT.1
   readingsName_Sport1 Sport1
   readingsName_VOX VOX
   readingsName_ZDF ZDF
   readingsName_rtl2 rtl2
   readingsRegex_13THSTREET <span class="stationName">13th Street</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_13THSTREET_next <span class="stationName">13th Street</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_13THSTREET_next_time <span class="stationName">13th Street</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_13THSTREET_time <span class="stationName">13th Street</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_ARD <span class="stationName">ARD</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_ARD_next <span class="stationName">ARD</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_ARD_next_time <span class="stationName">ARD</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_ARD_time <span class="stationName">ARD</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_KABEL1 <span class="stationName">Kabel eins</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_KABEL1_next <span class="stationName">Kabel eins</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_KABEL1_next_time <span class="stationName">Kabel eins</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_KABEL1_time <span class="stationName">Kabel eins</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_Pro7 <span class="stationName">Pro7</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Pro7_next <span class="stationName">Pro7</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Pro7_next_time <span class="stationName">Pro7</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_Pro7_time <span class="stationName">Pro7</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_RTL <span class="stationName">RTL</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_RTL_next <span class="stationName">RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_RTL_next_time <span class="stationName">RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_RTL_time <span class="stationName">RTL</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_SAT.1 <span class="stationName">SAT.1</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_SAT.1_next <span class="stationName">SAT.1</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_SAT.1_next_time <span class="stationName">SAT.1</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_SAT.1_time <span class="stationName">SAT.1</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_Sport1 <span class="stationName">Sport1</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Sport1_next <span class="stationName">Sport1</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Sport1_next_time <span class="stationName">Sport1</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_Sport1_time <span class="stationName">Sport1</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_VOX <span class="stationName">VOX</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_VOX_next <span class="stationName">VOX</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_VOX_next_time <span class="stationName">VOX</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_VOX_time <span class="stationName">VOX</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_ZDF <span class="stationName">ZDF</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_ZDF_next <span class="stationName">ZDF</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_ZDF_next_time <span class="stationName">ZDF</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_ZDF_time <span class="stationName">ZDF</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   readingsRegex_rtl2 <span class="stationName">RTL II</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_rtl2_next <span class="stationName">RTL II</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_rtl2_next_time <span class="stationName">RTL II</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readingsRegex_rtl2_time <span class="stationName">RTL II</span>[\w\W]*?<td class="time">\s*(.*?)\s*<
   stateFormat mein_TV_programm: Pro7
   timeout    300
   userattr   Street Street_next Street_next_time Street_time readingsName_13THSTREET readingsName_ARD readingsName_KABEL_1 readingsName_Pro7 readingsName_RTL readingsName_SAT.1 readingsName_Sat1 readingsName_Sport1 readingsName_VOX readingsName_ZDF readingsName_rtl2 readingsRegex_13th readingsRegex_ARD readingsRegex_ARD_next readingsRegex_ARD_next_time readingsRegex_ARD_time readingsRegex_KABEL readingsRegex_KABEL1 readingsRegex_KABEL1_next readingsRegex_KABEL1_next_time readingsRegex_KABEL1_time readingsRegex_KABEL_1 readingsRegex_Pro7 readingsRegex_Pro7_next readingsRegex_Pro7_next_time readingsRegex_Pro7_time readingsRegex_RTL readingsRegex_RTL_next readingsRegex_RTL_next_time readingsRegex_RTL_time readingsRegex_SAT.1 readingsRegex_SAT.1_next readingsRegex_SAT.1_next_time readingsRegex_SAT.1_time readingsRegex_Sat1 readingsRegex_Sport1 readingsRegex_Sport1_next readingsRegex_Sport1_next_time readingsRegex_Sport1_time readingsRegex_VOX readingsRegex_VOX_next readingsRegex_VOX_next_time readingsRegex_VOX_time readingsRegex_ZDF readingsRegex_ZDF_next readingsRegex_ZDF_next_time readingsRegex_ZDF_time readingsRegex_rtl2 readingsRegex_rtl2_next readingsRegex_rtl2_next_time readingsRegex_rtl2_time stateFormat timeout verbose
   verbose    2


Wo das reading 13THSTREET_abend herkommt ist mir allerdings auch noch nicht so ganz klar....

Beim TV_Programm_abend werden seltsamerweisse noch mehr readngs nicht richtig aktualisiert

Content-Type: text/html; charset=utf-8
   ignoreredirects 0
   loglevel   4
   path       /fernsehprogramm/2015-im-tv/0/0/all.html
   protocol   http
   redirects  0
   timeout    300
   url        http://www.klack.de/fernsehprogramm/2015-im-tv/0/0/all.html
   CHANGETIME:
   Helper:
     Dblog:
       Ard_abend:
         Mydblog:
           TIME       1432659554.31587
           VALUE      Vorstadtweiber
   QUEUE:
   Readings:
     2015-05-26 18:59:14   ARD_abend       Vorstadtweiber
     2015-05-18 11:05:00   Kabel1_abend    xXx - The Next Level
     2015-05-18 11:05:00   Pro7_abend      Die Simpsons
     2015-05-18 11:05:00   RTL2_abend      Traumfrau gesucht
     2015-05-18 11:05:00   RTL_abend       Herbstblond - Gottschalks große Geburtstagsparty
     2015-05-18 11:05:00   Sat1_abend      Detective Laura Diamond
     2015-05-17 23:59:53   Sport1_abend    Eishockey
     2015-05-18 11:05:00   VOX_abend       Arrow
     2015-05-18 11:05:00   ZDF_abend       Mordshunger - Verbrechen und andere Delikatessen
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://www.klack.de/fernsehprogramm/2015-im-tv/0/0/all.html
Attributes:
   readingsName_13THSTREET_abend 13THSTREET_abend
   readingsName_ARD_abend ARD_abend
   readingsName_Kabel1_abend Kabel1_abend
   readingsName_Pro7_abend Pro7_abend
   readingsName_RTL2_abend RTL2_abend
   readingsName_RTL_abend RTL_abend
   readingsName_Sat1_abend Sat1_abend
   readingsName_Sport1_abend Sport1_abend
   readingsName_VOX_abend VOX_abend
   readingsName_ZDF_abend ZDF_abend
   readingsRegex_13THSTREET_abend <span class="stationName">13TH STREET</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_ARD_abend <span class="stationName">ARD</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Kabel1_abend <span class="stationName">Kabel eins</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Pro7_abend <span class="stationName">Pro7</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_RTL2_abend <span class="stationName">RTL II</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_RTL_abend <span class="stationName">RTL</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Sat1_abend <span class="stationName">SAT.1</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_Sport1_abend <span class="stationName">Sport1</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_VOX_abend <span class="stationName">VOX</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readingsRegex_ZDF_abend <span class="stationName">ZDF</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   stateFormat Pro7_abend
   timeout    300
   userattr   readingsName_13THSTREET_abend readingsName_ARD_abend readingsName_Kabel1_abend readingsName_Pro7_abend readingsName_RTL2_abend readingsName_RTL_abend readingsName_Sat1_abend readingsName_Sport1_abend readingsName_VOX_abend readingsName_ZDF_abend readingsRegex_13THSTREET_abend readingsRegex_ARD_abend readingsRegex_Kabel1_abend readingsRegex_Pro7_abend readingsRegex_RTL2_abend readingsRegex_RTL_abend readingsRegex_Sat1_abend readingsRegex_Sport1_abend readingsRegex_VOX_abend readingsRegex_ZDF_abend stateFormat timeout


Was hab ich noch übersehen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 26 Mai 2015, 19:13:11
Sat.1 geht doch ! Du solltest auf die richtige Schreibweise achten
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 26 Mai 2015, 20:45:34
Hast recht, hatte übersehen das es zwei readings gibt, Sat1 geht nicht, wobei ich auch nicht weiss woher das reading, genau wie das 13THSTREET_abend kommt, da ich es eigentlich nicht bzw. nicht mehr definiert habe. Genauso gibts auch noch ein altes reading Kabel1 was eigentlich nicht mehr da sein sollte

Weiterhin wird die readingsGroup jetzt nicht richtig dargestellt, die Icons werden nicht dargestellt wenn ich im 
nameIcon { "13THSTREET" => '13thstreet', Pro7 => 'pro7', SAT.1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL1 => 'kabel1',VOX => 'vox' }
SAT.1 angebe, denke das es am Punkt liegt? Aber wie kann ich das ändern? Wenn ich Sat.1 entferne weden alle Icons bis auf Sat.1 richtig angezeigt

In der readingsGroup bekomme ich aber auch keine "Dann" Werte für 13THSTREET angezeigt, sowie für kein Programm die Uhrzeit der "Dann" sendungen und auch die "Abend" Sendungen werden nicht angezeigt

Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme:SAT.1@TV_Programme,SAT.1_next,Sat1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
TV_Programme:Sport1@TV_Programme,Sport1_next,Sport1_next_time,Sport1_abend@TV_Programme_abend
TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
   NAME       TV_Programm
   NR         165
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CHANGETIME:
   Content:
     TV_Programme 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
   DEVICES:
     ARRAY(0x2c11990)
     ARRAY(0x3123838)
     ARRAY(0x31410f8)
     ARRAY(0x301b418)
     ARRAY(0x1e8ca00)
     ARRAY(0x314af20)
     ARRAY(0x30c2958)
     ARRAY(0x313d0c8)
     ARRAY(0x2c11e58)
     ARRAY(0x3123370)
     ARRAY(0x1b8b720)
   DEVICES2:
     ARRAY(0x2c11990)
     ARRAY(0x3123838)
     ARRAY(0x31410f8)
     ARRAY(0x301b418)
     ARRAY(0x1e8ca00)
     ARRAY(0x314af20)
     ARRAY(0x30c2958)
     ARRAY(0x313d0c8)
     ARRAY(0x2c11e58)
     ARRAY(0x3123370)
     ARRAY(0x1b8b720)
     ARRAY(0x30c1388)
     ARRAY(0x3123520)
     ARRAY(0x3141608)
     ARRAY(0x314a950)
     ARRAY(0x2b741a8)
     ARRAY(0x30c3860)
     ARRAY(0x302a0c0)
     ARRAY(0x2b17028)
     ARRAY(0x3141110)
     ARRAY(0x30c0c20)
     ARRAY(0x31463c8)
     ARRAY(0x314b070)
     ARRAY(0x30c13b8)
     ARRAY(0x30c29a0)
     ARRAY(0x3138138)
     ARRAY(0x30bf7c0)
     ARRAY(0x314f3f8)
     ARRAY(0x1d2f430)
     ARRAY(0x28ce280)
     ARRAY(0x312da30)
   Helper:
     Dblog:
       Tv_programme.13thstreet:
         Mydblog:
           TIME       1432666192.66029
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel 13THSTREET')">Criminal Minds</a>
       Tv_programme.ard:
         Mydblog:
           TIME       1432666192.68294
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ARD')">Vorstadtweiber</a>
       Tv_programme.kabel1:
         Mydblog:
           TIME       1432666192.70507
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel KABEL1')">Abenteuer Grillen</a>
       Tv_programme.pro7:
         Mydblog:
           TIME       1432666192.72395
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Pro7')">Two and a Half Men</a>
       Tv_programme.rtl:
         Mydblog:
           TIME       1432666192.74431
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL')">CSI
       Tv_programme.sat.1:
         Mydblog:
           TIME       1432666192.76322
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel SAT.1')">Super-Dad</a>
       Tv_programme.sport1:
         Mydblog:
           TIME       1432666192.78346
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Sport1')">Handball: 1. Bundesliga - 31. Spieltag: Rhein-Neckar Löwen - Füchse Berlin</a>
       Tv_programme.vox:
         Mydblog:
           TIME       1432666192.80419
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel VOX')">Sing meinen Song - Das Tauschkonzert - Andreas Bourani</a>
       Tv_programme.zdf:
         Mydblog:
           TIME       1432666192.82356
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ZDF')">Rach und die Restaurantgründer</a>
       Tv_programme.rtl2:
         Mydblog:
           TIME       1432666192.84395
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel rtl2')">Extrem schwer - Mein Weg in ein neues Leben</a>
       Tv_programme_abend.ard_abend:
         Mydblog:
           TIME       1432666193.02156
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ARD_abend')">Vorstadtweiber</a>
       Tv_programme_abend.kabel1_abend:
         Mydblog:
           TIME       1432666193.03803
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Kabel1_abend')">Abenteuer Grillen</a>
       Tv_programme_abend.pro7_abend:
         Mydblog:
           TIME       1432666193.05361
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Pro7_abend')">Two and a Half Men</a>
       Tv_programme_abend.rtl2_abend:
         Mydblog:
           TIME       1432666193.07037
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL2_abend')">Extrem schwer - Mein Weg in ein neues Leben</a>
       Tv_programme_abend.rtl_abend:
         Mydblog:
           TIME       1432666193.08624
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel RTL_abend')">CSI
       Tv_programme_abend.sat1_abend:
         Mydblog:
           TIME       1432666193.10241
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Sat1_abend')">Super-Dad</a>
       Tv_programme_abend.sport1_abend:
         Mydblog:
           TIME       1432666193.11926
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel Sport1_abend')">Handball: 1. Bundesliga - 31. Spieltag: Rhein-Neckar Löwen - Füchse Berlin</a>
       Tv_programme_abend.vox_abend:
         Mydblog:
           TIME       1432666193.13619
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel VOX_abend')">Sing meinen Song - Das Tauschkonzert - Andreas Bourani</a>
       Tv_programme_abend.zdf_abend:
         Mydblog:
           TIME       1432666193.15193
           VALUE      <a style="cursor:pointer" onClick="FW_cmd('/fhem?XHR=1&cmd=set Senderwechsel ZDF_abend')">Rach und die Restaurantgründer</a>
   Fhem:
     lastDefChange 13
     last_update 1432666270.93187
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameIcon   { "13THSTREET" => '13thstreet', Pro7 => 'pro7', SAT.1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL1 => 'kabel1',VOX => 'vox' }
     nameStyle  style="color:yellow;font-weight:bold"
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { "13THSTREET" => '13thstreet', Pro7 => 'pro7', SAT.1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="width:1000px;color:white;font-size:18px"

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 26 Mai 2015, 21:37:04
1. müssen die SenderNamen in der ReadingsGroup und beim Herunterladen von Klacks gleich sein.

2. sehe ich nur das Du nur den Sendungsnamen von Klack holst sehe nichts von nächster Sendung und die Uhrzeiten.

was ist an der Textdatei aus #498 nicht zu verstehen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ger-Gilias am 27 Mai 2015, 20:33:50
Hallo, ich habe laut RoBra81Anleitung (http://forum.fhem.de/index.php/topic,28123.msg288080.html#msg288080) gearbeitet ab Punkt 2 wo man die "DOIFs" anlegen muss und die ersten 6 Zeilen einfüge und auf Enter drücken kommt diese Fehlermeldung

TV.Programm.DI.update DOIF: reading does not exist: TV.Programm:DMAX_next_time: [TV.Programm:DMAX_next_time]

Die vorhegehenden Punkte wurde ohne Probleme angelegt...
Titel: Aktuelles TV-Programm in FHEM // anderer Ansatz
Beitrag von: rasti am 28 Mai 2015, 19:35:23
Ich habe nun das Klack-Programm ganz einfach mal als iframe weblink eingebunden.

#################################################################
define TVPROG weblink iframe https://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
attr TVPROG room TV-Programm
attr TVPROG alias TV-Programm
attr TVPROG htmlattr width="750" height="600" frameborder="0" marginheight="0"
####################################################################

Wenn man FHEM unter http aufruft muss/soll auch der iframe als http aufgerufen weren
Die Frame Width entspricht volle Fensterbreite bei Fullscreen bei meinem 10 Zoll Tablet.

Man kann sich einen Account bei Klack anlegen, die Sender zusammenklicken und in die Reihenfolge schieben wie man braucht.
Eigentlich wunderbar nur optisch halt nicht so schon wie die bisherige Lösung.
Und wenn sich die Seite ändert, muss ich maximal einen Link aktualisieren.

Optisch hübscher wäre das noch, wenn man einfach nur die Background-Colors im html code
einfach an die FHEM Konfiguration anpassen könnte. Vielleicht geht das ja mit einer kleinen
Search&replace-routine in Perl.....

Gruss

Ralf
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Franz Tenbrock am 28 Mai 2015, 22:44:22
mir reicht das , super
ich brauch da nicht mal meine eigene Zusammenstellung
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: OK_DE am 31 Mai 2015, 03:28:57
Hier der Code nach erfolgter Umstellung auf klacktv:

#---------Start:Fernsehprogram---------
#Get Current TV Show
define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr readingsName_ARD readingsName_BR readingsName_DMAX readingsName_DREISAT readingsName_HR readingsName_KABEL1 readingsName_MDR readingsName_NDR readingsName_PRO7 readingsName_RBB readingsName_RTL1 readingsName_RTL2 readingsName_RTLNITRO readingsName_SAT1 readingsName_SAT1GOLD readingsName_SIEBENMAX readingsName_SIXX readingsName_SUPERRTL readingsName_SWR readingsName_TELE5 readingsName_VOX readingsName_WDR readingsName_ZDF1 readingsName_ZDFNEO readingsRegex_ARD readingsRegex_BR readingsRegex_DMAX readingsRegex_DREISAT readingsRegex_HR readingsRegex_KABEL1 readingsRegex_MDR readingsRegex_NDR readingsRegex_PRO7 readingsRegex_RBB readingsRegex_RTL1 readingsRegex_RTL2 readingsRegex_RTLNITRO readingsRegex_SAT1 readingsRegex_SAT1GOLD readingsRegex_SIEBENMAX readingsRegex_SIXX readingsRegex_SUPERRTL readingsRegex_SWR readingsRegex_TELE5 readingsRegex_VOX readingsRegex_WDR readingsRegex_ZDF1 readingsRegex_ZDFNEO readingsName_ARD_Next readingsName_ARD_Nexttime readingsName_BR_Next readingsName_BR_Nexttime readingsName_DMAX_Next readingsName_DMAX_Nexttime readingsName_DREISAT_Next readingsName_DREISAT_Nexttime readingsName_HR_Next readingsName_HR_Nexttime readingsName_KABEL1_Next readingsName_KABEL1_Nexttime readingsName_MDR_Next readingsName_MDR_Nexttime readingsName_NDR_Next readingsName_NDR_Nexttime readingsName_PRO7_Next readingsName_PRO7_Nexttime readingsName_RBB_Next readingsName_RBB_Nexttime readingsName_RTL1_Next readingsName_RTL1_Nexttime readingsName_RTL2_Next readingsName_RTL2_Nexttime readingsName_RTLNITRO_Next readingsName_RTLNITRO_Nexttime readingsName_SAT1GOLD_Next readingsName_SAT1GOLD_Nexttime readingsName_SAT1_Next readingsName_SAT1_Nexttime readingsName_SIEBENMAX_Next readingsName_SIEBENMAX_Nexttime readingsName_SIXX_Next readingsName_SIXX_Nexttime readingsName_SUPERRTL_Next readingsName_SUPERRTL_Nexttime readingsName_SWR_Next readingsName_SWR_Nexttime readingsName_TELE5_Next readingsName_TELE5_Nexttime readingsName_VOX_Next readingsName_VOX_Nexttime readingsName_WDR_Next readingsName_WDR_Nexttime readingsName_ZDF1_Next readingsName_ZDF1_Nexttime readingsName_ZDFNEO_Next readingsName_ZDFNEO_Nexttime readingsRegex_ARD_Next readingsRegex_ARD_Nexttime readingsRegex_BR_Next readingsRegex_BR_Nexttime readingsRegex_DMAX_Next readingsRegex_DMAX_Nexttime readingsRegex_DREISAT_Next readingsRegex_DREISAT_Nexttime readingsRegex_HR_Next readingsRegex_HR_Nexttime readingsRegex_KABEL1_Next readingsRegex_KABEL1_Nexttime readingsRegex_MDR_Next readingsRegex_MDR_Nexttime readingsRegex_NDR_Next readingsRegex_NDR_Nexttime readingsRegex_PRO7_Next readingsRegex_PRO7_Nexttime readingsRegex_RBB_Next readingsRegex_RBB_Nexttime readingsRegex_RTL1_Next readingsRegex_RTL1_Nexttime readingsRegex_RTL2_Next readingsRegex_RTL2_Nexttime readingsRegex_RTLNITRO_Next readingsRegex_RTLNITRO_Nexttime readingsRegex_SAT1GOLD_Next readingsRegex_SAT1GOLD_Nexttime readingsRegex_SAT1_Next readingsRegex_SAT1_Nexttime readingsRegex_SIEBENMAX_Next readingsRegex_SIEBENMAX_Nexttime readingsRegex_SIXX_Next readingsRegex_SIXX_Nexttime readingsRegex_SUPERRTL_Next readingsRegex_SUPERRTL_Nexttime readingsRegex_SWR_Next readingsRegex_SWR_Nexttime readingsRegex_TELE5_Next readingsRegex_TELE5_Nexttime readingsRegex_VOX_Next readingsRegex_VOX_Nexttime readingsRegex_WDR_Next readingsRegex_WDR_Nexttime readingsRegex_ZDF1_Next readingsRegex_ZDF1_Nexttime readingsRegex_ZDFNEO_Next readingsRegex_ZDFNEO_Nexttime stateFormat timeout verbose
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_Next ARD_Next
attr TV_Programme readingsName_ARD_Nexttime ARD_Nexttime
attr TV_Programme readingsName_BR BR
attr TV_Programme readingsName_BR_Next BR_Next
attr TV_Programme readingsName_BR_Nexttime BR_Nexttime
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_Next DMAX_Next
attr TV_Programme readingsName_DMAX_Nexttime DMAX_Nexttime
attr TV_Programme readingsName_DREISAT DREISAT
attr TV_Programme readingsName_DREISAT_Next DREISAT_Next
attr TV_Programme readingsName_DREISAT_Nexttime DREISAT_Nexttime
attr TV_Programme readingsName_HR HR
attr TV_Programme readingsName_HR_Next HR_Next
attr TV_Programme readingsName_HR_Nexttime HR_Nexttime
attr TV_Programme readingsName_KABEL1 KABEL1
attr TV_Programme readingsName_KABEL1_Next KABEL1_Next
attr TV_Programme readingsName_KABEL1_Nexttime KABEL1_Nexttime
attr TV_Programme readingsName_MDR MDR
attr TV_Programme readingsName_MDR_Next MDR_Next
attr TV_Programme readingsName_MDR_Nexttime MDR_Nexttime
attr TV_Programme readingsName_NDR NDR
attr TV_Programme readingsName_NDR_Next NDR_Next
attr TV_Programme readingsName_NDR_Nexttime NDR_Nexttime
attr TV_Programme readingsName_PRO7 PRO7
attr TV_Programme readingsName_PRO7_Next PRO7_Next
attr TV_Programme readingsName_PRO7_Nexttime PRO7_Nexttime
attr TV_Programme readingsName_RBB RBB
attr TV_Programme readingsName_RBB_Next RBB_Next
attr TV_Programme readingsName_RBB_Nexttime RBB_Nexttime
attr TV_Programme readingsName_RTL1 RTL1
attr TV_Programme readingsName_RTL1_Next RTL1_Next
attr TV_Programme readingsName_RTL1_Nexttime RTL1_Nexttime
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_Next RTL2_Next
attr TV_Programme readingsName_RTL2_Nexttime RTL2_Nexttime
attr TV_Programme readingsName_RTLNITRO RTLNITRO
attr TV_Programme readingsName_RTLNITRO_Next RTLNITRO_Next
attr TV_Programme readingsName_RTLNITRO_Nexttime RTLNITRO_Nexttime
attr TV_Programme readingsName_SAT1 SAT1
attr TV_Programme readingsName_SAT1_Next SAT1_Next
attr TV_Programme readingsName_SAT1_Nexttime SAT1_Nexttime
attr TV_Programme readingsName_SAT1GOLD SAT1GOLD
attr TV_Programme readingsName_SAT1GOLD_Next SAT1GOLD_Next
attr TV_Programme readingsName_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
attr TV_Programme readingsName_SIEBENMAX SIEBENMAX
attr TV_Programme readingsName_SIEBENMAX_Next SIEBENMAX_Next
attr TV_Programme readingsName_SIEBENMAX_Nexttime SIEBENMAX_Nexttime
attr TV_Programme readingsName_SIXX SIXX
attr TV_Programme readingsName_SIXX_Next SIXX_Next
attr TV_Programme readingsName_SIXX_Nexttime SIXX_Nexttime
attr TV_Programme readingsName_SUPERRTL SUPERRTL
attr TV_Programme readingsName_SUPERRTL_Next SUPERRTL_Next
attr TV_Programme readingsName_SUPERRTL_Nexttime SUPERRTL_Nexttime
attr TV_Programme readingsName_SWR SWR
attr TV_Programme readingsName_SWR_Next SWR_Next
attr TV_Programme readingsName_SWR_Nexttime SWR_Nexttime
attr TV_Programme readingsName_TELE5 TELE5
attr TV_Programme readingsName_TELE5_Next TELE5_Next
attr TV_Programme readingsName_TELE5_Nexttime TELE5_Nexttime
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_Next VOX_Next
attr TV_Programme readingsName_VOX_Nexttime VOX_Nexttime
attr TV_Programme readingsName_WDR WDR
attr TV_Programme readingsName_WDR_Next WDR_Next
attr TV_Programme readingsName_WDR_Nexttime WDR_Nexttime
attr TV_Programme readingsName_ZDF1 ZDF1
attr TV_Programme readingsName_ZDF1_Next ZDF1_Next
attr TV_Programme readingsName_ZDF1_Nexttime ZDF1_Nexttime
attr TV_Programme readingsName_ZDFNEO ZDFNEO
attr TV_Programme readingsName_ZDFNEO_Next ZDFNEO_Next
attr TV_Programme readingsName_ZDFNEO_Nexttime ZDFNEO_Nexttime



attr TV_Programme readingsRegex_ARD <span class="stationName">ARD</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Next <span class="stationName">ARD</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Nexttime <span class="stationName">ARD</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_BR <span class="stationName">Bayern</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Next <span class="stationName">Bayern</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Nexttime <span class="stationName">Bayern</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DMAX <span class="stationName">DMAX</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Next <span class="stationName">DMAX</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Nexttime <span class="stationName">DMAX</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DREISAT <span class="stationName">3sat</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Next <span class="stationName">3sat</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Nexttime <span class="stationName">3sat</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_HR <span class="stationName">HR</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Next <span class="stationName">HR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Nexttime <span class="stationName">HR</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_KABEL1 <span class="stationName">Kabel eins</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_KABEL1_Next <span class="stationName">Kabel eins</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_KABEL1_Nexttime <span class="stationName">Kabel eins</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_MDR <span class="stationName">MDR</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDR_Next <span class="stationName">MDR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDR_Nexttime <span class="stationName">MDR</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_NDR <span class="stationName">NDR</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Next <span class="stationName">NDR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Nexttime <span class="stationName">NDR</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_PRO7 <span class="stationName">Pro7</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_PRO7_Next <span class="stationName">Pro7</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_PRO7_Nexttime <span class="stationName">Pro7</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RBB <span class="stationName">RBB</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Next <span class="stationName">RBB</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Nexttime <span class="stationName">RBB</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL1 <span class="stationName">RTL</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL1_Next <span class="stationName">RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL1_Nexttime <span class="stationName">RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL2 <span class="stationName">RTL II</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Next <span class="stationName">RTL II</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Nexttime <span class="stationName">RTL II</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTLNITRO <span class="stationName">RTL NITRO</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Next <span class="stationName">RTL NITRO</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Nexttime <span class="stationName">RTL NITRO</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SAT1 <span class="stationName">SAT.1</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1_Next <span class="stationName">SAT.1</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1_Nexttime <span class="stationName">SAT.1</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SAT1GOLD <span class="stationName">SAT.1 Gold</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Next <span class="stationName">SAT.1 Gold</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Nexttime <span class="stationName">SAT.1 Gold</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SIEBENMAX <span class="stationName">ProSieben MAXX</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIEBENMAX_Next <span class="stationName">ProSieben MAXX</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIEBENMAX_Nexttime <span class="stationName">ProSieben MAXX</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SIXX <span class="stationName">sixx</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Next <span class="stationName">sixx</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Nexttime <span class="stationName">sixx</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SUPERRTL <span class="stationName">Super RTL</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Next <span class="stationName">Super RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Nexttime <span class="stationName">Super RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SWR <span class="stationName">SWR RP</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Next <span class="stationName">SWR RP</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Nexttime <span class="stationName">SWR RP</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_TELE5 <span class="stationName">TELE 5</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Next <span class="stationName">TELE 5</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Nexttime <span class="stationName">TELE 5</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_VOX <span class="stationName">VOX</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Next <span class="stationName">VOX</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Nexttime <span class="stationName">VOX</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_WDR <span class="stationName">WDR</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Next <span class="stationName">WDR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Nexttime <span class="stationName">WDR</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDF1 <span class="stationName">ZDF</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDF1_Next <span class="stationName">ZDF</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDF1_Nexttime <span class="stationName">ZDF</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDFNEO <span class="stationName">ZDF neo</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Next <span class="stationName">ZDF neo</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Nexttime <span class="stationName">ZDF neo</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1


#Ceate Web UI
define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Start Zeit>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF1,ZDF1_Nexttime,ZDF1_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:KABEL1,KABEL1_Nexttime,KABEL1_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:RTL1,RTL1_Nexttime,RTL1_Next \
TV_Programme:SAT1,SAT1_Nexttime,SAT1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:PRO7,PRO7_Nexttime,PRO7_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIEBENMAX,SIEBENMAX_Nexttime,SIEBENMAX_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:TELE5,TELE5_Nexttime,TELE5_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:BR,BR_Nexttime,BR_Next \
TV_Programme:HR,HR_Nexttime,HR_Next \
TV_Programme:MDR,MDR_Nexttime,MDR_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:DREISAT,DREISAT_Nexttime,DREISAT_Next
attr TV_Programm_Next alias TV_Programm
attr TV_Programm_Next nameIcon { ARD => 'logo_ard2', ZDF1 => 'logo_zdf', SUPERRTL => 'logo_superrtl', KABEL1 => 'logo_kabel1', RTL2 => 'logo_rtl2', RTL1 => 'logo_rtl', SAT1 => 'logo_sat1', VOX => 'logo_vox', PRO7 => 'logo_pro7', ZDFNEO => 'logo_zdfneo', RTLNITRO => 'logo_rtlnitro', SAT1GOLD => 'logo_sat1gold', SIEBENMAX => 'logo_siebenmaxx', SIXX => 'logo_sixx', TELE5 => 'logo_tele5', DMAX => 'logo_dmax', BR => 'logo_br', HR => 'logo_hr', MDR => 'logo_mdr', NDR => 'logo_ndr', RBB => 'logo_rbb', SWR => 'logo_swr', WDR => 'logo_wdr', DREISAT => 'logo_dreisat' }
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next notime 1
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
#---------Stop:Fernsehprogram---------


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 Juni 2015, 22:24:17
Hi,
so hab jetztt alles am laufen, nur das Sat.1 Icon wird noch nicht angezeigt, find den Fehler aber nicht.

Internals:
   DEF        <Programm>,<Jetzt>,<Dann>,<Uhrzeit>,<PrimeTime>
TV_Programme:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme:SAT.1@TV_Programme,SAT.1_next,SAT.1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
TV_Programme:Sport1@TV_Programme,Sport1_next,Sport1_next_time,Sport1_abend@TV_Programme_abend
TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend
   NAME       TV_Programm
   NR         164
   NTFY_ORDER 50-TV_Programm
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CHANGETIME:
   Content:
     TV_Programme 1
   Content2:
     TV_Programme 1
     TV_Programme_abend 1
Fhem:
     lastDefChange 11
     last_update 1433535524.37681
   Helper:
     DEF
     commands   {"set Senderwechsel %READING"}
     nameStyle  style="color:yellow;font-weight:bold"
     Nameicon:
       13THSTREET 13thstreet
       ARD        ard
       KABEL1     kabel1
       Pro7       pro7
       RTL        rtl
       SAT1       sat1
       Sport1     sport1
       VOX        vox
       ZDF        zdf
       rtl2       rtl2
Attributes:
   commands   {"set Senderwechsel %READING"}
   fp_Reciever 272,831,0,
   group      TV_Programm
   nameIcon   { "13THSTREET" => '13thstreet', Pro7 => 'pro7', SAT1 => 'sat1', RTL => 'rtl', Sport1 => 'sport1', ZDF => 'zdf', ARD => 'ard',rtl2 => 'rtl2',KABEL1 => 'kabel1',VOX => 'vox' }
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   style      style="width:1000px;color:white;font-size:18px"


Wäre super wenn mir da noch einer einen Tip geben könnte

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 05 Juni 2015, 22:30:21
Vielleicht der fehlende Punkt beim nameIcon von SAT.1?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 Juni 2015, 22:38:00
Nein, leider nicht, bzw. wenn ich den . setze, dann wird bei keinem Sender mehr ein Icon angezeigt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 05 Juni 2015, 22:39:12
Und wenn du 'SAT.1' schreibst?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 Juni 2015, 22:40:45
Genau das war es. Vielen Dank
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 23 Juni 2015, 15:41:09
Hallo,

Gibt es eine Möglichkeit folgende Nachricht im Log zu unterbinden?

TV_Programm.update: get TV_Programm TVProgramm: TVProgramm requested, watch readings

Dies kommt bei jedem Update über das DOIF.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Mario67 am 23 Juni 2015, 16:24:47
Hallo,

das ist eine Meldung aus der Get-Methode des Moduls HTTPMOD (deren Return-Wert), welche nicht über verbose steuerbar ist.
Da kannst Du Dich nur an den Modulautor im passenden Forenbereich wenden, und ihn bitten evtl. eine Log-Ausgabe daraus zu machen.

Gruß,
Mario
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 01 Juli 2015, 10:14:37
Kann man das DOIF für die Aktualisierung so abändern, dass es nur einmal zur entsprechenden Zeit ausgeführt wird?

[/([[TV_Programm:ARD_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:ZDF_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:SAT.1_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:RTL_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:Pro7_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:VOX_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:Kabel_eins_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:RTL_II_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:DMAX_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:sixx_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:TLC_next_time]]) (get TV_Programm TVProgramm)



Aktuell wird es bei mir mehrfach ausgeführt wenn 4 Sender zur selben Uhrzeit das Programm wechseln:

2015.07.01 09:00:00 2: TV_Programm.update: get TV_Programm TVProgramm: TVProgramm requested, watch readings
2015.07.01 09:00:00 2: TV_Programm.update: get TV_Programm TVProgramm: TVProgramm requested, watch readings
2015.07.01 09:00:00 2: TV_Programm.update: get TV_Programm TVProgramm: TVProgramm requested, watch readings
2015.07.01 09:00:00 2: TV_Programm.update: get TV_Programm TVProgramm: TVProgramm requested, watch readingscode]


Ein attr TV_Programm.update cmdpause 59 hat leider nicht geholfen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 01 Juli 2015, 10:39:25
Hallo,
Du kannst auch den kleinen "TVhelper" verwenden, den ich weiter oben veröffentlicht habe. Der aktualisiert immer nur zum Zeitpunkt, wenn sich ein Programm ändert. Und der arbeitet unabhängig von der Zahl und den Namen der Sender.
Für mich habe ich den schon für die neue Webseite (clacktv) umgestellt.

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 01 Juli 2015, 15:39:40
Gibt es keine Möglichkeit, dass DOIF für 1 Minute zu blockieren, damit es nicht mehrfach ausgeführt wird?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 02 Juli 2015, 09:25:40
@ Elektrolurch

habe jetzt auch mal den TV-Helper für KlackTV probiert. Bei mir funktioniert es nicht. Ich hatte ihn aber noch nie am laufen. Was hast du geändert. Ich habe die Zeilen für TV_Programme_next auskommentiert und die Parameter von 4 auf 3 geändert. Es wird immer ein at für 16:00:30 angelegt. sonst nichts.

mfg
Tom_S
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 02 Juli 2015, 10:11:44
Ich hänge mal die aktuelle version von mir hier an.
Definition
define TVhelper    TV_Programme

Und hier die Attribute
endtime 23:00
starttime 15:00

Damit läuft es bei mir einwandfrei.

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 02 Juli 2015, 10:26:37
Zitat von: gloob am 01 Juli 2015, 10:14:37
Kann man das DOIF für die Aktualisierung so abändern, dass es nur einmal zur entsprechenden Zeit ausgeführt wird?

[/([[TV_Programm:ARD_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:ZDF_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:SAT.1_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:RTL_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:Pro7_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:VOX_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:Kabel_eins_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:RTL_II_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:DMAX_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:sixx_next_time]]) (get TV_Programm TVProgramm) DOELSEIF ([[TV_Programm:TLC_next_time]]) (get TV_Programm TVProgramm)
[/quote]

Probier das DOIF mal so:

[code]([[TV_Programm:ARD_next_time]] or [[TV_Programm:ZDF_next_time]] or [[TV_Programm:SAT.1_next_time]] or [[TV_Programm:RTL_next_time]] or [[TV_Programm:Pro7_next_time]] or [[TV_Programm:VOX_next_time]] or [[TV_Programm:Kabel_eins_next_time]] or [[TV_Programm:RTL_II_next_time]] or [[TV_Programm:DMAX_next_time]] or [[TV_Programm:sixx_next_time]] or [[TV_Programm:TLC_next_time]]) (get TV_Programm TVProgramm)


zusammen mit dem Attribut cmdpause z.B. auf 5 (Sekunden) sollte es jeweils nur einmal ausgeführt werden...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: gloob am 02 Juli 2015, 15:06:49
Vielen Dank. Genau so hat es geklappt. Die Aktualisierung wird jetzt immer nur einmal durchgeführt und der Vorteil ist, dass keine zusätzlichen Module benötigt werden.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 03 August 2015, 22:11:43
Hi,
hab mal wieder ein Problem mit dem Umschalten, ich kann auf einige Sender nicht durch klicken auf den entsprechenden Sendernamen in der RD umschalten, bei anderen klappts Problemlos.
Es funktioniert nicht bei:

Bei den anderen wie z.b. RTL klappts problemlos.

Das Umschalt notify sieht so aus:
Internals:
   DEF        Senderwechsel.* {switchChannel('%EVENT')}
   NAME       Senderwechsel.nf
   NR         166
   NTFY_ORDER 50-Senderwechsel.nf
   REGEXP     Senderwechsel.*
   STATE      2015-08-03 21:55:14
   TYPE       notify
   Readings:
     2015-08-01 17:36:58   state           active
Attributes:
   room       Wohnzimmer

Dazu gibt es einen Dummy
Internals:
   NAME       Senderwechsel
   NR         165
   STATE      Pro7
   TYPE       dummy
   CHANGETIME:
   Helper:
     Dblog:
       State:
         Mydblog:
           TIME       1438631714.28008
           VALUE      Pro7
   Readings:
     2015-08-03 21:55:14   state           Pro7
Attributes:
   room       Wohnzimmer
   setList    ARD ZDF Sat1 RTL rtl2 Pro7 VOX Kabel1 Sport1 13THSTREET


und in der 99MyUtils diesen eintrag
############################### TV Programm ########################
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
     13th_Street  =>']13THSTREET',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    KABEL1 => 'kabel_eins_HD',
sat1 => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => 'Sport1',
    vox => 'VOX',
zdf => 'ZDF_HD',
    );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Ich find den Fehler bei den 4 Sendern einfach nicht....
Danke

EDIT
Was mir grade auffällt ist das ich beim Klicken auf ein Icon zum Senderwechsel einiges an Fehlern im Log bekomme:
2015.08.03 21:50:14.298 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4319.
2015.08.03 21:50:19.406 3: ENIGMA2 set VU_Ultimo channel ProSieben_HD
2015.08.03 21:50:28.262 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/99_myUtils.pm line 151.
2015.08.03 21:50:28.264 3: ENIGMA2 set VU_Ultimo channel
2015.08.03 21:50:28.265 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.03 21:50:28.265 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.03 21:50:32.817 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4319.
2015.08.03 21:50:32.903 3: ENIGMA2 set VU_Ultimo channel
2015.08.03 21:50:32.904 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.03 21:50:32.905 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.03 21:50:32.943 3: ENIGMA2 set VU_Ultimo channel
2015.08.03 21:50:32.944 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.03 21:50:32.944 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.03 21:50:38.851 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4319.
2015.08.03 21:51:07.375 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4319.
2015.08.03 21:51:35.835 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4319.
2015.08.03 21:51:44.532 1: PERL WARNING: Use of uninitialized value in string eq at fhem.pl line 4319.
2015.08.03 21:52:05.756 1: PERL WARNING: Use of uninitialized value $a in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 2723.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 August 2015, 06:13:05
Hänge die ganze Zeit an 13th_Street und komme nicht weiter
und komme nicht weiter.

Im Log steht immer 2015.08.05 06:19:06.683 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 06:19:06.684 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 06:19:06.684 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference

Beim Speichern der 99_myUtils kommt syntax error at ./FHEM/99_myUtils.pm line 127, near "13th_Street" die Zeile 127 sieht so aus:
13th_Street => '13th_Street',

Das Umschalten des Recievers über das Enigma2 Modul auf 13th_Street klappt Problemlos über ein set Reciever channel 13th_Street

Wo ist mein Fehler?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 05 August 2015, 06:17:39
Guten Morgen,

schreib mal

'13th_Street' => '13th_Street',

Ohne '' beim Schlüssel funktioniert es nur ohne Zahlen (ich glaube das Thema hatten wir schonmal mit Sat.1...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 August 2015, 06:22:18
Hi Ronny,
ok damit kommt der Fehler beim Speichern der 99myUtils nicht mehr, allerdings klappt das Umschalten trotzdem nicht, anscheint wird 13th_Street  nicht richtig an den Reciver übergeben, im Log kommt
2015.08.05 06:29:56.215 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 06:29:56.216 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 06:29:56.217 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference


Hab das Problem ja leider auch noch mit
Sat1
Sport1
KABEL1


Und hast recht, irgendwo hatten wir das mit Sat1 schonmal, find ich aber grad nicht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 05 August 2015, 06:30:29
Ich würde mir dann erstmal an allen möglichen Stellen im Script Log-Ausschriften einbauen (welche Parameter werden übergeben, werden die richtig gemappt,...)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 05 August 2015, 06:44:05
 8) Da muss ich mal gucken wie das mit dem Log ausschnitten funktioniert :-(
Also bei den genannten Sendern kommt beim Versuch zu wechseln bei allen die gleiche Log Meldung, ausser bei Sport1, da kommt das
2015.08.05 06:51:59.442 3: ENIGMA2 set VU_Ultimo channel Sport1
2015.08.05 06:51:59.443 3: set VU_Ultimo channel Sport1 : Argument Sport1 is not a valid integer between 0 and 9999 or servicereference is invalid
2015.08.05 06:51:59.444 3: Senderwechsel.nf return value: Argument Sport1 is not a valid integer between 0 and 9999 or servicereference is invalid

Wobei ich nicht weiss wieso Sport1 als integer interpretiert wird....

Muss ich mir heute abend mal was genauer ansehen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 06 August 2015, 16:39:33
Komm nicht wirklich weiter...:-(
Bekomme diese 4 einfach nicht hin
Bekomme bei allen 4 diese Log Meldung:
2015.08.05 22:00:14.296 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:14.296 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:17.678 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 22:00:17.679 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:17.680 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:22.965 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 22:00:22.966 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:22.967 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference 2015.08.05 22:00:14.296 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:14.296 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:17.678 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 22:00:17.679 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:17.680 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:22.965 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 22:00:22.966 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:22.967 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:32.622 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 22:00:32.623 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:32.623 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:32.622 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 22:00:32.623 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:00:32.623 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference


Sieht doch so aus alsob der Channel nicht richtig übergeben würde!?
Die 4 Programme werden im Reciever mit einem set Reciever channel SAT.1_HD  bzw. kabel_eins_HD bzw. 13th_Street bzw. Sport1 gesetzt.

Der Eintrag in der 99myUtils sieht so aus:
sub
switchChannel($)
{
  my %channellist = (
    pro7 => 'ProSieben_HD',
     '13th_Street' => '13th_Street',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    KABEL1 => 'kabel_eins_HD',
#SAT.1# => 'SAT.1_HD',
    rtl2 => 'RTL_II',
Sport1 => 'Sport1',
   vox => 'VOX',
zdf => 'ZDF_HD',
    );


die readingsgroup so:
TV_Programme:13THSTREET@TV_Programme,13THSTREET_next,13THSTREET_next_time,13THSTREET_abend@TV_Programme_abend
TV_Programme:SAT.1@TV_Programme,SAT.1_next,SAT.1_next_time,Sat1_abend@TV_Programme_abend
TV_Programme:Pro7@TV_Programme,Pro7_next,Pro7_next_time,Pro7_abend@TV_Programme_abend
TV_Programme:RTL@TV_Programme,RTL_next,RTL_next_time,RTL_abend@TV_Programme_abend
TV_Programme:ARD@TV_Programme,ARD_next,ARD_next_time,ARD_abend@TV_Programme_abend
TV_Programme:ZDF@TV_Programme,ZDF_next,ZDF_next_time,ZDF_abend@TV_Programme_abend
TV_Programme:Sport1@TV_Programme,Sport1_next,Sport1_next_time,Sport1_abend@TV_Programme_abend
TV_Programme:rtl2@TV_Programme,rtl2_next,rtl2_next_time,RTL2_abend@TV_Programme_abend
TV_Programme:KABEL1@TV_Programme,KABEL1_next,KABEL1_next_time,Kabel1_abend@TV_Programme_abend
TV_Programme:VOX@TV_Programme,VOX_next,VOX_next_time,VOX_abend@TV_Programme_abend

und der Dummy
Internals:
   NAME       Senderwechsel
   NR         165
   STATE      KABEL1
   TYPE       dummy
   CHANGETIME:
   Helper:
     Dblog:
       State:
         Mydblog:
           TIME       1438804832.62762
           VALUE      KABEL1
   Readings:
     2015-08-05 22:00:32   state           KABEL1
Attributes:
   room       Wohnzimmer
   setList    ARD ZDF SAT.1 RTL rtl2 Pro7 VOX KABEL1 Sport1 13th_Street


Wie geht das mit dem Log Ausschnitt?

Hab mal mit verbose 5 geloogt, dann erscheint beim versuch auf 13th Street zu schalten das hier:
2015.08.05 22:13:03.119 4: HTTP FHEMWEB:192.168.188.52:50504 GET /fhem/floorplan/Reciever?XHR=1&cmd=set%20Senderwechsel%2013THSTREET
2015.08.05 22:13:03.121 5: Cmd: >set Senderwechsel 13THSTREET<
2015.08.05 22:13:03.122 4: dummy set Senderwechsel 13THSTREET
2015.08.05 22:13:03.123 5: Triggering Senderwechsel (1 changes)
2015.08.05 22:13:03.124 5: Notify loop for Senderwechsel 13THSTREET
2015.08.05 22:13:03.129 5: Triggering Senderwechsel.nf
2015.08.05 22:13:03.131 4: Senderwechsel.nf exec {switchChannel('13THSTREET')}
2015.08.05 22:13:03.132 5: Cmd: >{switchChannel('13THSTREET')}<
2015.08.05 22:13:03.138 5: Cmd: >set VU_Ultimo channel<
2015.08.05 22:13:03.140 5: ENIGMA2 VU_Ultimo: called function ENIGMA2_Set()
2015.08.05 22:13:03.140 3: ENIGMA2 set VU_Ultimo channel
2015.08.05 22:13:03.141 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:13:03.141 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.05 22:13:03.146 5: DbLog: logging of Device: Senderwechsel , Type: DUMMY , Event: 13THSTREET , Reading: state , Value: 13THSTREET , Unit:
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 06 August 2015, 18:12:17
Hallo,

einfach mit

Log(0, 'Hinweistext: '.$variable);

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 07 August 2015, 21:45:01
ich bin glaub ich echt zu blöd dafür, wo muss das hin?
Wenn ich es z.b. so mache
sub
switchChannel($)
{
  my %channellist = (
Log(0, 'Hinweistext: '.$variable);   
pro7 => 'ProSieben_HD',
     '13th_Street' => '13th_Street',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    KABEL1 => 'kabel_eins_HD',
#SAT.1# => 'SAT.1_HD',
    rtl2 => 'RTL_II',
Sport1 => 'Sport1',
   vox => 'VOX',
zdf => 'ZDF_HD',


Gibts beim Speichern schon fehler
ZitatERROR:

Global symbol "$variable" requires explicit package name at ./FHEM/99_myUtils.pm line 126. syntax error at ./FHEM/99_myUtils.pm line 126, near ");" syntax error at ./FHEM/99_myUtils.pm line 137, near ")"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 07 August 2015, 21:52:05
Poste doch mal die komplette sub...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Puschel74 am 07 August 2015, 22:09:04
Wenn man nur seine eigenen Beiträge über alle anderen stellt und im Forum nichts anderes liest kann das durchaus passieren.
Ein bischen mitdenken und lesen könnte auch helfen aber ... man lässt sich lieber gerne an die Hand nehmen und über die Strasse führen.

ZitatGlobal symbol "$variable" requires explicit package name at ./FHEM/99_myUtils.pm line 126. syntax error at ./FHEM/99_myUtils.pm line 126, near ");" syntax error at ./FHEM/99_myUtils.pm line 137, near ")"
Die Variable $variable wird nicht zugeordnet - das mag Perl nicht.
Abhilfe schafft ein my vorne dran oder die globale Zuordnung per our.

@Tommy
So wie du es eingefügt hast wird die Variable genau welchen Inhalt haben ??
Rischtisch - keinen weil sie vorher nicht gefüllt wurde (womit auch).

Ist das echt die erste Variable die du verwendest?

@RoBra81
Die gesamte sub wird nichts bringen da die Variable bei der Ausgabe einfach nicht existiert.
Da es aber genügend Beiträge gibt wie man Variablen füllt und wie man sie zur Anzeige bringt ... lass ich den Rest meines Kommentars besser.
Nein, das hat nichts mit - ich weiß nicht wie das geht und ich hab keine Ahnung weil ich neu bin - zu tun.
DAS ist schlicht nur Faulheit.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 08 August 2015, 15:51:16
@Puschel, muss dich leider enttäuschen, aber hat nichts mit Faulheit zu tun, ich raffs einfach nicht  :'(

Hier mal die Gesamte SUB
############################### TV Programm ########################
sub
switchChannel($)
{
  my %channellist = (   
pro7 => 'ProSieben_HD',
     '13th_Street' => '13th_Street',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    KABEL1 => 'kabel_eins_HD',
#SAT.1# => 'SAT.1_HD',
    rtl2 => 'RTL_II',
Sport1 => 'Sport1',
   vox => 'VOX',
zdf => 'ZDF_HD',
    );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  $channel =~ s/_time//g; 
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  my $command = '';
 
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 09 August 2015, 10:50:51
Hallo,

zum Beispiel so:

############################### TV Programm ########################
sub
switchChannel($)
{
  my %channellist = (   
pro7 => 'ProSieben_HD',
     '13th_Street' => '13th_Street',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    KABEL1 => 'kabel_eins_HD',
#SAT.1# => 'SAT.1_HD',
    rtl2 => 'RTL_II',
Sport1 => 'Sport1',
   vox => 'VOX',
zdf => 'ZDF_HD',
    );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  Log(0, 'Übergebener channel: '.$channel);
  $channel =~ s/_time//g; 
  Log(0, 'channel ohne _time: '.$channel);
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  Log(0, 'lcchannel: '.$lcchannel);
  my $command = '';
 
  Log(0, 'channel aus channellist: '.$channellist{$lcchannel});
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Damit solltest du im Log schon einen Hinweis auf das Problem entdecken können...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 09 August 2015, 21:39:08
Hi, dann bekomme ich beim klich auf einen der 4 Sender diese Meldungen im Log:

2015.08.09 21:48:23.407 0: Übergebener channel: 13THSTREET
2015.08.09 21:48:23.408 0: channel ohne _time: 13THSTREET
2015.08.09 21:48:23.408 0: lcchannel: 13thstreet
2015.08.09 21:48:23.409 1: PERL WARNING: Use of uninitialized value within %channellist in concatenation (.) or string at ./FHEM/99_myUtils.pm line 155.
2015.08.09 21:48:23.409 0: channel aus channellist:
2015.08.09 21:48:23.409 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/99_myUtils.pm line 156.
2015.08.09 21:48:23.411 3: ENIGMA2 set VU_Ultimo channel
2015.08.09 21:48:23.411 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.09 21:48:23.412 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.09 21:48:26.379 0: Übergebener channel: SAT.1
2015.08.09 21:48:26.379 0: channel ohne _time: SAT.1
2015.08.09 21:48:26.380 0: lcchannel: sat.1
2015.08.09 21:48:26.380 0: channel aus channellist:
2015.08.09 21:48:26.382 3: ENIGMA2 set VU_Ultimo channel
2015.08.09 21:48:26.383 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.09 21:48:26.384 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.09 21:48:30.181 0: Übergebener channel: Sport1
2015.08.09 21:48:30.182 0: channel ohne _time: Sport1
2015.08.09 21:48:30.182 0: lcchannel: sport1
2015.08.09 21:48:30.183 0: channel aus channellist:
2015.08.09 21:48:30.185 3: ENIGMA2 set VU_Ultimo channel
2015.08.09 21:48:30.186 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.09 21:48:30.186 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
2015.08.09 21:48:33.653 0: Übergebener channel: KABEL1
2015.08.09 21:48:33.653 0: channel ohne _time: KABEL1
2015.08.09 21:48:33.654 0: lcchannel: kabel1
2015.08.09 21:48:33.655 0: channel aus channellist:
2015.08.09 21:48:33.656 3: ENIGMA2 set VU_Ultimo channel
2015.08.09 21:48:33.657 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.08.09 21:48:33.658 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 09 August 2015, 21:49:51
Und da siehst du auch die Probleme: in der channellist muss (auf der linken Seite) alles klein geschrieben werden und 13thstreet ohne '_'...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 09 August 2015, 22:17:05
Habs jetzt so abgeändert:
############################### TV Programm ########################
sub
switchChannel($)
{
  my %channellist = (   
pro7 => 'ProSieben_HD',
     '13thstreet' => '13th_Street',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel1 => 'kabel_eins_HD',
#sat.1# => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => 'Sport1',
   vox => 'VOX',
zdf => 'ZDF_HD',
    );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  Log(0, 'Übergebener channel: '.$channel);
  $channel =~ s/_time//g; 
  Log(0, 'channel ohne _time: '.$channel);
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  Log(0, 'lcchannel: '.$lcchannel);
  my $command = '';
 
  Log(0, 'channel aus channellist: '.$channellist{$lcchannel});
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


Und es ist besser geworden, jetzt klappt nur noch sat.1 und sport1 nicht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 09 August 2015, 22:19:52
Sat 1 ist auskommentiert (#)  und Sport1 sollte funktionieren - was sagt das Log?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 09 August 2015, 22:21:43
Zitat von: Tommy82 am 09 August 2015, 22:17:05

Und es ist besser geworden, jetzt klappt nur noch sat.1 und sport1 nicht

Logisch, hast es ja auch nicht so geändert wie weiter oben beschrieben.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 09 August 2015, 22:24:43
Sport1 kann nicht gehen:

Zitat von: RoBra81 am 05 August 2015, 06:17:39
Guten Morgen,

schreib mal

'13th_Street' => '13th_Street',

Ohne '' beim Schlüssel funktioniert es nur ohne Zahlen (ich glaube das Thema hatten wir schonmal mit Sat.1...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 14 August 2015, 13:06:01
Hallo zusammen,

hat jemand die passenden piicons für NDr, rbb, zdf kultur, sat1 und eins plus.

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 14 August 2015, 17:57:42
es gibt soviele... ich habe diese hier..! Namen mußt du anpassen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 14 August 2015, 19:41:55
Vielen Dank moonsorrox  ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 15 August 2015, 16:07:51
Hallo moonsorrox,

kannst Du mir bitte auch noch die für WDF, BR, SWR und HR geben? Die sie ich gerade einsetze bsehen etwas bescheiden aus.

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 15 August 2015, 16:17:01
Hat sich am TVhelper etwas verändert ?

Der Aufruf war doch immer:

define TVhelper TVhelper <TV_Programme> <TV_Programme_next>

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Bernhard-IN am 15 August 2015, 16:42:25
Ich habe das Script schon mal für mich so umgeschrieben, dass es die Startzeit des laufenden Programms auch noch anzeigt.

Falls interesse besteht, kann ich es hier Posten.

Gruss Bernhard-IN
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 15 August 2015, 19:53:57
Ja poste es mal. Kann man wieder etwas lernen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 16 August 2015, 01:05:37
Zitat von: moonsorrox am 14 August 2015, 17:57:42
es gibt soviele... ich habe diese hier..! Namen mußt du anpassen
Hättest Du noch wdr und br  ? ;)
Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 16 August 2015, 11:37:22
Zitat:
Hat sich am TVhelper etwas verändert ?


Angepassst auf die neue Darstellung / Webseite

define TVhelper TVhelper TV_Programme
Attribute:
endtime 23:00
starttime 15:00

Datei -> s.u

Gruß

Elektrolurch

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: moonsorrox am 17 August 2015, 12:47:47
so hier noch die Icons wie gewünscht, ich glaube ich habe irgendwo weiter vorne schon mal einige eingestellt...! :)
übrigens WDR gibt es zahlreiche regionale...!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 17 August 2015, 23:09:23
Zitat von: moonsorrox am 17 August 2015, 12:47:47
so hier noch die Icons wie gewünscht, ich glaube ich habe irgendwo weiter vorne schon mal einige eingestellt...! :)
übrigens WDR gibt es zahlreiche regionale...!
Hi Rene,
Danke  ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 18 August 2015, 21:18:21
Zitat von: RoBra81 am 09 August 2015, 22:19:52
Sat 1 ist auskommentiert (#)  und Sport1 sollte funktionieren - was sagt das Log?

Hi,
hatte bei Sat1 die Shift Taste vergessen  :-[
Sport1 geht nicht, da das Enigma Modul nur eine bouquet unterstützt, und Sport1 ist leider in einer 2.ten......

Danke für eure geduldige Hilfe
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: SamirSpeed am 24 August 2015, 15:28:25
das ist genau das richtige Forum für mich !
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 25 August 2015, 22:27:35
Zitat von: SamirSpeed am 24 August 2015, 15:28:25
das ist genau das richtige Forum für mich !

Verrätst du uns auch wieso :-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: jnewton957 am 06 September 2015, 11:50:52
[Hallo,

ich habe das Beispiel auf Grundlage von KlackTV mal auf die Anzeige des Programms um 20:15 Uhr erweitert.

Viel Spass
#---------Start:ABENDprogramm---------
define TV_Abend HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/-15/-1/free.html 3600
attr TV_Abend userattr readingsName_ANIXE_Abend readingsName_ARD_Abend readingsName_BR_Abend readingsName_DMAX_Abend readingsName_DREISAT_Abend readingsName_HR_Abend readingsName_KABEL1_Abend readingsName_MDR_Abend readingsName_N24_Abend readingsName_NDR_Abend readingsName_NTV_Abend readingsName_PRO7_Abend readingsName_RBB_Abend readingsName_RTL1_Abend readingsName_RTL2_Abend readingsName_RTLNITRO_Abend readingsName_SAT1GOLD_Abend readingsName_SAT1_Abend readingsName_SIEBENMAX_Abend readingsName_SIXX_Abend readingsName_SUPERRTL_Abend readingsName_SWR_Abend readingsName_TELE5_Abend readingsName_VOX_Abend readingsName_WDR_Abend readingsName_ZDF1_Abend readingsName_ZDFNEO_Abend readingsRegex_ANIXE_Abend readingsRegex_ARD_Abend readingsRegex_BR_Abend readingsRegex_DMAX_Abend readingsRegex_DREISAT_Abend readingsRegex_HR_Abend readingsRegex_KABEL1_Abend readingsRegex_MDR_Abend readingsRegex_N24_Abend readingsRegex_NDR_Abend readingsRegex_NTV_Abend readingsRegex_PRO7_Abend readingsRegex_RBB_Abend readingsRegex_RBB_Abendtime readingsRegex_RTL1_Abend readingsRegex_RTL2_Abend readingsRegex_RTLNITRO_Abend readingsRegex_SAT1GOLD_Abend readingsRegex_SAT1_Abend readingsRegex_SAT_Abend readingsRegex_SIEBENMAX_Abend readingsRegex_SIXX_Abend readingsRegex_SUPERRTL_Abend readingsRegex_SWR_Abend readingsRegex_TELE5_Abend readingsRegex_VOX_Abend readingsRegex_WDR_Abend readingsRegex_ZDF1_Abend readingsRegex_ZDFNEO_Abend stateFormat timeout verbose
attr TV_Abend readingsName_ANIXE_Abend ANIXE_Abend
attr TV_Abend readingsName_ARD_Abend ARD_Abend
attr TV_Abend readingsName_HR_Abend HR_Abend
attr TV_Abend readingsName_KABEL1_Abend KABEL1_Abend
attr TV_Abend readingsName_MDR_Abend MDR_Abend
attr TV_Abend readingsName_N24_Abend N24_Abend
attr TV_Abend readingsName_NDR_Abend NDR_Abend
attr TV_Abend readingsName_NTV_Abend NTV_Abend
attr TV_Abend readingsName_PRO7_Abend PRO7_Abend
attr TV_Abend readingsName_RBB_Abend RBB_Abend
attr TV_Abend readingsName_RTL1_Abend RTL1_Abend
attr TV_Abend readingsName_RTL2_Abend RTL2_Abend
attr TV_Abend readingsName_RTLNITRO_Abend RTLNITRO_Abend
attr TV_Abend readingsName_SAT1GOLD_Abend SAT1GOLD_Abend
attr TV_Abend readingsName_SAT1_Abend SAT1_Abend
attr TV_Abend readingsName_SIEBENMAX_Abend SIEBENMAX_Abend
attr TV_Abend readingsName_SIXX_Abend SIXX_Abend
attr TV_Abend readingsName_SUPERRTL_Abend SUPERRTL_Abend
attr TV_Abend readingsName_SWR_Abend SWR_Abend
attr TV_Abend readingsName_TELE5_Abend TELE5_Abend
attr TV_Abend readingsName_VOX_Abend VOX_Abend
attr TV_Abend readingsName_WDR_Abend WDR_Abend
attr TV_Abend readingsName_ZDF1_Abend ZDF1_Abend
attr TV_Abend readingsName_ZDFNEO_Abend ZDFNEO_Abend
attr TV_Abend readingsRegex_ANIXE_Abend <span class="stationName">Anixe HD</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_ARD_Abend <span class="stationName">ARD</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_HR_Abend <span class="stationName">HR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_KABEL1_Abend <span class="stationName">Kabel eins</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_MDR_Abend <span class="stationName">MDR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_N24_Abend <span class="stationName">N24</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_NDR_Abend <span class="stationName">NDR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_NTV_Abend <span class="stationName">N-TV</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_PRO7_Abend <span class="stationName">Pro7</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_RBB_Abend <span class="stationName">RBB</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_RBB_Abendtime <span class="stationName">RBB</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Abend readingsRegex_RTL1_Abend <span class="stationName">RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_RTL2_Abend <span class="stationName">RTL II</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_RTLNITRO_Abend <span class="stationName">RTL NITRO</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SAT1GOLD_Abend <span class="stationName">SAT.1 Gold</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SAT1_Abend <span class="stationName">SAT.1</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SIEBENMAX_Abend <span class="stationName">ProSieben MAXX</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SIXX_Abend <span class="stationName">sixx</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SUPERRTL_Abend <span class="stationName">Super RTL</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SWR_Abend <span class="stationName">SWR RP</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_TELE5_Abend <span class="stationName">TELE 5</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_VOX_Abend <span class="stationName">VOX</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_WDR_Abend <span class="stationName">WDR</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_ZDF1_Abend <span class="stationName">ZDF</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_ZDFNEO_Abend <span class="stationName">ZDF neo</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend stateFormat mein_TV_Abendramm: ARD_Abend
attr TV_Abend timeout 20
attr TV_Abend verbose 1

#Ceate Web UI Prime Time Programm
define TV_Abend_Abend readingsGroup <Sender>,<20:15 Uhr> \
TV_Abend:ARD_Abend \
TV_Abend:ZDF1_Abend \
TV_Abend:WDR_Abend \
TV_Abend:KABEL1_Abend \
TV_Abend:RTL2_Abend \
TV_Abend:RTL1_Abend \
TV_Abend:SAT1_Abend \
TV_Abend:VOX_Abend \
TV_Abend:PRO7_Abend \
TV_Abend:ZDFNEO_Abend \
TV_Abend:RTLNITRO_Abend \
TV_Abend:SAT1GOLD_Abend \
TV_Abend:SIEBENMAX_Abend \
TV_Abend:SIXX_Abend \
TV_Abend:TELE5_Abend \
TV_Abend:N24_Abend \
TV_Abend:HR_Abend \
TV_Abend:MDR_Abend \
TV_Abend:NDR_Abend \
TV_Abend:RBB_Abend \
TV_Abend:SWR_Abend \
TV_Abend:SUPERRTL_Abend \
TV_Abend:ANIXE_Abend \
TV_Abend:NTV_Abend
attr TV_Abend_Abend alias TV_Abendprogramm
attr TV_Abend_Abend nameIcon { ARD_Abend => 'ard', ZDF1_Abend => 'zdf_s', WDR_Abend => 'wdr_s' , KABEL1_Abend => 'kabel1_s', RTL2_Abend => 'rtl2_s', RTL1_Abend => 'rtl', SAT1_Abend => 'sat1_s', VOX_Abend => 'vox_s', PRO7_Abend => 'pro7_s', ZDFNEO_Abend => 'neo_s', RTLNITRO_Abend => 'rtl_nitro_s', SAT1GOLD_Abend => 'logo_sat1gold', SIEBENMAX_Abend => 'pro7maxx', SIXX_Abend => 'sixx_s', TELE5_Abend => 'logo_tele5', ANIXE_Abend => 'Anixe_s', N24_Abend => 'n24_s', HR_Abend => 'logo_hr', MDR_Abend => 'logo_mdr', NDR_Abend => 'ndr_s', RBB_Abend => 'rbb_s', SWR_Abend => 'logo_swr', DREISAT_Abend => 'logo_dreisat', ANIXE_Abend => 'anixe_s', SUPERRTL_Abend => 'superrtl', NTV_Abend => 'ntv_s' }
attr TV_Abend_Abend nameStyle style="color:black;; font-weight:bold;; font-size:16px;; text-align:left"
attr TV_Abend_Abend notime 1
attr TV_Abend_Abend room 25_TV-2015
attr TV_Abend_Abend style style="font-size:16px"
#---------Stop:ABENDprogramm---------
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 17 September 2015, 18:20:51
Hi,
ich hab seit einigen Tagen den Log voll mit diesen Meldungen:
2015.09.17 16:15:31.062 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.09.17 16:20:31.053 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.09.17 16:50:30.747 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.09.17 16:55:30.882 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)
2015.09.17 17:00:32.833 3: TV_Programme_abend: Read response to Update didn't match any Reading(s)


Hab nichts gemacht ausser fhem updates einzuspielen.

Ist irgendwas geändert worden?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 17 September 2015, 18:42:03
Seite hat sich geändert.
<span class="stationName">SENDERNAME</span>
giebt es nicht mehr.
such mal nach
title="SEBDERNAME"><img

LG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 17 September 2015, 19:41:10
Das heisst ich müsste z.b.
readingsRegex_13THSTREET
<span class="stationName">13th Street</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
readingsRegex_13THSTREET_next
<span class="stationName">13th Street</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
readingsRegex_13THSTREET_next_time
<span class="stationName">13th Street</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
readingsRegex_13THSTREET_time
<span class="stationName">13th Street</span>[\w\W]*?<td class="time">\s*(.*?)\s*<

in
title="13th Street"><img

umbenennen oder wie müssen die jetzt aussehen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 17 September 2015, 21:08:24
na mit
title="13th Street"><img

suchst du den sendernamean Stelle von
<span class="stationName">13th Street</span>
den Rest des RegEx musst du lassen. Da suchst du ja dann die Zeit oder das Programm.
also Beispiel
title="13th Street"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>


das <img kannst du auch weglassen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: WarLord am 18 September 2015, 16:25:13
Danke für den hinweis und lösung!

Andere Frage, wurde bei #455 schon gefragt hab aber keine antwort daruf finden können.

Kann man die  &amp; zeichen wieder in ihre sonderzeichen umwandeln?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 22 September 2015, 17:56:12
@WarLord: Das wird wohl nur beim ersten Laden der Seite nicht richtig angezeigt. Wenn sich das Reading über Longpoll aktualisiert, stimmen die Sonderzeichen

@Tom_S: Danke, funktioniert wunderbar
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: WarLord am 23 September 2015, 09:12:44
kann ich zu testen es Manuel veranlassen das er über longpoll aktualisiert? ich hab noch nie die richtigen zeichen angezeigt bekommen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 23 September 2015, 11:41:17
Das TVHelper-Modul aktualisiert nur wenn es benötigt wird.
Ohne TVHelper kannst du das aktualisierungsinervall von HTTPMOD einstellen und in diesem Intervall wird dann auch deine Seite über longpoll aktualisiert. (Da das Reading neu gesezt wird)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 23 September 2015, 18:58:12
@ WarLord
wie steht es denn in den Readings? Sind da die Umlaute korrekt? Welche Hardware und welches BS hast du für fhem?

LG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: WarLord am 24 September 2015, 08:55:45
@ Kuzl da ich das Helper modul nicht nutze, hab ich mal den intervall runtergesetzt leider ohne erfolg reading bleibt gleich falsch.

@ Tom_S  Umlaute passen, In den readings stehts auch falsch. Raspberry B+ mit Rasbian

wos mir immer auffällt ist bei : Law &amp; Order
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 24 September 2015, 09:43:36
Zitat:
Kann man die  &amp; zeichen wieder in ihre sonderzeichen umwandeln?


Da gibt es ein perl-Modul html::entities mit zwei Funktionen drin, damit kann man die &xxx; - Zeichen hin- und her verwandeln.
Dann kommt es allerdings immer noch auf den Zielzeichensatz in Deinem System an. Z.B. sind ja in reinem ASCII keine Umlaute, dafür braucht man dann Latin-1 (?) oder UTF-8.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ToM_ToM am 24 September 2015, 09:59:45
Hallo zusammen,

ich habe jetzt verschiedene eurer fertigen Configs komplett kopiert und bei mir eingefügt, aber kein einziger will bei mir funktionieren. Ich bekomme lediglich die Überschriften (Sender, Aktuelle Sendung, usw...) und das war es. Brauche ich noch irgendein extra Modul oder muss etwas in meine myUtils..?

Danke!
LG, Thomas
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: WarLord am 24 September 2015, 10:42:46
@ Elektrolurch  zeichensatz hab ich de UTF-8. dieses modul muss dann am raspberry instaliert sein?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 24 September 2015, 13:17:32
@Thomas:
Der Aufbau der Seite von clack-TV hat sich geändert. Schau mal einige Beiträge weiter oben. Da muss jetzt vor dem Sendernamen nach "title" gesucht werden und entsprechend die regex für alle Sender  angepasst werden.

@WarLord:

Mit reiner Modulinstallation ist es da nicht getan. Allerdings sollte das ja eigentlich auch automatisch von html - entities nach den codierten Sonderzeichen von dem httpmod - Modul konvertiert werden.

Mein Hinweis galt eher dem geschuldet, wenn man das manuell umsetzen möchte, dann braucht man das html::entities Modul um an die die beiden Konvertierungsroutinen nutzen zu können.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 24 September 2015, 14:21:18
Hallo,

habe nach meinem Urlaub mal wieder das Log angesehen, da bekomme ich neuerdings folgende Fehlermeldung:

2015.09.24 13:54:31 1: define TVhelper_1454_at at 14:54:30:30 {TVhelper_Update("TVhelper");}: Wrong timespec 14:54:30:30: either HH:MM:SS or {perlcode}
2015.09.24 13:54:31 3: define TVhelper_1454_at at 14:54:30:30 {TVhelper_Update("TVhelper");;} : Wrong timespec 14:54:30:30: either HH:MM:SS or {perlcode}


und die Anzeige wird nicht aktuallisiert. Sie zeigt noch die Werte vom 15.09.

Habe jetzt die Seitenänderung bei Klack.tv gesehen

dann muss also

attr TV_Programme readingsRegex_ARD <span class="stationName">ARD</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>


geändert werden in

attr TV_Programme readingsRegex_ARD title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>


?????


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 24 September 2015, 16:08:57
Ja. title="ARD"><img
das ist der Teil, auf den es ankommt.
Steht aber weiter oben in einem Beitrag. Nach der Änderung (Kann man mit Suchen und ersetzen in einem Schritt machen) geht alles wieder und die Timespec im TVhelper ist dann auch wieder korrekt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 24 September 2015, 19:54:02
oder muss die neue Anweisung:

attr TV_Programme readingsRegex_ARD <span title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>

lauten ? Also mit dem <span vor title="ARD"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 24 September 2015, 23:36:44
@raspklaus
Zitatoder muss die neue Anweisung:


Code: [Auswählen]
attr TV_Programme readingsRegex_ARD <span title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
lauten ? Also mit dem <span vor title="ARD"

nein !
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 25 September 2015, 08:33:02
Ein Blick auf den Quelltext der Seite von clack-tv klärt die Frage auch.
Die regex sucht nach title + Sendernamen, danach nach dem nächsten Sendungsnamen und den Uhrzeiten. Was in einer regex in () steht, landet in den internen perl-Variablen $1...$n und kann somit dann in das entsprechende reading geschrieben werden.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: WarLord am 27 September 2015, 09:49:32
Zitat von: Elektrolurch am 24 September 2015, 13:17:32
@WarLord:

Mit reiner Modulinstallation ist es da nicht getan. Allerdings sollte das ja eigentlich auch automatisch von html - entities nach den codierten Sonderzeichen von dem httpmod - Modul konvertiert werden.

Mein Hinweis galt eher dem geschuldet, wenn man das manuell umsetzen möchte, dann braucht man das html::entities Modul um an die die beiden Konvertierungsroutinen nutzen zu können.

Das bedeutet nun ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 29 September 2015, 22:24:59
Hallo!
Ich versuche erstmal überhaupt die TV-Anzeige bei mir einzubinden bevor ich daran etwas ändere, aber da gibts leider schon Probleme :(
Ich habe den Code von Antwort # 556 nutzen wollen und den in meine fhem.cfg kopiert. Die Iconbezeichnungen habe ich an meine eigenen angepasst und sonst alles unverändert gelassen. Das Ergebnis befindet sich im Anhang. Wo könnte in solchen Fällen der Fehler liegen? Oder habe ich irgendwelche vorher nötigen Schritte übersehen? Ziel ist es, eine Darstellung möglichst wie von Bernhard-IN aus Antwort # 595 zu erhalten. An dieser Stelle sei nochmal drauf hingewiesen, dass der angebotene Code noch immer interessant wäre ;)
Danke für eure Hilfe!

------------------------------------------------------------

Edit: So, inzwischen habe ich wirklich alle 42 Seiten durchgelesen und alles mögliche an Codes ausprobiert. FHEM immer mal wieder neu gestartet und es läuft nach wie vor nichts von all den Versuchen. Bzw wenn was geht, werden sämtliche Sendungsnamen verdreht. Größtenteils passiert aber gar nichts. Die Icons sind erstmal auch nicht so wichtig, habe jetzt auch nichts angepasst. Die Darstellung selbst sollte ja trotzdem gehen hoffe ich.
Wäre es vlt jemandem der Erfahrung mit der Darstellung des TV-Programms hat möglich, eine kurze zusammenfassende To-Do-Liste zu erstellen? Ich kann bei mir keinen Fehler finden :-[ :-[ Im Anhang mal der aktuell in der fhem.cfg eingefügte Code sowie die resultierende Darstellung. Habe ich außer dem Einfügen des Codes was vergessen?
Bin für jede Hilfe dankbar, allein komme ich damit nicht weiter :(
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 07 Oktober 2015, 11:04:04
Niemand eine Idee bisher? :( Vlt nochmal auf einen minimalen Umfang runtergebrochen, erstmal nur exemplarisch ohne richtige Logos mit ARD:

#---------Start:Fernsehprogram---------
#Get Current TV Show
define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 60
attr TV_Programme userattr readingsName_ARD readingsName_ARD_Next readingsName_ARD_Nexttime stateFormat timeout verbose
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_Next ARD_Next
attr TV_Programme readingsName_ARD_Nexttime ARD_Nexttime
attr TV_Programme readingsRegex_ARD <span class="stationName">ARD</span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Next <span class="stationName">ARD</span>[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Nexttime <span class="stationName">ARD</span>[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1


#Create Web UI
define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Start Zeit>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
attr TV_Programm_Next alias TV_Programm
attr TV_Programm_Next nameIcon { ARD => 'Aral_breit' }
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
#attr TV_Programm_Next notime 1
#---------Stop:Fernsehprogram---------


Es erfolgt keine Ausgabe außer der vorbereiteten Tabelle. Diese bleibt jedoch leer.




Falls das weiterhilft, hier mal ein Ausschnitt (im Bereich der aktuellen ARD-Sendung) von TV_Programme:

src="http://images.klack.de//templates/klack/images/iconRightDblArrowActive.png" alt="Zeitpunkt um 60 Minuten nach vorne verschieben" /> </a> </div> </td> </tr> <tr class="evenRow"> <td class="station"> <a href="/fernsehsender/5/ard.html" onclick="station=window.open('/fernsehsender/5/ard.html?popup=station','','height = 700, width = 750,scrollbars=yes,status=no,directories=no,menubar=no,resizable=no,location=tabelle');station.focus();return false;" title="ARD"><img class="stationIcon" src="http://images.klack.de/images/stories/stations/../stations-mobile/large/ard.png" alt="ARD" /></a> </td> <td class="time"> 10:45 <br/> <div style="padding-top: 3px; padding-bottom: 3px; margin-left: 2px;"> <a class="planer_link" href="http://www.klack.de/" title="Sendung zum TV-Planer hinzufügen" onclick="return false;"> <img src="http://images.klack.de//templates/klack/images/iconMarkBroadcast.png" alt="Sendung zum TV-Planer hinzufügen" /> <input name="planer_link_action" type="hidden" value="/component/pit_user/?task=addToPlaner&amp;id=1573119" /> </a> </div> <div style="padding-top: 3px; padding-bottom: 3px; margin-left: 2px;"> <a href="/sendung-empfehlen/1573119.html" onclick="emailFriend=window.open('/sendung-empfehlen/1573119.html?popup=emailFriend','','height = 700, width = 743,scrollbars=yes,status=no,directories=no,menubar=no,resizable=no,location=tabelle');emailFriend.focus();return false;" title="Sendung weiter empfehlen" target="page"> <img src="http://images.klack.de//templates/klack/images/iconMailToFriend.png" alt="Sendung weiter empfehlen" /> </a> </div> </td> <td class="details"> <div class="content"> <a href="/tv-programm/fernsehsendung/1573119/um-himmels-willen-88.html" title="ARD: Um Himmels Willen (88)" onclick="details=window.open('/tv-programm/fernsehsendung/1573119/um-himmels-willen-88.html?popup=details','','height = 700, width = 743,scrollbars=yes,status=no,directories=no,menubar=no,resizable=no,location=tabelle');details.focus();return false;">Um Himmels Willen (88)</a> <br/> Familienserie, D 2008<br/>Staffel: 7 / Folge: 10<br/>Laufzeit: 50 Minuten<br/>Original-Titel: Um Himmels Willen<br/>Mit: Jutta Speidel, Janina Hartwig, Fritz Wepper, Rosel Zech, Emanuela von Frankenberg, Anne Weinknecht<br/><br/>Schwester Hanna trifft sich im &quot;Ochsen&quot; mit ihrer alten Liebe aus früheren Zeiten, dem Tänzer André, den sie seit zehn Jahren nicht gesehen hat.<br/><img class="typeIcon" src="http://images.klack.de//templates/klack/images/typeIconStereo.png" alt="Stereo" title="Stereo" /><img class="typeIcon" src="http://images.klack.de//templates/klack/images/typeIconSubtitle.png" alt="Untertitel" title="Untertitel" /> </div> </td> <td class="image left"> <a href="/tv-programm/fernsehsendung/1573119/um-himmels-willen-88.html" title="ARD: Um Himmels Willen (88)" onclick="details=window.open('/tv-programm/fernsehsendung/1573119/um-himmels-willen-88.html?popup=details','','height = 700, width = 743,scrollbars=yes,status=no,directories=no,menubar=no,resizable=no,location=tabelle');details.focus();return false;"><img class="epgImage" src="http://funke.images.dvbdata.com/1065267/1065267_176x120.jpg" alt="Um Himmels Willen (88)" /></a> </td> <td class="time evenRow"> </td> <td class="details"> </td> <td class="image"> </td> </tr> <tr class="oddRow"> <td class="station"> <a href="/fernsehsender/129/zdf.html" onclick="station=window.open('/fernsehsender/129/zdf.html?

Kann mir dabei niemand helfen?  :-\
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 07 Oktober 2015, 11:10:08
Du hast immer noch stationname drin. Schau mal weiter oben --> title
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 07 Oktober 2015, 11:19:56
Perfekt, danke!  ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 08 Oktober 2015, 11:20:45
Ein letztes Problem habe ich noch, was auch schon mehrfach angesprochen aber scheinbar noch nicht abschließend gelöst wurde: Die Sonderzeichen (s. Anhang).

Ich verwende einen Raspberry Pi 2 und verwende UTF-8. Auch nach mehreren Stunden werden diese Zeichen nicht aktualisiert. Es hat jedoch schon mal funktioniert, bevor ich das Ganze ausgebaut und readingsGroups umbenannt habe. Kann es damit irgendwas zu tun haben?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 08 Oktober 2015, 11:43:36
Zitat von: ChHerrm am 08 Oktober 2015, 11:20:45
Ein letztes Problem habe ich noch, was auch schon mehrfach angesprochen aber scheinbar noch nicht abschließend gelöst wurde: Die Sonderzeichen (s. Anhang).

Ich verwende einen Raspberry Pi 2 und verwende UTF-8. Auch nach mehreren Stunden werden diese Zeichen nicht aktualisiert. Es hat jedoch schon mal funktioniert, bevor ich das Ganze ausgebaut und readingsGroups umbenannt habe. Kann es damit irgendwas zu tun haben?

Also ich habe für meine ReadingsGroups eine Funktion geschrieben, die einen Zeilenumbruch setzt und die Sonderzeichen korrigiert:

myUtils:
use HTML::Entities;

sub
wrapLine($$)
{
  my ($string, $maxLength) = @_;
  $string = decode_entities($string);
my @stringParts = split(/ /, $string);
  my $actRowLength = 0;
  my $resultString = '';
  while (scalar(@stringParts) > 0) {
  my $tempString = shift @stringParts;
    if ($actRowLength > 0)
    {
    if (($actRowLength + length($tempString)) > $maxLength)
      {
      $actRowLength = 0;
        $resultString .= '<br>';
      }
    }
    $resultString .= $tempString;
    $actRowLength += length($tempString);
    if (scalar(@stringParts) > 0)
    {
    $resultString .= ' ';
    $actRowLength += 1;
    }
  }
  if ($resultString eq '')
  {
  return ' ';
  }
  else
  {
  return $resultString;
  }
}


ReadingsGroup:
attr DG.wz.TV.WohnzimmerTV.RG.Control.Page1 valueFormat {wrapLine($VALUE, 50)}

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 08 Oktober 2015, 14:29:56
Perfekt, das klappt optimal :D

Im Anhang mal der komplette Code meiner fertigen TV-Anzeige falls es jemandem mal weiterhilft.
Danke für die Hilfe!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Grimm80 am 09 Oktober 2015, 10:25:34
Hier mal ein schnellerer Weg um an die Icons zu kommen:



cd /opt/fhem/www/images/default/tvmovie

wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/



damit werden alle PNGs direkt runter geladen.  ;D
Einfach der Reihe nach auf der SSH-Konsole ausführen.
Am Ende dann noch in FHEM "set WEB rereadicons".
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Adriano am 09 Oktober 2015, 12:54:26
Zitat
wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/details/

sieht bei mir besser aus ;) Danke trotzdem!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Adriano am 09 Oktober 2015, 12:56:05
Toll wäre es jetzt noch gleich die imdb Bewertung mit anzeigen zu können. Über http://omdbapi.com/
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Adriano am 12 Oktober 2015, 14:52:51
Okay habe es hinbekommen. Ihr braucht das cpan perl Modul XML:Simple, dann:

# zusätzlich in 99_myUtils.pm
use XML::Simple;
use LWP::Simple;

######## Get OMDB Rating ############
sub
OMDBRating

my $filmname = shift;
my $contents = get("http://www.omdbapi.com/?t=$filmname&y=&plot=short&r=xml");
my $p1 = new XML::Simple;
my $data = $p1->XMLin($contents);
return "$filmname ($data->{movie}->{imdbRating})";
}


#fhem.cfg

#---------Start:ABENDprogramm---------
define TV_Abend HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-2/pay.html 3600
attr TV_Abend userattr readingsName_SkyCinema24_Abend readingsName_SkyCinemaHits_Abend readingsName_SkyCinema_Abend readingsRegex_SkyCinema24_Abend readingsRegex_SkyCinemaHits_Abend readingsRegex_SkyCinema_Abend stateFormat timeout verbose
attr TV_Abend readingsName_SkyCinema24_Abend SkyCinema24_Abend
attr TV_Abend readingsName_SkyCinema24_Abend_Original SkyCinema24_Abend_Original
attr TV_Abend readingsName_SkyCinemaHits_Abend SkyCinemaHits_Abend
attr TV_Abend readingsName_SkyCinemaHits_Abend_Original SkyCinemaHits_Abend_Original
attr TV_Abend readingsName_SkyCinema_Abend SkyCinema_Abend
attr TV_Abend readingsName_SkyCinema_Abend_Original SkyCinema_Abend_Original
attr TV_Abend readingsRegex_SkyCinema24_Abend title="Sky Cinema \+24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SkyCinema24_Abend_Original title="Sky Cinema \+24"><img[\w\W]*?Original-Titel:\s*(.*?)\s*<br/>
attr TV_Abend readingsRegex_SkyCinemaHits_Abend title="Sky Cinema Hits"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SkyCinemaHits_Abend_Original title="Sky Cinema Hits"><img[\w\W]*?Original-Titel:\s*(.*?)\s*<br/>
attr TV_Abend readingsRegex_SkyCinema_Abend title="Sky Cinema"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Abend readingsRegex_SkyCinema_Abend_Original title="Sky Cinema"><img[\w\W]*?Original-Titel:\s*(.*?)\s*<br/>
attr TV_Abend room System
attr TV_Abend stateFormat mein_TV_Abend: SkyCinema_Abend
attr TV_Abend timeout 20
attr TV_Abend verbose 1

#Create Web UI Prime Time Programm
define TV_Abend_Abend readingsGroup <Sender>,<20:15 Uhr>, <Original> \
TV_Abend:SkyCinema_Abend,SkyCinema_Abend_Original \
TV_Abend:SkyCinema24_Abend,SkyCinema24_Abend_Original \
TV_Abend:SkyCinemaHits_Abend,SkyCinemaHits_Abend_Original
attr TV_Abend_Abend alias TV_Abendprogramm_Ab20Uhr
attr TV_Abend_Abend nameIcon { SkyCinema_Abend => 'tvmovie/sky-cinema', SkyCinema24_Abend => 'tvmovie/sky-cinema-24', SkyCinemaHits_Abend => 'tvmovie/sky-cinema-hits'}
attr TV_Abend_Abend nameStyle style="color:black;; font-weight:bold;; font-size:12px;; text-align:left"
attr TV_Abend_Abend noheading 1
attr TV_Abend_Abend nolinks 1
attr TV_Abend_Abend notime 1
attr TV_Abend_Abend room TV-Programm
attr TV_Abend_Abend style style="font-size:12px"
#attr TV_Abend_Abend valueFormat {OMDBRating($VALUE)}
attr TV_Abend_Abend valueFormat {( index($READING,"_Original") > 0)?OMDBRating($VALUE):$VALUE}
#---------Stop:ABENDprogramm---------


Nur die wichtigsten Änderungen zu  jnewton957 aufgeführt zu. Wenn jemand mehr Hilfe braucht einfach fragen.

Problem: Bei manchen Filmen liefert Klacktv nicht den Originaltitel. Dann springt das RegEx zum nächsten Film. Muss mal schauen. RegEx ist immer so wirr :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 13 Oktober 2015, 22:47:03
Zitat von: ChHerrm am 08 Oktober 2015, 14:29:56
Perfekt, das klappt optimal :D

Im Anhang mal der komplette Code meiner fertigen TV-Anzeige falls es jemandem mal weiterhilft.
Danke für die Hilfe!

Hey,

vielen Dank für deinen Code. Habe nun versucht das alles bei mir auch einzubauen.
Habe die Bilder, wie bei Grimm80 in dem Post unter deinem beschrieben, herunter geladen.
Leider fehlen bei mir ganz viele Bilder.
Woran kann das liegen?
Habe den Code 1zu1 übernommen.

Anbei ein Bild, da einige Bilder ja gehen.

Viele Grüße
Tino
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 13 Oktober 2015, 23:23:11
Hi Tino,
tja die die Namen sind halt anders , ich habe die einfach umbenannt  ;)
KVO1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 14 Oktober 2015, 00:02:05
Zitat von: kvo1 am 13 Oktober 2015, 23:23:11
Hi Tino,
tja die die Namen sind halt anders , ich habe die einfach umbenannt  ;)
KVO1

So klein und doch so einfach.
Das war es natürlich.
Vielen Dank :)

Tino
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 14 Oktober 2015, 00:29:32
Hi,

muss mich nochmals melden.
Habe das Skript leider wieder löschen müssen, da sich FHEM 3x aufgehangen hatte.
Habe nun ein volles Log mit folgenden Fehlermeldungen:
2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1904) line 1.

2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1905) line 1.

2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1906) line 1.

2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1907) line 1.

2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1908) line 1.

2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1909) line 1.

2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1910) line 1.

2015.10.14 00:24:30 2: Undefined subroutine &main::wrapLine called at (eval 1911) line 1.


Kann damit jemand etwas anfangen?

Viele Grüße
Tino
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Adriano am 14 Oktober 2015, 12:58:32
Ja, ich habe es auch wieder entfernt nachdem mein FHEM die Grätsche gemacht hatte. Werde mir nun was auf OS Ebene mit Perl schreiben.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 14 Oktober 2015, 13:04:28
Siehe post #631...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 14 Oktober 2015, 16:02:00
Zitat von: RoBra81 am 14 Oktober 2015, 13:04:28
Siehe post #631...

Siehe post #636...
Habe genau das Skript verwendet und es erzeugte die in post #639 erwähnten Fehler...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 14 Oktober 2015, 17:14:25
Zitat von: Ascos am 14 Oktober 2015, 16:02:00
Siehe post #636...
Habe genau das Skript verwendet und es erzeugte die in post #639 erwähnten Fehler...

Ich glaube der erwähnte Fehler kommt nach löschen des Script, so hast du auch in#636 geschrieben.

Denke du hast das attr in der readinggroup nicht gelöscht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 14 Oktober 2015, 18:07:47
Hallo,

Die Fehlermeldung besagt, dass er die sub wrapLine nicht gefunden hat. Also hast du entweder die sub nicht in deine myUtils übernommen oder diese hat einen Fehler (z. B. das include aus besagtem Post #631 vergessen)...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 14 Oktober 2015, 18:20:39
Man, herrscht hier ein rauer Ton.
Was habe ich euch denn getan, das ich solche Antworten, wie die hier verdiene?

Zitat von: RoBra81 am 14 Oktober 2015, 13:04:28
Siehe post #631...

Besagter Post sagt, das er den kompletten Code anhängt, den hatte ich so übernommen.
Hatte leider wirklich nicht gesehen, das da noch eine Funktion zugehört.
Nun weiß ich es und werde es geg. nochmal testen.
Bitte entschuldigt, das Menschen Fehler machen und nicht allwissend sind und dann vielleicht noch einmal nachfragen...

Zitat von: Paul am 14 Oktober 2015, 17:14:25
Ich glaube der erwähnte Fehler kommt nach löschen des Script, so hast du auch in#636 geschrieben.

Denke du hast das attr in der readinggroup nicht gelöscht

Ja, denke ich auch bzw. die Funktion in die 99_my... nicht eingefügt.
Danke

Viele Grüße
Tino
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 14 Oktober 2015, 18:38:02
Hallo,
Entschuldige, wenn meine Antwort dich verärgert hat, war echt nicht so gemeint! Ich wollte nur schnell von unterwegs mit dem Handy antworten und da habe ich mich mangels Zeit (vielleicht ein bisschen zu) kurz gehalten...

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 14 Oktober 2015, 22:07:04
Hi Tino,

das läuft schon mit der SUB von Ronny  ;)

Danke nochmal!  ..... und immer schön locker bleiben  ;)

Klaus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 16 Oktober 2015, 11:16:50
Eine kurze Frage:

Die HTML::Entities werden mit welchem Modul geladen ?

Danke für eure Hilfe
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 26 Oktober 2015, 19:13:46
Zitat von: RoBra81 am 14 Oktober 2015, 18:38:02
Hallo,
Entschuldige, wenn meine Antwort dich verärgert hat, war echt nicht so gemeint! Ich wollte nur schnell von unterwegs mit dem Handy antworten und da habe ich mich mangels Zeit (vielleicht ein bisschen zu) kurz gehalten...

Ronny

Hey,

tut mir auch Leid, hab es wohl an dem Tag einfach in den falschen Hals bekommen.
War also nicht böse gemeint.

Zitat von: kvo1 am 14 Oktober 2015, 22:07:04
Hi Tino,

das läuft schon mit der SUB von Ronny  ;)

Danke nochmal!  ..... und immer schön locker bleiben  ;)

Klaus

alles klar, danke. Ich werde es nochmal testen, wenn ich Zeit habe.
Verstehe ich das also richtig, das mir nur diese Routine gefehlt hat?

Viele Grüße
Tino
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Panik am 28 Oktober 2015, 17:52:36
Hallo,

entschuldigt bitte, aber ich tue mich sehr schwer hier reinzukommen:
Es wäre schön - und es muss auch nicht gleich sein - wenn das Thema mal irgendjemand mit funktionierender Klack-TV Version
"geradeziehen" bzw. zusammenfassen könnte  für diejenigen, die gerade da einsteigen möchten.
Hier im Thema mischen sich zwei Arten das TV-Programm abzurufen, geschweige denn von Try and Error, der sich durch alle
Seiten des Themas zieht.

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 28 Oktober 2015, 18:19:00
Schau mal ab #631 und ff.....
Das läuft bei mir  :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: McCavity am 30 Oktober 2015, 15:45:16
Hi!

Erstmal vielen Dank für die tolle Arbeit, damit habe ich bei mir auch eine schöne TV-Anzeige hinbekommen. Ich habe bereits angefangen, das auf meine Bedürfnisse zurechtzuscheiden (die Programmliste habe ich erstmal in "unserer" Prioriät sortiert; später kommen noch ein paar andere Programme dazu, dafür fällt auch eine handvoll raus), aber mir fiel in der Programmliste, die ich mir aus #631 kopiert hatte, auf, daß dort eine Zeile nicht funktionierte - sie blieb leer.

Nach kurzer Suche kam ich auf den Trichter, da das Ganze sowohl beim aktuellen als auch beim Primtime Programm passierte, daß möglicherweise die entsprechenden Readings leer sein könnten. Deshalb schaute ich mir die RegExp genauer an und verglich sie mit dem Sourcecode der Seite: dabei stellte ich fest, daß in der Tat die RegExp eine andere Schreibweise des Senders verwendete, als die Seite.

Also im Codebeispiel einfach alle Vorkommen von "RTL II" durch "RTL 2" ersetzen und schon funktioniert das wieder.

Weiterhin habe ich das Beispiel noch um eine Spalte erweitert: damit ich nicht immer die richtige Programmnummer erst suchen muß, habe ich die Spalte "Kanal" hinten angefügt (die tatsächlichen Kanalnummern sind natürlich abhängig vom Anbieter ;-))

Gelöst ist das sehr einfach: der Dummy "TV_ProgrammKanal" hat für jedes Programm ein Reading, in dem die Kanalnummer hinterlegt werden kann. Man muß das halt einmal händisch einstellen, danach steht das Ganze in fhem.save und muß (hoffentlich) nicht so oft angefaßt werden. Hier die Definition des Dummy:

define TV_ProgrammKanal dummy
attr TV_ProgrammKanal readingList ARD_Ch ZDF_Ch HR_Ch RTL_Ch Sat1_Ch VOX_Ch Pro7_Ch Kabel1_Ch COMEDYCENTRAL_Ch DREISAT_Ch ARTE_Ch EINSPLUS_Ch EINSFESTIVAL_Ch ZDFNEO_Ch NDR_Ch MDR_Ch BR_Ch RBB_Ch SWR_Ch WDR_Ch RTL2_Ch SUPERRTL_Ch SPORT1_Ch EUROSPORT_Ch DMAX_Ch N24_Ch NTV_Ch RTLNITRO_Ch SAT1GOLD_Ch SIXX_Ch TELE5_Ch
attr TV_ProgrammKanal setList ARD_Ch ZDF_Ch HR_Ch RTL_Ch Sat1_Ch VOX_Ch Pro7_Ch Kabel1_Ch COMEDYCENTRAL_Ch DREISAT_Ch ARTE_Ch EINSPLUS_Ch EINSFESTIVAL_Ch ZDFNEO_Ch NDR_Ch MDR_Ch BR_Ch RBB_Ch SWR_Ch WDR_Ch RTL2_Ch SUPERRTL_Ch SPORT1_Ch EUROSPORT_Ch DMAX_Ch N24_Ch NTV_Ch RTLNITRO_Ch SAT1GOLD_Ch SIXX_Ch TELE5_Ch


und hier jeweils die veränderten ersten Zeilen der ersten:

define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung>,<Kanal> \
TV_Programme:ARD,ARD_Channel,ARD_Nexttime,ARD_Next,ARD_Ch@TV_ProgrammKanal \
...


und der zweiten readingsGroup:

define TV_ProgrammPT_Next readingsGroup <Sender>,<Ab>,<Primetime-Sendung>,<Ab>,<Nachfolgende Sendung>,<Kanal> \
TV_ProgrammePT:ARDPT_Starttime,ARDPT,ARDPT_Nexttime,ARDPT_Next,ARD_Ch@TV_ProgrammKanal \
...


Die Anhänge zeigen, wie das bei mir dann aussieht - ja, ich weiß, daß die Senderlogos fehlen - die folgen heute abend, wenn ich es nicht noch hinbekomme, die Sender lieber als Text anzeigen zu lassen - vielleicht kann mir ja von Euch jemand einen Tipp geben...? Ich habe die "nameIcon" Attributzeile auskommentiert und folgendes stattdessen versucht:

attr TV_Programm_Next mapping {'TV_Programme:ARD'=>"ARD",'ZDF'=>"ZDF"}


Keine der beiden Varianten zeigte irgendeinen Erfolg, statt des Dateinamen wird dann nur bei *allen* Sendern "TV_Programme" (also der Name des HTTPMOD) angezeigt...



LG

McCavity
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Panik am 01 November 2015, 08:16:25
Hallo kvo1,

ja, mit den Werten hab ich es einigermaßen hinbekommen.
Dennoch war ohne TVHelper keine Aktualisierung vorhanden
Den hab ich dann noch reingenommen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Grimm80 am 05 November 2015, 14:22:22
Hi @all,

ich habe mal meine EPG-Daten mit in meine Steuerung der Harmony genommen.
Dort sieht man jetzt immer was Aktuell auf dem jeweiligen Sender läuft und mit dem Button PIN wir bei SKY der PIN automatisch
dann eingegeben und man muß sich die Zahlen nicht mehr merken :)

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Georg-Elektro am 27 November 2015, 17:14:51
Hallo,

ist es möglich den Kopf der Readinggruppe also "Sender | Ab | Primetime-Sendung | Ab | Nachfolgende Sendung" größe als den rest zu gestallten?

Den Kopf würde ich gerne in 18px haben den Rest aber 12px... Von CSS habe ich keinen Plan :D

DANKE
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: andreas13 am 29 November 2015, 06:01:53
Hi @Grimme,

Verrätst Du uns auch noch, wie Du das gemacht hast?

Vielen Dank

Andreas


Gesendet von iPad mit Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kuzl am 30 November 2015, 07:33:30
@Georg-Elektro:


attr <Device> nameStyle style="color:yellow;;font-weight:bold;;font-size:18px"
attr <Device> style style="font-size:12px"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 30 November 2015, 08:07:12
 @Grimme,
würde mich auch interessieren ! wie der code für FTUI auschaut  ;)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Carsten K. am 14 Dezember 2015, 13:07:33
Hi Alle,

das ist ein super interessantes Thema !

Nachdem ich einige der 44 Seiten gelesen habe, bin ich etwas verloren.
Ich kann zwar die Anleitungen umsetzen, aber durch die Vielzahl habe ich keinen Überblick, welche Schritte ich denn jetzt tatsächlich benötige.

Meine Suche zielte nach einer Programm-Anbindung meiner VuDuo (Enigma2) aus den Daten, die bereits im EPG verwendet werden.
Vielleicht ist ja sogar das direkte Umschalten dorthin möglich.

Ich fände es Klasse, wenn mir einer von Euch Hinweise zu den notwendigen Schritte nennen könnte (Seitenzahl im Thread würde mir schon ausreichen  ;D )

Beste Grüße
Obi
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 22 Dezember 2015, 06:59:03
Hi,
stimmt mit Klack etwas nicht?
Habe heute diese Meldung im Log:
Error http://www.klack.de/fernsehprogramm/2015-im-tv/0/0/all.html: empty answer received

Seltsamerweise klappt auch das Umschalten über einen Klick auf einen anderen Sender plötzlich nicht mehr, kommt diese Log Meldung:
[/2015.12.22 06:57:20.799 0: Übergebener channel: %EVENT
2015.12.22 06:57:20.800 0: channel ohne _time: %EVENT
2015.12.22 06:57:20.800 0: lcchannel: %event
2015.12.22 06:57:20.800 1: PERL WARNING: Use of uninitialized value within %channellist in concatenation (.) or string at ./FHEM/99_myUtils.pm line 174.
2015.12.22 06:57:20.801 0: channel aus channellist:
2015.12.22 06:57:20.801 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/99_myUtils.pm line 175.
2015.12.22 06:57:20.803 3: ENIGMA2 set VU_Ultimo channel
2015.12.22 06:57:20.804 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.12.22 06:57:20.804 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference
code]
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 22 Dezember 2015, 07:28:50
Guten Morgen, 

das mit dem Umschalten liegt vermutlich daran, dass seit FHEM 5.7 %EVENT nicht mehr funktioniert und durch $EVENT ersetzt werden muss (roter Hinweis im Forum).

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 23 Dezember 2015, 07:16:18
Da hatte ich auch schon dran gedacht, aber entweder ist es das nicht oder ich seh denn Fehler nicht.
in meiner gesamten 99 gibt es keinen %EVENT eintrag.
In der in Log gezeigten Warnung in Zeile 174 und 175 steht folgendes:
[/  Log(0, 'channel aus channellist: '.$channellist{$lcchannel});
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};


Es gab in notify einen %EVENT eintrag den ich aber zu $EVENT geändert habe, sieht so aus:
[/Internals:
   DEF        Senderwechsel.* {switchChannel('$EVENT')}
   NAME       Senderwechsel.nf
   NR         167
   NTFY_ORDER 50-Senderwechsel.nf
   REGEXP     Senderwechsel.*
   STATE      2015-12-23 07:13:41
   TYPE       notify
   Readings:
     2015-12-23 07:12:56   state           active
Attributes:
   room       Wohnzimmer


Im Log kommt dann diese Meldung beim Versuch des Senderwechsels:
[/2015.12.23 07:13:31.855 0: Übergebener channel: $EVENT
2015.12.23 07:13:31.856 0: channel ohne _time: $EVENT
2015.12.23 07:13:31.857 0: lcchannel: $event
2015.12.23 07:13:31.858 0: channel aus channellist:
2015.12.23 07:13:31.862 3: ENIGMA2 set VU_Ultimo channel
2015.12.23 07:13:31.863 3: set VU_Ultimo channel  : No argument given, choose one of channel channelNumber servicereference
2015.12.23 07:13:31.864 3: Senderwechsel.nf return value: No argument given, choose one of channel channelNumber servicereference code]
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 23 Dezember 2015, 08:00:24
Das %EVENT steht auch nicht in der 99 sondern in dem Notify das aus der ReadingsGroup aufgerufen wird...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 23 Dezember 2015, 16:13:27
Hi, sorry hatte es aus versehen mit in den Code Tag oben gepostet, da hatte ich schon erwähnt das ich das notify geändert habe, das es aber leider trotzdem nicht geht
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 07 Januar 2016, 13:18:24
Zitat von: ChHerrm am 08 Oktober 2015, 14:29:56
Perfekt, das klappt optimal :D

Im Anhang mal der komplette Code meiner fertigen TV-Anzeige falls es jemandem mal weiterhilft.
Danke für die Hilfe!

Wenn ich dieses Script nehme fehlt RTL2 z.b.
Ich hab RTL-2, RTL 2, RTL II versucht... was mach ich falsch?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: RoBra81 am 07 Januar 2016, 14:14:44
Hallo,

Zitat von: Tommy82 am 23 Dezember 2015, 16:13:27
Hi, sorry hatte es aus versehen mit in den Code Tag oben gepostet, da hatte ich schon erwähnt das ich das notify geändert habe, das es aber leider trotzdem nicht geht

sorry, ist irgendwie hinten runter gefallen. Probier's mal ohne die ' im notify:

Senderwechsel.* {switchChannel('$EVENT')}

Ronny
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 21 Januar 2016, 15:06:26
Hi,
hab das notify dann jetzt mal so geändert:


Internals:
   DEF        Senderwechsel.* {switchChannel($EVENT)}
   NAME       Senderwechsel.nf
   NR         168
   NTFY_ORDER 50-Senderwechsel.nf
   REGEXP     Senderwechsel.*
   STATE      active
   TYPE       notify
   Readings:
     2016-01-21 15:04:53   state           active
Attributes:
   room       Wohnzimmer


Damit funktioniert es wieder.
Vielen Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: martinbrecko am 17 Februar 2016, 07:10:08
Ich bin absoluter Neuling was Perl und Fhem angeht. Ich versuche aber durch anpassen vorhandener Codeschnipsel das Ganze etwas besser zu verstehen.

So auch hier.

Dazu hab ich einen kompletten Code von hier, 1:1 kopiert und in die FHEm.cfg eingefügt.

Bei wir allerdings (Logos ist klar, nicht vorhanden) nur ZDF Neo angezeigt.

Wie kann das sein?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 24 Februar 2016, 20:47:55
Das ist eine gute Frage, aber eigentlich wird hier auch überall empfohlen nicht direkt die fhem.cfg zu editieren, sondern alle kommandos über die commandline einzugeben, da wirst du dann schon auf mögliche Fehler hingewiesen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Andy89 am 27 Februar 2016, 19:34:03
Servus Leute,
ich habe heute den Tag damit verbracht verschiedene Readinggroups und Co einzurichten. Fast mit Erfolg... Jedoch habe ich ein Problem, dass ich es nicht hinbekomme, nur das Senderlogo anzuzeigen und danach die Kanalnummer. Die Kanalnummer wird immer vom Titel der Sendung überschrieben.

Hier mal das List auf eine Readingsgroup:

Internals:
   DEF        !closebutton,<>,<>,_Page2,!_2015_Page1 <Programm>,<Kanal>,<Seit>,<Jetztige Sendung>,<ab>,<Nachfolgende Sendung> TV_Programm:!ARD,1,ARD_time,ARD,ARD_next_time,ARD_next TV_Programm:!ZDF,2,ZDF_time,ZDF,ZDF_next_time,ZDF_next TV_Programm:!RTL,3,RTL_time,RTL,RTL_next_time,RTL_next TV_Programm:!SAT.1,4,SAT.1_time,SAT.1,SAT.1_next_time,SAT.1_next TV_Programm:!Pro7,5,Pro7_time,Pro7,Pro7_next_time,Pro7_next TV_Programm:!Kabel_eins,6,Kabel_eins_time,Kabel_eins,Kabel_eins_next_time,Kabel_eins_next TV_Programm:!RTL_II,7,RTL_II_time,RTL_II,RTL_II_next_time,RTL_II_next TV_Programm:!VOX,8,VOX_time,VOX,VOX_next_time,VOX_next TV_Programm:!WDR,12,WDR_time,WDR,WDR_next_time,WDR_next TV_Programm:!SAT.1_Gold,19,SAT.1_Gold_time,SAT.1_Gold,SAT.1_Gold_next_time,SAT.1_Gold_next TV_Programm:!Pro7_MAXX,20,Pro7_MAXX_time,Pro7_MAXX,Pro7_MAXX_next_time,Pro7_MAXX_next TV_Programm:!sixx,21,sixx_time,sixx,sixx_next_time,sixx_next
   NAME       rg_TV_Programm_Page1
   NR         950
   NTFY_ORDER 50-rg_TV_Programm_Page1
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programm 1
   Content2:
   DEVICES:
     ARRAY(0x200e920)
     ARRAY(0x53de788)
     ARRAY(0x33228f8)
     ARRAY(0x52df340)
     ARRAY(0x550ab48)
     ARRAY(0x52d4218)
     ARRAY(0x4a45c68)
     ARRAY(0x542cae0)
     ARRAY(0x5558630)
     ARRAY(0x53d4490)
     ARRAY(0x53d4bd0)
     ARRAY(0x4df04b8)
     ARRAY(0x55edb98)
   Fhem:
     lastDefChange 2460
     last_update 1456597246.65504
   Helper:
     DEF
     commands   { 'trigger nt_WZ_Senderwechsel Jetzt-%READING' }
     valueFormat {wrapLine(OMDBRating($VALUE) , 30)}
     Nameicon:
       ARD        tvmovie/ARD
       DMAX       tvmovie/dmax
       Eurosport  tvmovie/eurosport
       Kabel_eins tvmovie/kabel-eins
       KiKa       tvmovie/kika
       N-TV       tvmovie/n-tv
       N24        tvmovie/n24
       Phoenix    tvmovie/phoenix
       Pro7       tvmovie/pro7
       Pro7_MAXX  tvmovie/pro7maxx
       RTL        tvmovie/rtl
       RTL_II     tvmovie/RTL_II
       RTL_NITRO  tvmovie/rtl-nitro
       SAT.1      tvmovie/sat1
       SAT.1_Gold tvmovie/sat1gold
       Sport1     tvmovie/sport1
       Super_RTL  tvmovie/super-rtl
       Tagesschau24 tvmovie/tagesschau24
       VOX        tvmovie/vox
       WDR        tvmovie/wdr
       ZDF        tvmovie/zdf
       ZDF_info   tvmovie/zdf-infokanal
       ZDF_neo    tvmovie/zdf-neo
       sixx       tvmovie/sixx
     Positions:
       TV_Programm.ARD 2:1,2:3
       TV_Programm.ARD_next 2:5
       TV_Programm.ARD_next_time 2:4
       TV_Programm.ARD_time 2:2
       TV_Programm.Kabel_eins 7:1,7:3
       TV_Programm.Kabel_eins_next 7:5
       TV_Programm.Kabel_eins_next_time 7:4
       TV_Programm.Kabel_eins_time 7:2
       TV_Programm.Pro7 6:1,6:3
       TV_Programm.Pro7_MAXX 12:1,12:3
       TV_Programm.Pro7_MAXX_next 12:5
       TV_Programm.Pro7_MAXX_next_time 12:4
       TV_Programm.Pro7_MAXX_time 12:2
       TV_Programm.Pro7_next 6:5
       TV_Programm.Pro7_next_time 6:4
       TV_Programm.Pro7_time 6:2
       TV_Programm.RTL 4:1,4:3
       TV_Programm.RTL_II 8:1,8:3
       TV_Programm.RTL_II_next 8:5
       TV_Programm.RTL_II_next_time 8:4
       TV_Programm.RTL_II_time 8:2
       TV_Programm.RTL_next 4:5
       TV_Programm.RTL_next_time 4:4
       TV_Programm.RTL_time 4:2
       TV_Programm.SAT.1 5:1,5:3
       TV_Programm.SAT.1_Gold 11:1,11:3
       TV_Programm.SAT.1_Gold_next 11:5
       TV_Programm.SAT.1_Gold_next_time 11:4
       TV_Programm.SAT.1_Gold_time 11:2
       TV_Programm.SAT.1_next 5:5
       TV_Programm.SAT.1_next_time 5:4
       TV_Programm.SAT.1_time 5:2
       TV_Programm.VOX 9:1,9:3
       TV_Programm.VOX_next 9:5
       TV_Programm.VOX_next_time 9:4
       TV_Programm.VOX_time 9:2
       TV_Programm.WDR 10:1,10:3
       TV_Programm.WDR_next 10:5
       TV_Programm.WDR_next_time 10:4
       TV_Programm.WDR_time 10:2
       TV_Programm.ZDF 3:1,3:3
       TV_Programm.ZDF_next 3:5
       TV_Programm.ZDF_next_time 3:4
       TV_Programm.ZDF_time 3:2
       TV_Programm.sixx 13:1,13:3
       TV_Programm.sixx_next 13:5
       TV_Programm.sixx_next_time 13:4
       TV_Programm.sixx_time 13:2
     Values:
       formated:

         ARRAY(0x21ee3f0)
         ARRAY(0x53deea8)
         ARRAY(0x5408b50)
         ARRAY(0x37f3b38)
         ARRAY(0x53b48b8)
       orig:

         ARRAY(0x53afb18)
         ARRAY(0x3d2ad98)
         ARRAY(0x53f87c8)
         ARRAY(0x527bb58)
         ARRAY(0x53f7068)
       prefixsuffix:

         ARRAY(0x53d61b0)
         ARRAY(0x4c95b18)
         ARRAY(0x533a3d8)
         ARRAY(0x36525c8)
         ARRAY(0x53966c8)
Attributes:
   DbLogExclude .*
   commands   { 'trigger nt_WZ_Senderwechsel Jetzt-%READING' }
   group      TVProgramm
   nameIcon   { ARD => 'tvmovie/ARD', ZDF => 'tvmovie/zdf', RTL => 'tvmovie/rtl', 'SAT.1' => 'tvmovie/sat1', 'Pro7' => 'tvmovie/pro7', 'Kabel_eins' => 'tvmovie/kabel-eins', 'RTL_II' => 'tvmovie/RTL_II', 'VOX' => 'tvmovie/vox', 'WDR' => 'tvmovie/wdr', 'SAT.1_Gold' => 'tvmovie/sat1gold', 'Pro7_MAXX' => 'tvmovie/pro7maxx', 'sixx' => 'tvmovie/sixx', 'Super_RTL' => 'tvmovie/super-rtl', 'KiKa' => 'tvmovie/kika', 'Sport1' => 'tvmovie/sport1', 'Eurosport' => 'tvmovie/eurosport', 'Tagesschau24' => 'tvmovie/tagesschau24', 'ZDF_neo' => 'tvmovie/zdf-neo', 'ZDF_info' => 'tvmovie/zdf-infokanal', 'Phoenix' => 'tvmovie/phoenix', 'RTL_NITRO' => 'tvmovie/rtl-nitro', 'N24' => 'tvmovie/n24', 'N-TV' => 'tvmovie/n-tv', 'DMAX' => 'tvmovie/dmax'}
   room       TV
   valueFormat {wrapLine(OMDBRating($VALUE) , 30)}


Im Anhang ist noch ein Bild, was mein Problem zeigt. Was mache ich falsch? Ich habe auch versucht die Kanalnummern in <> zu setzen, das funktioniert, jedoh bleibt trotzdem der Titel 2 Mal vorhanden. Das Symbol zeigt dabei auf mein HTTPMod Device also TV_Programm und triggert nicht, wie es soll.

Durch diesen Fehler funktioniert wahrscheinlich auch das Füllen der Details-Liste nicht.... Beim Klick auf die Zeit oder den Titel wird aber richtig umgeschaltet.

Und direkt noch eine Frage zum ValueFormat. Wie bekomme ich es hin, dass nur die Titel "gewrappt" und somit auch ein IMDB Rating erhalten? Im Bild sieht man schön, dass einige Uhrzeiten auch ein IMDB Rating erhalten^^

Danke schon einmal für eure Hilfe!

Beste Grüße
Andy

edit: bin nun bisschen weiter und der Trigger für die Details funktioniert nun... Nun hab ich noch das Problem, dass an erster Stelle TV_Programm steht und dass das nameStyle nicht richtig funktioniert. Aber ich näher mich der Sache...

hier das neue List:
Internals:
   DEF        <Programm>,<Kanal>,<Seit>,<Jetztige Sendung>,<ab>,<Nachfolgende Sendung>
TV_Programm:!tvlogo_ARD,<1>,ARD_time,ARD,ARD_next_time,ARD_next
TV_Programm:!tvlogo_ZDF,<2>,ZDF_time,ZDF,ZDF_next_time,ZDF_next
TV_Programm:!tvlogo_RTL,<3>,RTL_time,RTL,RTL_next_time,RTL_next
TV_Programm:!tvlogo_SAT.1,<4>,SAT.1_time,SAT.1,SAT.1_next_time,SAT.1_next
TV_Programm:!tvlogo_Pro7,<5>,Pro7_time,Pro7,Pro7_next_time,Pro7_next
TV_Programm:!tvlogo_Kabel_eins,<6>,Kabel_eins_time,Kabel_eins,Kabel_eins_next_time,Kabel_eins_next
TV_Programm:!tvlogo_RTL_II,<7>,RTL_II_time,RTL_II,RTL_II_next_time,RTL_II_next
TV_Programm:!tvlogo_VOX,<8>,VOX_time,VOX,VOX_next_time,VOX_next
TV_Programm:!tvlogo_WDR,<12>,WDR_time,WDR,WDR_next_time,WDR_next
TV_Programm:!tvlogo_SAT.1_Gold,<19>,SAT.1_Gold_time,SAT.1_Gold,SAT.1_Gold_next_time,SAT.1_Gold_next
TV_Programm:!tvlogo_Pro7_MAXX,<20>,Pro7_MAXX_time,Pro7_MAXX,Pro7_MAXX_next_time,Pro7_MAXX_next
TV_Programm:!tvlogo_sixx,<21>,sixx_time,sixx,sixx_next_time,sixx_next
   NAME       rg_TV_Programm_Page1
   NR         950
   NTFY_ORDER 50-rg_TV_Programm_Page1
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     TV_Programm 1
   Content2:
   DEVICES:
     ARRAY(0x542d7e8)
     ARRAY(0x5599558)
     ARRAY(0x52d73e8)
     ARRAY(0x52e6e88)
     ARRAY(0x3d2bb50)
     ARRAY(0x202fbd0)
     ARRAY(0x53d8118)
     ARRAY(0x3d5cd18)
     ARRAY(0x53d9f40)
     ARRAY(0x56aab98)
     ARRAY(0x533fda8)
     ARRAY(0x4dd1c70)
     ARRAY(0x4d08038)
   Fhem:
     lastDefChange 2495
     last_update 1456604759.89222
   Helper:
     DEF
     commands   { 'trigger nt_WZ_Senderwechsel Jetzt-%READING' }
     nameStyle  style="color:lightgreen;;font-weight:bold"
     valueFormat {wrapLine(OMDBRating($VALUE) , 30)}
     Positions:
       TV_Programm.ARD 2:4
       TV_Programm.ARD_next 2:6
       TV_Programm.ARD_next_time 2:5
       TV_Programm.ARD_time 2:3
       TV_Programm.Kabel_eins 7:4
       TV_Programm.Kabel_eins_next 7:6
       TV_Programm.Kabel_eins_next_time 7:5
       TV_Programm.Kabel_eins_time 7:3
       TV_Programm.Pro7 6:4
       TV_Programm.Pro7_MAXX 12:4
       TV_Programm.Pro7_MAXX_next 12:6
       TV_Programm.Pro7_MAXX_next_time 12:5
       TV_Programm.Pro7_MAXX_time 12:3
       TV_Programm.Pro7_next 6:6
       TV_Programm.Pro7_next_time 6:5
       TV_Programm.Pro7_time 6:3
       TV_Programm.RTL 4:4
       TV_Programm.RTL_II 8:4
       TV_Programm.RTL_II_next 8:6
       TV_Programm.RTL_II_next_time 8:5
       TV_Programm.RTL_II_time 8:3
       TV_Programm.RTL_next 4:6
       TV_Programm.RTL_next_time 4:5
       TV_Programm.RTL_time 4:3
       TV_Programm.SAT.1 5:4
       TV_Programm.SAT.1_Gold 11:4
       TV_Programm.SAT.1_Gold_next 11:6
       TV_Programm.SAT.1_Gold_next_time 11:5
       TV_Programm.SAT.1_Gold_time 11:3
       TV_Programm.SAT.1_next 5:6
       TV_Programm.SAT.1_next_time 5:5
       TV_Programm.SAT.1_time 5:3
       TV_Programm.VOX 9:4
       TV_Programm.VOX_next 9:6
       TV_Programm.VOX_next_time 9:5
       TV_Programm.VOX_time 9:3
       TV_Programm.WDR 10:4
       TV_Programm.WDR_next 10:6
       TV_Programm.WDR_next_time 10:5
       TV_Programm.WDR_time 10:3
       TV_Programm.ZDF 3:4
       TV_Programm.ZDF_next 3:6
       TV_Programm.ZDF_next_time 3:5
       TV_Programm.ZDF_time 3:3
       TV_Programm.sixx 13:4
       TV_Programm.sixx_next 13:6
       TV_Programm.sixx_next_time 13:5
       TV_Programm.sixx_time 13:3
       TV_Programm.tvlogo_ARD 2:1
       TV_Programm.tvlogo_Kabel_eins 7:1
       TV_Programm.tvlogo_Pro7 6:1
       TV_Programm.tvlogo_Pro7_MAXX 12:1
       TV_Programm.tvlogo_RTL 4:1
       TV_Programm.tvlogo_RTL_II 8:1
       TV_Programm.tvlogo_SAT.1 5:1
       TV_Programm.tvlogo_SAT.1_Gold 11:1
       TV_Programm.tvlogo_VOX 9:1
       TV_Programm.tvlogo_WDR 10:1
       TV_Programm.tvlogo_ZDF 3:1
       TV_Programm.tvlogo_sixx 13:1
     Valueicon:
       tvlogo_ARD tvmovie/ard
       tvlogo_DMAX tvmovie/dmax
       tvlogo_Eurosport tvmovie/eurosport
       tvlogo_Kabel_eins tvmovie/kabel1
       tvlogo_KiKa tvmovie/kika
       tvlogo_N-TV tvmovie/n-tv
       tvlogo_N24 tvmovie/n24
       tvlogo_Phoenix tvmovie/phoenix
       tvlogo_Pro7 tvmovie/pro7
       tvlogo_Pro7_MAXX tvmovie/pro7maxx
       tvlogo_RTL tvmovie/rtl
       tvlogo_RTL_II tvmovie/rtl2
       tvlogo_RTL_NITRO tvmovie/rtl-nitro
       tvlogo_SAT.1 tvmovie/sat1
       tvlogo_SAT.1_Gold tvmovie/sat_1gold
       tvlogo_Sport1 tvmovie/sport1
       tvlogo_Super_RTL tvmovie/super-rtl
       tvlogo_Tagesschau24 tvmovie/tagesschau24
       tvlogo_VOX tvmovie/vox
       tvlogo_WDR tvmovie/wdr
       tvlogo_ZDF tvmovie/zdf
       tvlogo_ZDF_info tvmovie/zdf-infokanal
       tvlogo_ZDF_neo tvmovie/zdf-neo
       tvlogo_sixx tvmovie/sixx
     Values:
       formated:

         ARRAY(0x3d587a8)

         ARRAY(0x5416570)
         ARRAY(0x4d08f38)
         ARRAY(0x4d08050)
         ARRAY(0x53d20f0)
       orig:

         ARRAY(0x5557d58)

         ARRAY(0x53e2bd0)
         ARRAY(0x52aa7e0)
         ARRAY(0x508a5d0)
         ARRAY(0x52b1a00)
       prefixsuffix:

         ARRAY(0x4d7ef08)

         ARRAY(0x4dd0b88)
         ARRAY(0x52e6f78)
         ARRAY(0x53f2a08)
         ARRAY(0x203fe00)
Attributes:
   DbLogExclude .*
   commands   { 'trigger nt_WZ_Senderwechsel Jetzt-%READING' }
   group      TVProgramm
   nameStyle  style="color:lightgreen;;font-weight:bold"
   room       TV
   valueFormat {wrapLine(OMDBRating($VALUE) , 30)}
   valueIcon  { 'tvlogo_ARD' => 'tvmovie/ard', 'tvlogo_ZDF' => 'tvmovie/zdf', 'tvlogo_RTL' => 'tvmovie/rtl',
'tvlogo_SAT.1' => 'tvmovie/sat1', 'tvlogo_Pro7' => 'tvmovie/pro7',
'tvlogo_Kabel_eins' => 'tvmovie/kabel1', 'tvlogo_RTL_II' => 'tvmovie/rtl2',
'tvlogo_VOX' => 'tvmovie/vox', 'tvlogo_WDR' => 'tvmovie/wdr', 'tvlogo_SAT.1_Gold' => 'tvmovie/sat_1gold',
'tvlogo_Pro7_MAXX' => 'tvmovie/pro7maxx', 'tvlogo_sixx' => 'tvmovie/sixx', 'tvlogo_Super_RTL' => 'tvmovie/super-rtl',
'tvlogo_KiKa' => 'tvmovie/kika', 'tvlogo_Sport1' => 'tvmovie/sport1', 'tvlogo_Eurosport' => 'tvmovie/eurosport',
'tvlogo_Tagesschau24' => 'tvmovie/tagesschau24', 'tvlogo_ZDF_neo' => 'tvmovie/zdf-neo',
'tvlogo_ZDF_info' => 'tvmovie/zdf-infokanal', 'tvlogo_Phoenix' => 'tvmovie/phoenix',
'tvlogo_RTL_NITRO' => 'tvmovie/rtl-nitro', 'tvlogo_N24' => 'tvmovie/n24', 'tvlogo_N-TV' => 'tvmovie/n-tv',
'tvlogo_DMAX' => 'tvmovie/dmax'}


ein neues Foto habe ich auch angehängt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 07 März 2016, 23:29:43
Hallo Zusammen,

bisher lief das bei mir gemäß #631 ff  föllig problemlos!
Jetzt bekomme ich auf einmal im Log für jeden Sender folgende Meldungen....

Zitat2016.03.07 22:24:44 3: TV_Programme: the attribute readingsName_ARD should no longer be used. Please use reading01Name syntax instead
2016.03.07 22:24:44 3: TV_Programme: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.07 22:24:44 3: TV_Programme: the attribute readingsName_ARD_Next should no longer be used. Please use reading01Name syntax instead
2016.03.07 22:24:44 3: TV_Programme: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.07 22:24:44 3: TV_Programme: the attribute readingsName_ARD_Nexttime should no longer be used. Please use reading01Name syntax instead
2016.03.07 22:24:44 3: TV_Programme: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration

hat sich hier was geändert , hat ev. jemand ne Idee ?

gruss
kvo1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: spikeh1 am 08 März 2016, 08:30:54
Zitat von: kvo1 am 07 März 2016, 23:29:43
...
hat sich hier was geändert , hat ev. jemand ne Idee ?
...
Ja.

Zitat
Einige Attribute aus früheren Versionen von HTTPMOD sind in der neuen Version nicht mehr sinnvoll oder inkonsistent. Sie sollten für die neue Version angepasst werden.

Schau mal hier.
https://forum.fhem.de/index.php/topic,50281.0.html

MfG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 08 März 2016, 21:17:12
Hi spikeh1,

Danke  :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: uniqueck am 08 März 2016, 21:20:45
Ich glaube es wäre mittlerweile auch sinnvoll hier ein Modul drauß zu machen, so dass nicht jeder bei einer Änderung immer wieder alles anpassen muss.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 08 März 2016, 23:39:18
Zitat von: uniqueck am 08 März 2016, 21:20:45
Ich glaube es wäre mittlerweile auch sinnvoll hier ein Modul drauß zu machen, so dass nicht jeder bei einer Änderung immer wieder alles anpassen muss.
Hi Constantin,
ja das stimme ich Dir absolut zu, ist immer ein ziemliches Gefrickl bis das läuft.
Momentan tut´s ja bei mir noch , habe halt nur jede Menge LOG Einträge (wegen der Umstellung des Moduls) , is halt unschön !

Klaus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 10 März 2016, 17:09:01
Hallo @All;


ZitatZitat

    Einige Attribute aus früheren Versionen von HTTPMOD sind in der neuen Version nicht mehr sinnvoll oder inkonsistent. Sie sollten für die neue Version angepasst werden.


Schau mal hier.
https://forum.fhem.de/index.php/topic,50281.0.html

MfG

Könnte bitte jemand eine Konfig / def   gemäß der neuen Version hier posten (anhängen)  !ß

Danke vorab !
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: spikeh1 am 10 März 2016, 20:05:51
Beispiel mit ARD. Musst du dann für deine Sender fortsetzen.


define tv_now HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html
attr tv_now reading11Name ARD
attr tv_now reading11Regex title="ARD"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr tv_now reading12Name ARD_time
attr tv_now reading12Regex title="ARD"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr tv_now reading13Name ARD_next
attr tv_now reading13Regex title="ARD"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr tv_now reading14Name ARD_next_time
attr tv_now reading14Regex title="ARD"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div


MfG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 10 März 2016, 22:44:30
Hi spikeh1,

danke Dir !
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 13 März 2016, 09:26:47
Zitat von: uniqueck am 08 März 2016, 21:20:45
Ich glaube es wäre mittlerweile auch sinnvoll hier ein Modul drauß zu machen, so dass nicht jeder bei einer Änderung immer wieder alles anpassen muss.

Ja das wäre gut, denn es ändert sich echt häufig was was dann alle einzeln anpassen müßen. Leider fehlt mir das können, sonst würde ich mich mal dran setzen....
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: spikeh1 am 13 März 2016, 11:33:10
Ich denke mal das Hauptproblem hieraus ein Modul zu bauen liegt eher darin eine verlässliche Quelle zu finden, welches das TV-Programm aller Sender als weiterverwendbares Format (json oder xml) zu Verfügung stellt.

MfG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: schka17 am 13 März 2016, 13:43:24
Genau das ist auch mein Hauptproblem, hat jemand einen Tip für die österreichischen Sender?


Sent from my iPad using Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Hardlife am 13 März 2016, 14:46:07
Mein Aufbau der Config inkl. aller österreichischen Sender:
(Alles bereits nach den neuen HTTPMOD-Definitionen)

Vorarbeiten:
- Die Icons downloaden:
   (siehe Post 632 vom Grimm80 + 633 von Adriano)
   https://forum.fhem.de/index.php/topic,28123.msg342134.html#msg342134 (https://forum.fhem.de/index.php/topic,28123.msg342134.html#msg342134)
   https://forum.fhem.de/index.php/topic,28123.msg342169.html#msg342169 (https://forum.fhem.de/index.php/topic,28123.msg342169.html#msg342169)
   -> in der ssh-Console
Für schlanke Icons:
cd /opt/fhem/www/images/default/tvmovie

wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/

Oder für größere Icons:
wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/details/
-> Am Ende dann noch in FHEM "set WEB rereadicons".

- Sonderzeichenerkennung und Zeilenumbruch
    (im Beispiel nach 50 Zeichen)
    (siehe dazu Post Nr.630 von RoBra81)
    https://forum.fhem.de/index.php/topic,28123.msg341836.html#msg341836 (https://forum.fhem.de/index.php/topic,28123.msg341836.html#msg341836)
    Alles schön in die 99_myUtils.pm packen:
use HTML::Entities;

sub
wrapLine($$)
{
  my ($string, $maxLength) = @_;
  $string = decode_entities($string);
my @stringParts = split(/ /, $string);
  my $actRowLength = 0;
  my $resultString = '';
  while (scalar(@stringParts) > 0) {
  my $tempString = shift @stringParts;
    if ($actRowLength > 0)
    {
    if (($actRowLength + length($tempString)) > $maxLength)
      {
      $actRowLength = 0;
        $resultString .= '<br>';
      }
    }
    $resultString .= $tempString;
    $actRowLength += length($tempString);
    if (scalar(@stringParts) > 0)
    {
    $resultString .= ' ';
    $actRowLength += 1;
    }
  }
  if ($resultString eq '')
  {
  return ' ';
  }
  else
  {
  return $resultString;
  }
}


in die ReadingsGroup der fhem.cfg kommt:
(siehe auch untenstehenden Code - dort bereits enthalten)
(hier wird auch der Umbruch nach 50 Zeichen definiert)
attr TV_Programm_zur_Primetime valueFormat {wrapLine($VALUE, 50)}


- Mein Code aus der fhem.cfg:
    (Festlegung der Senderreihenfolge jeweils natürlich in den ReadingsGroups)
    -> siehe angehängte Datei "fhem.cfg-TV"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 16 März 2016, 10:10:25
Hallo Hardlife,

könntest Du bitte mal Deine Definition der Fernbedienung posten ?

Danke

Klaus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Hardlife am 16 März 2016, 23:59:12
Hi raspklaus!

Klar doch, aber meine Fernbedienung greift über rs232 auf meinen LG-TV (LG32LH3000) zu...

Falls trotzdem Interesse besteht, poste ich den Code gerne.

LG,
Hardlife
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: StefanStrobel am 17 März 2016, 18:11:54
Hallo,

Um Euch die Umstellung auf das neue HTTPMOD zu erleichtern hatte ich eine Funktion eingebaut, die die Attribute automatisch in das neue Format umschreibt.

Zitat aus https://forum.fhem.de/index.php/topic,50281.0.html

Änderungen an bestehenden Attributen
Einige Attribute aus früheren Versionen von HTTPMOD sind in der neuen Version nicht mehr sinnvoll oder inkonsistent. Sie sollten für die neue Version angepasst werden. Im Log wird daher bei alten Attributen eine entsprechende Meldung erzeugt. Um die Änderungen zu vereinfachen bietet HTTPMOD nun den set-Befehl upgradeAttributres an (wenn das Attribute enableControlSet auf 1 gesetzt ist). set upgradeAttributes schreibt die alten Attribute in das neue Format um und entfernt überflüssig gewordene Attribute.

Hat das jemand ausprobiert?

Gruß
   Stefan

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 17 März 2016, 20:28:04
Ja habe ich, und seitdem keine Fehler mehr im Log, und das TV Programm funktioniert problemlos.
Hab das set upgradeAttributes vor einigen Tagen aktiviert und seit dem keine Probleme mehr, wurde ja auch als Tip im Log angezeigt.

Danke für das Attribut
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: raspklaus am 19 März 2016, 17:07:35
Hallo Hardlife,

poste bitte mal den Code

danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Hardlife am 19 März 2016, 19:27:56
Hi raspklaus!

um den Thread nicht mit OffTopic vollzustopfen, habe ich einen eigenen Thread dazu eröffnet...
https://forum.fhem.de/index.php/topic,51044.0.html (https://forum.fhem.de/index.php/topic,51044.0.html)

LG,
Hardlife
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 19 März 2016, 19:59:16
Zitat von: StefanStrobel am 17 März 2016, 18:11:54
Hallo,

Um Euch die Umstellung auf das neue HTTPMOD zu erleichtern hatte ich eine Funktion eingebaut, die die Attribute automatisch in das neue Format umschreibt.

Zitat aus https://forum.fhem.de/index.php/topic,50281.0.html

Änderungen an bestehenden Attributen
Einige Attribute aus früheren Versionen von HTTPMOD sind in der neuen Version nicht mehr sinnvoll oder inkonsistent. Sie sollten für die neue Version angepasst werden. Im Log wird daher bei alten Attributen eine entsprechende Meldung erzeugt. Um die Änderungen zu vereinfachen bietet HTTPMOD nun den set-Befehl upgradeAttributres an (wenn das Attribute enableControlSet auf 1 gesetzt ist). set upgradeAttributes schreibt die alten Attribute in das neue Format um und entfernt überflüssig gewordene Attribute.

Hat das jemand ausprobiert?

Gruß
   Stefan

Hallo Stefan,

sehr, sehr cool, hat bestens funktioniert, keine Meldung mehr  ;)

Sollte man      Attribute enableControlSet wieder auf 0  stellen ???? was genau bewirkt das (ist sicher irgendwo erklärt ..)

Danke / gruss
Klaus
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 19 März 2016, 20:15:49
enableControlSet schaltet das Feld ein, wo du die Set-Bewfehle absetzen kannst. Das war ja vorher nicht da. Denke ich jedenfalls.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 22 März 2016, 10:40:10
Ich erhalte häufig solche Meldungen:
2016.03.22 10:30:14 3: tv_now: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Date: Tue, 22 Mar 2016 09:25:11 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/5.5.17-1~dotdeb.1
Set-Cookie: d2eb32ef92ab9e953aa00bd5b54b2c06=ef7fc770bbfbedeaa474da73eb3c1286; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Connection: close
Content-Type: text/html; charset=utf-8, body empty,
Error: read from to http://www.klack.de:80 timed out


Muss ich mir da Sorgen machen? Kann/sollte ich etwas dagegen unternehmen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 22 März 2016, 20:26:27
Hi,
das sieht so aus als ob du dann keine Internet Verbindung hättest!?
Sollte aber nicht schlimm sein, da ja in definierten Intervallen immer wieder das update versucht wird
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 23 März 2016, 08:27:01
Internet sollte da sein, da mein Kalenderupdate klaglos funktioniert. Aber egal, wenns geht, dann ist es halt so.

Danke dir.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 23 März 2016, 13:47:03
Habe ich irgendwas verpasst?

2016.03.17 14:57:28 3: TV_ProgrammePT: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.17 14:57:28 3: TV_ProgrammePT: the attribute readingsName_SUPERRTLPT should no longer be used. Please use reading01Name syntax instead
2


Muss ich jetzt aus jedem readingname ein reading01name machen?

readingsName_ARD readingsName_ARD_Next readingsName_ARD_Nexttime readingsName_ARTE readingsName_ARTE_Next ...
wird zu
reading01Name_ARD reading01Name_ARD_Next reading01Name_ARD_Nexttime reading01Name_ARTE reading01Name_ARTE_Next ...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: spikeh1 am 23 März 2016, 20:21:17
Zitat von: accessburn am 23 März 2016, 13:47:03
Habe ich irgendwas verpasst?
...

Ja.

Zitat
Änderungen an bestehenden Attributen
Einige Attribute aus früheren Versionen von HTTPMOD sind in der neuen Version nicht mehr sinnvoll oder inkonsistent. Sie sollten für die neue Version angepasst werden. Im Log wird daher bei alten Attributen eine entsprechende Meldung erzeugt. Um die Änderungen zu vereinfachen bietet HTTPMOD nun den set-Befehl upgradeAttributres an (wenn das Attribute enableControlSet auf 1 gesetzt ist). set upgradeAttributes schreibt die alten Attribute in das neue Format um und entfernt überflüssig gewordene Attribute.

MfG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 23 März 2016, 21:19:28
Zitat von: Invers am 23 März 2016, 08:27:01
Internet sollte da sein, da mein Kalenderupdate klaglos funktioniert. Aber egal, wenns geht, dann ist es halt so.

Danke dir.

In welchem Intervall lässt du denn dein TV Programm aktualisieren?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 23 März 2016, 22:37:41
Interval 300. Klappt auch fast immer, denn im Log sind nur wenige Meldungen. So 2 bis 3mal täglich. Da kann man also mit leben. Es nervt halt nur optisch. :-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 24 März 2016, 09:30:06
ich habe mal versucht, die Anleitung aus Post 506 mit der Excel-Datei nachzuvollziehen.
Da die Readings ja nun nicht mehr stimmen, ist mir das leider nicht richtig gelungen. Ich habe auch die Spalte AB nicht importieren können, da ich Fehlermeldungen bekam.

Ich habe ja eine eigene Version am Laufen, die ich aber gerne um die Anzeige der Sendungsdetails
erweitern würde.
Da die Beschreibung von HTTPMOD nur in englisch verfügbar ist, gelingt mir das jedoch nicht.

Kann mir bitte jemand erklären, wie ich das gebacken bekomme?

Wahrscheinlich ist ja dazu ein weiteres Reading erforderlich.

Derzeit sieht es bei mir so aus:

reading81Name   N24
reading81Regex  title="N24"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
reading82Name   N24_time
reading82Regex  title="N24"[\w\W]*?<td class="time">\s*(.*?)\s*<
reading83Name   N24_next
reading83Regex  title="N24"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
reading84Name   N24_next_time
reading84Regex  title="N24"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div


Nach meinem Verständnis müsste man 2 Readings mit den Namen (Beispiel)
reading84Name   N24_detail
reading84Regex   blablabla
erzeugen.

Aber wie man das genau macht, weiss ich nicht.
Kann mir jemand zeigen, wie das Reading aussehen muss?

Die Anzeige, vermutlich in einer Readingsgroup, würde ich dann vielleicht schon hinbekommen.
Ich hoffe, ich konnte mich einigermassen verständlich ausdrücken.

Danke schon mal im Voraus.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 26 März 2016, 09:56:26
Weiss wirklich keiner Rat?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 26 März 2016, 20:31:15
Hi, wenn du es genauso machst wie in der "Excel Anleitung" beschrieben und dann anschließßend das Attribut set upgradeAttributes setzt, sollte alle funktionieren!?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 26 März 2016, 21:23:06
Leider nicht. Es ist alles auf die alten Attribute ausgelegt. Ich hab probiert.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 26 März 2016, 21:26:00
Was kommt denn genau für ein fehler?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 27 März 2016, 09:33:08
Zitatich habe mal versucht, die Anleitung aus Post 506 mit der Excel-Datei nachzuvollziehen.
Da die Readings ja nun nicht mehr stimmen, ist mir das leider nicht richtig gelungen. Ich habe auch die Spalte AB nicht importieren können, da ich Fehlermeldungen bekam.

Ich habe ja eine eigene Version am Laufen, die ich aber gerne um die Anzeige der Sendungsdetails
erweitern würde.
Da die Beschreibung von HTTPMOD nur in englisch verfügbar ist, gelingt mir das jedoch nicht.

Es wurden dadurch auch keine Readings aktualisiert. Also keinerlei Programm angezeigt.
Die anderen Fehler habe ich inzwischen vergessen.

Aber meine Variante läuft ja und ich kann auch Sender gleich umschalten an meinem Samsung.
Programmierung von Aufnahmen benötige ich nicht.
Mir wäre also mit dem Reading für die Details schon geholfen.

Frohe Ostern.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 29 März 2016, 21:08:35
Seltsam,
seid heute bekomme ich jetzt auch wieder diese Meldungen im Log
2016.03.29 20:52:12.014 3: TV_Programme: the attribute readingsRegex_rtl2_next should no longer be used. Please use reading01Regex syntax instead
2016.03.29 20:52:12.015 3: TV_Programme: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.29 20:52:12.045 3: TV_Programme: the attribute readingsRegex_rtl2_next_time should no longer be used. Please use reading01Regex syntax instead
2016.03.29 20:52:12.046 3: TV_Programme: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration
2016.03.29 20:52:12.073 3: TV_Programme: the attribute readingsRegex_rtl2_time should no longer be used. Please use reading01Regex syntax instead
2016.03.29 20:52:12.074 3: TV_Programme: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration


Obwohl das Attribut gesetzt ist......
Attributes:
   enableControlSet 1


Einer eine idee?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 29 März 2016, 21:25:16
set device upgradeAttributes hast du auch gemacht?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 29 März 2016, 22:17:59
Ich glaube das es das war was ich vergessen hatte.

Danke für den Tip
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Invers am 30 März 2016, 01:24:08
Ich habe noch einmal mit der Excel-Tabelle probiert.
Das DOIF G.wz.TV.Programm.2015.DI.update wird korrekt erzeugt.
Das DOIF DG.wz.TV.Programm.DI.update hingegen nicht. Somit kann ich auch die Folgezeilen ab AB7 nicht importieren, da ja ABV6 auch nicht geht.
Ich bekomme folgenden Fehler bei Import AB6:

DG.wz.TV.Programm.DI.update DOIF: reading does not exist: DG.wz.TV.Programm:3sat_next_time: [DG.wz.TV.Programm:3sat_next_time]


Das Reading 3sat_next_time existiert aber in DG.wz.TV.Programm.

Und noch ein Problem:
Die Readingsgroup DG.wz.TV.Programm.Details.Popup.RG wird weder in meiner Config-DB, noch in meinem vergebenen Raum angezeigt. Der einzige Weg besteht in der Suche per Kommandozeile.


Brauche einen Tipp, was ich machen muss. Ich sehe keinen Fehler.



Hat sich erst einmal erledigt, habe alle Probleme gelöst (hoffe ich).
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 06 April 2016, 21:01:54
Zitat von: kvo1 am 30 November 2015, 08:07:12
@Grimme,
würde mich auch interessieren ! wie der code für FTUI auschaut  ;)

Ich habe es so gemacht. Vll nicht das Schönste, aber vll kannst du darauf aufbauen!Hab noch nicht so viel mit html gemacht.


<li data-row="4" data-col="6" data-sizex="1" data-sizey="1">
<header>Primetime</header>
<div data-type="image"
     data-size="60%"
     data-url="https://pbs.twimg.com/profile_images/505332383269142528/dxFEuzbY.png"
class="big inline">
</div>
<div data-type="label" data-device="TV_ProgrammePT" data-get="RTLPT" class="">
</div>


Gruß
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: -Stefan- am 07 April 2016, 13:22:01
Da ich selbst froh bin, wenn jemand ein Stück Code postet

define mod_TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr mod_TV_Programme userattr reading01Name reading02Name reading03Name reading04Name reading05Name reading06Name reading07Name reading08Name reading09Name reading10Name reading11Name reading12Name reading13Name reading14Name reading15Name reading16Name reading17Name reading18Name reading19Name reading20Name reading21Name reading22Name reading23Name reading24Name reading25Name reading26Name reading27Name reading28Name reading29Name reading30Name reading31Name reading32Name reading33Name reading34Name reading35Name reading36Name reading37Name reading38Name reading39Name reading40Name reading41Name reading42Name reading43Name reading44Name reading45Name reading46Name reading47Name reading48Name reading49Name reading50Name reading51Name reading52Name reading53Name reading54Name reading55Name reading56Name reading57Name reading58Name reading59Name reading60Name reading61Name reading62Name reading63Name reading64Name reading65Name reading66Name reading67Name reading68Name reading69Name reading70Name reading71Name reading72Name reading73Name reading74Name reading75Name reading76Name reading77Name reading78Name reading79Name reading80Name reading81Name reading82Name reading83Name reading84Name reading85Name reading86Name reading87Name reading88Name reading89Name reading90Name reading91Name reading92Name reading93Name reading94Name reading95Name reading96Name reading97Name reading98Name reading99Name reading100Name reading101Name reading102Name reading103Name reading104Name reading105Name reading106Name reading107Name reading108Name reading109Name reading120Name reading121Name reading122Name reading123Name reading124Name reading125Name reading126Name reading127Name reading128Name reading129Name reading130Name reading131Name reading132Name reading133Name reading134Name reading135Name reading136Name reading01Regex reading02Regex reading03Regex reading04Regex reading05Regex reading06Regex reading07Regex reading08Regex reading09Regex reading10Regex  reading11Regex reading12Regex reading13Regex reading14Regex reading15Regex reading16Regex reading17Regex reading18Regex reading19Regex reading20Regex reading21Regex reading22Regex reading23Regex reading24Regex reading25Regex reading26Regex reading27Regex reading28Regex  reading29Regex reading30Regex reading31Regex reading32Regex reading33Regex reading34Regex reading35Regex reading36Regex reading37Regex reading38Regex reading39Regex reading40Regex reading41Regex reading42Regex reading43Regex reading44Regex reading45Regex reading46Regex reading47Regex reading48Regex reading49Regex reading50Regex reading51Regex reading52Regex reading53Regex reading54Regex reading55Regex reading56Regex reading57Regex reading58Regex reading59Regex reading60Regex reading61Regex reading62Regex reading63Regex reading64Regex reading65Regex reading66Regex reading67Regex reading68Regex reading69Regex reading70Regex reading71Regex reading72Regex reading73Regex reading74Regex reading75Regex reading76Regex reading77Regex reading78Regex reading79Regex reading80Regex reading81Regex reading82Regex reading83Regex reading84Regex reading85Regex reading86Regex reading87Regex reading88Regex reading89Regex reading90Regex reading91Regex reading92Regex reading93Regex reading94Regex reading95Regex reading96Regex reading97Regex reading98Regex reading99Regex reading100Regex reading101Regex reading102Regex reading103Regex reading104Regex reading105Regex reading106Regex reading107Regex reading108Regex reading109Regex reading110Regex reading111Regex reading112Regex reading113Regex reading114Regex reading115Regex reading116Regex reading117Regex reading118Regex reading119Regex reading120Regex reading121Regex reading122Regex reading123Regex reading124Regex reading125Regex reading126Regex reading127Regex reading128Regex reading129Regex reading130Regex reading131Regex reading132Regex reading133Regex reading134Regex reading135Regex reading136Regex stateFormat timeout verbose
attr mod_TV_Programme reading01Name ARD
attr mod_TV_Programme reading01Regex title="ARD"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading02Name ARD_time
attr mod_TV_Programme reading02Regex title="ARD"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading03Name ARD_next
attr mod_TV_Programme reading03Regex title="ARD"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading04Name ARD_next_time
attr mod_TV_Programme reading04Regex title="ARD"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading05Name ZDF
attr mod_TV_Programme reading05Regex title="ZDF"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading06Name ZDF_time
attr mod_TV_Programme reading06Regex title="ZDF"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading07Name ZDF_next
attr mod_TV_Programme reading07Regex title="ZDF"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading08Name ZDF_next_time
attr mod_TV_Programme reading08Regex title="ZDF"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading09Name RTL
attr mod_TV_Programme reading09Regex title="RTL"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading10Name RTL_time
attr mod_TV_Programme reading10Regex title="RTL"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading11Name RTL_next
attr mod_TV_Programme reading11Regex title="RTL"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading12Name RTL_next_time
attr mod_TV_Programme reading12Regex title="RTL"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading13Name Sat1
attr mod_TV_Programme reading13Regex title="SAT.1"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading14Name Sat1_time
attr mod_TV_Programme reading14Regex title="SAT.1"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading15Name Sat1_next
attr mod_TV_Programme reading15Regex title="SAT.1"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading16Name Sat1_next_time
attr mod_TV_Programme reading16Regex title="SAT.1"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading17Name Pro7
attr mod_TV_Programme reading17Regex title="Pro7"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading18Name Pro7_time
attr mod_TV_Programme reading18Regex title="Pro7"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading19Name Pro7_next
attr mod_TV_Programme reading19Regex title="Pro7"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading20Name Pro7_next_time
attr mod_TV_Programme reading20Regex title="Pro7"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading21Name RTL2
attr mod_TV_Programme reading21Regex title="RTL 2"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading22Name RTL2_time
attr mod_TV_Programme reading22Regex title="RTL 2"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading23Name RTL2_next
attr mod_TV_Programme reading23Regex title="RTL 2"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading24Name RTL2_next_time
attr mod_TV_Programme reading24Regex title="RTL 2"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading25Name VOX
attr mod_TV_Programme reading25Regex title="VOX"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading26Name VOX_time
attr mod_TV_Programme reading26Regex title="VOX"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading27Name VOX_next
attr mod_TV_Programme reading27Regex title="VOX"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading28Name VOX_next_time
attr mod_TV_Programme reading28Regex title="VOX"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading29Name KiKa
attr mod_TV_Programme reading29Regex title="KiKa"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading30Name KiKa_time
attr mod_TV_Programme reading30Regex title="KiKa"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading31Name KiKa_next
attr mod_TV_Programme reading31Regex title="KiKa"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading32Name KiKa_next_time
attr mod_TV_Programme reading32Regex title="KiKa"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading33Name SuperRTL
attr mod_TV_Programme reading33Regex title="Super RTL"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading34Name SuperRTL_time
attr mod_TV_Programme reading34Regex title="Super RTL"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading35Name SuperRTL_next
attr mod_TV_Programme reading35Regex title="Super RTL"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading36Name SuperRTL_next_time
attr mod_TV_Programme reading36Regex title="Super RTL"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading37Name Sixx
attr mod_TV_Programme reading37Regex title="sixx"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading38Name Sixx_time
attr mod_TV_Programme reading38Regex title="sixx"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading39Name Sixx_next
attr mod_TV_Programme reading39Regex title="sixx"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading40Name Sixx_next_time
attr mod_TV_Programme reading40Regex title="sixx"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading41Name ServusTV
attr mod_TV_Programme reading41Regex title="Servus TV"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading42Name ServusTV_time
attr mod_TV_Programme reading42Regex title="Servus TV"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading43Name ServusTV_next
attr mod_TV_Programme reading43Regex title="Servus TV"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading44Name ServusTV_next_time
attr mod_TV_Programme reading44Regex title="Servus TV"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading45Name N24
attr mod_TV_Programme reading45Regex title="N24"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading46Name N24_time
attr mod_TV_Programme reading46Regex title="N24"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading47Name N24_next
attr mod_TV_Programme reading47Regex title="N24"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading48Name N24_next_time
attr mod_TV_Programme reading48Regex title="N24"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading49Name NTV
attr mod_TV_Programme reading49Regex title="N-TV"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading50Name NTV_time
attr mod_TV_Programme reading50Regex title="N-TV"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading51Name NTV_next
attr mod_TV_Programme reading51Regex title="N-TV"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading52Name NTV_next_time
attr mod_TV_Programme reading52Regex title="N-TV"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading53Name Phoenix
attr mod_TV_Programme reading53Regex title="Phoenix"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading54Name Phoenix_time
attr mod_TV_Programme reading54Regex title="Phoenix"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading55Name Phoenix_next
attr mod_TV_Programme reading55Regex title="Phoenix"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading56Name Phoenix_next_time
attr mod_TV_Programme reading56Regex title="Phoenix"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading57Name NationalGeographic
attr mod_TV_Programme reading57Regex title="National Geographic "[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading58Name NationalGeographic_time
attr mod_TV_Programme reading58Regex title="National Geographic "[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading59Name NationalGeographic_next
attr mod_TV_Programme reading59Regex title="National Geographic "[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading60Name NationalGeographic_next_time
attr mod_TV_Programme reading60Regex title="National Geographic"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading61Name Syfy
attr mod_TV_Programme reading61Regex title="Syfy"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading62Name Syfy_time
attr mod_TV_Programme reading62Regex title="Syfy"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading63Name Syfy_next
attr mod_TV_Programme reading63Regex title="Syfy"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading64Name Syfy_next_time
attr mod_TV_Programme reading64Regex title="Syfy"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading65Name 13thStreet
attr mod_TV_Programme reading65Regex title="13th Street"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading66Name 13thStreet_time
attr mod_TV_Programme reading66Regex title="13th Street"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading67Name 13thStreet_next
attr mod_TV_Programme reading67Regex title="13th Street"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading68Name 13thStreet_next_time
attr mod_TV_Programme reading68Regex title="13th Street"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading69Name AXN
attr mod_TV_Programme reading69Regex title="AXN"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading70Name AXN_time
attr mod_TV_Programme reading70Regex title="AXN"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading71Name AXN_next
attr mod_TV_Programme reading71Regex title="AXN"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading72Name AXN_next_time
attr mod_TV_Programme reading72Regex title="AXN"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading73Name RTLCrime
attr mod_TV_Programme reading73Regex title="RTL Crime"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading74Name RTLCrime_time
attr mod_TV_Programme reading74Regex title="RTL Crime"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading75Name RTLCrime_next
attr mod_TV_Programme reading75Regex title="RTL Crime"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading76Name RTLCrime_next_time
attr mod_TV_Programme reading76Regex title="RTL Crime"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading77Name SkyAtlantic
attr mod_TV_Programme reading77Regex title="Sky Atlantic HD"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading78Name SkyAtlantic_time
attr mod_TV_Programme reading78Regex title="Sky Atlantic HD"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading79Name SkyAtlantic_next
attr mod_TV_Programme reading79Regex title="Sky Atlantic HD"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading80Name SkyAtlantic_next_time
attr mod_TV_Programme reading80Regex title="Sky Atlantic HD"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading81Name SkyCinema
attr mod_TV_Programme reading81Regex title="Sky Cinema"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading82Name SkyCinema_time
attr mod_TV_Programme reading82Regex title="Sky Cinema"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading83Name SkyCinema_next
attr mod_TV_Programme reading83Regex title="Sky Cinema"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading84Name SkyCinema_next_time
attr mod_TV_Programme reading84Regex title="Sky Cinema"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading85Name SkyCinemap1
attr mod_TV_Programme reading85Regex title="Sky Cinema \+1"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading86Name SkyCinemap1_time
attr mod_TV_Programme reading86Regex title="Sky Cinema \+1"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading87Name SkyCinemap1_next
attr mod_TV_Programme reading87Regex title="Sky Cinema \+1"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading88Name SkyCinemap1_next_time
attr mod_TV_Programme reading88Regex title="Sky Cinema \+1"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading89Name SkyCinemap24
attr mod_TV_Programme reading89Regex title="Sky Cinema \+24"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading90Name SkyCinemap24_time
attr mod_TV_Programme reading90Regex title="Sky Cinema \+24"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading91Name SkyCinemap24_next
attr mod_TV_Programme reading91Regex title="Sky Cinema \+24"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading92Name SkyCinemap24_next_time
attr mod_TV_Programme reading92Regex title="RTL"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading93Name SkyCinemaHits
attr mod_TV_Programme reading93Regex title="Sky Cinema Hits"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading94Name SkyCinemaHits_time
attr mod_TV_Programme reading94Regex title="Sky Cinema Hits"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading95Name SkyCinemaHits_next
attr mod_TV_Programme reading95Regex title="Sky Cinema Hits"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading96Name SkyCinemaHits_next_time
attr mod_TV_Programme reading96Regex title="Sky Cinema Hits"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading97Name SkyAction
attr mod_TV_Programme reading97Regex title="Sky Action"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading98Name SkyAction_time
attr mod_TV_Programme reading98Regex title="Sky Action"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading99Name SkyAction_next
attr mod_TV_Programme reading99Regex title="Sky Action"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading100Name SkyAction_next_time
attr mod_TV_Programme reading100Regex title="Sky Action"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading101Name SkyComedy
attr mod_TV_Programme reading101Regex title="Sky Comedy"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading102Name SkyComedy_time
attr mod_TV_Programme reading102Regex title="Sky Comedy"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading103Name SkyComedy_next
attr mod_TV_Programme reading103Regex title="Sky Comedy"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading104Name SkyComedy_next_time
attr mod_TV_Programme reading104Regex title="Sky Comedy"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading105Name SkyEmotion
attr mod_TV_Programme reading105Regex title="Sky Emotion"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading106Name SkyEmotion_time
attr mod_TV_Programme reading106Regex title="Sky Emotion"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading107Name SkyEmotion_next
attr mod_TV_Programme reading107Regex title="Sky Emotion"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading108Name SkyEmotion_next_time
attr mod_TV_Programme reading108Regex title="Sky Emotion"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading109Name SkyNostalgie
attr mod_TV_Programme reading109Regex title="Sky Nostalgie"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading110Name SkyNostalgie_time
attr mod_TV_Programme reading110Regex title="Sky Nostalgie"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading111Name SkyNostalgie_next
attr mod_TV_Programme reading111Regex title="Sky Nostalgie"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading112Name SkyNostalgie_next_time
attr mod_TV_Programme reading112Regex title="Sky Nostalgie"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading113Name SkyKrimi
attr mod_TV_Programme reading113Regex title="Sky Krimi"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading114Name SkyKrimi_time
attr mod_TV_Programme reading114Regex title="Sky Krimi"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading115Name SkyKrimi_next
attr mod_TV_Programme reading115Regex title="Sky Krimi"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading116Name SkyKrimi_next_time
attr mod_TV_Programme reading116Regex title="Sky Krimi"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading117Name SkySport1
attr mod_TV_Programme reading117Regex title="Sky Sport 1"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading118Name SkySport1_time
attr mod_TV_Programme reading118Regex title="Sky Sport 1"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading119Name SkySport1_next
attr mod_TV_Programme reading119Regex title="Sky Sport 1"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading120Name SkySport1_next_time
attr mod_TV_Programme reading120Regex title="Sky Sport 1"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading121Name SkySport2
attr mod_TV_Programme reading121Regex title="Sky Sport 2"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading122Name SkySport2_time
attr mod_TV_Programme reading122Regex title="Sky Sport 2"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading123Name SkySport2_next
attr mod_TV_Programme reading123Regex title="Sky Sport 2"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading124Name SkySport2_next_time
attr mod_TV_Programme reading124Regex title="Sky Sport 2"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading125Name Sky3D
attr mod_TV_Programme reading125Regex title="Sky 3D"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading126Name Sky3D_time
attr mod_TV_Programme reading126Regex title="Sky 3D"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading127Name Sky3D_next
attr mod_TV_Programme reading127Regex title="Sky 3D"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading128Name Sky3D_next_time
attr mod_TV_Programme reading128Regex title="Sky 3D"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading129Name Sport1USHD
attr mod_TV_Programme reading129Regex title="Sky Sport1\+ US HD"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading130Name Sport1USHD_time
attr mod_TV_Programme reading130Regex title="Sky Sport1\+ US HD"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading131Name Sport1USHD_next
attr mod_TV_Programme reading131Regex title="Sky Sport1\+ US HD"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading132Name Sport1USHD_next_time
attr mod_TV_Programme reading132Regex title="Sky Sport1\+ US HD"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr mod_TV_Programme reading133Name SkyKrimi
attr mod_TV_Programme reading133Regex title="Sky Krimi"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading134Name SkyKrimi_time
attr mod_TV_Programme reading134Regex title="Sky Krimi"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading135Name SkyKrimi_next
attr mod_TV_Programme reading135Regex title="Sky Krimi"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading136Name SkyKrimi_next_time
attr mod_TV_Programme reading136Regex title="Sky Krimi"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div


Hier meine TV-Liste mit angepassten Readings
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 16 April 2016, 15:21:09
Hi,

habe alles soweit zum Laufen bekommen.
Allerdings, wie kann ich denn Sender hinzufügen?
Die Readings sind ja durchnummeriert, aber es gibt nur so viele, wie ich Sender definiert habe.

Viele Grüße
Tino
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 17 April 2016, 10:54:15
Zitat von: Ascos am 16 April 2016, 15:21:09
Hi,

habe alles soweit zum Laufen bekommen.
Allerdings, wie kann ich denn Sender hinzufügen?
Die Readings sind ja durchnummeriert, aber es gibt nur so viele, wie ich Sender definiert habe.

Viele Grüße
Tino
In dem du neue definierst
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 17 April 2016, 13:58:48
Hi,
ich hab plötzlich ein Problem wenn ich die zukünftigen Sender anklicke, das dann beim erreichen der Uhrzeit nicht umgeschaltet wird, im Log erscheint dann:
2016.04.17 13:45:02.204 0: Übergebener channel: Pro7_next
2016.04.17 13:45:02.205 0: channel ohne _time: Pro7_next
2016.04.17 13:45:02.206 0: lcchannel: pro7
2016.04.17 13:45:02.206 0: channel aus channellist: ProSieben_HD
2016.04.17 13:45:02.235 3: delete VU_Ultimo.Senderwechsel.at : Please define VU_Ultimo.Senderwechsel.at first


Hab eigentlich in letzter Zeit nichts am TV Programm geändert, einer eine idee was falsch läuft?

das sub zum Senderwechsel sieht so aus
sub
switchChannel($)
{
  my %channellist = (   
pro7 => 'ProSieben_HD',
     '13thstreet' => '13th_Street',
    rtl => 'RTL',
ard => 'Das_Erste_HD',
    kabel1 => 'kabel_eins_HD',
'sat.1' => 'SAT.1_HD',
    rtl2 => 'RTL_II',
sport1 => 'Sport1',
   vox => 'VOX',
zdf => 'ZDF_HD',
    );
 
  my $TVDevice = 'VU_Ultimo';

  my ($channel) = @_;
  Log(0, 'Übergebener channel: '.$channel);
  $channel =~ s/_time//g; 
  Log(0, 'channel ohne _time: '.$channel);
  my $next = 0;
  if ($channel =~ /_next/)
  {
    my @array = split('_next', $channel);
    $channel = $array[0];
    $next = 1;
  }
  my $lcchannel = lc $channel;
  Log(0, 'lcchannel: '.$lcchannel);
  my $command = '';
 
  Log(0, 'channel aus channellist: '.$channellist{$lcchannel});
  $command = 'set '.$TVDevice.' channel '.$channellist{$lcchannel};

  if ($command ne '')
  {
    if ($next == 1)
    {
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
    else
    {
      fhem($command);
    }
  }
  else
  {
    Log(1, 'Channelnumber not found for channel: '.$channel);
  }
}


das at sieht so aus:
Internals:
   CFGFN
   COMMAND    set VU_Ultimo channel 13th_Street
   DEF        2016-04-18T00:00:00 set VU_Ultimo channel 13th_Street
   NAME       VU_Ultimo.Senderwechsel.at
   NR         6430
   PERIODIC   no
   RELATIVE   no
   STATE      Next: 00:00:00
   TIMESPEC   00:00
   TRIGGERTIME 1460930400
   TRIGGERTIME_FMT 2016-04-18 00:00:00
   TYPE       at
   VOLATILE   1
   Helper:
     Dblog:
       Next:
         Mydblog:
           TIME       1460894352.88392
           VALUE      00:00:00
   Readings:
     2016-04-17 13:59:12   state           Next: 00:00:00
Attributes:
   room       Wohnzimmer


Anscheint wird die Uhrzeit nicht richtig mitgegeben oder ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ascos am 18 April 2016, 08:45:42
Zitat von: Paul am 17 April 2016, 10:54:15
In dem du neue definierst

Das war auch mein Plan. Die Frage war ja auch, WIE?
Aber gut, ich habe mir inzwischen selber geholfen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 22 April 2016, 14:27:31
Keiner eine Idee wieso das Umschalten zu einer Bestimmten Zeit bei mir nicht mehr klappt?

Im Log kommt immer nur:
[/2016.04.22 14:11:59.855 0: Übergebener channel: Pro7_next
2016.04.22 14:11:59.856 0: channel ohne _time: Pro7_next
2016.04.22 14:11:59.857 0: lcchannel: pro7
2016.04.22 14:11:59.857 0: channel aus channellist: ProSieben_HD
2016.04.22 14:11:59.883 3: delete VU_Ultimo.Senderwechsel.at : Please define VU_Ultimo.Senderwechsel.at firstcode]
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Paul am 22 April 2016, 16:26:57
Was steht denn in deinem '.ReadingsVal('TV_Programme_next' ?
Es scheint doch so das dein at keine Zeit hat
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 22 April 2016, 20:10:14
Hi,
das Problem ist tatsächlich das die Uhrzeit nicht mitgegeben wird, bzw. auf 00:00:00 gesetzt wird


Internals:
   CFGFN
   COMMAND    set VU_Ultimo channel ProSieben_HD
   DEF        2016-04-23T00:00:00 set VU_Ultimo channel ProSieben_HD
   NAME       VU_Ultimo.Senderwechsel.at
   NR         26482
   PERIODIC   no
   RELATIVE   no
   STATE      Next: 00:00:00
   TIMESPEC   00:00
   TRIGGERTIME 1461362400
   TRIGGERTIME_FMT 2016-04-23 00:00:00
   TYPE       at
   VOLATILE   1
   Helper:
     Dblog:
       Next:
         Mydblog:
           TIME       1461348127.89523
           VALUE      00:00:00
   Readings:
     2016-04-22 20:02:07   state           Next: 00:00:00
Attributes:
   room       Wohnzimmer


Nur wieso, hat immer funktioniert.

Die readings werden so eingelesen:
reading23Name
Pro7_next
reading23Regex
title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>

reading30Name
Pro7_next_time
reading30Regex
title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MarioS1969 am 23 April 2016, 12:02:54
Hallo Stefan,
vielen Dank für deinen Code.
Ich habe ihn bei mir integriert, aber das TV-Programm wurde nicht angezeigt.
Muss ich sonst noch etwas ingegrieren?

Vor der Umstellung hatte ich noch folgenden Code:

define TV_ProgrammPT_Next readingsGroup <Sender>,<Ab>,<Primetime-Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_ProgrammePT:ARDPT_Starttime,ARDPT,ARDPT_Nexttime,ARDPT_Next \
TV_ProgrammePT:ZDFPT_Starttime,ZDFPT,ZDFPT_Nexttime,ZDFPT_Next \
TV_ProgrammePT:RTLPT_Starttime,RTLPT,RTLPT_Nexttime,RTLPT_Next \
TV_ProgrammePT:RTL2PT_Starttime,RTL2PT,RTL2PT_Nexttime,RTL2PT_Next \
TV_ProgrammePT:Pro7PT_Starttime,Pro7PT,Pro7PT_Nexttime,Pro7PT_Next \
TV_ProgrammePT:Sat1PT_Starttime,Sat1PT,Sat1PT_Nexttime,Sat1PT_Next \
TV_ProgrammePT:Kabel1PT_Starttime,Kabel1PT,Kabel1PT_Nexttime,Kabel1PT_Next \
TV_ProgrammePT:VOXPT_Starttime,VOXPT,VOXPT_Nexttime,VOXPT_Next
attr TV_ProgrammPT_Next alias TV-Programm
attr TV_ProgrammPT_Next group TV_Programm
attr TV_ProgrammPT_Next nameIcon { ARDPT_Starttime => 'ard', ZDFPT_Starttime => 'zdf', Pro7PT_Starttime => 'pro7', RTLPT_Starttime => 'rtl1', Sat1PT_Starttime => 'sat1', Kabel1PT_Starttime => 'kabel1', VOXPT_Starttime => 'vox', RTL2PT_Starttime => 'rtl2', DMAXPT_Starttime => 'tvmovie/tvlogo_dmax_s', SUPERRTLPT_Starttime => 'tvmovie/tvlogo_super_rtl_logo', NDRPT_Starttime => 'tvmovie/tvlogo_ndr_s', BRPT_Starttime => 'tvmovie/tvlogo_br_l', HRPT_Starttime => 'tvmovie/tvlogo_hr_s', MDRPT_Starttime => 'tvmovie/tvlogo_mdr_s', RBBPT_Starttime => 'tvmovie/tvlogo_rbb-brandenburg_s', SWRPT_Starttime => 'tvmovie/tvlogo_swr_logo', WDRPT_Starttime => 'tvmovie/tvlogo_wdr_s', ZDFNEOPT_Starttime => 'tvmovie/tvlogo_zdf-neo_s', RTLNITROPT_Starttime => 'tvmovie/rtl_nitro', SAT1GOLDPT_Starttime => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXXPT_Starttime => 'tvmovie/sixx', TELE5PT_Starttime => 'tvmovie/tvlogo_tele-5_s', DREISATPT_Starttime => 'tvmovie/tvlogo_3sat_s', EINSPLUSPT_Starttime => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVALPT_Starttime => 'tvmovie/tvlogo_eins-festival_s', SPORT1PT_Starttime => 'tvmovie/sport1', EUROSPORTPT_Starttime => 'tvmovie/eurosport', N24PT_Starttime => 'tvmovie/n24', COMEDYCENTRALPT_Starttime => 'tvmovie/comedy_central', ARTEPT_Starttime => 'tvmovie/tvlogo_arte_s', NTVPT_Starttime => 'tvmovie/tvlogo_ntv_s'}
attr TV_ProgrammPT_Next nameStyle style="color:yellow"
attr TV_ProgrammPT_Next room Multimedia
attr TV_ProgrammPT_Next style style="font-size:12px"
attr TV_ProgrammPT_Next valueFormat {wrapLine($VALUE, 50)}


Wier dieser weiterhin benötigt? Wenn ja kann mir jemand sagen, wie ich ihn anpassen muss?
Ich komme mit diesem Thema einfach nicht voran.

Vielen Dank für eure Unterstützung
Mario
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: en-trust am 13 Juli 2016, 09:29:21
Wie sieht eigentlich zu eurer fhem.cfg der html code für´s Tablet aus ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mjoomla am 17 Juli 2016, 17:29:29
Moin Moin,

wie bekomme ich die Daten in der "Tablet UI" zum laufen?

Hab alles möglich versucht, aber geht irgend wir nicht.

<li class="halbTransparent" data-row="2" data-col="2" data-sizex="7" data-sizey="1">
<header class="headerTransparent">Sender</header>
<div type="label" data-device="TVPRO" data-get="RTL" style="color:#aa6900;">-</div>
<div type="label" data-device="TVPRO" data-get="RTL_time">-</div>
<div type="label" data-device="TVPRO" data-get="RTL_next_time">-</div>
<div type="label" data-device="TVPRO" data-get="RTL_details" class="cell">-</div>
</li>


stellt aber nicht da bis auf das - Zeichen

wer kann mir helfen?

MFG MJoomla/Michael
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Braakhekke am 17 Juli 2016, 20:17:55
Hallo Mjoomla,

ich habe es bei mir, eingepackt in einer Tabelle, wie folgt gelöst.

<li data-row="1" data-col="2" data-sizex="11" data-sizey="9">
             <header>AKTUELLES TV PROGRAMM &Ouml;FFENTLICHRECHTLICH</header>
               <div class="container inline">

      <table border="1" width="100%">
         <colgroup>
         <col width="50">
         <col width="20">
         <col width="400">
         <col width="20">
         <col width="400">
         </colgroup>
      <tr>
         <th><div data-type="label" class="cell">Sender<></th>
         <th><div data-type="label" class="cell">Anfang<></th>
         <th><div data-type="label" class="cell">Sendung<></th>
         <th><div data-type="label" class="cell">N&auml;chstes<></th>
         <th><div data-type="label" class="cell">Sendung<></th>
      </tr>
      <tr>
            <th><div data-type="image" class="cell"
                  data-url="..\images\default\tvmovie\ard.png"
                  data-size="100%"
                   class="cell"
                </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD_time">
               </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD">
               </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD_next_time">
               </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD_next">
               </div>
            </th>
      </tr>
</table>
</li>


Grüße,

Ben
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: kvo1 am 17 Juli 2016, 21:56:59
Hallo Michael,

hatte das mal so ansatzweise getestet..


<!--   Test TV Anzeige ---->
<li data-row="8" data-col="2" data-sizex="8" data-sizey="3" class="semitransparent">
<header>TV Programm</header>
<div data-type="swiper" data-height="132px" data-width="740px" class="">
    <ul>
            <li>
  <div data-type="label" class="big">A R D</div>
  <div class="cell center">
  <div data-type="label" class="cell narrow inline"> Aktuell: </div>
  <div data-type="label" data-device="TV_Programme" data-get="ARD" class="cell"></div>
  </div>
  <div class="cell center">
    <div data-type="label" class="cell narrow inline"> Ab </div>
                <div data-type="label" data-device="TV_Programme" data-get="ARD_Nexttime" class="cell inline"></div>
        <div data-type="label" class="cell narrow inline"> Uhr:</div>
        <div data-type="label" data-device="TV_Programme" data-get="ARD_Next" class="cell inline"></div>
      </div>
</li>
<li>
  <div data-type="label" class="big">P R O 7</div>
  <div class="cell center">
  <div data-type="label" class="cell narrow inline"> Aktuell: </div>
  <div data-type="label" data-device="TV_Programme" data-get="Pro7" class="cell"></div>
  </div>
  <div class="cell center">
    <div data-type="label" class="cell narrow inline"> Ab </div>
                <div data-type="label" data-device="TV_Programme" data-get="Pro7_Nexttime" class="cell inline"></div>
        <div data-type="label" class="cell narrow inline"> Uhr:</div>
        <div data-type="label" data-device="TV_Programme" data-get="Pro7_Next" class="cell inline"></div>
      </div>
</li>
<li>
  <div data-type="label" class="big">R B B</div>
  <div class="cell center">
  <div data-type="label" class="cell narrow inline"> Aktuell: </div>
  <div data-type="label" data-device="TV_Programme" data-get="RBB" class="cell"></div>
  </div>
  <div class="cell center">
    <div data-type="label" class="cell narrow inline"> Ab </div>
                <div data-type="label" data-device="TV_Programme" data-get="RBB_Nexttime" class="cell inline"></div>
        <div data-type="label" class="cell narrow inline"> Uhr:</div>
        <div data-type="label" data-device="TV_Programme" data-get="RBB_Next" class="cell inline"></div>
      </div>
</li>
</ul>
</div>
</li>

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 18 Juli 2016, 13:05:58
Zitat von: Braakhekke am 17 Juli 2016, 20:17:55
Hallo Mjoomla,

ich habe es bei mir, eingepackt in einer Tabelle, wie folgt gelöst.

<li data-row="1" data-col="2" data-sizex="11" data-sizey="9">
             <header>AKTUELLES TV PROGRAMM &Ouml;FFENTLICHRECHTLICH</header>
               <div class="container inline">

      <table border="1" width="100%">
         <colgroup>
         <col width="50">
         <col width="20">
         <col width="400">
         <col width="20">
         <col width="400">
         </colgroup>
      <tr>
         <th><div data-type="label" class="cell">Sender<></th>
         <th><div data-type="label" class="cell">Anfang<></th>
         <th><div data-type="label" class="cell">Sendung<></th>
         <th><div data-type="label" class="cell">N&auml;chstes<></th>
         <th><div data-type="label" class="cell">Sendung<></th>
      </tr>
      <tr>
            <th><div data-type="image" class="cell"
                  data-url="..\images\default\tvmovie\ard.png"
                  data-size="100%"
                   class="cell"
                </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD_time">
               </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD">
               </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD_next_time">
               </div>
            </th>
            <th>
               <div data-type="label"
                  data-device="mod_TV_Programme"
                  data-get="ARD_next">
               </div>
            </th>
      </tr>
</table>
</li>


Grüße,

Ben

Hallo Ben

Wie ich sehe, holst du dir deine Bilder in dem Teil

<th><div data-type="image" class="cell"
                  data-url="..\images\default\tvmovie\ard.png"
                  data-size="100%"
                   class="cell"
                </div>

wie sieht denn deine data-url ausgeschrieben aus?


Ich erhalte in der Konsole leider nur ein "Grafik kann nicht angezeigt werden, wenn ich es folgend einbinde.

<div data-type="image"
     data-size="100%"
     data-url="sftp://192.xxx.xxx.xx/opt/fhem/www/images/default/tvmovie/ard.png"
class="small">
</div>


Gruß Stephan
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Braakhekke am 19 Juli 2016, 06:43:14
Hallo Stephan,

ich geh davon aus das Du die einzelne Bilder in dem Verzeichnis gespeichert sind.
Ausgeschrieben sieht es bei mir so aus

//192.168.xxx.xx:8083/fhem/images/default/tvmovie/ard.png


Aufgefallen ist mir dass Du "/" verwendest. In meine Codezeile habe ich "\" verwendet. Kann es daran liegen?

Grüße,

Ben
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 19 Juli 2016, 09:45:34
Guten Morgen ,

Ob so "/" oder so "\" ist ihm scheinbar egal. Die Bilder sind selbstverständlich in dem Verzeichnis.
Es lag daran, dass unter Besitzer "root" und nicht "fhem" eingetragen war. Hab das Ganze damals unter root heruntergeladen.Jedenfalls hab ich das mit WINSCP angepasst,und nun funktioniert es.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mjoomla am 19 Juli 2016, 10:16:32
Moin Moin,

vielen Dank für die schnellen Antworten.

Klappt wunderbar.

Ist hier halt doch das BESTE FORUM.

MFG MJoomla / Michael
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: en-trust am 22 Juli 2016, 09:09:37
Ich habe hier von TV Movie paar Icons aber die sind 100px groß. Wie bekomme ich diese in fhem nur als 50px angezeigt ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: heinzfo am 06 Oktober 2016, 18:01:35
Hallo

Lieder sehe ich die einzelnen Sender nicht, imo rifft die Regex nicht.
Was mach ich falsch?


#------- TV Programme
define TV_Programme HTTPMOD http://www.tvmovie.de/tv-programm-jetzt-im-tv.html?tv-stations-count=100&time=now&form_build_id=form-7f6a9332d4b1e7b5bc6af20e39353673&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex
attr TV_Programme enableControlSet 1
attr TV_Programme reading01Name RTL
attr TV_Programme reading01Regex <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme reading02Name Sat1
attr TV_Programme reading02Regex <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme reading03Name Pro7
attr TV_Programme reading03Regex <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme reading04Name DMAX
attr TV_Programme reading04Regex <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme room TV
attr TV_Programme stateFormat mein_TV_programm: Pro7
attr TV_Programme timeout 5
attr TV_Programme verbose 1

#------- TV Programme Next
define TV_Programme_next HTTPMOD http://www.tvmovie.de/tv-programm-gleich-im-tv.html?tv-stations-count=100&time=soon&form_build_id=form-6c71e36a9e9651420736eccb5287fdec&form_id=dikr_tvm_tv_guide_tv_stations_count_form 60
attr TV_Programme_next userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex
attr TV_Programme_next enableControlSet 1
attr TV_Programme_next reading01Name RTL_next_time
attr TV_Programme_next reading01Regex <span>RTL <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next reading02Name DMAX_next
attr TV_Programme_next reading02Regex <span>DMAX<[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next reading03Name RTL_next
attr TV_Programme_next reading03Regex <span>RTL <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next reading04Name Sat1_next
attr TV_Programme_next reading04Regex <span>SAT.1 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next reading05Name Pro7_next_time
attr TV_Programme_next reading05Regex <span>PRO 7 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next reading06Name Pro7_next
attr TV_Programme_next reading06Regex <span>PRO 7 <span[\w\W]*?alt="(.*?)" title=
attr TV_Programme_next reading07Name DMAX_next_time
attr TV_Programme_next reading07Regex <span>DMAX<[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next reading08Name Sat1_next_time
attr TV_Programme_next reading08Regex <span>SAT.1 <[\w\W]*?air-time"><strong>(.*?)<\/strong>
attr TV_Programme_next room TV
attr TV_Programme_next stateFormat mein_TV_programm: Pro7_next
attr TV_Programme_next timeout 10
attr TV_Programme_next verbose 1

#------- TV Programm readingsGroup
define TV_Programm readingsGroup <Programm>,<Jetzt>,<Dann>,<Uhrzeit> TV_Programme_next:Sat1@TV_Programme,Sat1_next,Sat1_next_time TV_Programme_next:Pro7@TV_Programme,Pro7_next,Pro7_next_time TV_Programme_next:RTL@TV_Programme,RTL_next,RTL_next_time TV_Programme_next:DMAX@TV_Programme,DMAX_next,DMAX_next_time
attr TV_Programm group TV_Programm
attr TV_Programm nameIcon { Pro7 => 'logo_pro7', Sat1 => 'logo_sat1', DMAX => 'logo_dmax', RTL => 'logo_rtl'}
attr TV_Programm nameStyle style="color:red;;font-weight:bold"
attr TV_Programm room TV
attr TV_Programm style style="font-size:18px"
##------- end
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 08 Oktober 2016, 07:03:31
Guten Morgen zusammen,

dieser Thread hat mittlerweile 42 Seiten und ich habe schon einige Seiten durchforstet. Es ist leider ein ständiges gin und her und ich finde die Arbeit die hier "abgeliefert" wurde genial aber ich weiß nich wo ich ansetzten muss. Immerwieder gibt ein neue, ergänzende Einträge etc. Wäre jem. bitte so freundlich und kann mir den Link geben, wo ich zur Umsetzung beginnen kann, damit es auch bei mir läuft?!

VIELEN DANK

Ps.: Vielleicht ist es ja auch für den ein oder anderen hilfreich ;-)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 08 Oktober 2016, 10:14:00
Zitat von: bjoernbo am 08 Oktober 2016, 07:03:31
Guten Morgen zusammen,

dieser Thread hat mittlerweile 42 Seiten und ich habe schon einige Seiten durchforstet. Es ist leider ein ständiges gin und her und ich finde die Arbeit die hier "abgeliefert" wurde genial aber ich weiß nich wo ich ansetzten muss. Immerwieder gibt ein neue, ergänzende Einträge etc. Wäre jem. bitte so freundlich und kann mir den Link geben, wo ich zur Umsetzung beginnen kann, damit es auch bei mir läuft?!

VIELEN DANK

Ps.: Vielleicht ist es ja auch für den ein oder anderen hilfreich ;-)

Ich hab damit angefangen https://forum.fhem.de/index.php/topic,28123.msg436274.html#msg436274 (https://forum.fhem.de/index.php/topic,28123.msg436274.html#msg436274) und dann rausgeworfen was ich nicht brauche und versucht zu finden (oder durch ausprobieren/anpassen) was fehlt...

VIELEN DANK AN DIESER STELLE AN:    -Stefan-

Anordung, Darstellung, icons etc. habe ich dann allerdings "simpel" per ReadingsGroup gelöst...

Gruß, Joachim

P.S.: wichtig ist, wenn du bei älteren Posts was verwendest auf die "neue" HTTPMOD-Schreibweise umzustellen bzw. zu prüfen, ob die attr-Einträge/-Namen passen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 10 Oktober 2016, 19:52:49
Vielen Dank für den Hinweis. klappt soweit auch hervorragend. Mir ist allerdings aufgefallen das sich manche Sende nicht aktualisieren. Derweilen davon betroffen ist bei mir SAT1 und WDR.  :-[
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 10 Oktober 2016, 20:01:04
Kann ich so nicht nachvollziehen...

Gerade hat sich meine Readingsgroup aktualisiert...

Inkl. SAT1 und WDR...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 18 Oktober 2016, 06:18:39
ist es möglich, bzw. wie wäre es möglich, wenn ich nicht nur die Sender SKY Sport1 & SKY Sport 2 sondern auch die übrigen in meinem EPG haben möchte. Derweilen werden von SKY Sport und SKY Bundesliga nur die ersten beiden Kanäle ausgewiesen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 01 November 2016, 21:34:57
Zitat von: bjoernbo am 18 Oktober 2016, 06:18:39
ist es möglich, bzw. wie wäre es möglich, wenn ich nicht nur die Sender SKY Sport1 & SKY Sport 2 sondern auch die übrigen in meinem EPG haben möchte. Derweilen werden von SKY Sport und SKY Bundesliga nur die ersten beiden Kanäle ausgewiesen?

Hi bjoernbo

Bist du diesbezüglich schon weiter? Ich habe in den User Demos der Tablet UI gesehen, das du die Sky Sender in deine mobile ansicht untergebracht hast,und dachte ich frage mal.
Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 02 November 2016, 18:36:21
Hey, nein leider nicht! also, was das EPG betrifft. Die unterschiedlichen Sonderlogos verwende ich nur zur Ansteuerung des Kanals. Im EPG habe ich lediglich nur SKY Sport 1 und SKY Bundesliga1. Mehr leider nicht!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 02 November 2016, 21:07:34
Schade..Ich habe auch darüber nachgedacht,dies so wie du in meine Tablet UI Zu integrieren,allerdings geht mir der Sinn verloren,wenn ich nicht auch gleich sehen kann,wer z.B. auf welchem Sender gerade spielt. Ich denke das Problem ist einfach,dass "Klick"  keine Programminfos über die kompletten Sky Sender liefert..Vll findet sich ja noch jemand,der die kompletten Sky Sender wie auch immer in Fhem eingebunden hat..
Mfg
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 03 November 2016, 06:57:41
Ja, dass nervt mich auch. Bei Sky hat man ja einen Tv-Guide, den man auch ganz ohne Anmeldung einsehen kann. http://www.sky.de/tvguide-7599 (http://www.sky.de/tvguide-7599). Man bräuchte "nur" ein Modul in welchem man mitteilt, welche Sender man alles als reading erhalten will.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 18 November 2016, 21:36:39
Hi, kann ich in der rd auch die angezeigte Textlänge angeben? Je nach Sendung sind die Namen der Sendungen sehr unterschiedlich, so das es immer wieder andere größen gibt.

Kann ich das irgendwie definieren, z.b. nur X Zeichen?

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Yil am 04 Dezember 2016, 12:21:43
Hi zusammen,

vielleicht habe ich die Lösung hier auch noch nicht gesehen, aber ich bekomme seit der Inbetriebnahme folgende Meldung im Log:

2016.12.04 05:30:26 3: TV_Programme: the attribute readingsName_ARD should no longer be used. Please use reading01Name syntax instead
2016.12.04 05:30:26 3: TV_Programme: For most old attributes you can specify enableControlSet and then set device upgradeAttributes to automatically modify the configuration


Gibt es dazu schon etwas Neues?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 04 Dezember 2016, 14:32:27
Hi Yil,

was neues??

Eigentlich ganz alter Hut...

die Einträge bei HTTPMOD müssen jetzt halt so lauten:


attr httpmod_TV_EPG_aktuell reading01Name ARD
attr httpmod_TV_EPG_aktuell reading01Regex title="ARD"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>


statt 'readingsName_ARD'

Siehe auch Commandref bzgl. HTTPMOD...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Yil am 05 Dezember 2016, 19:14:08
Perfekt, danke - mit HTTPMOD hatte ich bislang wenig zu tun.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 16 Dezember 2016, 08:58:51
Kann mir jemand veraten, wie das reading aussshen muss, damit ich auch die "Bilder" mit einbinden kann? Ich meine das Bild, was immer zu einer Sendung mit angezeigt wird.

Würde dass dann gerne auch später im FTUI einbinden.

DANKE
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 21 Dezember 2016, 09:23:48
Möchte meine Frage nochmal anstoßen.

Wie muss das reading aussehen damit ich das epgImage auslesen kann und schlußendlich in FTUI einbinden kann?

Danke.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 26 Dezember 2016, 19:05:22
Hi,
klappt denn dein TV_Programm denn grundsätzlich in Fhem?

Ich hab die redingsGroup einfach in der FTUI dargestellt:

<!-- ========= TV Programm ========== -->
<!-- ====================================== -->
<li data-row="2" data-col="5" data-sizex="4" data-sizey="5">
    <header class="headerTransparent">TV Programm</header>
    <div data-type="readingsgroup" data-device="TV_Programm" data-max-update="86400"></div>

</li>


Ich habe aber auch mal noch ein Problem, das Umschalten auf aktuelle Sender funktioniert Problemlos, allerdings leider nicht das Umschalten auf Spätere Sendungen, wenn ich in der rd eine Nachdolgende Sendung anklicke, dann kommt im Log:

2016.12.26 19:06:35.838 0: Übergebener channel: 13THSTREET_next
2016.12.26 19:06:35.839 0: channel ohne _time: 13THSTREET_next
2016.12.26 19:06:35.840 0: lcchannel: 13thstreet
2016.12.26 19:06:35.840 0: channel aus channellist: 13th_Street
2016.12.26 19:06:35.854 3: delete VU_Ultimo.Senderwechsel.at : Please define VU_Ultimo.Senderwechsel.at first
2016.12.26 19:13:22.324 0: Übergebener channel: 13THSTREET_next
2016.12.26 19:13:22.325 0: channel ohne _time: 13THSTREET_next
2016.12.26 19:13:22.325 0: lcchannel: 13thstreet
2016.12.26 19:13:22.325 0: channel aus channellist: 13th_Street

aber es wird dann nicht wie es sein sollte (in dem Beispiel um 19:25) aufden Sender umgeschaltet.

Für mich sieht es so aus, als ob das notify zwar den Sender (Dummy) richtig setzt zum Umschalten
Internals:
   NAME       Senderwechsel
   NR         161
   STATE      13THSTREET_next
   TYPE       dummy
   Helper:
     Dblog:
       State:
         Mydblog:
           TIME       1482778598.10544
           VALUE      13THSTREET_next
   Readings:
     2016-12-26 19:56:37   state           13THSTREET_next
Attributes:
   group      TV_Programm
   room       Wohnzimmer
   setList    ARD ZDF SAT.1 RTL rtl2 Pro7 VOX KABEL1 Sport1 13th_Street


allerdings das at für die Umschaltzeit nicht, steht immer auf 00:00
Internals:
   CFGFN
   COMMAND    set VU_Ultimo channel 13th_Street
   DEF        2016-12-27T00:00:00 set VU_Ultimo channel 13th_Street
   NAME       VU_Ultimo.Senderwechsel.at
   NR         526134
   PERIODIC   no
   RELATIVE   no
   STATE      Next: 00:00:00
   TIMESPEC   00:00
   TRIGGERTIME 1482793200
   TRIGGERTIME_FMT 2016-12-27 00:00:00
   TYPE       at
   VOLATILE   1
   Helper:
     Dblog:
       Next:
         Mydblog:
           TIME       1482778597.90739
           VALUE      00:00:00
   Readings:
     2016-12-26 19:56:37   state           Next: 00:00:00
Attributes:
   room       Wohnzimmer


das notify sieht so aus:
Internals:
   DEF        Senderwechsel.* {switchChannel($EVENT)}
   NAME       Senderwechsel.nf
   NR         162
   NTFY_ORDER 50-Senderwechsel.nf
   REGEXP     Senderwechsel.*
   STATE      2016-12-26 19:56:37
   TYPE       notify
   Readings:
     2016-12-11 15:05:48   state           active
Attributes:
   group      TV_Programm
   room       Wohnzimmer

Einer eine idee was da falsch sein könnte?

der Part in meiner 99_MyUtils.pm sieht so aus:
{
      $command =~ s/;/;;/g;
      fhem('delete '.$TVDevice.'.Senderwechsel.at');
      fhem('define '.$TVDevice.'.Senderwechsel.at at '.ReadingsVal('TV_Programme_next', $channel.'_next_time', '00:00').' '.$command);
      fhem('attr '.$TVDevice.'.Senderwechsel.at room Wohnzimmer');
    }
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: EnderPhilipp am 04 Januar 2017, 21:49:10
Hi,

hat wer eine funktionierende Möglichkeit das TV-Programm in FHEM zu integrieren ?
Das HTTPMOD aus dem ersten Post funktioniert bei mir nicht  :-[

Mfg
Philipp
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 04 Januar 2017, 21:54:49
Zitat von: EnderPhilipp am 04 Januar 2017, 21:49:10
Hi,

hat wer eine funktionierende Möglichkeit das TV-Programm in FHEM zu integrieren ?
Das HTTPMOD aus dem ersten Post funktioniert bei mir nicht  :-[

Mfg
Philipp

Grüße

Ich habe folgendes in meiner config stehen.


define TV_ProgrammePT HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-0/all.html 900
attr TV_ProgrammePT userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Name reading109Regex reading10Name reading10Regex reading110Name reading110Regex reading111Name reading111Regex reading112Name reading112Regex reading113Name reading113Regex reading114Name reading114Regex reading115Name reading115Regex reading116Name reading116Regex reading117Name reading117Regex reading118Name reading118Regex reading119Name reading119Regex reading11Name reading11Regex reading120Name reading120Regex reading121Name reading121Regex reading122Name reading122Regex reading123Name reading123Regex reading124Name reading124Regex reading125Name reading125Regex reading126Name reading126Regex reading127Name reading127Regex reading128Name reading128Regex reading129Name reading129Regex reading12Name reading12Regex reading130Name reading130Regex reading131Name reading131Regex reading132Name reading132Regex reading133Name reading133Regex reading134Name reading134Regex reading135Name reading135Regex reading136Name reading136Regex reading137Regex reading138Name reading138Regex reading139Name reading139Regex reading13Name reading13Regex reading140Name reading140Regex reading141Name reading141Regex reading142Name reading142Regex reading143Name reading143Regex reading144Name reading144Regex reading145Name reading145Regex reading146Name reading146Regex reading147Name reading147Regex reading148Name reading148Regex reading149Name reading149Regex reading14Name reading14Regex reading150Name reading150Regex reading151Name reading151Regex reading152Name reading152Regex reading153Name reading153Regex reading154Regex reading155Name reading155Regex reading156Name reading156Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Name reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex reading98Name reading98Regex reading99Name reading99Regex readingsName_ORF3PT readingsName_ORF3PT_Next readingsName_ORF3PT_Nexttime readingsName_ORF3PT_Starttime stateFormat timeout verbose
attr TV_ProgrammePT enableControlSet 1
attr TV_ProgrammePT reading01Name MDRPT
attr TV_ProgrammePT reading01Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading02Name NTVPT_Nexttime
attr TV_ProgrammePT reading02Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading03Name SRF1PT
attr TV_ProgrammePT reading03Regex title="Schweiz 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading04Name SERVUSTVPT_Nexttime
attr TV_ProgrammePT reading04Regex title="Servus TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading05Name Pro7PT_Next
attr TV_ProgrammePT reading05Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading06Name ZDFPT_Next
attr TV_ProgrammePT reading06Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading07Name Sat1PT_Nexttime
attr TV_ProgrammePT reading07Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading08Name SERVUSTVPT_Next
attr TV_ProgrammePT reading08Regex title="Servus TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading09Name ORF1PT
attr TV_ProgrammePT reading09Regex title="ORF 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading100Name EINSPLUSPT_Starttime
attr TV_ProgrammePT reading100Regex title="Eins Plus"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading101Name SWRPT_Next
attr TV_ProgrammePT reading101Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading102Name VOXPT_Next
attr TV_ProgrammePT reading102Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading103Name RTL2PT_Next
attr TV_ProgrammePT reading103Regex title="RTL 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading104Name ATV2PT_Starttime
attr TV_ProgrammePT reading104Regex title="ATV 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading105Name Pro7MaxxPT
attr TV_ProgrammePT reading105Regex title="Pro7 Maxx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading106Name ZDFPT_Nexttime
attr TV_ProgrammePT reading106Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading107Name EINSPLUSPT_Nexttime
attr TV_ProgrammePT reading107Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading108Name EINSFESTIVALPT
attr TV_ProgrammePT reading108Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading109Name ATVPT_Next
attr TV_ProgrammePT reading109Regex title="ATV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading10Name MDRPT_Nexttime
attr TV_ProgrammePT reading10Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading110Name HRPT_Starttime
attr TV_ProgrammePT reading110Regex title="HR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading111Name N24PT
attr TV_ProgrammePT reading111Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading112Name DMAXPT_Starttime
attr TV_ProgrammePT reading112Regex title="DMAX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading113Name RTLNITROPT
attr TV_ProgrammePT reading113Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading114Name ORF2PT_Nexttime
attr TV_ProgrammePT reading114Regex title="ORF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading115Name PHOENIXPT
attr TV_ProgrammePT reading115Regex title="Phoenix"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading116Name N24PT_Nexttime
attr TV_ProgrammePT reading116Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading117Name DREISATPT_Nexttime
attr TV_ProgrammePT reading117Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading118Name SWRPT_Starttime
attr TV_ProgrammePT reading118Regex title="SWR RP"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading119Name EINSPLUSPT
attr TV_ProgrammePT reading119Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading11Name ATV2PT_Next
attr TV_ProgrammePT reading11Regex title="ATV 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading120Name DMAXPT
attr TV_ProgrammePT reading120Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading121Name SRF1PT_Next
attr TV_ProgrammePT reading121Regex title="Schweiz 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading122Name ARDPT_Next
attr TV_ProgrammePT reading122Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading123Name SRF2PT_Starttime
attr TV_ProgrammePT reading123Regex title="Schweiz 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading124Name Kabel1PT_Starttime
attr TV_ProgrammePT reading124Regex title="Kabel eins"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading125Name PHOENIXPT_Starttime
attr TV_ProgrammePT reading125Regex title="Phoenix"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading126Name ARTEPT
attr TV_ProgrammePT reading126Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading127Name SERVUSTVPT_Starttime
attr TV_ProgrammePT reading127Regex title="Servus TV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading128Name SIXXPT_Nexttime
attr TV_ProgrammePT reading128Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading129Name RTLPT
attr TV_ProgrammePT reading129Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading12Name EINSFESTIVALPT_Next
attr TV_ProgrammePT reading12Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading130Name RBBPT
attr TV_ProgrammePT reading130Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading131Name BRPT_Next
attr TV_ProgrammePT reading131Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading132Name ZDFNEOPT_Next
attr TV_ProgrammePT reading132Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading133Name NDRPT
attr TV_ProgrammePT reading133Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading134Name NDRPT_Nexttime
attr TV_ProgrammePT reading134Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading135Name SWRPT_Nexttime
attr TV_ProgrammePT reading135Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading136Name SUPERRTLPT_Nexttime
attr TV_ProgrammePT reading136Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading137Regex title="ORF 3"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading138Name DREISATPT
attr TV_ProgrammePT reading138Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading139Name PHOENIXPT_Next
attr TV_ProgrammePT reading139Regex title="Phoenix"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading13Name ZDFPT_Starttime
attr TV_ProgrammePT reading13Regex title="ZDF"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading140Name RTL2PT_Nexttime
attr TV_ProgrammePT reading140Regex title="RTL 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading141Name RTLPT_Next
attr TV_ProgrammePT reading141Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading142Name VOXPT_Starttime
attr TV_ProgrammePT reading142Regex title="VOX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading143Name RTLPT_Nexttime
attr TV_ProgrammePT reading143Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading144Name Pro7MaxxPT_Next
attr TV_ProgrammePT reading144Regex title="Pro7 Maxx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading145Name ATV2PT_Nexttime
attr TV_ProgrammePT reading145Regex title="ATV 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading146Name ARTEPT_Nexttime
attr TV_ProgrammePT reading146Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading147Name WDRPT
attr TV_ProgrammePT reading147Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading148Name DMAXPT_Nexttime
attr TV_ProgrammePT reading148Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading149Name ARTEPT_Next
attr TV_ProgrammePT reading149Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading14Name SRF2PT_Nexttime
attr TV_ProgrammePT reading14Regex title="Schweiz 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading150Name VOXPT_Nexttime
attr TV_ProgrammePT reading150Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading151Name DREISATPT_Next
attr TV_ProgrammePT reading151Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading152Name MDRPT_Starttime
attr TV_ProgrammePT reading152Regex title="MDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading153Name Kabel1PT
attr TV_ProgrammePT reading153Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading154Regex title="ORF 3"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading155Name Pro7PT_Nexttime
attr TV_ProgrammePT reading155Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading156Name SUPERRTLPT_Next
attr TV_ProgrammePT reading156Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading15Name ARDALPHAPT_Starttime
attr TV_ProgrammePT reading15Regex title="ARD ALPHA"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading16Name Kabel1PT_Next
attr TV_ProgrammePT reading16Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading17Name ZDFPT
attr TV_ProgrammePT reading17Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading18Name N24PT_Next
attr TV_ProgrammePT reading18Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading19Name Sat1PT
attr TV_ProgrammePT reading19Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading20Name ATV2PT
attr TV_ProgrammePT reading20Regex title="ATV 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading21Name DREISATPT_Starttime
attr TV_ProgrammePT reading21Regex title="3sat"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading22Name ORF2PT
attr TV_ProgrammePT reading22Regex title="ORF 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading23Name ATVPT_Starttime
attr TV_ProgrammePT reading23Regex title="ATV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading24Name SIXXPT
attr TV_ProgrammePT reading24Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading25Name NTVPT_Starttime
attr TV_ProgrammePT reading25Regex title="N-TV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading26Name WDRPT_Nexttime
attr TV_ProgrammePT reading26Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading27Name SRF2PT_Next
attr TV_ProgrammePT reading27Regex title="Schweiz 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading28Name WDRPT_Starttime
attr TV_ProgrammePT reading28Regex title="WDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading29Name SUPERRTLPT_Starttime
attr TV_ProgrammePT reading29Regex title="Super RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading30Name PHOENIXPT_Nexttime
attr TV_ProgrammePT reading30Regex title="Phoenix"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading31Name SRF1PT_Starttime
attr TV_ProgrammePT reading31Regex title="Schweiz 1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading32Name RTLNITROPT_Starttime
attr TV_ProgrammePT reading32Regex title="RTL NITRO"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading33Name HRPT
attr TV_ProgrammePT reading33Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading34Name ATVPT
attr TV_ProgrammePT reading34Regex title="ATV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading35Name EINSPLUSPT_Next
attr TV_ProgrammePT reading35Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading36Name PULS4PT_Next
attr TV_ProgrammePT reading36Regex title="Puls 4"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading37Name EINSFESTIVALPT_Starttime
attr TV_ProgrammePT reading37Regex title="EinsFestival"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading38Name ARDALPHAPT_Nexttime
attr TV_ProgrammePT reading38Regex title="ARD ALPHA"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading39Name ZDFINFOPT
attr TV_ProgrammePT reading39Regex title="ZDF info"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading40Name ARDALPHAPT_Next
attr TV_ProgrammePT reading40Regex title="ARD ALPHA"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading41Name ORF1PT_Next
attr TV_ProgrammePT reading41Regex title="ORF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading42Name RBBPT_Next
attr TV_ProgrammePT reading42Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading43Name RTLPT_Starttime
attr TV_ProgrammePT reading43Regex title="RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading44Name NDRPT_Starttime
attr TV_ProgrammePT reading44Regex title="NDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading45Name SIXXPT_Next
attr TV_ProgrammePT reading45Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading46Name ORF1PT_Starttime
attr TV_ProgrammePT reading46Regex title="ORF 1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading47Name SUPERRTLPT
attr TV_ProgrammePT reading47Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading48Name PULS4PT
attr TV_ProgrammePT reading48Regex title="Puls 4"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading49Name ARDALPHAPT
attr TV_ProgrammePT reading49Regex title="ARD ALPHA"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading50Name BRPT
attr TV_ProgrammePT reading50Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading51Name ATVPT_Nexttime
attr TV_ProgrammePT reading51Regex title="ATV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading52Name ZDFNEOPT_Starttime
attr TV_ProgrammePT reading52Regex title="ZDF neo"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading53Name ZDFNEOPT_Nexttime
attr TV_ProgrammePT reading53Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading54Name EINSFESTIVALPT_Nexttime
attr TV_ProgrammePT reading54Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading55Name RBBPT_Starttime
attr TV_ProgrammePT reading55Regex title="RBB"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading56Name NTVPT
attr TV_ProgrammePT reading56Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading57Name RTLNITROPT_Nexttime
attr TV_ProgrammePT reading57Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading58Name SERVUSTVPT
attr TV_ProgrammePT reading58Regex title="Servus TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading59Regex title="ORF 3"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading60Name Pro7PT
attr TV_ProgrammePT reading60Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading61Name SIXXPT_Starttime
attr TV_ProgrammePT reading61Regex title="sixx"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading62Name Pro7MaxxPT_Starttime
attr TV_ProgrammePT reading62Regex title="Pro7 Maxx"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading63Name ARTEPT_Starttime
attr TV_ProgrammePT reading63Regex title="ARTE"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading64Name RBBPT_Nexttime
attr TV_ProgrammePT reading64Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading65Name MDRPT_Next
attr TV_ProgrammePT reading65Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading66Name RTL2PT
attr TV_ProgrammePT reading66Regex title="RTL 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading67Name ZDFINFOPT_Starttime
attr TV_ProgrammePT reading67Regex title="ZDF info"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading68Name DMAXPT_Next
attr TV_ProgrammePT reading68Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading69Name SWRPT
attr TV_ProgrammePT reading69Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading70Name VOXPT
attr TV_ProgrammePT reading70Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading71Name Pro7MaxxPT_Nexttime
attr TV_ProgrammePT reading71Regex title="Pro7 Maxx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading72Name NTVPT_Next
attr TV_ProgrammePT reading72Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading73Name BRPT_Nexttime
attr TV_ProgrammePT reading73Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading74Name ARDPT_Nexttime
attr TV_ProgrammePT reading74Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading75Regex title="ORF 3"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading76Name RTL2PT_Starttime
attr TV_ProgrammePT reading76Regex title="RTL 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading77Name N24PT_Starttime
attr TV_ProgrammePT reading77Regex title="N24"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading78Name ARDPT
attr TV_ProgrammePT reading78Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading79Name Sat1PT_Starttime
attr TV_ProgrammePT reading79Regex title="SAT.1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading80Name Kabel1PT_Nexttime
attr TV_ProgrammePT reading80Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading81Name ZDFNEOPT
attr TV_ProgrammePT reading81Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading82Name Pro7PT_Starttime
attr TV_ProgrammePT reading82Regex title="Pro7"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading83Name ORF1PT_Nexttime
attr TV_ProgrammePT reading83Regex title="ORF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading84Name ORF2PT_Next
attr TV_ProgrammePT reading84Regex title="ORF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading85Name SRF2PT
attr TV_ProgrammePT reading85Regex title="Schweiz 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading86Name ARDPT_Starttime
attr TV_ProgrammePT reading86Regex title="ARD"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading87Name ZDFINFOPT_Nexttime
attr TV_ProgrammePT reading87Regex title="ZDF info"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading88Name PULS4PT_Nexttime
attr TV_ProgrammePT reading88Regex title="Puls 4"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading89Name HRPT_Nexttime
attr TV_ProgrammePT reading89Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading90Name SRF1PT_Nexttime
attr TV_ProgrammePT reading90Regex title="Schweiz 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading91Name Sat1PT_Next
attr TV_ProgrammePT reading91Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading92Name ZDFINFOPT_Next
attr TV_ProgrammePT reading92Regex title="ZDF info"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading93Name RTLNITROPT_Next
attr TV_ProgrammePT reading93Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading94Name HRPT_Next
attr TV_ProgrammePT reading94Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading95Name ORF2PT_Starttime
attr TV_ProgrammePT reading95Regex title="ORF 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading96Name PULS4PT_Starttime
attr TV_ProgrammePT reading96Regex title="Puls 4"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading97Name WDRPT_Next
attr TV_ProgrammePT reading97Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading98Name BRPT_Starttime
attr TV_ProgrammePT reading98Regex title="Bayern"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading99Name NDRPT_Next
attr TV_ProgrammePT reading99Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT room TV Program
attr TV_ProgrammePT stateFormat mein_TV_programmPT: ARDPT_Next
attr TV_ProgrammePT timeout 20
attr TV_ProgrammePT verbose 1


Sind zwar nur die Standart Sender, aber mir reicht es.

Lg
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: EnderPhilipp am 04 Januar 2017, 22:27:53
Danke, das geht.

Das ist aber immer nur die PrimeTime, oder?

Hat denn wer auch was, was das aktuelle Programm anzeigt ?  ;D

Mfg
Philipp ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DodiHudori am 25 Januar 2017, 18:23:13
da ich mir hier selbst viel abgeguckt habe, dann aber doch noch einwenig basteln musste hier mal mein "Komplettpaket":

fhem.cfg:

[code]##########################
###########################
#---------Start:Fernsehprogram---------
#Get Current TV Show
define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Name reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Name reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex stateFormat timeout verbose
attr TV_Programme enableControlSet 1
attr TV_Programme reading01Name RTL_Nexttime
attr TV_Programme reading01Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading02Name N24
attr TV_Programme reading02Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading03Name COMEDYCENTRAL_Nexttime
attr TV_Programme reading03Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading04Name SWR
attr TV_Programme reading04Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading05Name EINSFESTIVAL_Next
attr TV_Programme reading05Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading06Name DMAX_Next
attr TV_Programme reading06Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading07Name Pro7_Next
attr TV_Programme reading07Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading08Name BR_Next
attr TV_Programme reading08Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading09Name BR
attr TV_Programme reading09Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading10Name N24_Next
attr TV_Programme reading10Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading11Name ARD
attr TV_Programme reading11Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading12Name DMAX_Nexttime
attr TV_Programme reading12Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading13Name ZDF_Next
attr TV_Programme reading13Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading14Name Kabel1_Next
attr TV_Programme reading14Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading15Name Pro7_Nexttime
attr TV_Programme reading15Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading16Name SUPERRTL_Nexttime
attr TV_Programme reading16Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading17Name VOX_Next
attr TV_Programme reading17Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading18Name SIXX_Next
attr TV_Programme reading18Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading19Name SPORT1_Nexttime
attr TV_Programme reading19Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading20Name EUROSPORT_Next
attr TV_Programme reading20Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading21Name SAT1GOLD_Nexttime
attr TV_Programme reading21Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading22Name SAT1GOLD_Next
attr TV_Programme reading22Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading23Name Pro7
attr TV_Programme reading23Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading24Name ARTE_Next
attr TV_Programme reading24Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading25Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading26Name EINSPLUS_Next
attr TV_Programme reading26Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading27Name SWR_Nexttime
attr TV_Programme reading27Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading28Name MDR
attr TV_Programme reading28Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading29Name SPORT1_Next
attr TV_Programme reading29Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading30Name NTV_Nexttime
attr TV_Programme reading30Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading31Name ARD_Nexttime
attr TV_Programme reading31Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading32Name Sat1_Next
attr TV_Programme reading32Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading33Name SUPERRTL
attr TV_Programme reading33Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading34Name NDR
attr TV_Programme reading34Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading35Name SWR_Next
attr TV_Programme reading35Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading36Name RTLNITRO_Next
attr TV_Programme reading36Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading37Name RBB
attr TV_Programme reading37Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading38Name Kabel1_Nexttime
attr TV_Programme reading38Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading39Name SAT1GOLD
attr TV_Programme reading39Regex title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading40Name SPORT1
attr TV_Programme reading40Regex title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading41Name NDR_Next
attr TV_Programme reading41Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading42Name RTL2
attr TV_Programme reading42Regex title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading43Name WDR
attr TV_Programme reading43Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading44Name RTL2_Next
attr TV_Programme reading44Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading45Name TELE5_Nexttime
attr TV_Programme reading45Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading46Name TELE5
attr TV_Programme reading46Regex title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading47Name DMAX
attr TV_Programme reading47Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading48Name MDR_Next
attr TV_Programme reading48Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading49Name ZDFNEO
attr TV_Programme reading49Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading50Name EINSFESTIVAL_Nexttime
attr TV_Programme reading50Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading51Name EINSPLUS_Nexttime
attr TV_Programme reading51Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading52Name ZDF_Nexttime
attr TV_Programme reading52Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading53Name VOX_Nexttime
attr TV_Programme reading53Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading54Name RTLNITRO
attr TV_Programme reading54Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading55Name COMEDYCENTRAL_Next
attr TV_Programme reading55Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading56Name WDR_Nexttime
attr TV_Programme reading56Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading57Name ZDF
attr TV_Programme reading57Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading58Name Sat1
attr TV_Programme reading58Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading59Name ARD_Next
attr TV_Programme reading59Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading60Name RTL2_Nexttime
attr TV_Programme reading60Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading61Name HR
attr TV_Programme reading61Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading62Name RTL
attr TV_Programme reading62Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading63Name ZDFNEO_Nexttime
attr TV_Programme reading63Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading64Name Kabel1
attr TV_Programme reading64Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading65Name RTL_Next
attr TV_Programme reading65Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading66Name MDR_Nexttime
attr TV_Programme reading66Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading67Name N24_Nexttime
attr TV_Programme reading67Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading68Name VOX
attr TV_Programme reading68Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading69Name EINSFESTIVAL
attr TV_Programme reading69Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading70Name SIXX
attr TV_Programme reading70Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading71Name RBB_Nexttime
attr TV_Programme reading71Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading72Name NTV_Next
attr TV_Programme reading72Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading73Name DREISAT_Nexttime
attr TV_Programme reading73Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading74Name BR_Nexttime
attr TV_Programme reading74Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading75Name HR_Next
attr TV_Programme reading75Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading76Name EUROSPORT
attr TV_Programme reading76Regex title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading77Name WDR_Next
attr TV_Programme reading77Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading78Name RBB_Next
attr TV_Programme reading78Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading79Name ZDFNEO_Next
attr TV_Programme reading79Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading80Name RTLNITRO_Nexttime
attr TV_Programme reading80Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading81Name SIXX_Nexttime
attr TV_Programme reading81Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading82Name Sat1_Nexttime
attr TV_Programme reading82Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading83Name NTV
attr TV_Programme reading83Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading84Name ARTE_Nexttime
attr TV_Programme reading84Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading85Name DREISAT_Next
attr TV_Programme reading85Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading86Name EUROSPORT_Nexttime
attr TV_Programme reading86Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading87Name NDR_Nexttime
attr TV_Programme reading87Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading88Name ARTE
attr TV_Programme reading88Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading89Name HR_Nexttime
attr TV_Programme reading89Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading90Name EINSPLUS
attr TV_Programme reading90Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading91Name COMEDYCENTRAL
attr TV_Programme reading91Regex title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading92Name DREISAT
attr TV_Programme reading92Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading93Name SUPERRTL_Next
attr TV_Programme reading93Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading94Name TELE5_Next
attr TV_Programme reading94Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading95Name SONNENKLARTV
attr TV_Programme reading95Regex title="Sonnenklar TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading96Name SONNENKLARTV_Next
attr TV_Programme reading96Regex title="Sonnenklar TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading97Name SONNENKLARTV_Nexttime
attr TV_Programme reading97Regex title="Sonnenklar TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1
#########
########



define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:SPORT1,SPORT1_Nexttime,SPORT1_Next \
TV_Programme:EUROSPORT,EUROSPORT_Nexttime,EUROSPORT_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:N24,N24_Nexttime,N24_Next \
TV_Programme:NTV,NTV_Nexttime,NTV_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:MDR,MDR_Nexttime,MDR_Next \
TV_Programme:BR,BR_Nexttime,BR_Next \
TV_Programme:HR,HR_Nexttime,HR_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:TELE5,TELE5_Nexttime,TELE5_Next \
TV_Programme:DREISAT,DREISAT_Nexttime,DREISAT_Next \
TV_Programme:ARTE,ARTE_Nexttime,ARTE_Next \
TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \
TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next \
TV_Programme:COMEDYCENTRAL,COMEDYCENTRAL_Nexttime,COMEDYCENTRAL_Next\
TV_Programme:SONNENKLARTV,SONNENKLARTV_Nexttime,SONNENKLARTV_Next
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', DMAX => 'tvmovie/tvlogo_dmax_s', SUPERRTL => 'tvmovie/tvlogo_super_rtl_logo', NDR => 'tvmovie/tvlogo_ndr_s', BR => 'tvmovie/tvlogo_br_l', HR => 'tvmovie/tvlogo_hr_s', MDR => 'tvmovie/tvlogo_mdr_s', RBB => 'tvmovie/tvlogo_rbb-brandenburg_s', SWR => 'tvmovie/tvlogo_swr_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', TELE5 => 'tvmovie/tvlogo_tele-5_s', DREISAT => 'tvmovie/tvlogo_3sat_s', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s', SPORT1 => 'tvmovie/sport1', EUROSPORT => 'tvmovie/eurosport', N24 => 'tvmovie/n24', COMEDYCENTRAL => 'tvmovie/comedy_central', ARTE => 'tvmovie/tvlogo_arte_s', NTV => 'tvmovie/tvlogo_ntv_s', SONNENKLARTV => 'tvmovie/tv'}
attr TV_Programm_Next nameStyle style="color:grey"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}


################################################################################################################################

# Programm zur Primetime

define TV_ProgrammePT HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-0/all.html 300
attr TV_ProgrammePT userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Name reading109Regex reading10Name reading10Regex reading110Name reading110Regex reading111Name reading111Regex reading112Name reading112Regex reading113Name reading113Regex reading114Name reading114Regex reading115Name reading115Regex reading116Name reading116Regex reading117Name reading117Regex reading118Name reading118Regex reading119Name reading119Regex reading11Name reading11Regex reading120Name reading120Regex reading121Name reading121Regex reading122Name reading122Regex reading123Name reading123Regex reading124Name reading124Regex reading125Name reading125Regex reading126Name reading126Regex reading127Name reading127Regex reading128Name reading128Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Name reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Name reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Name reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex reading98Name reading98Regex reading99Name reading99Regex
attr TV_ProgrammePT enableControlSet 1
attr TV_ProgrammePT reading01Name ARDPT
attr TV_ProgrammePT reading01Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading02Name TELE5PT_Next
attr TV_ProgrammePT reading02Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading03Name EUROSPORTPT_Starttime
attr TV_ProgrammePT reading03Regex title="Eurosport"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading04Name MDRPT_Starttime
attr TV_ProgrammePT reading04Regex title="MDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading05Name SONNENKLARTVPT_Next
attr TV_ProgrammePT reading05Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading06Name TELE5PT
attr TV_ProgrammePT reading06Regex title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading07Name SONNENKLARTVPT_Starttime
attr TV_ProgrammePT reading07Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading08Name DMAXPT
attr TV_ProgrammePT reading08Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading09Name Sat1PT_Starttime
attr TV_ProgrammePT reading09Regex title="SAT.1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading100Name WDRPT_Starttime
attr TV_ProgrammePT reading100Regex title="WDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading101Name HRPT_Nexttime
attr TV_ProgrammePT reading101Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading102Name ARTEPT_Nexttime
attr TV_ProgrammePT reading102Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading103Name SWRPT_Starttime
attr TV_ProgrammePT reading103Regex title="SWR RP"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading104Name BRPT
attr TV_ProgrammePT reading104Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading105Name RBBPT_Next
attr TV_ProgrammePT reading105Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading106Name NDRPT_Nexttime
attr TV_ProgrammePT reading106Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading107Name ZDFPT
attr TV_ProgrammePT reading107Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading108Name VOXPT_Next
attr TV_ProgrammePT reading108Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading109Name SPORT1PT_Next
attr TV_ProgrammePT reading109Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading10Name HRPT
attr TV_ProgrammePT reading10Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading110Name EUROSPORTPT_Next
attr TV_ProgrammePT reading110Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading111Name HRPT_Starttime
attr TV_ProgrammePT reading111Regex title="HR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading112Name TELE5PT_Nexttime
attr TV_ProgrammePT reading112Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading113Name COMEDYCENTRALPT_Starttime
attr TV_ProgrammePT reading113Regex title="Comedy Central"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading114Name RTLNITROPT_Starttime
attr TV_ProgrammePT reading114Regex title="RTL NITRO"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading115Name SPORT1PT
attr TV_ProgrammePT reading115Regex title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading116Name N24PT_Starttime
attr TV_ProgrammePT reading116Regex title="N24"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading117Name DREISATPT
attr TV_ProgrammePT reading117Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading118Name EINSPLUSPT_Next
attr TV_ProgrammePT reading118Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading119Name ZDFNEOPT_Next
attr TV_ProgrammePT reading119Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading11Name RBBPT_Nexttime
attr TV_ProgrammePT reading11Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading120Name SWRPT_Nexttime
attr TV_ProgrammePT reading120Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading121Name SAT1GOLDPT
attr TV_ProgrammePT reading121Regex title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading122Name NTVPT_Starttime
attr TV_ProgrammePT reading122Regex title="N-TV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading123Name Pro7PT_Next
attr TV_ProgrammePT reading123Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading124Name Sat1PT_Next
attr TV_ProgrammePT reading124Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading125Name Kabel1PT_Next
attr TV_ProgrammePT reading125Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading126Name EUROSPORTPT_Nexttime
attr TV_ProgrammePT reading126Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading127Name RTL2PT_Next
attr TV_ProgrammePT reading127Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading128Name SAT1GOLDPT_Nexttime
attr TV_ProgrammePT reading128Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading12Name HRPT_Next
attr TV_ProgrammePT reading12Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading13Name SPORT1PT_Nexttime
attr TV_ProgrammePT reading13Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading14Name SUPERRTLPT
attr TV_ProgrammePT reading14Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading15Name ZDFPT_Next
attr TV_ProgrammePT reading15Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading16Name DREISATPT_Starttime
attr TV_ProgrammePT reading16Regex title="3sat"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading17Name WDRPT_Next
attr TV_ProgrammePT reading17Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading18Name NTVPT_Nexttime
attr TV_ProgrammePT reading18Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading19Name SIXXPT
attr TV_ProgrammePT reading19Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading20Name SONNENKLARTVPT_Nexttime
attr TV_ProgrammePT reading20Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading21Name ZDFPT_Nexttime
attr TV_ProgrammePT reading21Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading22Name MDRPT_Next
attr TV_ProgrammePT reading22Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading23Name Kabel1PT
attr TV_ProgrammePT reading23Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading24Name ARDPT_Starttime
attr TV_ProgrammePT reading24Regex title="ARD"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading25Name VOXPT_Starttime
attr TV_ProgrammePT reading25Regex title="VOX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading26Name MDRPT
attr TV_ProgrammePT reading26Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading27Name BRPT_Nexttime
attr TV_ProgrammePT reading27Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading28Name RBBPT
attr TV_ProgrammePT reading28Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading29Name COMEDYCENTRALPT_Nexttime
attr TV_ProgrammePT reading29Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading30Name RTL2PT_Nexttime
attr TV_ProgrammePT reading30Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading31Name BRPT_Next
attr TV_ProgrammePT reading31Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading32Name RTLPT_Starttime
attr TV_ProgrammePT reading32Regex title="RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading33Name MDRPT_Nexttime
attr TV_ProgrammePT reading33Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading34Name NDRPT_Next
attr TV_ProgrammePT reading34Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading35Name NDRPT_Starttime
attr TV_ProgrammePT reading35Regex title="NDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading36Name ZDFPT_Starttime
attr TV_ProgrammePT reading36Regex title="ZDF"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading37Name Sat1PT
attr TV_ProgrammePT reading37Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading38Name DREISATPT_Nexttime
attr TV_ProgrammePT reading38Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading39Name SIXXPT_Nexttime
attr TV_ProgrammePT reading39Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading40Name SUPERRTLPT_Nexttime
attr TV_ProgrammePT reading40Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading41Name RTLPT_Next
attr TV_ProgrammePT reading41Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading42Name BRPT_Starttime
attr TV_ProgrammePT reading42Regex title="Bayern"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading43Name EINSPLUSPT
attr TV_ProgrammePT reading43Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading44Name NTVPT
attr TV_ProgrammePT reading44Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading45Name Kabel1PT_Nexttime
attr TV_ProgrammePT reading45Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading46Name ZDFNEOPT_Nexttime
attr TV_ProgrammePT reading46Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading47Name ARTEPT_Starttime
attr TV_ProgrammePT reading47Regex title="ARTE"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading48Name Pro7PT_Nexttime
attr TV_ProgrammePT reading48Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading49Name SPORT1PT_Starttime
attr TV_ProgrammePT reading49Regex title="Sport 1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading50Name RBBPT_Starttime
attr TV_ProgrammePT reading50Regex title="RBB"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading51Name SIXXPT_Starttime
attr TV_ProgrammePT reading51Regex title="sixx"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading52Name RTL2PT
attr TV_ProgrammePT reading52Regex title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading53Name SUPERRTLPT_Next
attr TV_ProgrammePT reading53Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading54Name EINSFESTIVALPT_Starttime
attr TV_ProgrammePT reading54Regex title="EinsFestival"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading55Name EINSPLUSPT_Nexttime
attr TV_ProgrammePT reading55Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading56Name N24PT_Next
attr TV_ProgrammePT reading56Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading57Name VOXPT_Nexttime
attr TV_ProgrammePT reading57Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading58Name N24PT
attr TV_ProgrammePT reading58Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading59Name ZDFNEOPT_Starttime
attr TV_ProgrammePT reading59Regex title="ZDF neo"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading60Name ARTEPT_Next
attr TV_ProgrammePT reading60Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading61Name ARDPT_Nexttime
attr TV_ProgrammePT reading61Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading62Name VOXPT
attr TV_ProgrammePT reading62Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading63Name RTLNITROPT
attr TV_ProgrammePT reading63Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading64Name EINSPLUSPT_Starttime
attr TV_ProgrammePT reading64Regex title="Eins Plus"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading65Name RTLNITROPT_Next
attr TV_ProgrammePT reading65Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading66Name COMEDYCENTRALPT
attr TV_ProgrammePT reading66Regex title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading67Name DMAXPT_Starttime
attr TV_ProgrammePT reading67Regex title="DMAX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading68Name RTL2PT_Starttime
attr TV_ProgrammePT reading68Regex title="RTL II"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading69Name COMEDYCENTRALPT_Next
attr TV_ProgrammePT reading69Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading70Name WDRPT
attr TV_ProgrammePT reading70Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading71Name RTLPT
attr TV_ProgrammePT reading71Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading72Name NDRPT
attr TV_ProgrammePT reading72Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading73Name ARTEPT
attr TV_ProgrammePT reading73Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading74Name Sat1PT_Nexttime
attr TV_ProgrammePT reading74Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading75Name TELE5PT_Starttime
attr TV_ProgrammePT reading75Regex title="TELE 5"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading76Name SAT1GOLDPT_Starttime
attr TV_ProgrammePT reading76Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading77Name SUPERRTLPT_Starttime
attr TV_ProgrammePT reading77Regex title="Super RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading78Name RTLNITROPT_Nexttime
attr TV_ProgrammePT reading78Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading79Name SWRPT_Next
attr TV_ProgrammePT reading79Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading80Name Kabel1PT_Starttime
attr TV_ProgrammePT reading80Regex title="Kabel eins"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading81Name ZDFNEOPT
attr TV_ProgrammePT reading81Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading82Name Pro7PT
attr TV_ProgrammePT reading82Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading83Name SWRPT
attr TV_ProgrammePT reading83Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading84Name SONNENKLARTVPT
attr TV_ProgrammePT reading84Regex title="SONNENKLARTV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading85Name Pro7PT_Starttime
attr TV_ProgrammePT reading85Regex title="Pro7"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading86Name DMAXPT_Nexttime
attr TV_ProgrammePT reading86Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading87Name ARDPT_Next
attr TV_ProgrammePT reading87Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading88Name NTVPT_Next
attr TV_ProgrammePT reading88Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading89Name DREISATPT_Next
attr TV_ProgrammePT reading89Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading90Name DMAXPT_Next
attr TV_ProgrammePT reading90Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading91Name RTLPT_Nexttime
attr TV_ProgrammePT reading91Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading92Name SIXXPT_Next
attr TV_ProgrammePT reading92Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading93Name EINSFESTIVALPT_Next
attr TV_ProgrammePT reading93Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading94Name EINSFESTIVALPT
attr TV_ProgrammePT reading94Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading95Name N24PT_Nexttime
attr TV_ProgrammePT reading95Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading96Name WDRPT_Nexttime
attr TV_ProgrammePT reading96Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading97Name EINSFESTIVALPT_Nexttime
attr TV_ProgrammePT reading97Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading98Name SAT1GOLDPT_Next
attr TV_ProgrammePT reading98Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading99Name EUROSPORTPT
attr TV_ProgrammePT reading99Regex title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT stateFormat mein_TV_programmPT: ARDPT_Next
attr TV_ProgrammePT timeout 20
attr TV_ProgrammePT verbose 1
###
###


define TV_ProgrammPT_Next readingsGroup <Sender>,<Ab>,<Primetime-Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_ProgrammePT:ARDPT_Starttime,ARDPT,ARDPT_Nexttime,ARDPT_Next \
TV_ProgrammePT:ZDFPT_Starttime,ZDFPT,ZDFPT_Nexttime,ZDFPT_Next \
TV_ProgrammePT:RTLPT_Starttime,RTLPT,RTLPT_Nexttime,RTLPT_Next \
TV_ProgrammePT:Pro7PT_Starttime,Pro7PT,Pro7PT_Nexttime,Pro7PT_Next \
TV_ProgrammePT:Sat1PT_Starttime,Sat1PT,Sat1PT_Nexttime,Sat1PT_Next \
TV_ProgrammePT:SPORT1PT_Starttime,SPORT1PT,SPORT1PT_Nexttime,SPORT1PT_Next \
TV_ProgrammePT:EUROSPORTPT_Starttime,EUROSPORTPT,EUROSPORTPT_Nexttime,EUROSPORTPT_Next \
TV_ProgrammePT:DMAXPT_Starttime,DMAXPT,DMAXPT_Nexttime,DMAXPT_Next \
TV_ProgrammePT:N24PT_Starttime,N24PT,N24PT_Nexttime,N24PT_Next \
TV_ProgrammePT:NTVPT_Starttime,NTVPT,NTVPT_Nexttime,NTVPT_Next \
TV_ProgrammePT:Kabel1PT_Starttime,Kabel1PT,Kabel1PT_Nexttime,Kabel1PT_Next \
TV_ProgrammePT:VOXPT_Starttime,VOXPT,VOXPT_Nexttime,VOXPT_Next \
TV_ProgrammePT:RTL2PT_Starttime,RTL2PT,RTL2PT_Nexttime,RTL2PT_Next \
TV_ProgrammePT:SUPERRTLPT_Starttime,SUPERRTLPT,SUPERRTLPT_Nexttime,SUPERRTLPT_Next \
TV_ProgrammePT:NDRPT_Starttime,NDRPT,NDRPT_Nexttime,NDRPT_Next \
TV_ProgrammePT:MDRPT_Starttime,MDRPT,MDRPT_Nexttime,MDRPT_Next \
TV_ProgrammePT:BRPT_Starttime,BRPT,BRPT_Nexttime,BRPT_Next \
TV_ProgrammePT:HRPT_Starttime,HRPT,HRPT_Nexttime,HRPT_Next \
TV_ProgrammePT:RBBPT_Starttime,RBBPT,RBBPT_Nexttime,RBBPT_Next \
TV_ProgrammePT:SWRPT_Starttime,SWRPT,SWRPT_Nexttime,SWRPT_Next \
TV_ProgrammePT:WDRPT_Starttime,WDRPT,WDRPT_Nexttime,WDRPT_Next \
TV_ProgrammePT:ZDFNEOPT_Starttime,ZDFNEOPT,ZDFNEOPT_Nexttime,ZDFNEOPT_Next \
TV_ProgrammePT:RTLNITROPT_Starttime,RTLNITROPT,RTLNITROPT_Nexttime,RTLNITROPT_Next \
TV_ProgrammePT:SAT1GOLDPT_Starttime,SAT1GOLDPT,SAT1GOLDPT_Nexttime,SAT1GOLDPT_Next \
TV_ProgrammePT:SIXXPT_Starttime,SIXXPT,SIXXPT_Nexttime,SIXXPT_Next \
TV_ProgrammePT:TELE5PT_Starttime,TELE5PT,TELE5PT_Nexttime,TELE5PT_Next \
TV_ProgrammePT:DREISATPT_Starttime,DREISATPT,DREISATPT_Nexttime,DREISATPT_Next \
TV_ProgrammePT:ARTEPT_Starttime,ARTEPT,ARTEPT_Nexttime,ARTEPT_Next \
TV_ProgrammePT:EINSPLUSPT_Starttime,EINSPLUSPT,EINSPLUSPT_Nexttime,EINSPLUSPT_Next \
TV_ProgrammePT:EINSFESTIVALPT_Starttime,EINSFESTIVALPT,EINSFESTIVALPT_Nexttime,EINSFESTIVALPT_Next \
TV_ProgrammePT:COMEDYCENTRALPT_Starttime,COMEDYCENTRALPT,COMEDYCENTRALPT_Nexttime,COMEDYCENTRALPT_Next\
TV_ProgrammePT:SONNENKLARTVPT_Starttime,SONNENKLARTVPT,SONNENKLARTVPT_Nexttime,SONNENKLARTVPT_Next
attr TV_ProgrammPT_Next alias TV-Programm zur Primetime
attr TV_ProgrammPT_Next nameIcon { ARDPT_Starttime => 'tvmovie/tvlogo_das-erste_s', ZDFPT_Starttime => 'tvmovie/tvlogo_zdf_s', Pro7PT_Starttime => 'tvmovie/tvlogo_pro7_s', RTLPT_Starttime => 'tvmovie/tvlogo_rtl', Sat1PT_Starttime => 'tvmovie/tvlogo_sat1_s', Kabel1PT_Starttime => 'tvmovie/tvlogo_kabel1_s', VOXPT_Starttime => 'tvmovie/tvlogo_vox_s', RTL2PT_Starttime => 'tvmovie/tvlogo_rtl2_s', DMAXPT_Starttime => 'tvmovie/tvlogo_dmax_s', SUPERRTLPT_Starttime => 'tvmovie/tvlogo_super_rtl_logo', NDRPT_Starttime => 'tvmovie/tvlogo_ndr_s', BRPT_Starttime => 'tvmovie/tvlogo_br_l', HRPT_Starttime => 'tvmovie/tvlogo_hr_s', MDRPT_Starttime => 'tvmovie/tvlogo_mdr_s', RBBPT_Starttime => 'tvmovie/tvlogo_rbb-brandenburg_s', SWRPT_Starttime => 'tvmovie/tvlogo_swr_logo', WDRPT_Starttime => 'tvmovie/tvlogo_wdr_s', ZDFNEOPT_Starttime => 'tvmovie/tvlogo_zdf-neo_s', RTLNITROPT_Starttime => 'tvmovie/rtl_nitro', SAT1GOLDPT_Starttime => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXXPT_Starttime => 'tvmovie/sixx', TELE5PT_Starttime => 'tvmovie/tvlogo_tele-5_s', DREISATPT_&
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 26 Januar 2017, 09:37:02
Zitat von: DodiHudori am 25 Januar 2017, 18:23:13
da ich mir hier selbst viel abgeguckt habe, dann aber doch noch einwenig basteln musste hier mal mein "Komplettpaket":

fhem.cfg:



define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Name reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Name reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex stateFormat timeout verbose
attr TV_Programme enableControlSet 1
attr TV_Programme reading01Name RTL_Nexttime
attr TV_Programme reading01Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading02Name N24
attr TV_Programme reading02Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading03Name COMEDYCENTRAL_Nexttime
attr TV_Programme reading03Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading04Name SWR
attr TV_Programme reading04Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading05Name EINSFESTIVAL_Next
attr TV_Programme reading05Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading06Name DMAX_Next
attr TV_Programme reading06Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading07Name Pro7_Next
attr TV_Programme reading07Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading08Name BR_Next
attr TV_Programme reading08Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading09Name BR
attr TV_Programme reading09Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading10Name N24_Next
attr TV_Programme reading10Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading11Name ARD
attr TV_Programme reading11Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading12Name DMAX_Nexttime
attr TV_Programme reading12Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading13Name ZDF_Next
attr TV_Programme reading13Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading14Name Kabel1_Next
attr TV_Programme reading14Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading15Name Pro7_Nexttime
attr TV_Programme reading15Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading16Name SUPERRTL_Nexttime
attr TV_Programme reading16Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading17Name VOX_Next
attr TV_Programme reading17Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading18Name SIXX_Next
attr TV_Programme reading18Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading19Name SPORT1_Nexttime
attr TV_Programme reading19Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading20Name EUROSPORT_Next
attr TV_Programme reading20Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading21Name SAT1GOLD_Nexttime
attr TV_Programme reading21Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading22Name SAT1GOLD_Next
attr TV_Programme reading22Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading23Name Pro7
attr TV_Programme reading23Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading24Name ARTE_Next
attr TV_Programme reading24Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading25Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading26Name EINSPLUS_Next
attr TV_Programme reading26Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading27Name SWR_Nexttime
attr TV_Programme reading27Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading28Name MDR
attr TV_Programme reading28Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading29Name SPORT1_Next
attr TV_Programme reading29Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading30Name NTV_Nexttime
attr TV_Programme reading30Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading31Name ARD_Nexttime
attr TV_Programme reading31Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading32Name Sat1_Next
attr TV_Programme reading32Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading33Name SUPERRTL
attr TV_Programme reading33Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading34Name NDR
attr TV_Programme reading34Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading35Name SWR_Next
attr TV_Programme reading35Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading36Name RTLNITRO_Next
attr TV_Programme reading36Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading37Name RBB
attr TV_Programme reading37Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading38Name Kabel1_Nexttime
attr TV_Programme reading38Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading39Name SAT1GOLD
attr TV_Programme reading39Regex title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading40Name SPORT1
attr TV_Programme reading40Regex title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading41Name NDR_Next
attr TV_Programme reading41Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading42Name RTL2
attr TV_Programme reading42Regex title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading43Name WDR
attr TV_Programme reading43Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading44Name RTL2_Next
attr TV_Programme reading44Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading45Name TELE5_Nexttime
attr TV_Programme reading45Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading46Name TELE5
attr TV_Programme reading46Regex title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading47Name DMAX
attr TV_Programme reading47Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading48Name MDR_Next
attr TV_Programme reading48Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading49Name ZDFNEO
attr TV_Programme reading49Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading50Name EINSFESTIVAL_Nexttime
attr TV_Programme reading50Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading51Name EINSPLUS_Nexttime
attr TV_Programme reading51Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading52Name ZDF_Nexttime
attr TV_Programme reading52Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading53Name VOX_Nexttime
attr TV_Programme reading53Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading54Name RTLNITRO
attr TV_Programme reading54Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading55Name COMEDYCENTRAL_Next
attr TV_Programme reading55Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading56Name WDR_Nexttime
attr TV_Programme reading56Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading57Name ZDF
attr TV_Programme reading57Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading58Name Sat1
attr TV_Programme reading58Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading59Name ARD_Next
attr TV_Programme reading59Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading60Name RTL2_Nexttime
attr TV_Programme reading60Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading61Name HR
attr TV_Programme reading61Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading62Name RTL
attr TV_Programme reading62Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading63Name ZDFNEO_Nexttime
attr TV_Programme reading63Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading64Name Kabel1
attr TV_Programme reading64Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading65Name RTL_Next
attr TV_Programme reading65Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading66Name MDR_Nexttime
attr TV_Programme reading66Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading67Name N24_Nexttime
attr TV_Programme reading67Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading68Name VOX
attr TV_Programme reading68Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading69Name EINSFESTIVAL
attr TV_Programme reading69Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading70Name SIXX
attr TV_Programme reading70Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading71Name RBB_Nexttime
attr TV_Programme reading71Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading72Name NTV_Next
attr TV_Programme reading72Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading73Name DREISAT_Nexttime
attr TV_Programme reading73Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading74Name BR_Nexttime
attr TV_Programme reading74Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading75Name HR_Next
attr TV_Programme reading75Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading76Name EUROSPORT
attr TV_Programme reading76Regex title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading77Name WDR_Next
attr TV_Programme reading77Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading78Name RBB_Next
attr TV_Programme reading78Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading79Name ZDFNEO_Next
attr TV_Programme reading79Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading80Name RTLNITRO_Nexttime
attr TV_Programme reading80Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading81Name SIXX_Nexttime
attr TV_Programme reading81Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading82Name Sat1_Nexttime
attr TV_Programme reading82Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading83Name NTV
attr TV_Programme reading83Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading84Name ARTE_Nexttime
attr TV_Programme reading84Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading85Name DREISAT_Next
attr TV_Programme reading85Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading86Name EUROSPORT_Nexttime
attr TV_Programme reading86Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading87Name NDR_Nexttime
attr TV_Programme reading87Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading88Name ARTE
attr TV_Programme reading88Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading89Name HR_Nexttime
attr TV_Programme reading89Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading90Name EINSPLUS
attr TV_Programme reading90Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading91Name COMEDYCENTRAL
attr TV_Programme reading91Regex title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading92Name DREISAT
attr TV_Programme reading92Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading93Name SUPERRTL_Next
attr TV_Programme reading93Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading94Name TELE5_Next
attr TV_Programme reading94Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading95Name SONNENKLARTV
attr TV_Programme reading95Regex title="Sonnenklar TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading96Name SONNENKLARTV_Next
attr TV_Programme reading96Regex title="Sonnenklar TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading97Name SONNENKLARTV_Nexttime
attr TV_Programme reading97Regex title="Sonnenklar TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1
#########
########



define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:SPORT1,SPORT1_Nexttime,SPORT1_Next \
TV_Programme:EUROSPORT,EUROSPORT_Nexttime,EUROSPORT_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:N24,N24_Nexttime,N24_Next \
TV_Programme:NTV,NTV_Nexttime,NTV_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:MDR,MDR_Nexttime,MDR_Next \
TV_Programme:BR,BR_Nexttime,BR_Next \
TV_Programme:HR,HR_Nexttime,HR_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:TELE5,TELE5_Nexttime,TELE5_Next \
TV_Programme:DREISAT,DREISAT_Nexttime,DREISAT_Next \
TV_Programme:ARTE,ARTE_Nexttime,ARTE_Next \
TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \
TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next \
TV_Programme:COMEDYCENTRAL,COMEDYCENTRAL_Nexttime,COMEDYCENTRAL_Next\
TV_Programme:SONNENKLARTV,SONNENKLARTV_Nexttime,SONNENKLARTV_Next
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', DMAX => 'tvmovie/tvlogo_dmax_s', SUPERRTL => 'tvmovie/tvlogo_super_rtl_logo', NDR => 'tvmovie/tvlogo_ndr_s', BR => 'tvmovie/tvlogo_br_l', HR => 'tvmovie/tvlogo_hr_s', MDR => 'tvmovie/tvlogo_mdr_s', RBB => 'tvmovie/tvlogo_rbb-brandenburg_s', SWR => 'tvmovie/tvlogo_swr_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', TELE5 => 'tvmovie/tvlogo_tele-5_s', DREISAT => 'tvmovie/tvlogo_3sat_s', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s', SPORT1 => 'tvmovie/sport1', EUROSPORT => 'tvmovie/eurosport', N24 => 'tvmovie/n24', COMEDYCENTRAL => 'tvmovie/comedy_central', ARTE => 'tvmovie/tvlogo_arte_s', NTV => 'tvmovie/tvlogo_ntv_s', SONNENKLARTV => 'tvmovie/tv'}
attr TV_Programm_Next nameStyle style="color:grey"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}


################################################################################################################################

# Programm zur Primetime

define TV_ProgrammePT HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-0/all.html 300
attr TV_ProgrammePT userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Name reading109Regex reading10Name reading10Regex reading110Name reading110Regex reading111Name reading111Regex reading112Name reading112Regex reading113Name reading113Regex reading114Name reading114Regex reading115Name reading115Regex reading116Name reading116Regex reading117Name reading117Regex reading118Name reading118Regex reading119Name reading119Regex reading11Name reading11Regex reading120Name reading120Regex reading121Name reading121Regex reading122Name reading122Regex reading123Name reading123Regex reading124Name reading124Regex reading125Name reading125Regex reading126Name reading126Regex reading127Name reading127Regex reading128Name reading128Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Name reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Name reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Name reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex reading98Name reading98Regex reading99Name reading99Regex
attr TV_ProgrammePT enableControlSet 1
attr TV_ProgrammePT reading01Name ARDPT
attr TV_ProgrammePT reading01Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading02Name TELE5PT_Next
attr TV_ProgrammePT reading02Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading03Name EUROSPORTPT_Starttime
attr TV_ProgrammePT reading03Regex title="Eurosport"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading04Name MDRPT_Starttime
attr TV_ProgrammePT reading04Regex title="MDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading05Name SONNENKLARTVPT_Next
attr TV_ProgrammePT reading05Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading06Name TELE5PT
attr TV_ProgrammePT reading06Regex title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading07Name SONNENKLARTVPT_Starttime
attr TV_ProgrammePT reading07Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading08Name DMAXPT
attr TV_ProgrammePT reading08Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading09Name Sat1PT_Starttime
attr TV_ProgrammePT reading09Regex title="SAT.1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading100Name WDRPT_Starttime
attr TV_ProgrammePT reading100Regex title="WDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading101Name HRPT_Nexttime
attr TV_ProgrammePT reading101Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading102Name ARTEPT_Nexttime
attr TV_ProgrammePT reading102Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading103Name SWRPT_Starttime
attr TV_ProgrammePT reading103Regex title="SWR RP"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading104Name BRPT
attr TV_ProgrammePT reading104Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading105Name RBBPT_Next
attr TV_ProgrammePT reading105Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading106Name NDRPT_Nexttime
attr TV_ProgrammePT reading106Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading107Name ZDFPT
attr TV_ProgrammePT reading107Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading108Name VOXPT_Next
attr TV_ProgrammePT reading108Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading109Name SPORT1PT_Next
attr TV_ProgrammePT reading109Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading10Name HRPT
attr TV_ProgrammePT reading10Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading110Name EUROSPORTPT_Next
attr TV_ProgrammePT reading110Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading111Name HRPT_Starttime
attr TV_ProgrammePT reading111Regex title="HR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading112Name TELE5PT_Nexttime
attr TV_ProgrammePT reading112Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading113Name COMEDYCENTRALPT_Starttime
attr TV_ProgrammePT reading113Regex title="Comedy Central"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading114Name RTLNITROPT_Starttime
attr TV_ProgrammePT reading114Regex title="RTL NITRO"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading115Name SPORT1PT
attr TV_ProgrammePT reading115Regex title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading116Name N24PT_Starttime
attr TV_ProgrammePT reading116Regex title="N24"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading117Name DREISATPT
attr TV_ProgrammePT reading117Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading118Name EINSPLUSPT_Next
attr TV_ProgrammePT reading118Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading119Name ZDFNEOPT_Next
attr TV_ProgrammePT reading119Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading11Name RBBPT_Nexttime
attr TV_ProgrammePT reading11Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading120Name SWRPT_Nexttime
attr TV_ProgrammePT reading120Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading121Name SAT1GOLDPT
attr TV_ProgrammePT reading121Regex title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading122Name NTVPT_Starttime
attr TV_ProgrammePT reading122Regex title="N-TV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading123Name Pro7PT_Next
attr TV_ProgrammePT reading123Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading124Name Sat1PT_Next
attr TV_ProgrammePT reading124Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading125Name Kabel1PT_Next
attr TV_ProgrammePT reading125Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading126Name EUROSPORTPT_Nexttime
attr TV_ProgrammePT reading126Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading127Name RTL2PT_Next
attr TV_ProgrammePT reading127Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading128Name SAT1GOLDPT_Nexttime
attr TV_ProgrammePT reading128Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading12Name HRPT_Next
attr TV_ProgrammePT reading12Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading13Name SPORT1PT_Nexttime
attr TV_ProgrammePT reading13Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading14Name SUPERRTLPT
attr TV_ProgrammePT reading14Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading15Name ZDFPT_Next
attr TV_ProgrammePT reading15Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading16Name DREISATPT_Starttime
attr TV_ProgrammePT reading16Regex title="3sat"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading17Name WDRPT_Next
attr TV_ProgrammePT reading17Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading18Name NTVPT_Nexttime
attr TV_ProgrammePT reading18Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading19Name SIXXPT
attr TV_ProgrammePT reading19Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading20Name SONNENKLARTVPT_Nexttime
attr TV_ProgrammePT reading20Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading21Name ZDFPT_Nexttime
attr TV_ProgrammePT reading21Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading22Name MDRPT_Next
attr TV_ProgrammePT reading22Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading23Name Kabel1PT
attr TV_ProgrammePT reading23Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading24Name ARDPT_Starttime
attr TV_ProgrammePT reading24Regex title="ARD"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading25Name VOXPT_Starttime
attr TV_ProgrammePT reading25Regex title="VOX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading26Name MDRPT
attr TV_ProgrammePT reading26Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading27Name BRPT_Nexttime
attr TV_ProgrammePT reading27Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading28Name RBBPT
attr TV_ProgrammePT reading28Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading29Name COMEDYCENTRALPT_Nexttime
attr TV_ProgrammePT reading29Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading30Name RTL2PT_Nexttime
attr TV_ProgrammePT reading30Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading31Name BRPT_Next
attr TV_ProgrammePT reading31Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading32Name RTLPT_Starttime
attr TV_ProgrammePT reading32Regex title="RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading33Name MDRPT_Nexttime
attr TV_ProgrammePT reading33Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading34Name NDRPT_Next
attr TV_ProgrammePT reading34Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading35Name NDRPT_Starttime
attr TV_ProgrammePT reading35Regex title="NDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading36Name ZDFPT_Starttime
attr TV_ProgrammePT reading36Regex title="ZDF"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading37Name Sat1PT
attr TV_ProgrammePT reading37Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading38Name DREISATPT_Nexttime
attr TV_ProgrammePT reading38Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading39Name SIXXPT_Nexttime
attr TV_ProgrammePT reading39Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading40Name SUPERRTLPT_Nexttime
attr TV_ProgrammePT reading40Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading41Name RTLPT_Next
attr TV_ProgrammePT reading41Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading42Name BRPT_Starttime
attr TV_ProgrammePT reading42Regex title="Bayern"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading43Name EINSPLUSPT
attr TV_ProgrammePT reading43Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading44Name NTVPT
attr TV_ProgrammePT reading44Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading45Name Kabel1PT_Nexttime
attr TV_ProgrammePT reading45Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading46Name ZDFNEOPT_Nexttime
attr TV_ProgrammePT reading46Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading47Name ARTEPT_Starttime
attr TV_ProgrammePT reading47Regex title="ARTE"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading48Name Pro7PT_Nexttime
attr TV_ProgrammePT reading48Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading49Name SPORT1PT_Starttime
attr TV_ProgrammePT reading49Regex title="Sport 1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading50Name RBBPT_Starttime
attr TV_ProgrammePT reading50Regex title="RBB"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading51Name SIXXPT_Starttime
attr TV_ProgrammePT reading51Regex title="sixx"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading52Name RTL2PT
attr TV_ProgrammePT reading52Regex title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading53Name SUPERRTLPT_Next
attr TV_ProgrammePT reading53Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading54Name EINSFESTIVALPT_Starttime
attr TV_ProgrammePT reading54Regex title="EinsFestival"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading55Name EINSPLUSPT_Nexttime
attr TV_ProgrammePT reading55Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading56Name N24PT_Next
attr TV_ProgrammePT reading56Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading57Name VOXPT_Nexttime
attr TV_ProgrammePT reading57Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading58Name N24PT
attr TV_ProgrammePT reading58Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading59Name ZDFNEOPT_Starttime
attr TV_ProgrammePT reading59Regex title="ZDF neo"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading60Name ARTEPT_Next
attr TV_ProgrammePT reading60Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading61Name ARDPT_Nexttime
attr TV_ProgrammePT reading61Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading62Name VOXPT
attr TV_ProgrammePT reading62Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading63Name RTLNITROPT
attr TV_ProgrammePT reading63Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading64Name EINSPLUSPT_Starttime
attr TV_ProgrammePT reading64Regex title="Eins Plus"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading65Name RTLNITROPT_Next
attr TV_ProgrammePT reading65Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading66Name COMEDYCENTRALPT
attr TV_ProgrammePT reading66Regex title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading67Name DMAXPT_Starttime
attr TV_ProgrammePT reading67Regex title="DMAX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading68Name RTL2PT_Starttime
attr TV_ProgrammePT reading68Regex title="RTL II"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading69Name COMEDYCENTRALPT_Next
attr TV_ProgrammePT reading69Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading70Name WDRPT
attr TV_ProgrammePT reading70Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading71Name RTLPT
attr TV_ProgrammePT reading71Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading72Name NDRPT
attr TV_ProgrammePT reading72Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading73Name ARTEPT
attr TV_ProgrammePT reading73Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading74Name Sat1PT_Nexttime
attr TV_ProgrammePT reading74Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading75Name TELE5PT_Starttime
attr TV_ProgrammePT reading75Regex title="TELE 5"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading76Name SAT1GOLDPT_Starttime
attr TV_ProgrammePT reading76Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading77Name SUPERRTLPT_Starttime
attr TV_ProgrammePT reading77Regex title="Super RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading78Name RTLNITROPT_Nexttime
attr TV_ProgrammePT reading78Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading79Name SWRPT_Next
attr TV_ProgrammePT reading79Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading80Name Kabel1PT_Starttime
attr TV_ProgrammePT reading80Regex title="Kabel eins"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading81Name ZDFNEOPT
attr TV_ProgrammePT reading81Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading82Name Pro7PT
attr TV_ProgrammePT reading82Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading83Name SWRPT
attr TV_ProgrammePT reading83Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading84Name SONNENKLARTVPT
attr TV_ProgrammePT reading84Regex title="SONNENKLARTV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading85Name Pro7PT_Starttime
attr TV_ProgrammePT reading85Regex title="Pro7"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading86Name DMAXPT_Nexttime
attr TV_ProgrammePT reading86Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading87Name ARDPT_Next
attr TV_ProgrammePT reading87Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading88Name NTVPT_Next
attr TV_ProgrammePT reading88Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading89Name DREISATPT_Next
attr TV_ProgrammePT reading89Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading90Name DMAXPT_Next
attr TV_ProgrammePT reading90Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading91Name RTLPT_Nexttime
attr TV_ProgrammePT reading91Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading92Name SIXXPT_Next
attr TV_ProgrammePT reading92Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading93Name EINSFESTIVALPT_Next
attr TV_ProgrammePT reading93Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading94Name EINSFESTIVALPT
attr TV_ProgrammePT reading94Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading95Name N24PT_Nexttime
attr TV_ProgrammePT reading95Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading96Name WDRPT_Nexttime
attr TV_ProgrammePT reading96Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading97Name EINSFESTIVALPT_Nexttime
attr TV_ProgrammePT reading97Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading98Name SAT1GOLDPT_Next
attr TV_ProgrammePT reading98Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading99Name EUROSPORTPT
attr TV_ProgrammePT reading99Regex title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT stateFormat mein_TV_programmPT: ARDPT_Next
attr TV_ProgrammePT timeout 20
attr TV_ProgrammePT verbose 1
###
###


define TV_ProgrammPT_Next readingsGroup <Sender>,<Ab>,<Primetime-Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_ProgrammePT:ARDPT_Starttime,ARDPT,ARDPT_Nexttime,ARDPT_Next \
TV_ProgrammePT:ZDFPT_Starttime,ZDFPT,ZDFPT_Nexttime,ZDFPT_Next \
TV_ProgrammePT:RTLPT_Starttime,RTLPT,RTLPT_Nexttime,RTLPT_Next \
TV_ProgrammePT:Pro7PT_Starttime,Pro7PT,Pro7PT_Nexttime,Pro7PT_Next \
TV_ProgrammePT:Sat1PT_Starttime,Sat1PT,Sat1PT_Nexttime,Sat1PT_Next \
TV_ProgrammePT:SPORT1PT_Starttime,SPORT1PT,SPORT1PT_Nexttime,SPORT1PT_Next \
TV_ProgrammePT:EUROSPORTPT_Starttime,EUROSPORTPT,EUROSPORTPT_Nexttime,EUROSPORTPT_Next \
TV_ProgrammePT:DMAXPT_Starttime,DMAXPT,DMAXPT_Nexttime,DMAXPT_Next \
TV_ProgrammePT:N24PT_Starttime,N24PT,N24PT_Nexttime,N24PT_Next \
TV_ProgrammePT:NTVPT_Starttime,NTVPT,NTVPT_Nexttime,NTVPT_Next \
TV_ProgrammePT:Kabel1PT_Starttime,Kabel1PT,Kabel1PT_Nexttime,Kabel1PT_Next \
TV_ProgrammePT:VOXPT_Starttime,VOXPT,VOXPT_Nexttime,VOXPT_Next \
TV_ProgrammePT:RTL2PT_Starttime,RTL2PT,RTL2PT_Nexttime,RTL2PT_Next \
TV_ProgrammePT:SUPERRTLPT_Starttime,SUPERRTLPT,SUPERRTLPT_Nexttime,SUPERRTLPT_Next \
TV_ProgrammePT:NDRPT_Starttime,NDRPT,NDRPT_Nexttime,NDRPT_Next \
TV_ProgrammePT:MDRPT_Starttime,MDRPT,MDRPT_Nexttime,MDRPT_Next \
TV_ProgrammePT:BRPT_Starttime,BRPT,BRPT_Nexttime,BRPT_Next \
TV_ProgrammePT:HRPT_Starttime,HRPT,HRPT_Nexttime,HRPT_Next \
TV_ProgrammePT:RBBPT_Starttime,RBBPT,RBBPT_Nexttime,RBBPT_Next \
TV_ProgrammePT:SWRPT_Starttime,SWRPT,SWRPT_Nexttime,SWRPT_Next \
TV_ProgrammePT:WDRPT_Starttime,WDRPT,WDRPT_Nexttime,WDRPT_Next \
TV_ProgrammePT:ZDFNEOPT_Starttime,ZDFNEOPT,ZDFNEOPT_Nexttime,ZDFNEOPT_Next \
TV_ProgrammePT:RTLNITROPT_Starttime,RTLNITROPT,RTLNITROPT_Nexttime,RTLNITROPT_Next \
TV_ProgrammePT:SAT1GOLDPT_Starttime,SAT1GOLDPT,SAT1GOLDPT_Nexttime,SAT1GOLDPT_Next \
TV_ProgrammePT:SIXXPT_Starttime,SIXXPT,SIXXPT_Nexttime,SIXXPT_Next \
TV_ProgrammePT:TELE5PT_Starttime,TELE5PT,TELE5PT_Nexttime,TELE5PT_Next \
TV_ProgrammePT:DREISATPT_Starttime,DREISATPT,DREISATPT_Nexttime,DREISATPT_Next \
TV_ProgrammePT:ARTEPT_Starttime,ARTEPT,ARTEPT_Nexttime,ARTEPT_Next \
TV_ProgrammePT:EINSPLUSPT_Starttime,EINSPLUSPT,EINSPLUSPT_Nexttime,EINSPLUSPT_Next \
TV_ProgrammePT:EINSFESTIVALPT_Starttime,EINSFESTIVALPT,EINSFESTIVALPT_Nexttime,EINSFESTIVALPT_Next \
TV_ProgrammePT:COMEDYCENTRALPT_Starttime,COMEDYCENTRALPT,COMEDYCENTRALPT_Nexttime,COMEDYCENTRALPT_Next\
TV_ProgrammePT:SONNENKLARTVPT_Starttime,SONNENKLARTVPT,SONNENKLARTVPT_Nexttime,SONNENKLARTVPT_Next
attr TV_ProgrammPT_Next alias TV-Programm zur Primetime
attr TV_ProgrammPT_Next nameIcon { ARDPT_Starttime => 'tvmovie/tvlogo_das-erste_s', ZDFPT_Starttime => 'tvmovie/tvlogo_zdf_s', Pro7PT_Starttime => 'tvmovie/tvlogo_pro7_s', RTLPT_Starttime => 'tvmovie/tvlogo_rtl', Sat1PT_Starttime => 'tvmovie/tvlogo_sat1_s', Kabel1PT_Starttime => 'tvmovie/tvlogo_kabel1_s', VOXPT_Starttime => 'tvmovie/tvlogo_vox_s', RTL2PT_Starttime => 'tvmovie/tvlogo_rtl2_s', DMAXPT_Starttime => 'tvmovie/tvlogo_dmax_s', SUPERRTLPT_Starttime => 'tvmovie/tvlogo_super_rtl_logo', NDRPT_Starttime => 'tvmovie/tvlogo_ndr_s', BRPT_Starttime => 'tvmovie/tvlogo_br_l', HRPT_Starttime => 'tvmovie/tvlogo_hr_s', MDRPT_Starttime => 'tvmovie/tvlogo_mdr_s', RBBPT_Starttime => 'tvmovie/tvlogo_rbb-brandenburg_s', SWRPT_Starttime => 'tvmovie/tvlogo_swr_logo', WDRPT_Starttime => 'tvmovie/tvlogo_wdr_s', ZDFNEOPT_Starttime => 'tvmovie/tvlogo_zdf-neo_s', RTLNITROPT_Starttime => 'tvmovie/rtl_nitro', SAT1GOLDPT_Starttime => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXXPT_Starttime => 'tv


Ich bin mal so frei, und packe das ganze in Code Tags. Der Übersicht halber!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: EnderPhilipp am 26 Januar 2017, 16:00:47
Kleine Frage:
In welchen Ordner muss der tvmovie-Ordner ?

Mfg
Philipp
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 26 Januar 2017, 16:37:31
Ich wiederhole mal meine Frage:
Hat es jem. geschaft, das auch die Bilder zur Sendung ausgelesen werden können? Ich hätte diese gerne als nettes "Gimmick" auch im FTUI.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Ghostchaser am 26 Januar 2017, 17:12:53
Zitat von: EnderPhilipp am 26 Januar 2017, 16:00:47
Kleine Frage:
In welchen Ordner muss der tvmovie-Ordner ?

Mfg
Philipp

Hi Philipp,
der Ordner muss in /fhem/www/images/default/.
Dann vielleicht einmal die Icons neu einlesen über: set WEB rereadicons.

Gruß
Jörg
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DodiHudori am 27 Januar 2017, 10:16:25
Zitat von: Esjay am 26 Januar 2017, 09:37:02


define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Name reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Name reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex stateFormat timeout verbose
attr TV_Programme enableControlSet 1
attr TV_Programme reading01Name RTL_Nexttime
attr TV_Programme reading01Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading02Name N24
attr TV_Programme reading02Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading03Name COMEDYCENTRAL_Nexttime
attr TV_Programme reading03Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading04Name SWR
attr TV_Programme reading04Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading05Name EINSFESTIVAL_Next
attr TV_Programme reading05Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading06Name DMAX_Next
attr TV_Programme reading06Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading07Name Pro7_Next
attr TV_Programme reading07Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading08Name BR_Next
attr TV_Programme reading08Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading09Name BR
attr TV_Programme reading09Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading10Name N24_Next
attr TV_Programme reading10Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading11Name ARD
attr TV_Programme reading11Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading12Name DMAX_Nexttime
attr TV_Programme reading12Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading13Name ZDF_Next
attr TV_Programme reading13Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading14Name Kabel1_Next
attr TV_Programme reading14Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading15Name Pro7_Nexttime
attr TV_Programme reading15Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading16Name SUPERRTL_Nexttime
attr TV_Programme reading16Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading17Name VOX_Next
attr TV_Programme reading17Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading18Name SIXX_Next
attr TV_Programme reading18Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading19Name SPORT1_Nexttime
attr TV_Programme reading19Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading20Name EUROSPORT_Next
attr TV_Programme reading20Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading21Name SAT1GOLD_Nexttime
attr TV_Programme reading21Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading22Name SAT1GOLD_Next
attr TV_Programme reading22Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading23Name Pro7
attr TV_Programme reading23Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading24Name ARTE_Next
attr TV_Programme reading24Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading25Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading26Name EINSPLUS_Next
attr TV_Programme reading26Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading27Name SWR_Nexttime
attr TV_Programme reading27Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading28Name MDR
attr TV_Programme reading28Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading29Name SPORT1_Next
attr TV_Programme reading29Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading30Name NTV_Nexttime
attr TV_Programme reading30Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading31Name ARD_Nexttime
attr TV_Programme reading31Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading32Name Sat1_Next
attr TV_Programme reading32Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading33Name SUPERRTL
attr TV_Programme reading33Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading34Name NDR
attr TV_Programme reading34Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading35Name SWR_Next
attr TV_Programme reading35Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading36Name RTLNITRO_Next
attr TV_Programme reading36Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading37Name RBB
attr TV_Programme reading37Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading38Name Kabel1_Nexttime
attr TV_Programme reading38Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading39Name SAT1GOLD
attr TV_Programme reading39Regex title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading40Name SPORT1
attr TV_Programme reading40Regex title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading41Name NDR_Next
attr TV_Programme reading41Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading42Name RTL2
attr TV_Programme reading42Regex title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading43Name WDR
attr TV_Programme reading43Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading44Name RTL2_Next
attr TV_Programme reading44Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading45Name TELE5_Nexttime
attr TV_Programme reading45Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading46Name TELE5
attr TV_Programme reading46Regex title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading47Name DMAX
attr TV_Programme reading47Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading48Name MDR_Next
attr TV_Programme reading48Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading49Name ZDFNEO
attr TV_Programme reading49Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading50Name EINSFESTIVAL_Nexttime
attr TV_Programme reading50Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading51Name EINSPLUS_Nexttime
attr TV_Programme reading51Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading52Name ZDF_Nexttime
attr TV_Programme reading52Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading53Name VOX_Nexttime
attr TV_Programme reading53Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading54Name RTLNITRO
attr TV_Programme reading54Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading55Name COMEDYCENTRAL_Next
attr TV_Programme reading55Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading56Name WDR_Nexttime
attr TV_Programme reading56Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading57Name ZDF
attr TV_Programme reading57Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading58Name Sat1
attr TV_Programme reading58Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading59Name ARD_Next
attr TV_Programme reading59Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading60Name RTL2_Nexttime
attr TV_Programme reading60Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading61Name HR
attr TV_Programme reading61Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading62Name RTL
attr TV_Programme reading62Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading63Name ZDFNEO_Nexttime
attr TV_Programme reading63Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading64Name Kabel1
attr TV_Programme reading64Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading65Name RTL_Next
attr TV_Programme reading65Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading66Name MDR_Nexttime
attr TV_Programme reading66Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading67Name N24_Nexttime
attr TV_Programme reading67Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading68Name VOX
attr TV_Programme reading68Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading69Name EINSFESTIVAL
attr TV_Programme reading69Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading70Name SIXX
attr TV_Programme reading70Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading71Name RBB_Nexttime
attr TV_Programme reading71Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading72Name NTV_Next
attr TV_Programme reading72Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading73Name DREISAT_Nexttime
attr TV_Programme reading73Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading74Name BR_Nexttime
attr TV_Programme reading74Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading75Name HR_Next
attr TV_Programme reading75Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading76Name EUROSPORT
attr TV_Programme reading76Regex title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading77Name WDR_Next
attr TV_Programme reading77Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading78Name RBB_Next
attr TV_Programme reading78Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading79Name ZDFNEO_Next
attr TV_Programme reading79Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading80Name RTLNITRO_Nexttime
attr TV_Programme reading80Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading81Name SIXX_Nexttime
attr TV_Programme reading81Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading82Name Sat1_Nexttime
attr TV_Programme reading82Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading83Name NTV
attr TV_Programme reading83Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading84Name ARTE_Nexttime
attr TV_Programme reading84Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading85Name DREISAT_Next
attr TV_Programme reading85Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading86Name EUROSPORT_Nexttime
attr TV_Programme reading86Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading87Name NDR_Nexttime
attr TV_Programme reading87Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading88Name ARTE
attr TV_Programme reading88Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading89Name HR_Nexttime
attr TV_Programme reading89Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading90Name EINSPLUS
attr TV_Programme reading90Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading91Name COMEDYCENTRAL
attr TV_Programme reading91Regex title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading92Name DREISAT
attr TV_Programme reading92Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading93Name SUPERRTL_Next
attr TV_Programme reading93Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading94Name TELE5_Next
attr TV_Programme reading94Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading95Name SONNENKLARTV
attr TV_Programme reading95Regex title="Sonnenklar TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading96Name SONNENKLARTV_Next
attr TV_Programme reading96Regex title="Sonnenklar TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading97Name SONNENKLARTV_Nexttime
attr TV_Programme reading97Regex title="Sonnenklar TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1
#########
########



define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:SPORT1,SPORT1_Nexttime,SPORT1_Next \
TV_Programme:EUROSPORT,EUROSPORT_Nexttime,EUROSPORT_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:N24,N24_Nexttime,N24_Next \
TV_Programme:NTV,NTV_Nexttime,NTV_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:MDR,MDR_Nexttime,MDR_Next \
TV_Programme:BR,BR_Nexttime,BR_Next \
TV_Programme:HR,HR_Nexttime,HR_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:TELE5,TELE5_Nexttime,TELE5_Next \
TV_Programme:DREISAT,DREISAT_Nexttime,DREISAT_Next \
TV_Programme:ARTE,ARTE_Nexttime,ARTE_Next \
TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \
TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next \
TV_Programme:COMEDYCENTRAL,COMEDYCENTRAL_Nexttime,COMEDYCENTRAL_Next\
TV_Programme:SONNENKLARTV,SONNENKLARTV_Nexttime,SONNENKLARTV_Next
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', DMAX => 'tvmovie/tvlogo_dmax_s', SUPERRTL => 'tvmovie/tvlogo_super_rtl_logo', NDR => 'tvmovie/tvlogo_ndr_s', BR => 'tvmovie/tvlogo_br_l', HR => 'tvmovie/tvlogo_hr_s', MDR => 'tvmovie/tvlogo_mdr_s', RBB => 'tvmovie/tvlogo_rbb-brandenburg_s', SWR => 'tvmovie/tvlogo_swr_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', TELE5 => 'tvmovie/tvlogo_tele-5_s', DREISAT => 'tvmovie/tvlogo_3sat_s', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s', SPORT1 => 'tvmovie/sport1', EUROSPORT => 'tvmovie/eurosport', N24 => 'tvmovie/n24', COMEDYCENTRAL => 'tvmovie/comedy_central', ARTE => 'tvmovie/tvlogo_arte_s', NTV => 'tvmovie/tvlogo_ntv_s', SONNENKLARTV => 'tvmovie/tv'}
attr TV_Programm_Next nameStyle style="color:grey"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}


################################################################################################################################

# Programm zur Primetime

define TV_ProgrammePT HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-0/all.html 300
attr TV_ProgrammePT userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Name reading109Regex reading10Name reading10Regex reading110Name reading110Regex reading111Name reading111Regex reading112Name reading112Regex reading113Name reading113Regex reading114Name reading114Regex reading115Name reading115Regex reading116Name reading116Regex reading117Name reading117Regex reading118Name reading118Regex reading119Name reading119Regex reading11Name reading11Regex reading120Name reading120Regex reading121Name reading121Regex reading122Name reading122Regex reading123Name reading123Regex reading124Name reading124Regex reading125Name reading125Regex reading126Name reading126Regex reading127Name reading127Regex reading128Name reading128Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Name reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Name reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Name reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex reading98Name reading98Regex reading99Name reading99Regex
attr TV_ProgrammePT enableControlSet 1
attr TV_ProgrammePT reading01Name ARDPT
attr TV_ProgrammePT reading01Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading02Name TELE5PT_Next
attr TV_ProgrammePT reading02Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading03Name EUROSPORTPT_Starttime
attr TV_ProgrammePT reading03Regex title="Eurosport"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading04Name MDRPT_Starttime
attr TV_ProgrammePT reading04Regex title="MDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading05Name SONNENKLARTVPT_Next
attr TV_ProgrammePT reading05Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading06Name TELE5PT
attr TV_ProgrammePT reading06Regex title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading07Name SONNENKLARTVPT_Starttime
attr TV_ProgrammePT reading07Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading08Name DMAXPT
attr TV_ProgrammePT reading08Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading09Name Sat1PT_Starttime
attr TV_ProgrammePT reading09Regex title="SAT.1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading100Name WDRPT_Starttime
attr TV_ProgrammePT reading100Regex title="WDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading101Name HRPT_Nexttime
attr TV_ProgrammePT reading101Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading102Name ARTEPT_Nexttime
attr TV_ProgrammePT reading102Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading103Name SWRPT_Starttime
attr TV_ProgrammePT reading103Regex title="SWR RP"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading104Name BRPT
attr TV_ProgrammePT reading104Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading105Name RBBPT_Next
attr TV_ProgrammePT reading105Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading106Name NDRPT_Nexttime
attr TV_ProgrammePT reading106Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading107Name ZDFPT
attr TV_ProgrammePT reading107Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading108Name VOXPT_Next
attr TV_ProgrammePT reading108Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading109Name SPORT1PT_Next
attr TV_ProgrammePT reading109Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading10Name HRPT
attr TV_ProgrammePT reading10Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading110Name EUROSPORTPT_Next
attr TV_ProgrammePT reading110Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading111Name HRPT_Starttime
attr TV_ProgrammePT reading111Regex title="HR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading112Name TELE5PT_Nexttime
attr TV_ProgrammePT reading112Regex title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading113Name COMEDYCENTRALPT_Starttime
attr TV_ProgrammePT reading113Regex title="Comedy Central"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading114Name RTLNITROPT_Starttime
attr TV_ProgrammePT reading114Regex title="RTL NITRO"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading115Name SPORT1PT
attr TV_ProgrammePT reading115Regex title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading116Name N24PT_Starttime
attr TV_ProgrammePT reading116Regex title="N24"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading117Name DREISATPT
attr TV_ProgrammePT reading117Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading118Name EINSPLUSPT_Next
attr TV_ProgrammePT reading118Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading119Name ZDFNEOPT_Next
attr TV_ProgrammePT reading119Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading11Name RBBPT_Nexttime
attr TV_ProgrammePT reading11Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading120Name SWRPT_Nexttime
attr TV_ProgrammePT reading120Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading121Name SAT1GOLDPT
attr TV_ProgrammePT reading121Regex title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading122Name NTVPT_Starttime
attr TV_ProgrammePT reading122Regex title="N-TV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading123Name Pro7PT_Next
attr TV_ProgrammePT reading123Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading124Name Sat1PT_Next
attr TV_ProgrammePT reading124Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading125Name Kabel1PT_Next
attr TV_ProgrammePT reading125Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading126Name EUROSPORTPT_Nexttime
attr TV_ProgrammePT reading126Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading127Name RTL2PT_Next
attr TV_ProgrammePT reading127Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading128Name SAT1GOLDPT_Nexttime
attr TV_ProgrammePT reading128Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading12Name HRPT_Next
attr TV_ProgrammePT reading12Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading13Name SPORT1PT_Nexttime
attr TV_ProgrammePT reading13Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading14Name SUPERRTLPT
attr TV_ProgrammePT reading14Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading15Name ZDFPT_Next
attr TV_ProgrammePT reading15Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading16Name DREISATPT_Starttime
attr TV_ProgrammePT reading16Regex title="3sat"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading17Name WDRPT_Next
attr TV_ProgrammePT reading17Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading18Name NTVPT_Nexttime
attr TV_ProgrammePT reading18Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading19Name SIXXPT
attr TV_ProgrammePT reading19Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading20Name SONNENKLARTVPT_Nexttime
attr TV_ProgrammePT reading20Regex title="SONNENKLARTV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading21Name ZDFPT_Nexttime
attr TV_ProgrammePT reading21Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading22Name MDRPT_Next
attr TV_ProgrammePT reading22Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading23Name Kabel1PT
attr TV_ProgrammePT reading23Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading24Name ARDPT_Starttime
attr TV_ProgrammePT reading24Regex title="ARD"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading25Name VOXPT_Starttime
attr TV_ProgrammePT reading25Regex title="VOX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading26Name MDRPT
attr TV_ProgrammePT reading26Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading27Name BRPT_Nexttime
attr TV_ProgrammePT reading27Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading28Name RBBPT
attr TV_ProgrammePT reading28Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading29Name COMEDYCENTRALPT_Nexttime
attr TV_ProgrammePT reading29Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading30Name RTL2PT_Nexttime
attr TV_ProgrammePT reading30Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading31Name BRPT_Next
attr TV_ProgrammePT reading31Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading32Name RTLPT_Starttime
attr TV_ProgrammePT reading32Regex title="RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading33Name MDRPT_Nexttime
attr TV_ProgrammePT reading33Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading34Name NDRPT_Next
attr TV_ProgrammePT reading34Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading35Name NDRPT_Starttime
attr TV_ProgrammePT reading35Regex title="NDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading36Name ZDFPT_Starttime
attr TV_ProgrammePT reading36Regex title="ZDF"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading37Name Sat1PT
attr TV_ProgrammePT reading37Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading38Name DREISATPT_Nexttime
attr TV_ProgrammePT reading38Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading39Name SIXXPT_Nexttime
attr TV_ProgrammePT reading39Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading40Name SUPERRTLPT_Nexttime
attr TV_ProgrammePT reading40Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading41Name RTLPT_Next
attr TV_ProgrammePT reading41Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading42Name BRPT_Starttime
attr TV_ProgrammePT reading42Regex title="Bayern"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading43Name EINSPLUSPT
attr TV_ProgrammePT reading43Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading44Name NTVPT
attr TV_ProgrammePT reading44Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading45Name Kabel1PT_Nexttime
attr TV_ProgrammePT reading45Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading46Name ZDFNEOPT_Nexttime
attr TV_ProgrammePT reading46Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading47Name ARTEPT_Starttime
attr TV_ProgrammePT reading47Regex title="ARTE"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading48Name Pro7PT_Nexttime
attr TV_ProgrammePT reading48Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading49Name SPORT1PT_Starttime
attr TV_ProgrammePT reading49Regex title="Sport 1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading50Name RBBPT_Starttime
attr TV_ProgrammePT reading50Regex title="RBB"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading51Name SIXXPT_Starttime
attr TV_ProgrammePT reading51Regex title="sixx"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading52Name RTL2PT
attr TV_ProgrammePT reading52Regex title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading53Name SUPERRTLPT_Next
attr TV_ProgrammePT reading53Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading54Name EINSFESTIVALPT_Starttime
attr TV_ProgrammePT reading54Regex title="EinsFestival"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading55Name EINSPLUSPT_Nexttime
attr TV_ProgrammePT reading55Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading56Name N24PT_Next
attr TV_ProgrammePT reading56Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading57Name VOXPT_Nexttime
attr TV_ProgrammePT reading57Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading58Name N24PT
attr TV_ProgrammePT reading58Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading59Name ZDFNEOPT_Starttime
attr TV_ProgrammePT reading59Regex title="ZDF neo"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading60Name ARTEPT_Next
attr TV_ProgrammePT reading60Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading61Name ARDPT_Nexttime
attr TV_ProgrammePT reading61Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading62Name VOXPT
attr TV_ProgrammePT reading62Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading63Name RTLNITROPT
attr TV_ProgrammePT reading63Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading64Name EINSPLUSPT_Starttime
attr TV_ProgrammePT reading64Regex title="Eins Plus"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading65Name RTLNITROPT_Next
attr TV_ProgrammePT reading65Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading66Name COMEDYCENTRALPT
attr TV_ProgrammePT reading66Regex title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading67Name DMAXPT_Starttime
attr TV_ProgrammePT reading67Regex title="DMAX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading68Name RTL2PT_Starttime
attr TV_ProgrammePT reading68Regex title="RTL II"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading69Name COMEDYCENTRALPT_Next
attr TV_ProgrammePT reading69Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading70Name WDRPT
attr TV_ProgrammePT reading70Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading71Name RTLPT
attr TV_ProgrammePT reading71Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading72Name NDRPT
attr TV_ProgrammePT reading72Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading73Name ARTEPT
attr TV_ProgrammePT reading73Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading74Name Sat1PT_Nexttime
attr TV_ProgrammePT reading74Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading75Name TELE5PT_Starttime
attr TV_ProgrammePT reading75Regex title="TELE 5"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading76Name SAT1GOLDPT_Starttime
attr TV_ProgrammePT reading76Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading77Name SUPERRTLPT_Starttime
attr TV_ProgrammePT reading77Regex title="Super RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading78Name RTLNITROPT_Nexttime
attr TV_ProgrammePT reading78Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading79Name SWRPT_Next
attr TV_ProgrammePT reading79Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading80Name Kabel1PT_Starttime
attr TV_ProgrammePT reading80Regex title="Kabel eins"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading81Name ZDFNEOPT
attr TV_ProgrammePT reading81Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading82Name Pro7PT
attr TV_ProgrammePT reading82Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading83Name SWRPT
attr TV_ProgrammePT reading83Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading84Name SONNENKLARTVPT
attr TV_ProgrammePT reading84Regex title="SONNENKLARTV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading85Name Pro7PT_Starttime
attr TV_ProgrammePT reading85Regex title="Pro7"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading86Name DMAXPT_Nexttime
attr TV_ProgrammePT reading86Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading87Name ARDPT_Next
attr TV_ProgrammePT reading87Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading88Name NTVPT_Next
attr TV_ProgrammePT reading88Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading89Name DREISATPT_Next
attr TV_ProgrammePT reading89Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading90Name DMAXPT_Next
attr TV_ProgrammePT reading90Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading91Name RTLPT_Nexttime
attr TV_ProgrammePT reading91Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading92Name SIXXPT_Next
attr TV_ProgrammePT reading92Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading93Name EINSFESTIVALPT_Next
attr TV_ProgrammePT reading93Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading94Name EINSFESTIVALPT
attr TV_ProgrammePT reading94Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading95Name N24PT_Nexttime
attr TV_ProgrammePT reading95Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading96Name WDRPT_Nexttime
attr TV_ProgrammePT reading96Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading97Name EINSFESTIVALPT_Nexttime
attr TV_ProgrammePT reading97Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading98Name SAT1GOLDPT_Next
attr TV_ProgrammePT reading98Regex title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading99Name EUROSPORTPT
attr TV_ProgrammePT reading99Regex title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT stateFormat mein_TV_programmPT: ARDPT_Next
attr TV_ProgrammePT timeout 20
attr TV_ProgrammePT verbose 1
###
###


define TV_ProgrammPT_Next readingsGroup <Sender>,<Ab>,<Primetime-Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_ProgrammePT:ARDPT_Starttime,ARDPT,ARDPT_Nexttime,ARDPT_Next \
TV_ProgrammePT:ZDFPT_Starttime,ZDFPT,ZDFPT_Nexttime,ZDFPT_Next \
TV_ProgrammePT:RTLPT_Starttime,RTLPT,RTLPT_Nexttime,RTLPT_Next \
TV_ProgrammePT:Pro7PT_Starttime,Pro7PT,Pro7PT_Nexttime,Pro7PT_Next \
TV_ProgrammePT:Sat1PT_Starttime,Sat1PT,Sat1PT_Nexttime,Sat1PT_Next \
TV_ProgrammePT:SPORT1PT_Starttime,SPORT1PT,SPORT1PT_Nexttime,SPORT1PT_Next \
TV_ProgrammePT:EUROSPORTPT_Starttime,EUROSPORTPT,EUROSPORTPT_Nexttime,EUROSPORTPT_Next \
TV_ProgrammePT:DMAXPT_Starttime,DMAXPT,DMAXPT_Nexttime,DMAXPT_Next \
TV_ProgrammePT:N24PT_Starttime,N24PT,N24PT_Nexttime,N24PT_Next \
TV_ProgrammePT:NTVPT_Starttime,NTVPT,NTVPT_Nexttime,NTVPT_Next \
TV_ProgrammePT:Kabel1PT_Starttime,Kabel1PT,Kabel1PT_Nexttime,Kabel1PT_Next \
TV_ProgrammePT:VOXPT_Starttime,VOXPT,VOXPT_Nexttime,VOXPT_Next \
TV_ProgrammePT:RTL2PT_Starttime,RTL2PT,RTL2PT_Nexttime,RTL2PT_Next \
TV_ProgrammePT:SUPERRTLPT_Starttime,SUPERRTLPT,SUPERRTLPT_Nexttime,SUPERRTLPT_Next \
TV_ProgrammePT:NDRPT_Starttime,NDRPT,NDRPT_Nexttime,NDRPT_Next \
TV_ProgrammePT:MDRPT_Starttime,MDRPT,MDRPT_Nexttime,MDRPT_Next \
TV_ProgrammePT:BRPT_Starttime,BRPT,BRPT_Nexttime,BRPT_Next \
TV_ProgrammePT:HRPT_Starttime,HRPT,HRPT_Nexttime,HRPT_Next \
TV_ProgrammePT:RBBPT_Starttime,RBBPT,RBBPT_Nexttime,RBBPT_Next \
TV_ProgrammePT:SWRPT_Starttime,SWRPT,SWRPT_Nexttime,SWRPT_Next \
TV_ProgrammePT:WDRPT_Starttime,WDRPT,WDRPT_Nexttime,WDRPT_Next \
TV_ProgrammePT:ZDFNEOPT_Starttime,ZDFNEOPT,ZDFNEOPT_Nexttime,ZDFNEOPT_Next \
TV_ProgrammePT:RTLNITROPT_Starttime,RTLNITROPT,RTLNITROPT_Nexttime,RTLNITROPT_Next \
TV_ProgrammePT:SAT1GOLDPT_Starttime,SAT1GOLDPT,SAT1GOLDPT_Nexttime,SAT1GOLDPT_Next \
TV_ProgrammePT:SIXXPT_Starttime,SIXXPT,SIXXPT_Nexttime,SIXXPT_Next \
TV_ProgrammePT:TELE5PT_Starttime,TELE5PT,TELE5PT_Nexttime,TELE5PT_Next \
TV_ProgrammePT:DREISATPT_Starttime,DREISATPT,DREISATPT_Nexttime,DREISATPT_Next \
TV_ProgrammePT:ARTEPT_Starttime,ARTEPT,ARTEPT_Nexttime,ARTEPT_Next \
TV_ProgrammePT:EINSPLUSPT_Starttime,EINSPLUSPT,EINSPLUSPT_Nexttime,EINSPLUSPT_Next \
TV_ProgrammePT:EINSFESTIVALPT_Starttime,EINSFESTIVALPT,EINSFESTIVALPT_Nexttime,EINSFESTIVALPT_Next \
TV_ProgrammePT:COMEDYCENTRALPT_Starttime,COMEDYCENTRALPT,COMEDYCENTRALPT_Nexttime,COMEDYCENTRALPT_Next\
TV_ProgrammePT:SONNENKLARTVPT_Starttime,SONNENKLARTVPT,SONNENKLARTVPT_Nexttime,SONNENKLARTVPT_Next
attr TV_ProgrammPT_Next alias TV-Programm zur Primetime
attr TV_ProgrammPT_Next nameIcon { ARDPT_Starttime => 'tvmovie/tvlogo_das-erste_s', ZDFPT_Starttime => 'tvmovie/tvlogo_zdf_s', Pro7PT_Starttime => 'tvmovie/tvlogo_pro7_s', RTLPT_Starttime => 'tvmovie/tvlogo_rtl', Sat1PT_Starttime => 'tvmovie/tvlogo_sat1_s', Kabel1PT_Starttime => 'tvmovie/tvlogo_kabel1_s', VOXPT_Starttime => 'tvmovie/tvlogo_vox_s', RTL2PT_Starttime => 'tvmovie/tvlogo_rtl2_s', DMAXPT_Starttime => 'tvmovie/tvlogo_dmax_s', SUPERRTLPT_Starttime => 'tvmovie/tvlogo_super_rtl_logo', NDRPT_Starttime => 'tvmovie/tvlogo_ndr_s', BRPT_Starttime => 'tvmovie/tvlogo_br_l', HRPT_Starttime => 'tvmovie/tvlogo_hr_s', MDRPT_Starttime => 'tvmovie/tvlogo_mdr_s', RBBPT_Starttime => 'tvmovie/tvlogo_rbb-brandenburg_s', SWRPT_Starttime => 'tvmovie/tvlogo_swr_logo', WDRPT_Starttime => 'tvmovie/tvlogo_wdr_s', ZDFNEOPT_Starttime => 'tvmovie/tvlogo_zdf-neo_s', RTLNITROPT_Starttime => 'tvmovie/rtl_nitro', SAT1GOLDPT_Starttime => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXXPT_Starttime => 'tv


Ich bin mal so frei, und packe das ganze in Code Tags. Der Übersicht halber!

hatte ich eigentlich auch, funktioniert bloß irgendwie nicht  ???

Zitat von: Ghostchaser am 26 Januar 2017, 17:12:53
Hi Phi
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 27 Januar 2017, 11:34:00
Zitat von: DodiHudori am 27 Januar 2017, 10:16:25
hatte ich eigentlich auch, funktioniert bloß irgendwie nicht  ???

Zitat von: Ghostchaser am 26 Januar 2017, 17:12:53
Hi Phi

Schau dir mal deinen Post nochmal genau an.
Du hast zwar "" an den Anfang gesetzt, aber kein "" ans Ende --> Tipp, erst die Raute anklicken, und dann seinen Text dazwischen einfügen.Back to Topic
Zitat von: bjoernbo am 26 Januar 2017, 16:37:31
Ich wiederhole mal meine Frage:
Hat es jem. geschaft, das auch die Bilder zur Sendung ausgelesen werden können? Ich hätte diese gerne als nettes "Gimmick" auch im FTUI.

Hallo Bjoernbo
ich glaube gelesen zu haben(etwas länger her / glaube im User Demo Theard), dass das Bild nicht ohne weiteres ausgelesen werden kann, sondern aus einer Enigma2 Box kommt. Meine steht Zuhause schon in den Startlöchern.Wenn ich da näheres raus finde,melde ich mich hier nochmal.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 27 Januar 2017, 20:26:35
ok, mir würde es auch reichen wenn ich die Bilder aus meiner VU+ bekommen würde. Muss dazu erstmal gucken ob es da überhaupt welche gibt! ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tommy82 am 21 Februar 2017, 20:43:26
Hi, gibt es aktuell wieder irgendwelche Änderungen? Hab seit ein paar Tagen den Log voll mit:
2017.02.21 01:44:41.875 3: TV_Programme_abend: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Date: Tue, 21 Feb 2017 00:39:25 GMT
Server: Apache
Set-Cookie: d2eb32ef92ab9e953aa00bd5b54b2c06=9195883776797280cd9763e4f8267501; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Connection: close
Content-Type: text/html; charset=utf-8, body empty,
Error: www.klack.de: Network is unreachable
2017.02.21 01:45:29.417 3: TV_Programme: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Date: Tue, 21 Feb 2017 00:39:25 GMT
Server: Apache
Set-Cookie: d2eb32ef92ab9e953aa00bd5b54b2c06=aa67fda4ac64c29ec1f27745a980bb33; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Connection: close
Content-Type: text/html; charset=utf-8, body empty,
Error: www.klack.de: Connection timed out
2017.02.21 01:49:34.280 3: TV_Programme_abend: Read callback: request type was update retry 0,
Header: HTTP/1.1 200 OK
Date: Tue, 21 Feb 2017 00:39:25 GMT
Server: Apache
Set-Cookie: d2eb32ef92ab9e953aa00bd5b54b2c06=9195883776797280cd9763e4f8267501; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Connection: close
Content-Type: text/html; charset=utf-8, body empty,
Error: www.klack.de: Network is unreachable
2017.02.21 01:50:29.363 3: TV_Programme: Read callback: request type was update retry 0,
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 21 Februar 2017, 23:57:21
kann ich nicht bestätigen. Ich habe keine derartigen Einträge im log.

Tom_S
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Florian_GT am 26 Februar 2017, 22:18:22
Bei den meisten Code snippets hier fehlt am Ende einiges an Code...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Florian_GT am 26 Februar 2017, 22:53:05
Zitat von: Hardlife am 13 März 2016, 14:46:07
Mein Aufbau der Config inkl. aller österreichischen Sender:
(Alles bereits nach den neuen HTTPMOD-Definitionen)

Vorarbeiten:
- Die Icons downloaden:
   (siehe Post 632 vom Grimm80 + 633 von Adriano)
   https://forum.fhem.de/index.php/topic,28123.msg342134.html#msg342134 (https://forum.fhem.de/index.php/topic,28123.msg342134.html#msg342134)
   https://forum.fhem.de/index.php/topic,28123.msg342169.html#msg342169 (https://forum.fhem.de/index.php/topic,28123.msg342169.html#msg342169)
   -> in der ssh-Console
Für schlanke Icons:
cd /opt/fhem/www/images/default/tvmovie

wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/

Oder für größere Icons:
wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/details/
-> Am Ende dann noch in FHEM "set WEB rereadicons".

- Sonderzeichenerkennung und Zeilenumbruch
    (im Beispiel nach 50 Zeichen)
    (siehe dazu Post Nr.630 von RoBra81)
    https://forum.fhem.de/index.php/topic,28123.msg341836.html#msg341836 (https://forum.fhem.de/index.php/topic,28123.msg341836.html#msg341836)
    Alles schön in die 99_myUtils.pm packen:
use HTML::Entities;

sub
wrapLine($$)
{
  my ($string, $maxLength) = @_;
  $string = decode_entities($string);
my @stringParts = split(/ /, $string);
  my $actRowLength = 0;
  my $resultString = '';
  while (scalar(@stringParts) > 0) {
  my $tempString = shift @stringParts;
    if ($actRowLength > 0)
    {
    if (($actRowLength + length($tempString)) > $maxLength)
      {
      $actRowLength = 0;
        $resultString .= '<br>';
      }
    }
    $resultString .= $tempString;
    $actRowLength += length($tempString);
    if (scalar(@stringParts) > 0)
    {
    $resultString .= ' ';
    $actRowLength += 1;
    }
  }
  if ($resultString eq '')
  {
  return ' ';
  }
  else
  {
  return $resultString;
  }
}


in die ReadingsGroup der fhem.cfg kommt:
(siehe auch untenstehenden Code - dort bereits enthalten)
(hier wird auch der Umbruch nach 50 Zeichen definiert)
attr TV_Programm_zur_Primetime valueFormat {wrapLine($VALUE, 50)}


- Mein Code aus der fhem.cfg:
    (Festlegung der Senderreihenfolge jeweils natürlich in den ReadingsGroups)
    -> siehe angehängte Datei "fhem.cfg-TV"

Getestet und läuft. VIELEN DANK!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 05 April 2017, 18:13:09
Ich hab da auch noch was....

Nach dem Herunterladen haben die Image Dateinamen nicht gepasst.


Im UNIX:

cd /opt/fhem/www/images/default/tvmovie
wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/
ls | xargs -I§ mv § tvlogo_§
rename 's/.png/_s.png/' *.png


Im FEHM:

attr NameIcon { ARD => 'tvmovie/tvlogo_ard_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl_s', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel-eins_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', DMAX => 'tvmovie/tvlogo_dmax_s', SUPERRTL => 'tvmovie/tvlogo_super-rtl_s', NDR => 'tvmovie/tvlogo_ndr_s', BR => 'tvmovie/tvlogo_bayern_s', HR => 'tvmovie/tvlogo_hr_s', MDR => 'tvmovie/tvlogo_mdr_s', RBB => 'tvmovie/tvlogo_rbb_s', SWR => 'tvmovie/tvlogo_swr_rp_s', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/tvlogo_rtl_nitro_s', SAT1GOLD => 'tvmovie/tvlogo_sat1gold_s',  SIXX => 'tvmovie/tvlogo_sixx_s', TELE5 => 'tvmovie/tvlogo_tele-5_s', DREISAT => 'tvmovie/tvlogo_3sat_s', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s', SPORT1 => 'tvmovie/tvlogo_sport-1_s', EUROSPORT => 'tvmovie/tvlogo_eurosport_s', N24 => 'tvmovie/tvlogo_n24_s', COMEDYCENTRAL => 'tvmovie/tvlogo_comedy-central_s', ARTE => 'tvmovie/tvlogo_arte_s', NTV => 'tvmovie/tvlogo_n-tv_s', SONNENKLARTV => 'tvmovie/tvlogo_sonnenklar-tv_s'}
set WEB rereadicons

"_s" für small

Und für die großen Images dann folgendes, da ja alle im gleichen Verzeichnis sind.

Im UNIX:

cd /opt/fhem/www/images/default/tvmovie
wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/details/
ls | grep -v tvlogo_ | rename 's/.png/_b.png/'
ls | grep -v tvlogo_ | xargs -I§ mv § tvlogo_§


Im FHEM:

attr NameIcon { ARD => 'tvmovie/tvlogo_ard_b', ZDF => 'tvmovie/tvlogo_zdf_b', Pro7 => 'tvmovie/tvlogo_pro7_b', RTL => 'tvmovie/tvlogo_rtl_b', Sat1 => 'tvmovie/tvlogo_sat1_b', Kabel1 => 'tvmovie/tvlogo_kabel-eins_b', VOX => 'tvmovie/tvlogo_vox_b', RTL2 => 'tvmovie/tvlogo_rtl2_b', DMAX => 'tvmovie/tvlogo_dmax_b', SUPERRTL => 'tvmovie/tvlogo_super-rtl_b', NDR => 'tvmovie/tvlogo_ndr_b', BR => 'tvmovie/tvlogo_bayern_b', HR => 'tvmovie/tvlogo_hr_b', MDR => 'tvmovie/tvlogo_mdr_b', RBB => 'tvmovie/tvlogo_rbb_b', SWR => 'tvmovie/tvlogo_swr_rp_b', WDR => 'tvmovie/tvlogo_wdr_b', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_b', RTLNITRO => 'tvmovie/tvlogo_rtl_nitro_b', SAT1GOLD => 'tvmovie/tvlogo_sat1gold_b',  SIXX => 'tvmovie/tvlogo_sixx_b', TELE5 => 'tvmovie/tvlogo_tele-5_b', DREISAT => 'tvmovie/tvlogo_3sat_b', EINSPLUS => 'tvmovie/tvlogo_eins-plus_b', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_b', SPORT1 => 'tvmovie/tvlogo_sport-1_b', EUROSPORT => 'tvmovie/tvlogo_eurosport_b', N24 => 'tvmovie/tvlogo_n24_b', COMEDYCENTRAL => 'tvmovie/tvlogo_comedy-central_b', ARTE => 'tvmovie/tvlogo_arte_b', NTV => 'tvmovie/tvlogo_n-tv_b', SONNENKLARTV => 'tvmovie/tvlogo_sonnenklar-tv_b'}
set WEB rereadicons

"_b" für big

Große und kleine Images können natürlich nur wahlweise verwendet werden, oder mit einem separaten "define".

Gruß
    Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: T3mplate am 18 Juni 2017, 16:58:29
Ich habe immer beim Abrufen der Seiten 1-2 Sekunden blockieren (lokalisiert durch perfmon)
Gibt es dafür bereits eine Lösung?
Auf Seite 13 wird etwas über wget und Zwischenspeichern auf einer lokalen Homepage und dann Abrufen der lokalen Homepage mittels httpmod geschrieben.
Gefühlt muss es doch aber eine bessere Lösung geben, sonst hätten sich doch schon mehr hier "beschwert".
Oder?
Hardware: Raspberry 3
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: en-trust am 04 Juli 2017, 12:43:15
Hat jemand eine schicke Smartphone Ansicht für den TV Guide sich gebastelt und könnte diesen mal als screenshot ggf html code posten ?
danke.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 04 Juli 2017, 14:01:02
Zitat von: Esjay am 04 Januar 2017, 21:54:49
Grüße

Ich habe folgendes in meiner config stehen.


define TV_ProgrammePT HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-0/all.html 900
attr TV_ProgrammePT userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Name reading109Regex reading10Name reading10Regex reading110Name reading110Regex reading111Name reading111Regex reading112Name reading112Regex reading113Name reading113Regex reading114Name reading114Regex reading115Name reading115Regex reading116Name reading116Regex reading117Name reading117Regex reading118Name reading118Regex reading119Name reading119Regex reading11Name reading11Regex reading120Name reading120Regex reading121Name reading121Regex reading122Name reading122Regex reading123Name reading123Regex reading124Name reading124Regex reading125Name reading125Regex reading126Name reading126Regex reading127Name reading127Regex reading128Name reading128Regex reading129Name reading129Regex reading12Name reading12Regex reading130Name reading130Regex reading131Name reading131Regex reading132Name reading132Regex reading133Name reading133Regex reading134Name reading134Regex reading135Name reading135Regex reading136Name reading136Regex reading137Regex reading138Name reading138Regex reading139Name reading139Regex reading13Name reading13Regex reading140Name reading140Regex reading141Name reading141Regex reading142Name reading142Regex reading143Name reading143Regex reading144Name reading144Regex reading145Name reading145Regex reading146Name reading146Regex reading147Name reading147Regex reading148Name reading148Regex reading149Name reading149Regex reading14Name reading14Regex reading150Name reading150Regex reading151Name reading151Regex reading152Name reading152Regex reading153Name reading153Regex reading154Regex reading155Name reading155Regex reading156Name reading156Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Name reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Regex reading60Name reading60Regex reading61Name reading61Regex reading62Name reading62Regex reading63Name reading63Regex reading64Name reading64Regex reading65Name reading65Regex reading66Name reading66Regex reading67Name reading67Regex reading68Name reading68Regex reading69Name reading69Regex reading70Name reading70Regex reading71Name reading71Regex reading72Name reading72Regex reading73Name reading73Regex reading74Name reading74Regex reading75Regex reading76Name reading76Regex reading77Name reading77Regex reading78Name reading78Regex reading79Name reading79Regex reading80Name reading80Regex reading81Name reading81Regex reading82Name reading82Regex reading83Name reading83Regex reading84Name reading84Regex reading85Name reading85Regex reading86Name reading86Regex reading87Name reading87Regex reading88Name reading88Regex reading89Name reading89Regex reading90Name reading90Regex reading91Name reading91Regex reading92Name reading92Regex reading93Name reading93Regex reading94Name reading94Regex reading95Name reading95Regex reading96Name reading96Regex reading97Name reading97Regex reading98Name reading98Regex reading99Name reading99Regex readingsName_ORF3PT readingsName_ORF3PT_Next readingsName_ORF3PT_Nexttime readingsName_ORF3PT_Starttime stateFormat timeout verbose
attr TV_ProgrammePT enableControlSet 1
attr TV_ProgrammePT reading01Name MDRPT
attr TV_ProgrammePT reading01Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading02Name NTVPT_Nexttime
attr TV_ProgrammePT reading02Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading03Name SRF1PT
attr TV_ProgrammePT reading03Regex title="Schweiz 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading04Name SERVUSTVPT_Nexttime
attr TV_ProgrammePT reading04Regex title="Servus TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading05Name Pro7PT_Next
attr TV_ProgrammePT reading05Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading06Name ZDFPT_Next
attr TV_ProgrammePT reading06Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading07Name Sat1PT_Nexttime
attr TV_ProgrammePT reading07Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading08Name SERVUSTVPT_Next
attr TV_ProgrammePT reading08Regex title="Servus TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading09Name ORF1PT
attr TV_ProgrammePT reading09Regex title="ORF 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading100Name EINSPLUSPT_Starttime
attr TV_ProgrammePT reading100Regex title="Eins Plus"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading101Name SWRPT_Next
attr TV_ProgrammePT reading101Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading102Name VOXPT_Next
attr TV_ProgrammePT reading102Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading103Name RTL2PT_Next
attr TV_ProgrammePT reading103Regex title="RTL 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading104Name ATV2PT_Starttime
attr TV_ProgrammePT reading104Regex title="ATV 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading105Name Pro7MaxxPT
attr TV_ProgrammePT reading105Regex title="Pro7 Maxx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading106Name ZDFPT_Nexttime
attr TV_ProgrammePT reading106Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading107Name EINSPLUSPT_Nexttime
attr TV_ProgrammePT reading107Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading108Name EINSFESTIVALPT
attr TV_ProgrammePT reading108Regex title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading109Name ATVPT_Next
attr TV_ProgrammePT reading109Regex title="ATV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading10Name MDRPT_Nexttime
attr TV_ProgrammePT reading10Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading110Name HRPT_Starttime
attr TV_ProgrammePT reading110Regex title="HR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading111Name N24PT
attr TV_ProgrammePT reading111Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading112Name DMAXPT_Starttime
attr TV_ProgrammePT reading112Regex title="DMAX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading113Name RTLNITROPT
attr TV_ProgrammePT reading113Regex title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading114Name ORF2PT_Nexttime
attr TV_ProgrammePT reading114Regex title="ORF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading115Name PHOENIXPT
attr TV_ProgrammePT reading115Regex title="Phoenix"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading116Name N24PT_Nexttime
attr TV_ProgrammePT reading116Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading117Name DREISATPT_Nexttime
attr TV_ProgrammePT reading117Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading118Name SWRPT_Starttime
attr TV_ProgrammePT reading118Regex title="SWR RP"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading119Name EINSPLUSPT
attr TV_ProgrammePT reading119Regex title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading11Name ATV2PT_Next
attr TV_ProgrammePT reading11Regex title="ATV 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading120Name DMAXPT
attr TV_ProgrammePT reading120Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading121Name SRF1PT_Next
attr TV_ProgrammePT reading121Regex title="Schweiz 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading122Name ARDPT_Next
attr TV_ProgrammePT reading122Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading123Name SRF2PT_Starttime
attr TV_ProgrammePT reading123Regex title="Schweiz 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading124Name Kabel1PT_Starttime
attr TV_ProgrammePT reading124Regex title="Kabel eins"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading125Name PHOENIXPT_Starttime
attr TV_ProgrammePT reading125Regex title="Phoenix"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading126Name ARTEPT
attr TV_ProgrammePT reading126Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading127Name SERVUSTVPT_Starttime
attr TV_ProgrammePT reading127Regex title="Servus TV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading128Name SIXXPT_Nexttime
attr TV_ProgrammePT reading128Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading129Name RTLPT
attr TV_ProgrammePT reading129Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading12Name EINSFESTIVALPT_Next
attr TV_ProgrammePT reading12Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading130Name RBBPT
attr TV_ProgrammePT reading130Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading131Name BRPT_Next
attr TV_ProgrammePT reading131Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading132Name ZDFNEOPT_Next
attr TV_ProgrammePT reading132Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading133Name NDRPT
attr TV_ProgrammePT reading133Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading134Name NDRPT_Nexttime
attr TV_ProgrammePT reading134Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading135Name SWRPT_Nexttime
attr TV_ProgrammePT reading135Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading136Name SUPERRTLPT_Nexttime
attr TV_ProgrammePT reading136Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading137Regex title="ORF 3"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading138Name DREISATPT
attr TV_ProgrammePT reading138Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading139Name PHOENIXPT_Next
attr TV_ProgrammePT reading139Regex title="Phoenix"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading13Name ZDFPT_Starttime
attr TV_ProgrammePT reading13Regex title="ZDF"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading140Name RTL2PT_Nexttime
attr TV_ProgrammePT reading140Regex title="RTL 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading141Name RTLPT_Next
attr TV_ProgrammePT reading141Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading142Name VOXPT_Starttime
attr TV_ProgrammePT reading142Regex title="VOX"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading143Name RTLPT_Nexttime
attr TV_ProgrammePT reading143Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading144Name Pro7MaxxPT_Next
attr TV_ProgrammePT reading144Regex title="Pro7 Maxx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading145Name ATV2PT_Nexttime
attr TV_ProgrammePT reading145Regex title="ATV 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading146Name ARTEPT_Nexttime
attr TV_ProgrammePT reading146Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading147Name WDRPT
attr TV_ProgrammePT reading147Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading148Name DMAXPT_Nexttime
attr TV_ProgrammePT reading148Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading149Name ARTEPT_Next
attr TV_ProgrammePT reading149Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading14Name SRF2PT_Nexttime
attr TV_ProgrammePT reading14Regex title="Schweiz 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading150Name VOXPT_Nexttime
attr TV_ProgrammePT reading150Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading151Name DREISATPT_Next
attr TV_ProgrammePT reading151Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading152Name MDRPT_Starttime
attr TV_ProgrammePT reading152Regex title="MDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading153Name Kabel1PT
attr TV_ProgrammePT reading153Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading154Regex title="ORF 3"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading155Name Pro7PT_Nexttime
attr TV_ProgrammePT reading155Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading156Name SUPERRTLPT_Next
attr TV_ProgrammePT reading156Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading15Name ARDALPHAPT_Starttime
attr TV_ProgrammePT reading15Regex title="ARD ALPHA"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading16Name Kabel1PT_Next
attr TV_ProgrammePT reading16Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading17Name ZDFPT
attr TV_ProgrammePT reading17Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading18Name N24PT_Next
attr TV_ProgrammePT reading18Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading19Name Sat1PT
attr TV_ProgrammePT reading19Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading20Name ATV2PT
attr TV_ProgrammePT reading20Regex title="ATV 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading21Name DREISATPT_Starttime
attr TV_ProgrammePT reading21Regex title="3sat"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading22Name ORF2PT
attr TV_ProgrammePT reading22Regex title="ORF 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading23Name ATVPT_Starttime
attr TV_ProgrammePT reading23Regex title="ATV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading24Name SIXXPT
attr TV_ProgrammePT reading24Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading25Name NTVPT_Starttime
attr TV_ProgrammePT reading25Regex title="N-TV"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading26Name WDRPT_Nexttime
attr TV_ProgrammePT reading26Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading27Name SRF2PT_Next
attr TV_ProgrammePT reading27Regex title="Schweiz 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading28Name WDRPT_Starttime
attr TV_ProgrammePT reading28Regex title="WDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading29Name SUPERRTLPT_Starttime
attr TV_ProgrammePT reading29Regex title="Super RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading30Name PHOENIXPT_Nexttime
attr TV_ProgrammePT reading30Regex title="Phoenix"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading31Name SRF1PT_Starttime
attr TV_ProgrammePT reading31Regex title="Schweiz 1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading32Name RTLNITROPT_Starttime
attr TV_ProgrammePT reading32Regex title="RTL NITRO"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading33Name HRPT
attr TV_ProgrammePT reading33Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading34Name ATVPT
attr TV_ProgrammePT reading34Regex title="ATV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading35Name EINSPLUSPT_Next
attr TV_ProgrammePT reading35Regex title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading36Name PULS4PT_Next
attr TV_ProgrammePT reading36Regex title="Puls 4"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading37Name EINSFESTIVALPT_Starttime
attr TV_ProgrammePT reading37Regex title="EinsFestival"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading38Name ARDALPHAPT_Nexttime
attr TV_ProgrammePT reading38Regex title="ARD ALPHA"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading39Name ZDFINFOPT
attr TV_ProgrammePT reading39Regex title="ZDF info"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading40Name ARDALPHAPT_Next
attr TV_ProgrammePT reading40Regex title="ARD ALPHA"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading41Name ORF1PT_Next
attr TV_ProgrammePT reading41Regex title="ORF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading42Name RBBPT_Next
attr TV_ProgrammePT reading42Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading43Name RTLPT_Starttime
attr TV_ProgrammePT reading43Regex title="RTL"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading44Name NDRPT_Starttime
attr TV_ProgrammePT reading44Regex title="NDR"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading45Name SIXXPT_Next
attr TV_ProgrammePT reading45Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading46Name ORF1PT_Starttime
attr TV_ProgrammePT reading46Regex title="ORF 1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading47Name SUPERRTLPT
attr TV_ProgrammePT reading47Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading48Name PULS4PT
attr TV_ProgrammePT reading48Regex title="Puls 4"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading49Name ARDALPHAPT
attr TV_ProgrammePT reading49Regex title="ARD ALPHA"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading50Name BRPT
attr TV_ProgrammePT reading50Regex title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading51Name ATVPT_Nexttime
attr TV_ProgrammePT reading51Regex title="ATV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading52Name ZDFNEOPT_Starttime
attr TV_ProgrammePT reading52Regex title="ZDF neo"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading53Name ZDFNEOPT_Nexttime
attr TV_ProgrammePT reading53Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading54Name EINSFESTIVALPT_Nexttime
attr TV_ProgrammePT reading54Regex title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading55Name RBBPT_Starttime
attr TV_ProgrammePT reading55Regex title="RBB"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading56Name NTVPT
attr TV_ProgrammePT reading56Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading57Name RTLNITROPT_Nexttime
attr TV_ProgrammePT reading57Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading58Name SERVUSTVPT
attr TV_ProgrammePT reading58Regex title="Servus TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading59Regex title="ORF 3"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading60Name Pro7PT
attr TV_ProgrammePT reading60Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading61Name SIXXPT_Starttime
attr TV_ProgrammePT reading61Regex title="sixx"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading62Name Pro7MaxxPT_Starttime
attr TV_ProgrammePT reading62Regex title="Pro7 Maxx"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading63Name ARTEPT_Starttime
attr TV_ProgrammePT reading63Regex title="ARTE"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading64Name RBBPT_Nexttime
attr TV_ProgrammePT reading64Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading65Name MDRPT_Next
attr TV_ProgrammePT reading65Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading66Name RTL2PT
attr TV_ProgrammePT reading66Regex title="RTL 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading67Name ZDFINFOPT_Starttime
attr TV_ProgrammePT reading67Regex title="ZDF info"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading68Name DMAXPT_Next
attr TV_ProgrammePT reading68Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading69Name SWRPT
attr TV_ProgrammePT reading69Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading70Name VOXPT
attr TV_ProgrammePT reading70Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading71Name Pro7MaxxPT_Nexttime
attr TV_ProgrammePT reading71Regex title="Pro7 Maxx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading72Name NTVPT_Next
attr TV_ProgrammePT reading72Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading73Name BRPT_Nexttime
attr TV_ProgrammePT reading73Regex title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading74Name ARDPT_Nexttime
attr TV_ProgrammePT reading74Regex title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading75Regex title="ORF 3"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading76Name RTL2PT_Starttime
attr TV_ProgrammePT reading76Regex title="RTL 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading77Name N24PT_Starttime
attr TV_ProgrammePT reading77Regex title="N24"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading78Name ARDPT
attr TV_ProgrammePT reading78Regex title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading79Name Sat1PT_Starttime
attr TV_ProgrammePT reading79Regex title="SAT.1"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading80Name Kabel1PT_Nexttime
attr TV_ProgrammePT reading80Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading81Name ZDFNEOPT
attr TV_ProgrammePT reading81Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading82Name Pro7PT_Starttime
attr TV_ProgrammePT reading82Regex title="Pro7"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading83Name ORF1PT_Nexttime
attr TV_ProgrammePT reading83Regex title="ORF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading84Name ORF2PT_Next
attr TV_ProgrammePT reading84Regex title="ORF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading85Name SRF2PT
attr TV_ProgrammePT reading85Regex title="Schweiz 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading86Name ARDPT_Starttime
attr TV_ProgrammePT reading86Regex title="ARD"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading87Name ZDFINFOPT_Nexttime
attr TV_ProgrammePT reading87Regex title="ZDF info"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading88Name PULS4PT_Nexttime
attr TV_ProgrammePT reading88Regex title="Puls 4"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading89Name HRPT_Nexttime
attr TV_ProgrammePT reading89Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading90Name SRF1PT_Nexttime
attr TV_ProgrammePT reading90Regex title="Schweiz 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_ProgrammePT reading91Name Sat1PT_Next
attr TV_ProgrammePT reading91Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading92Name ZDFINFOPT_Next
attr TV_ProgrammePT reading92Regex title="ZDF info"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading93Name RTLNITROPT_Next
attr TV_ProgrammePT reading93Regex title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading94Name HRPT_Next
attr TV_ProgrammePT reading94Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading95Name ORF2PT_Starttime
attr TV_ProgrammePT reading95Regex title="ORF 2"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading96Name PULS4PT_Starttime
attr TV_ProgrammePT reading96Regex title="Puls 4"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading97Name WDRPT_Next
attr TV_ProgrammePT reading97Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT reading98Name BRPT_Starttime
attr TV_ProgrammePT reading98Regex title="Bayern"><img[\w\W]*?<td class="time">\s*(.*?)\s*<
attr TV_ProgrammePT reading99Name NDRPT_Next
attr TV_ProgrammePT reading99Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_ProgrammePT room TV Program
attr TV_ProgrammePT stateFormat mein_TV_programmPT: ARDPT_Next
attr TV_ProgrammePT timeout 20
attr TV_ProgrammePT verbose 1


Sind zwar nur die Standart Sender, aber mir reicht es.

Lg

Hallo Zusammen,

den Code mit den ganzen "attr" stehen ja in der fhem.cfg drinn..richtig?

1. Hier wird immer davon gesprochen das man die Werte bzw. den Code nicht direkt in die fhem.cfg datei kopieren soll..richtig?

2. Also müsste ich ja jetzt wenn ichs genau machen will jeden "attr" markieren und dann oben in fhem in die kommandozeile kopieren und bestätigen...dann noch sichern..richtig?

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Gisbert am 04 Juli 2017, 21:29:47
Zitat von: en-trust am 04 Juli 2017, 12:43:15
Hat jemand eine schicke Smartphone Ansicht für den TV Guide sich gebastelt und könnte diesen mal als screenshot ggf html code posten ?
danke.
Das interessiert mich auch brennend, ist ja schließlich das Gerät, welches am ehesten auf dem Sofa zum Einsatz kommt, wenn man kein Tablet hat oder mag.

Ich hab noch eine Merkwürdigkeit bei den großen Symbolen.
Die Sendelogos werden alle in einer ansprechenden großen Version dargeboten und sind alle rechts angeordnet, soweit noch Platz in diesem Feld ist.
Außer das Logo von Tele 5 ist links angordnet und winzig klein (siehe angehängte Datei).

Die großen Symbole habe ich mit folgendem Befehl eingelesen:
wget -nd -r -l 1 -A png -e robots=off http://images.klack.de/images/stories/stations/details/


Noch eine Frage: gibt es die Möglichkeit die Symbole in der Spalte mittig oder linksbündig anzuordnen?

Viele Grüße Gisbert

PS:
Das Logo von Tele5 wird nur im Firefox Desktop-Browser so merkwürdig klein angezeigt; in Chrome sieht es völlig normal aus.
Im Fully-Browser auf'm Handy sieht das auch ok aus.
Nachdem ich Firefox geschlossen und wieder neu gestartet habe, sieht das Tele5-Logo in Ordnung aus - sehr merkwürdig.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 05 Juli 2017, 08:48:10
Hallo Zusammen,

wärd ihr bitte so nett und würdet bitte meinen post beantworten... ist eine verständnisfrage für mich.

Vielen Dank
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: hartenthaler am 06 Juli 2017, 00:15:35
@Kusselin
... ich würde die Seite mit dem Device öffnen, also etwa TV_ProgrammePT. Dort gibt es ganz unten in der Mitte "Raw definition". Das anklicken und alle attr dort in einem Schwung reinkopieren und dann sichern. Dabei wird eine Syntaxprüfung durchgeführt, die ein paar grobe Schnitzer verhindern kann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 06 Juli 2017, 08:59:39
Hi hartenthaler,
erstmal danke für deine Antwort!!

O.K. da ich immer bissl länger brauche wie andere hier nochmal meien Version:

1. Ich gebe oben in der Fhem Komanndozeile als erstes folgendes ein:
define TV_ProgrammePT HTTPMOD http://www.klack.de/fernsehprogramm/2015-im-tv/0/-0/all.html 900
2. Somit ist das Device ja angelegt aber mit "STATE ?"
3. Nun scrolle, nachdem ich TV_Programme angeklickt habe mit Corsor runter und klicke dort "Raw Definition an..richtig?
4. Und hier dann alles reinkopieren....und nicht direkt in die Fhem.cfg

Stimmt das alles so wie ich es geschrieben habe?

P.S. Noch ne Frage hinterher: Wenn User hier die Codes posten mit den "attr" usw...dann immer so machen mit der Raw Definition??

Über ne Rückinfo herzlichen Dank.

Gruss
Kussel
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 06 Juli 2017, 19:32:56
Zitat von: Ascos am 13 Oktober 2015, 22:47:03
Hey,

vielen Dank für deinen Code. Habe nun versucht das alles bei mir auch einzubauen.
Habe die Bilder, wie bei Grimm80 in dem Post unter deinem beschrieben, herunter geladen.
Leider fehlen bei mir ganz viele Bilder.
Woran kann das liegen?
Habe den Code 1zu1 übernommen.

Anbei ein Bild, da einige Bilder ja gehen.

Viele Grüße
Tino

Hi, bei mir sieht es genauso aus wie bei Tino.
Leider weiss ich jetzt nicht wie und wo ich die Namen umändern muss damit das Logo angezeigt wird.

Wäre net wenn kvo1 sich melden würde

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 06 Juli 2017, 19:44:05
Hallo Kussel,
...
5. execute comands Knopf klicken
6. Popup "... no erforscht found" bestätigen
7. Save klicken oder in die Kommandozeile tippen und mit [Return] bestätigen


Zur Zusatzfrage, ja, wenn es mehr als eine Zeile ist.

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 06 Juli 2017, 20:03:34
Zitat von: supernova1963 am 06 Juli 2017, 19:44:05
5. execute comands Knopf klicken
Hi Gernot, sorry, aber wo finde ich den Knopf?

Zitat von: supernova1963 am 06 Juli 2017, 19:44:05

Zur Zusatzfrage, ja, wenn es mehr als eine Zeile ist.


Welche Zusatzfrage??

Sorry ich möchte nur das die anderen Icons die ich per Kondole runtergeladen habe auch angezeigt werden..

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 06 Juli 2017, 22:06:12
Hallo Kusselin,

Unten links, ist im Standard Style ein Knopf, kann in anderen Styles auch ein Link sein.

Ich meinte die PS Frage in deinem Beitrag.

LG

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 07 Juli 2017, 09:26:29
Sorry, ich finde den Knopf bzw. den Link nicht  :-[

PS-Frage??? Sorry...was ist PS???

Viele Grüße

Kussel
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 07 Juli 2017, 11:56:38
Die Frage, auf die geantwortet habe:
Zitat von: Kusselin am 06 Juli 2017, 08:59:39
Stimmt das alles so wie ich es geschrieben habe?

Das PS bzw. die Zusatzfrage, die ich beantwortet habe:
Zitat von: Kusselin am 06 Juli 2017, 08:59:39
P.S. Noch ne Frage hinterher: Wenn User hier die Codes posten mit den "attr" usw...dann immer so machen mit der Raw Definition??

Über ne Rückinfo herzlichen Dank.

Gruss
Kussel

Der Knopf oder Link befindet sich unter dem Texteingabefeld, dass durch den Klick auf Raw Definition geöffnet wurde.

Viel Erfolg,

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 07 Juli 2017, 12:22:28
Hallo gernot,

jetzt wird´s heller am Ende des Tunnels :D  jetzt kapier ichs auch danke..

Eine Frage: mit dem Knopf in der raw Definition also wenn ich den gedrückt habe...dann werden die Logos alle angezeigt?? echt?

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 07 Juli 2017, 13:26:51
Ähhm Gernot....den Execute Knopf habe ich doch schon gedrückt nachdem ich den ganzen Code reinkopiert hatte....hat ja auch funktioniert..nur danach werden halt nicht alle Senderlogos angezeigt...siehe Scrennshot.

Mir gehts um die Anzeige der Logos also das alle Logos angezeigt werden. Einen Ordner habe ich erstellt unter www/default/tvmovie udn mit dem Konsoleneintrag wurden ja auch die Logos in den entsprechenden Ordner kopiert.
Aber es werden halt nicht alle Logos jetzt angezeigt... und ich will das aber  ;)

Gruss

P.S. ich habe gerade nochmal geschaut...wenn ich jetzt in Raw Definition klicke habe ich keinen Button mehr sondern nur noch das hier:
Dump "Probably associated with" too mit einem Kästchen wo ich einen Haken setzen kann oder nicht!
Was soll das mit dem Anzeigen der nicht vorhandenen Logos der TV Anbieter zu tun haben??
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: hartenthaler am 07 Juli 2017, 23:24:14
@kusselin
Bitte versuche immer nur eine einzige Sache zu klären. Alos das Thema mit "wie füge ich größe Blöcke von fhem-Code ein" mit Hilfe von "raw definition" scheinst Du klar zu haben, also bitte dazu nichts mehr. Hat ja auch, wie Du richtig erkannt hast, gar nichts mit dem Problem der nicht angezeigten Logos zu tun.

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 08 Juli 2017, 14:00:41
Hi Hartenthaler,

ja danke..das mit der Raw Definition ist jetzt klar und dem kopieren..aber das mit den Logos...ich weiss ja nicht mal wo ich nachschauen soll???

klar die Info von Dir mal schauen bei dem Eurosport mit Logo und dann mit einem Sender wo nichts angezeigt wird...aber ich weiss ja nicht wo ich schauen soll---Readingsgroup?? da steht was von Logos zB das_erste.png

Weisst, mein Prob ist ich weiss nicht wie ichs anpacken muss???

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Esjay am 08 Juli 2017, 17:12:18
Log dich über winscp auf deinem Server ein,und geh in den Ordner wo die Bilder liegen.Rechts daneben,steht der user der Bilder. Alles makieren,rechtsklick dann glaub ich eigenschaftrn, dann als Gruppe ??dealout?? und user fhem. Der Name wird über die Attribute vergeben,also zu not die fhem.cfg mal nach einem durchsuchen der passt,(nur durchsuchen) schauen,wo genau die Bilder verlinkt sind,und dann die,die nicht passen anpassen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 08 Juli 2017, 17:57:36
Alder schalter...sorry aber deiner Formulierung kann ich leider nicht folgen :-[
Is denn keiner hier im Board der in vernünftigen Sätzen erklären kann wie man die Logos vergleicht Fhem-Ordner wo ich die gespeichert habe?????

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 08 Juli 2017, 22:50:34
Zitat von: hartenthaler am 07 Juli 2017, 23:24:14
  • Logos werden nicht sofort sichtbar, wenn man sie ins Verzeichnis kopiert, sondern erst wenn fhem sie eingelesen hat. Also z.B. einmal fhem neu starten.
Hi, habe ich gemacht...bringt aber nix

Zitat von: hartenthaler am 07 Juli 2017, 23:24:14
  • fhem muss die Logos auch finden, also stimmen die Dateinamen und die Dateirechte?
Wie weiß ich das die dateinamen stimmem? Wo muss ich da ansetzen? Ich weiss nicht wo ich nachschauen muss? Ich habe im TVMovie Ordner zB eine zdf.png ...womit und wo muss ich nun vergleichen???

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: hartenthaler am 08 Juli 2017, 23:34:23
Nimm doch, wie von mir vorgeschlagen, ein Logo das geht und ein Logo das nicht geht: etwa Eurosport scheint zu gehen, Vox nicht. Laut Deinem Screenshot müssten die Logos alle im Unterordner tvmovie liegen. Nun gehe z.B. per ssh auf deinen fhem-Server und dort zu diesem Verzeichnis in dem die Logos liegen. Du musst sie ja dort hinkopiert haben. Nun vergleiche, etwa mit dem ls -l Befehl die Dateieigenschaften. Findest Du das Logo von Eurosport? Welche Eigenschaften hat es? Dateiname und Eigentümer/gruppe (letzteres sollte fhem und dialout sein). Findest Du das Logo für Vox? Stimmt der Dateiname mit der Angabe in deiner Konfigurationsdatei überein "tvlogo_vox_s"? Stimmen Eigentümer und Gruppe (letzteres ggf. mit sudo chown ändern). Ggf. muss Du Dich etwas in die Kommandos des Linux-Systems einarbeiten (etwa per man chown).
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 08 Juli 2017, 23:51:29
Hi Hartenthaler,

denke das es mit Filezilla oder WinSCP auch geht..mit Putty und den Linux befehlen bin ich nicht so vertraut.
Also habe mich mit Standard Anmeldeinformationen bei Filezilla angemeldet: Benutzer: pi Pass: raspberry

dann zu dem Ordner /opt/fhem/www/images/default/tvmovie gewechselt.

Hier sehe ich folgendes bei allen .png´s wie im Bild.

Also bei Benutzer/Gruppe stimmt schon mal was nicht..wobei beim Eurosportlogo das gleiche bei Benutzer/Gruppe steht nämlich pi pi und es haben beide die gleichen Eigenschaften!

Gruss


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Fixel2012 am 09 Juli 2017, 00:02:25
Zitat von: Kusselin am 08 Juli 2017, 23:51:29
Hi Hartenthaler,

denke das es mit Filezilla oder WinSCP auch geht..mit Putty und den Linux befehlen bin ich nicht so vertraut.
Also habe mich mit Standard Anmeldeinformationen bei Filezilla angemeldet: Benutzer: pi Pass: raspberry

dann zu dem Ordner /opt/fhem/www/images/default/tvmovie gewechselt.

Hier sehe ich folgendes bei allen .png´s wie im Bild.

Also bei Benutzer/Gruppe stimmt schon mal was nicht..wobei beim Eurosportlogo das gleiche bei Benutzer/Gruppe steht nämlich pi pi

Gruss

Als erstes, ein kleiner Tipp: du solltest von deinem standard user pi aufjedenfall das passwort ändern. Auch wenn du bei dir im "Privaten" Netzwerk bist, sicher ist sicher!

Nun zum eigentlichen:
Da Fhem auf die Dateiem zugreifen muss/soll muss Fhem Lese rechte auf den Ordner TVmovie haben.

Da änderst du mit dem Befehl chmod (https://wiki.ubuntuusers.de/chmod/)

chmod -R /opt/fhem/www/images/default/tvmovie 744

Sollte eigentlich klappen, falls nicht lies dich da selber mal ein (link oben) kann jedenfalls nicht schaden!

Gruß Fixel
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 09 Juli 2017, 00:04:51
Jetzt hat´s funktioniert und ich habs verstanden  :o

ich wusste nicht wie und wo ich vergleichen musste..jetzt weiss ich es.

Ich muss jetzt die ganzen Logos zB zdf.png -> tvlogo_zdf_s.png umbenennen..restart dann gehts

Danke Dir harthenthlaer / Euch

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Mazz78 am 17 Juli 2017, 15:45:30
Hallo zusammen,

hab gerade 783 Beiträge gelesen...
Ich muss zugeben irgendwann lässt die Konzentration -trotz großem Interesse- nach. :-\

Erst mal DANKE an alle die hier mitgewirkt und Zeit dafür investiert haben. Klasse Arbeit!

Ich würde das ganze auch gerne bei mir integrieren.
Sehe ich das richtig, dass im Moment noch alles auf dem Post #631 basiert und das

set device upgradeAttributes

noch nachgeholt werden muss?!

Der gezeigte Inhalt des Posts #631 fiind ich perfekt (aktuell / nachfolgend / 20:15 / nachfolgend) dashalb wär ich froh wenn das so funktionieren würde.
Muss ich die Tage mal probieren.

Gibt es nochmal was zu beachten/anzupassen ?

Grüße

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 17 Juli 2017, 15:59:37
Hi Mazz,

ja der sollte noch funktionieren...ich habe das wie hartenthaler mir erklärt hat über die "Raw Definition kopiert"

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Mazz78 am 20 Juli 2017, 07:23:49
Hallo zusammen,

ich bin etwas mittlerweile etwas verunsichert...

Meine Frage oben war ja, ob der Code von Post 631 noch aktuell ist, was von Kusselin ja auch bestätigt wurde.

Nur... was war denn das mit der "HTTPMOD Umstellung"?
Es mussten doch die userreadings angepasst/durchnummeriert werden, oder?!

Der "alte" Code von Post 631 funktioniert tadellos. Habe ihn mit "include" importiert.

Wenn ich jedoch die "neue" Code-Variante von z.B. Post  709 nehme, werden zwar die Sendungen in den Readings aufgelistet, die grafische Tabelle bleibt jedoch leer.

define mod_TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr mod_TV_Programme userattr reading01Name reading02Name reading03Name reading04Name ... reading01Regex reading02Regex reading03Regex reading04Regex ... stateFormat timeout verbose
attr mod_TV_Programme reading01Name ARD
attr mod_TV_Programme reading01Regex title="ARD"[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading02Name ARD_time
attr mod_TV_Programme reading02Regex title="ARD"[\w\W]*?<td class="time">\s*(.*?)\s*<
attr mod_TV_Programme reading03Name ARD_next
attr mod_TV_Programme reading03Regex title="ARD"[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr mod_TV_Programme reading04Name ARD_next_time
attr mod_TV_Programme reading04Regex title="ARD"[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div


Eigentlich wird mein FHEM wöchentlich upgedateted. Aber kann es sein dass mein HTTPMOD trotzdem veraltet ist?

Hat jemand eine Idee?

Leider kann ich grad nicht auf mein System zugreifen, sonst könnte ich Logs/Screenshots liefern.

Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: en-trust am 27 Juli 2017, 10:35:52
Ich habe hier mal ein Muster, wie das TV Programm dargestellt werden könnte. Jetzt eine Frage an Euch, muss ich wirklich für alle 50 Sender die Zeilen entsprechende kopieren und den Code unnötig aufblähen ? Oder gäbe es auch eine dynamischere Variante ?

<!DOCTYPE html>
<html>                                         
  <head>                                         
  </head>                                         
  <body>                                                                                     
    <div class="page" id="content_tvguide">                                                                                                                   
      <section id="sectionPrimeTime">                              
        <div onclick="if ($('#dropprimetime').is(':hidden')) {$('html, body').animate({scrollTop: $('#sectionPrimeTime').offset().top -55}, 500); $('#dropprimetime').slideDown(500); $('#dropdownprimetime > i.fa').addClass('fa-rotate-180'); } else { $('#dropprimetime').slideUp(500); $('#dropdownprimetime > i.fa').removeClass('fa-rotate-180'); }" id="dropdownprimetime" class="big">PrimeTime&nbsp;                                    
          <i class="fa fa-angle-down large"></i>                              
        </div>                              
        <div style="display:inline-block;height:1px;width:80%;background-color:#0088CC;">                             
        </div>                                                                                                                             
        <div id="dropprimetime" class="top-space">                                                                                                                                                                       
          <table>                                                                                                                                                                                     
            <colgroup>                                                     
            <col width="50">                                                     
            <col width="20">                                                     
            <col width="150">                                                     
            </colgroup>                                                 
            <tr>                                                             
              <th>                                                           
                <div data-type="label" class="cell">Sender                                                             
                </div>                                                   
              </th>                                                             
              <th>                                                           
                <div data-type="label" class="cell">Uhrzeit                                                             
                </div>                                                   
              </th>                                                             
              <th>                                                           
                <div data-type="label" class="cell">Sendung                                                             
                </div>                                                   
              </th>                                                                                                 
            </tr>                                                 
            <tr><td>                                                           
                <div data-type="image" class="cell" data-url="/fhem/images/default/tvmovie/vox.png" data-size="100%" class="cell big"</div></td><td>                                                         
                <div data-type="label" data-device="TV_ProgrammePT" data-get="VOXPT_Starttime" class="normal">                                                         
                </div></td><td>                                                         
                <div data-type="label" data-device="TV_ProgrammePT" data-get="VOXPT">                                                         
                </div></td>                                                 
            </tr>                                           
          </table>                               
        </div>                        
      </section>                   
      <section>                                                                                                                                                                   
        <div class="big">nachfolgende Sendungen                                                                                                                                                                           
        </div>                                                                                                                                                                       
        <div style="display:inline-block;height:1px;width:80%;background-color:#0088CC;">                                                                                                                             
        </div>                                                                                                                                                                       
        <table>                                                                                                                                                                                     
          <colgroup>                                                     
          <col width="50">                                                     
          <col width="20">                                                     
          <col width="150">                                                     
          </colgroup>                                                 
          <tr>                                                             
            <th>                                                           
              <div data-type="label" class="cell">Sender                                                             
              </div>                                                   
            </th>                                                             
            <th>                                                           
              <div data-type="label" class="cell">Uhrzeit                                                             
              </div>                                                   
            </th>                                                             
            <th>                                                           
              <div data-type="label" class="cell">Sendung                                                             
              </div>                                                   
            </th>                                                           
          </tr>                                                 
          <tr><td>                                                           
              <div data-type="image" class="cell" data-url="/fhem/images/default/tvmovie/vox.png" data-size="100%" class="cell big"</div></td><td>                                                         
              <div data-type="label" data-device="TV_ProgrammePT" data-get="VOXPT_Nexttime">                                                         
              </div></td><td>                                                         
              <div data-type="label" data-device="TV_ProgrammePT" data-get="VOXPT_Next">                                                         
              </div></td>                                                 
          </tr>                                           
        </table>                             
      </section>                   
    </div>                       
  </body>
</html>


ggf. mit data-get="all" ? Aber wie bekommt man dann die Logos, mit ihren unterschiedlichen Namen richtig zugeordnet ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: klausw am 21 September 2017, 16:31:11
Zitat von: en-trust am 27 Juli 2017, 10:35:52
Ich habe hier mal ein Muster, wie das TV Programm dargestellt werden könnte. Jetzt eine Frage an Euch, muss ich wirklich für alle 50 Sender die Zeilen entsprechende kopieren und den Code unnötig aufblähen ? Oder gäbe es auch eine dynamischere Variante ?

Schau dir mal den Punkt "Templates" in der Wiki zu FTUI an
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 22 September 2017, 14:48:07
Das Problem hatte ich auch. Das mit der Excel-Tabelle fand ich zu umständlich und habe jetzt die GEnerierung der Attribute für HTTPMOD, die readingsGroup und deren Attribute in den TVhelper integriert. Dort legt man nur ein Muster an und der Rest wird generiert. Außerdem habe ich die vielen regex - Definitionen für HTTPMOD vereinfacht, da kann man ja auch mehrere Werte in einem regex suchen lassen, was deutlich schneller geht....
Ich teste gerade, aber es sieht schon ganz gut aus. Pro Sender gibt es jetzt nur eine regex und die findet now_time, next_time, now_title, next_title, now_details und Next_details in einem Suchlauf.

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: HomeAuto_User am 11 Oktober 2017, 11:19:14
Hallo,

ich finde die Idee welche hier entstanden ist klasse.

Nachdem ich alles in FHEM eingebunden habe so knobel ich noch an einer Lösung, wie ich die Senderlogos in der ReadingsGroup links bzw. rechtsbündig hinbekomme.
Mit all den Style´s vorgaben welche man der Readingsgroup definieren kann, erhielt ich kein Erfolg.

Hat jemand dies umgesetzt bzw. kann mir behilflich sein?

MfG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 21 November 2017, 23:01:39
Hallo zusammen,

hat der ein oder andere Lust mir bei meinem laienhaften Automatisierungsversuch von TV Programm in FHEM zu helfen?
Hier habe ich ein Thema dazu eröffnet:

Zitat von: supernova1963 am 16 November 2017, 22:32:59geändert TV Programm automatisieren - Vorschlag mit der Bitte um Unterstützung

Den ersten Versuch könntet ihr euch hier https://github.com/supernova1963/TVSender herunterladen.

Danke

Gernot

[EDIT 22.07.2017 18:21]: Über Rückmeldungen, Hinweise, Vorschläge und kritische Würdigungen würde ich mich sehr freuen.
[EDIT 24.07.2017 06:30]:  Titel des Themas geändert, Screenshots angehängt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 25 November 2017, 07:17:33
SUPER SACHE! Läuft !
Jetzt muss ich dieses geniale Ansicht nur noch irgendwie ins FTUI bekommen!

VG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 25 November 2017, 08:27:20
soweit der erste Wurf .... jetzt muss ich nur noch sehen wie ich das "Vorschaubild" eingebunden bekommen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 25 November 2017, 09:33:26
kann man ein weiteres Attribut für die DetailLinks "TV_Program_[NOw,NEXT...]_DetailLink" eine Attribut / Reading erstellen in welchem die href-Referenz zum Bild in Klartext ausgegeben wird? Dann könnte man dies im FTUI mittels HTML
Zitat<img src="http://funke.images.dvbdata.com/5280175/5280175_176x120.jpg'">
einfach einbinden, oder?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 25 November 2017, 13:08:32
Bitte zunächst "zu Fuss" hier einfügen:

sub TVSender_Notify($$) {
    my ($own_hash, $dev_hash) = @_;
    my $ownName = $own_hash->{NAME}; # own name / hash
    my $daytime = "";
    return "" if(IsDisabled($ownName)); # Return without any further action if the module is disabled
    my $devName = $dev_hash->{NAME}; # Device that created the events
    my $events = deviceEvents($dev_hash,1);
    my $cmd = '';
    my $errors = '';
    return if( !$events );
    if($devName eq "global" && grep(m/^INITIALIZED|REREADCFG$/, @{$events}))
    {
      Log3($ownName, 5, "Abschluss aller Intitialisierungen festgestellt ...");
    }
    foreach my $event (@{$events}) {
      $event = "" if(!defined($event));
      if ($devName eq InternalVal($ownName,"TV_Program_NOW","TV_Program_NOW")) {
        $daytime = "_NOW";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'
### 1. Hier einfügen:
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';'
###
          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
      if ($devName eq InternalVal($ownName,"TV_Program_NEXT","TV_Program_NEXT")) {
        $daytime = "_NEXT";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'
### 2. Hier einfügen:
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';'
###
          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
      if ($devName eq InternalVal($ownName,"TV_Program_PT","TV_Program_PT")) {
        $daytime = "_PT";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'
### 3. Hier einfügen:
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';'
###
          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
      if ($devName eq InternalVal($ownName,"TV_Program_PTNEXT","TV_Program_PTNEXT")) {
        $daytime = "_PTNEXT";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'

### 4. Hier einfügen:
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';'
###
          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
    }
}


Nach einem Neustart "shutdown restart" nach der Code Änderung sollten es alle TVSender Devices tun nach dem eine Änderung bei den HTTPMOD Devices erfolgt ist.
Ich schreibe es mir auf, dass es bei der nächsten Aktualisierung mit dabei ist. 

Ich hoffe es hilft,

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 25 November 2017, 15:14:14
Vielen Dank für die prompte Unterstützung. Läuft nun perfekt!
Anbei mein Beispielcode:

<table>
  <tr>
    <th rowspan="4"><div data-type="image" class="cell" data-url="img/tvlogos/ard.png" hight="10px" width="20px"
      onclick="setFhemStatus('set hub command 24775848 Number8; set hub command 24775848 Number6')"></div></th>
    <th colspan="3" bgcolor="#9b9b9b">A K T U E L L</th>
     <th></th><!-- leere Spalte-->
  </tr>
  <tr>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_NOW_Time" ></div></td>
    <td></td>
    <td rowspan="3"><div data-type="image" data-device="Das_Erste" data-get="TV_Program_NOW_Image_URL" data-size="176" data-width="120"></div></td>
    <td>&nbsp;&nbsp;</td> <!-- leerer Eintrag in einer Zelle für die letzte Spalte-->
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_NOW_Title" cell="bigger"></div></td>
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_NOW_Description"></div></td>
  </tr>
   <tr>
    <th rowspan="4"></th>
    <th colspan="3" bgcolor="#9b9b9b">A N S C H L I E S S E N D</th>
  </tr>
  <tr>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_NEXT_Time" ></div></td>
    <td></td>
    <td rowspan="3"><div data-type="image" data-device="Das_Erste" data-get="TV_Program_NEXT_Image_URL" data-size="176" data-width="120"></div></td>
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_NEXT_Title" cell="bigger"></div></td>
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_NEXT_Description"></div></td>
  </tr>
  <th rowspan="4"></th>
    <th colspan="3" bgcolor="#9b9b9b">P R I M E T I M E</th>
  </tr>
  <tr>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_PT_Time" ></div></td>
    <td></td>
    <td rowspan="3"><div data-type="image" data-device="Das_Erste" data-get="TV_Program_PT_Image_URL" data-size="176" data-width="120"></div></td>
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_PT_Title" cell="bigger"></div></td>
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_PT_Description"></div></td>
  </tr>
  <th rowspan="4"></th>
    <th colspan="3" bgcolor="#9b9b9b">D A N A C H</th>
  </tr>
  <tr>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_PTNEXT_Time" ></div></td>
    <td></td>
    <td rowspan="3"><div data-type="image" data-device="Das_Erste" data-get="TV_Program_PTNEXT_Image_URL" data-size="176" data-width="120"></div></td>
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_PTNEXT_Title" cell="bigger"></div></td>
  </tr>
  <tr>
    <td></td>
    <td><div data-type="label" data-device="Das_Erste" data-get="TV_Program_PTNEXT_Description"></div></td>
  </tr>
</table>
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ofno am 26 November 2017, 11:38:11
Hallo
ich habe auch mal das tolle modul ausprobiert.

Ich hatte dann bei einem Sender den Channel versucht zu ändern, auf dem HTTPMOD wurde weiter hin der alte angezeigt.

Darauf hin habe ich den Sender als Device gelöscht und neu angelegt. Im HTTPMOD steht er jetzt als letztes, obwohl ich ihn eigentlich FavoritNr  1 angelegt habe.

Konkret

ich habe define Das_Erste TVSender 161 Das%20Erste 1 angelegt und habe das 161 auf 1 geändert, leider wurde dies nicht übernommen. Gibt es einen Befehl, der das HTTPMOD komplett neu erzeugt. Um die Sortierung zu berichtigen.

Mir ist außerdem aufgefallen, dass "anschliessend" falsche Infos anzeigt und zwar die vom Vorgänger.

Danke für die Hilfe.

gruß ofno
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 26 November 2017, 12:49:57
Hallo ofno,

vorab: Vielen Dank für den Erfahrungsbericht.
Heute habe ich eine aktuelle Version ins git gestellt. Leider ist auch dort die automatische Sortierung der Sender im stateFormat der HTTPMOD Devices nicht enthalten. Als Umgehung empfehle ich z.Zt. bei den TVSender Device in der gewünschten Reihenfolge ein

set <Sendername> UpdateAll

zumachen. Danach sollte die Reihenfolge auch in den HTTPMOD Devices stimmen. Zur Zeit wird ausschließlich innerhalb der Gruppe TV-Sender nach der Favoriten-Nr. sortiert.

Zitat von: ofno am 26 November 2017, 11:38:11
Mir ist außerdem aufgefallen, dass "anschliessend" falsche Infos anzeigt und zwar die vom Vorgänger.
Ich verstehe nicht, was du meinst. Wenn du die falschen Sendungsbilder meinst, dann ist das ein bekannter Fehler, wenn kl**k.de kein Sendungsbild zur Verfügung stellt. Ein Vorschlag für eine geeignete Regex, die dann nicht solange weitersucht, bis Sie das nächste gültige Sendungsbild findet würde mir echt weiterhelfen.
Wenn die Uhrzeit, Titel falsch sind, dann schlage ich vor:

Ich hoffe, es hilft,

Gernot

P.S.: Würdet ihr bitte eure Berichte, Fragen, Anregungen und Lösungen hier: Thema: [geändert]TV Programm automatisieren - Vorschlag mit der Bitte um Unterstützung (https://forum.fhem.de/index.php/topic,79666.0.html) posten.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 29 November 2017, 19:57:05
Wie füge ich den N-TV zu?

Zitatdefine N-TV TVSender 173 N-TV 1

ZitatInvalid characters in name (not A-Za-z0-9._): N-TV


mit welchem Sonderzeichen / Platzhalter muss ich hier arbeiten?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 29 November 2017, 20:06:43
Ups das hätte ich erwähnen sollen. Es gibt Zeichen die nicht mehr bei Devicenamen erwünscht sind Gernot. Beim Define wird auf korrekte Zeichen geprüft. Ich glaube das Kollidiert mit Deiner Logik, oder? Wenn nicht gibt es FHEM Funktionen die automatisch einen passenden Namen aus dem machen was die User angeben.

makeDeviceName($name);




Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 29 November 2017, 20:22:17
Hallo zusammen,

Der devicename wird nur für die Suche verwendet, wenn der Parameter ChannelName nicht eingeben wurde.
Auch aus diesem Grund habe ich das set <Devicename> ChannelName mit DropDown in denen sich die derzeit gültigen Suchbegriffe für  kl**k.de befinden mit deiner Hilfe, CoolTux, angelegt.

Der DeviceName wird ausschließlich für die Benennung der Readings verwendet und sollte sogar keine Sonderzeichen enthalten.

Konkret: Devicename «ntv» ChannelName aus DropDown Box auswählen!


Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 29 November 2017, 20:27:22
ah.... ok ..... verstanden. Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 02 Dezember 2017, 07:26:03
Mir ist aufgefallen, dass seitdem ich das Modul im Einsatz habe ich eine sehr hohe Last auf dem Pi habe und das laden von FHEM sehr lange dauert. Da ich jedoch in der letzen Zeit keine weiteren Module konfiguriert habe, ich aber auch nicht wirklich ausschließen kann ob es nun wirklich am TVSender-Modul liegt mal die Frage in die Runde wie es bei den anderen Usern aussieht.

Kann man ggf. über Attribute steuern, dass die Fotos nicht geladen werden sollen? Denn, wer FTUI im Einsatz hat, kann sich die Bilder ja in FHEM sparen und fügt im FTUI Code lediglich den Image Detail Link ein. Somit müssten die Bilder nicht alle vorher geladen werden.

Bei 14 Sendern X 4 kommt da schon was zusammen: 56
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 02 Dezember 2017, 08:42:53
Zitat von: bjoernbo am 02 Dezember 2017, 07:26:03
Mir ist aufgefallen, dass seitdem ich das Modul im Einsatz habe ich eine sehr hohe Last auf dem Pi habe und das laden von FHEM sehr lange dauert. Da ich jedoch in der letzen Zeit keine weiteren Module konfiguriert habe, ich aber auch nicht wirklich ausschließen kann ob es nun wirklich am TVSender-Modul liegt mal die Frage in die Runde wie es bei den anderen Usern aussieht.

Kann man ggf. über Attribute steuern, dass die Fotos nicht geladen werden sollen? Denn, wer FTUI im Einsatz hat, kann sich die Bilder ja in FHEM sparen und fügt im FTUI Code lediglich den Image Detail Link ein. Somit müssten die Bilder nicht alle vorher geladen werden.

Bei 14 Sendern X 4 kommt da schon was zusammen: 56

habe FHEM noch auf einem Pi 1 laufen und das Modul -so schön es auch sei- wegen der Last schon vor langer Zeit rausgeschmissen. Ich lade in Tablet UI einfach ein iframe mit einer in Klack konfigurierten individuellen Senderliste.

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 02 Dezember 2017, 09:32:07
Hallo Bjoernbo,
hallo rasti,

ich bin mir nicht sicher, ob es wirklich an den Bilder der Sendungen liegt, da rasti ja bereits die HTTPMOD vor langer Zeit herausgeschmissen hat.
Du kannst die Anzeige der Bilder eleminieren in dem du im Modul die Zeilen zum übertragen der readings herausnimmst (oder den Code dieser sub's ersetzt).


sub TVSender_Notify($$) {
    my ($own_hash, $dev_hash) = @_;
    my $ownName = $own_hash->{NAME}; # own name / hash
    my $daytime = "";
    return "" if(IsDisabled($ownName)); # Return without any further action if the module is disabled
    my $devName = $dev_hash->{NAME}; # Device that created the events
    my $events = deviceEvents($dev_hash,1);
    my $cmd = '';
    my $errors = '';
    return if( !$events );
    if($devName eq "global" && grep(m/^INITIALIZED|REREADCFG$/, @{$events}))
    {
      Log3($ownName, 5, "Abschluss aller Intitialisierungen festgestellt ...");
    }
    foreach my $event (@{$events}) {
      $event = "" if(!defined($event));
      if ($devName eq InternalVal($ownName,"TV_Program_NOW","TV_Program_NOW")) {
        $daytime = "_NOW";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';';
# 1. Folgende Zeile herausnehmen ACHTUNG: ";" am Ende der vorhergehenden Zeile ergänzen!
#          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
      if ($devName eq InternalVal($ownName,"TV_Program_NEXT","TV_Program_NEXT")) {
        $daytime = "_NEXT";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';';
# 1. Folgende Zeile herausnehmen ACHTUNG: ";" am Ende der vorhergehenden Zeile ergänzen!
#          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
      if ($devName eq InternalVal($ownName,"TV_Program_PT","TV_Program_PT")) {
        $daytime = "_PT";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';';
# 3. Folgende Zeile herausnehmen ACHTUNG: ";" am Ende der vorhergehenden Zeile ergänzen!
#          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
      if ($devName eq InternalVal($ownName,"TV_Program_PTNEXT","TV_Program_PTNEXT")) {
        $daytime = "_PTNEXT";
        $cmd = 'setreading '.$ownName.' '.$devName.'_Time '.ReadingsVal($devName,$ownName.'_Time','na').';'
          .'setreading '.$ownName.' '.$devName.'_Title '.ReadingsVal($devName,$ownName.'_Title','na').';'
          .'setreading '.$ownName.' '.$devName.'_Description '.ReadingsVal($devName,$ownName.'_Description','na').';'
          .'setreading '.$ownName.' '.$devName.'_DetailLink <html><a href=\''.ReadingsVal($devName,$ownName.'_DetailLink','na').'</a></html>;'
          .'setreading '.$ownName.' '.$devName.'_DetailLink_URL http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').';'
          .'setreading '.$ownName.' '.$devName.'_Image_URL '.ReadingsVal($devName,$ownName.'_Image','na').';';
# 3. Folgende Zeile herausnehmen ACHTUNG: ";" am Ende der vorhergehenden Zeile ergänzen!
#          .'setreading '.$ownName.' '.$devName.'_Image <html><a href=\'http://www.klack.de'.ReadingsVal($devName,$ownName.'_DetailLink','na').'\'><img src=\''.ReadingsVal($devName,$ownName.'_Image','na').'\'></a></html>;';
        $errors = '';
        $errors = AnalyzeCommandChain (undef, $cmd);
        if (!defined($errors)) {
          #Log3($ownName, 3, 'Sucsessfully new defined/changed readings to '.$ownName.'!');
        }
        else {
          Log3($ownName, 5, 'Notify '.$event.' changed readings to '.$ownName.' cause error: '.$errors.'!');
          Log3($ownName, 5, $cmd);
        }
      }
    }
    #TVSender_stateFormat($own_hash);
}


und im StateFormat des jeweiligen Senders:

sub TVSender_stateFormat($) {
  my ($hash) = @_;
  my $name = $hash->{"NAME"};
  my $cmd = '';
  my $errors = '';
  my $nameNOW = InternalVal($name,"TV_Program_NOW","TV_Program_NOW");
  my $nameNEXT = InternalVal($name,"TV_Program_NEXT","TV_Program_NEXT");
  my $namePT = InternalVal($name,"TV_Program_PT","TV_Program_PT");
  my $namePTNEXT = InternalVal($name,"TV_Program_PTNEXT","TV_Program_PTNEXT");
  my $stateformat = '<table width=100% >'
    .'<tr><td style="text-align: center;;background-color: #e0e0e0;;color: black" colspan=3 >A  K  T  U  E  L  L</td></tr>'
    .'<tr><td style="vertical-align: top;;text-align: right;;font-size: larger;;width: 50px" >'.$nameNOW.'_Time</td>'
    .'<td style="vertical-align: top;;text-align: left;;font-weight: bold;;font-size: larger" ><a href="/fhem?cmd=set%20'.$name.'%20Switch2Channel%201" >'.$nameNOW.'_Title</a><br /><div style="vertical-align: top;;text-align: left;;font-weight: initial;;font-size: smaller">'.$nameNOW.'_Description</div></td>'
# 4. Folgende Zeile herausnehmen
#    .'<td style="vertical-align: top;;width: 200px" >'.$nameNOW.'_Image</td></tr>'
    .'<tr><td style="text-align: center;;background-color: #e0e0e0;;color: black" colspan=3 >A  N  S  C  H  L  I  E  S  S  E  N  D</td></tr>'
    .'<tr><td style="vertical-align: top;;text-align: right;;font-size: larger;;width: 50px" >'.$nameNEXT.'_Time</td>'
    .'<td style="vertical-align: top;;text-align: left;;font-weight: bold;;font-size: larger">'.$nameNEXT.'_Title<br /><div style="vertical-align: top;;text-align: left;;font-weight: initial;;font-size: smaller">'.$nameNEXT.'_Description</div></td>'
# 5. Folgende Zeile herausnehmen
#    .'<td style="vertical-align: top;;width: 200px" >'.$nameNEXT.'_Image</td></tr>'
    .'<tr><td style="text-align: center;;background-color: #e0e0e0;;color: black" colspan=3 >P  R  I  M  E    T  I  M  E</td></tr>'
    .'<tr><td style="vertical-align: top;;text-align: right;;font-size: larger;;width: 50px" >'.$namePT.'_Time</td>'
    .'<td style="vertical-align: top;;text-align: left;;font-weight: bold;;font-size: larger" >'.$namePT.'_Title<br /><div style="vertical-align: top;;text-align: left;;font-weight: initial;;font-size: smaller">'.$namePT.'_Description</div></td>'
# 6. Folgende Zeile herausnehmen
#    .'<td style="vertical-align: top;;width: 200px" >'.$namePT.'_Image</td></tr>'
    .'<tr><td style="text-align: center;;background-color: #e0e0e0;;color: black" colspan=3 >D  A  N  A  C  H</td></tr>'
    .'<tr><td style="vertical-align: top;;text-align: right;;font-size: larger;;width: 50px" >'.$namePTNEXT.'_Time</td>'
    .'<td style="vertical-align: top;;text-align: left;;font-weight: bold;;font-size: larger" >'.$namePTNEXT.'_Title<br /><div style="vertical-align: top;;text-align: left;;font-weight: initial;;font-size: smaller">'.$namePTNEXT.'_Description</div></td>'
# 7. Folgende Zeile herausnehmen ACHTUNG .'</tr></table>'; muss stehen bleiben!
#    .'<td style="vertical-align: top;;width: 200px" >'.$namePTNEXT.'_Image</td>
    .'</tr></table>';
  $cmd = 'attr '.$name.' stateFormat '.$stateformat;
  $errors = '';
  $errors = AnalyzeCommandChain (undef, $cmd);
  if (!defined($errors)) {
    #Log3($name, 3, 'Sucsessfully new defined/changed stateFormat to '.$name.'!');
    }
  else {
    Log3($name, 5, 'Definition new attributs/changed stateFormat to '.$name.' cause error: '.$errors.'!');
    Log3($name, 5, $cmd);
  }
}

Dann sollten keine Bilder (außer dem Senderlogo mehr geladen werden).  Aber, wie gesagt, ich glaube nicht, dass das als zu viel Perfomance bringt.

LG

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 02 Dezember 2017, 10:12:36
Ich gehe davon aus das die Performance einbußen dadurch kommen das jedes HTTPMODE Modul alle 120s Daten abruft. Je nachdem wann das HTTPMODE Device angelegt wurde können auch mal 4-8 auf einmal Daten ziehen, dann parsen und und und.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 02 Dezember 2017, 11:11:54
Hallo CoolTux,

dem kann ich folgen. Um den Vorschlag von Ronny umzusetzen, dass eine Aktualisierung nur dan erfolgt, wenn diese sein muss, also ca. 1 Minute nach der ersten folgenden Sendung benötige ich eine Tip, wie man es am besten realisiert.

Danke,

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 02 Dezember 2017, 11:39:44
Das würde nur bedingt Luft rausnehmen. Es werden immer noch 2-3 zeitgleich sein bei wenig angelegten Sendern. Du kannst nicht wissen wie viel Sender die User anlegen. Vielleicht kommt Mal einer mit 20.

Du hast doch nur 2 URLs bei den Senderabruf. Einmal das Current und einmal das 2015

Speichere die Daten wie besprochen zwischen und lass die Devices nur aus dem Datenstore lesen. Ich weiß ist viel Aufwand, aber mir persönlich fällt nichts besseres ein.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 02 Dezember 2017, 14:06:07
Hallo zusammen,

nur zur Klarstellung z.Zt. wird 4 x alle 120 Sekunden die Seiten von kl**k.de von den HTTPMOD Devices abgerufen, egal wieviele Sender definiert sind.
Die Readings der Sender werden nur bei Änderung der HTTMOD Devices aktualisiert.

@CoolTux: Mit deinem Master Device Vorschlag könnte man das laden auf 2 Mal reduzieren.

Gernot

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 02 Dezember 2017, 14:11:41
Jepp 2 mal, aber wenn nur 4 HTTPMODE Devices angelegt werden egal wie viele Sender dann geht das eigentlich.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 02 Dezember 2017, 14:19:47
Ok, ich würde dann erstmal noch mit den Einbusen leben und wenn die Änderung erfolgt ist, dass mal prüfen wie sich die "gefühlte" Performance dann verhält.

Mal gefragt: Warum muss denn alle 120 Sekunden die Seite abgerufen werden? Würde es nicht reichen alle 900 Sekunden (15Minunten)zu prüfen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 02 Dezember 2017, 15:56:27
Hallo bjoernbo,

für eine regelmäßiges aktualisieren über einer Minute gibt es kein allgemein gültiges richtig oder falsch (liegt einzig im Auge des Betrachters).
Ich finde immer noch die Idee von Ronny aktuell und anschließende Sendungen nur dann zu aktualisieren, wenn die früheste anschließende Sendung beginnt, interessant.

Ich weiß noch nicht, wie ich die als nächstes beginnende Uhrzeit (Readings: .*_Time im TV_Program_NEXT Device) herausfinden kann. Kann ich über den Device hash diese Einträge in ein Array schieben oder gibt's andere benutzte Routinen?
Ich glaube nicht, dass diese Problem neu und ungelöst ist,

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: klausw am 02 Dezember 2017, 23:56:29
Zitat von: supernova1963 am 02 Dezember 2017, 15:56:27
Ich weiß noch nicht, wie ich die als nächstes beginnende Uhrzeit (Readings: .*_Time im TV_Program_NEXT Device) herausfinden kann. Kann ich über den Device hash diese Einträge in ein Array schieben oder gibt's andere benutzte Routinen?
Ich glaube nicht, dass diese Problem neu und ungelöst ist,
Die Readings sind im jeweiligen hash gespeichert
$wert = $hash->{READINGS}{Readingname}{VAL}

Oder über
$wert = $defs{"Devicename"}{READINGS}{"Readingname"}{VAL}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 03 Dezember 2017, 07:06:16
@klauw
Bitte nicht den Hash direkt auslesen. Dafür stehen FHEM eigene Funktionen in der fhem.pl bereit und die sollen bitte auch verwendet werden.

In diesem Fall wäre es ReadingsVal.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 03 Dezember 2017, 09:03:27
Hallo klausw,
hallo CoolTux,

dass man den Device Hash nicht direkt auslesen soll habe ich gelesen.

Mein Problem bei der Nutzung von ReadingsVal ist das ich die Readings Namen nicht genau kenne. Ich weiß nur, dass sie mit ".*_Time" enden, bzw. generell den Namens-Aufbau: "<DeviceName TVSender>_Time" haben.

Damit ich den frühesten Beginn der folgenden Sendung mit ReadingsVal($TV_Program_NEXT,"xxx_Time",undef) ermitteln kann benötige entweder alle Readings des HTTPMOD Devices die mit "_Time" enden oder eine Liste der definierten TVSender DeviceNamen.

Wie macht man das ohne auf den Hash zuzugreifen?

Danke,

Gernot
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: klausw am 04 Dezember 2017, 00:39:40
Zitat von: CoolTux am 03 Dezember 2017, 07:06:16
@klauw
Bitte nicht den Hash direkt auslesen. Dafür stehen FHEM eigene Funktionen in der fhem.pl bereit und die sollen bitte auch verwendet werden.

Klar sollte es nicht genutzt werden, aber ReadingsVal funktioniert meines Wissens nicht mit Regexes und mir ist keine weitere Möglichkeit bekannt das passende Reading zu suchen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 04 Dezember 2017, 06:43:53
Das ist leider war. Hier kann man in der Tat nur alle Readings durch eine Schleife schicken um die Readingsnamen fest zu stellen und dann mit ReadingsVal aus zu lesen.
In diesem Fall hätte das ReadingsVal nur einen erzieherischen Zweck zum sauberen Programmieren unter FHEM. Und ja es ist etwas umständlicher als die gewonnenen Daten gleich in der Schleife weiter zu verarbeiten  ;D


Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mchilli am 06 Dezember 2017, 22:26:50
Schönen Guten Abend.
Wollt gerade auf das TV-Programm schauen und dachte so  :o

Geht bei noch jemanden kl**k.de nicht mehr, also es wird nur noch kauderwelsch im state angezeigt?!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 06 Dezember 2017, 22:27:42
Geht bei allen nicht.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mchilli am 06 Dezember 2017, 22:29:09
Ah ok danke  ;D

Was da los neues Blockiersystem auf der Seite?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 06 Dezember 2017, 22:41:01
habe aber noch keinen Plan warum. URL scheint noch zu passen
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Tom_S am 06 Dezember 2017, 23:07:43
geht doch!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mchilli am 06 Dezember 2017, 23:18:46
oh lol okay!  ???
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 07 Dezember 2017, 12:20:58
ACHTUNG!!!
Wir bekommen aktuell Probleme mit dem Anbieter und vielleicht auch Ärger

https://forum.fhem.de/index.php/topic,80685.msg727407.html#msg727407
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: bjoernbo am 07 Dezember 2017, 17:22:06
Mir ist heute aufgefallen das ich folgenden Info im Log stehen habe, auch für die anderen Sender:

Zitatdefault/tvlogos/Das_Erste.png: Datei oder Verzeichnis nicht gefunden

Wo muss das Verzeichnis denn sein?
In
Zitat/opt/fhem/default/tvlogos  ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: supernova1963 am 07 Dezember 2017, 22:38:31
@bjoernbo: /opt/fhem/www/images/default/tvlogos wäre Standardpfad.

Bitte bei weiterer Nutzung des preRelease unbedingt morgen ein Update von FHEM durchführen und die Wiederholungsintervalle auf 1800 Sekunden setzen.

Wir gefährden sonst die Möglichkeit des Datenzugriffs!

Zitat von: Ein User am 07 Dezember 2017, 17:50:29
Hallo,

wir haben uns heute an fhem gewendet, um den Traffic auf k***k.de etwas einzugrenzen. Hintergrund ist, dass die Daten unkomprimiert und im 30s Rythmus abgerufen werden. Das führt zu erheblichen Traffic, der eigentlich garnicht nötig wäre.

Daher war unsere Bitte, die Komprimierung einzuschalten und so den Aufwand zu reduzieren.

Als Beispiel sei hier der Traffic aus folgendem Link angeführt:

https://wiki.fhem.de/wiki/Diskussion:HTTPMOD

Die URL http://www.k***k.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html verursacht derzeit 360Kb Traffic und komprimiert 37kb.

Wir haben heute serverseitig die Komprimierung bei den Anfragen erzwungen, was wohl aber zu Problemen bei den Abfragen führt. Wir hoffen das diese sich durch Updates leicht beheben lassen.

Danke & Viele Grüße

Ein User
Zitat von: Ein User am 07 Dezember 2017, 20:43:38
@supernova1963:
Es geht hier garnicht um Vorwürfe, sondern nur darum, die momentane Situation etwas zu entschärfen. Ich denke durch die aktivierte Kompression und die Reduktion der Anfragen pro Tag wären die akuten Themen schon entschärft.

Viele Grüße

Ein User
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 08 Dezember 2017, 10:03:20
Hallo,

war mir auch schon aufgefallen, dass der Server da nicht immer Daten ausliefert. Um die Abfragehäufigkeit zu verringern, hatte ich hier ja mal den TVhelper veröffentlicht. Der geht nämlich hin und berechnet auf Basis der Sendungsbeginnzeiten die nächste Abfrage, damit reduziert sich erheblich der Traffic.

Elektorlurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: fischit am 08 Dezember 2017, 16:13:52
Zitat von: Elektrolurch am 08 Dezember 2017, 10:03:20
Hallo,

war mir auch schon aufgefallen, dass der Server da nicht immer Daten ausliefert. Um die Abfragehäufigkeit zu verringern, hatte ich hier ja mal den TVhelper veröffentlicht. Der geht nämlich hin und berechnet auf Basis der Sendungsbeginnzeiten die nächste Abfrage, damit reduziert sich erheblich der Traffic.

Elektorlurch

Danke, dass du das nochmal gepostet hast.
Nutze das Tool schon ewig und wusste gar nicht, dass es diesen kleinen Helper gibt.
Eingerichtet und funktioniert super. Wieder etwas weniger Last für den Server auf der Gegenseite.

Für die, die es noch interessiert:
Anleitung: https://forum.fhem.de/index.php/topic,28123.msg252712.html#msg252712
Letzte Version soweit ich gefunden habe: https://forum.fhem.de/index.php/topic,28123.msg322999.html#msg322999
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 08 Dezember 2017, 16:34:14
Ja, habe den TVhelper mittlerweile auch erweitert:

1. Zeigt einem an, welche Sender es auf der Seite gibt
2. Die Konfig für das httpmod - Modul kann man durchführen lassen, wobei der TVhelper jetzt nicht nur ein reading je Zugriff suchen lässt, sondern gleich alle readings für einen Sender. Reduziert die Last auf dem System
3. Die Excel-Tabelle hat bei mir nicht so richtig funktioniert, hinterlege im TVhelper eine Zeile für die readingsGroup und die Liste der Sender, die ich dort anzeigen lassen will.
4. Außerdem kann man den Sendernamen zu einem Kanlnamen mappen, so dass man dann die Icons für die Sender und ev. auch das (zeitgesteuerte) Umschalten der Kanäle z.B. über ENIGMAS2 sich vereinfacht.

Muss aber mal eine Anleitung dafür schreiben... wenn ich die Zeit finde. Für mich funkts, aber wenn das andere verwenden wollen, brauchts halt a bisserl Text....

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 09 Dezember 2017, 02:51:42
Zitat von: supernova1963 am 21 November 2017, 23:01:39
...
Den ersten Versuch könntet ihr euch hier https://github.com/supernova1963/TVSender herunterladen.

Danke

Gernot

[EDIT 22.07.2017 18:21]: Über Rückmeldungen, Hinweise, Vorschläge und kritische Würdigungen würde ich mich sehr freuen.
[EDIT 24.07.2017 06:30]:  Titel des Themas geändert, Screenshots angehängt

Ist das noch aktuell?
Wenn ich den Link anklicke, bekomme immer die Meldung 404 Didn´t find anything here!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 09 Dezember 2017, 07:56:53
Wurde vorerst entfernt

https://forum.fhem.de/index.php/topic,28123.msg727756.html#msg727756
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: fischit am 09 Dezember 2017, 08:54:23
Moin Elektrolurch,

der hat sich heute Nacht anscheinend weggehangen. Folgende Fehlermeldungen hatte ich im Log:
2017.12.08 23:46:00 1: define TVhelper_2446_at at 24:46:30:30 {TVhelper_Update("TVhelper");}: Wrong timespec 24:46:30:30: either HH:MM:SS or {perlcode}
2017.12.08 23:46:00 3: define TVhelper_2446_at at 24:46:30:30 {TVhelper_Update("TVhelper");;} : Wrong timespec 24:46:30:30: either HH:MM:SS or {perlcode}


Device List:
Internals:
   CFGFN     
   DEF        mod_TV_Programme
   NAME       TVhelper
   NR         1920
   STATE      initialized
   TYPE       TVhelper
   tvnext     mod_TV_Programme
Attributes:
   endtime    23:59
   room       Fernsehzeitung
   starttime  06:00
   verbose    0


Hab ich doch nicht die aktuellste Version genommen?

Grüße
Nils
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 09 Dezember 2017, 11:22:17
Zitat:
2017.12.08 23:46:00 3: define TVhelper_2446_at at 24:46:30:30 {TVhelper_Update("TVhelper");;} : Wrong timespec 24:46:30:30: either HH:MM:SS or {perlcode}

Die Meldung kommt vom at, welches der TVhelper erzeugt. Dachte immer, dass das at auch 24:00:00 "versteht" und dies als 00:00:00 interpretiert, anscheinend aber nicht.
Tritt bei mir aber nicht auf, da ich beim TVhelper das Attribut
endtime 23:30
gesetzt habe.
Elektrolurch

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 09 Dezember 2017, 20:04:36
Hallo, ich habe mir die Daten aus dem Anhang vom Post 631 runtergeladen aber leider wird mir nur die erste Zeile angezeigt.


Sender Aktuelle Sendung Ab Nachfolgende Sendung


Ich habe folgendes eingegeben:

define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr readingsName_ARD readingsName_ARD_Next readingsName_ARD_Nexttime readingsName_ARTE readingsName_ARTE_Next readingsName_ARTE_Nexttime readingsName_BR readingsName_BR_Next readingsName_BR_Nexttime readingsName_COMEDYCENTRAL readingsName_COMEDYCENTRAL_Next readingsName_COMEDYCENTRAL_Nexttime readingsName_DMAX readingsName_DMAX_Next readingsName_DMAX_Nexttime readingsName_DREISAT readingsName_DREISAT_Next readingsName_DREISAT_Nexttime readingsName_EINSFESTIVAL readingsName_EINSFESTIVAL_Next readingsName_EINSFESTIVAL_Nexttime readingsName_EINSPLUS readingsName_EINSPLUS_Next readingsName_EINSPLUS_Nexttime readingsName_EUROSPORT readingsName_EUROSPORT_Next readingsName_EUROSPORT_Nexttime readingsName_HR readingsName_HR_Next readingsName_HR_Nexttime readingsName_Kabel1 readingsName_Kabel1_Next readingsName_Kabel1_Nexttime readingsName_MDR readingsName_MDR_Next readingsName_MDR_Nexttime readingsName_N24 readingsName_N24_Next readingsName_N24_Nexttime readingsName_NDR readingsName_NDR_Next readingsName_NDR_Nexttime readingsName_NTV readingsName_NTV_Next readingsName_NTV_Nexttime readingsName_Pro7 readingsName_Pro7_Next readingsName_Pro7_Nexttime readingsName_RBB readingsName_RBB_Next readingsName_RBB_Nexttime readingsName_RTL readingsName_RTL2 readingsName_RTL2_Next readingsName_RTL2_Nexttime readingsName_RTLNITRO readingsName_RTLNITRO_Next readingsName_RTLNITRO_Nexttime readingsName_RTL_Next readingsName_RTL_Nexttime readingsName_SAT1GOLD readingsName_SAT1GOLD_Next readingsName_SAT1GOLD_Nexttime readingsName_SIXX readingsName_SIXX_Next readingsName_SIXX_Nexttime readingsName_SPORT1 readingsName_SPORT1_Next readingsName_SPORT1_Nexttime readingsName_SUPERRTL readingsName_SUPERRTL_Next readingsName_SUPERRTL_Nexttime readingsName_SWR readingsName_SWR_Next readingsName_SWR_Nexttime readingsName_Sat1 readingsName_Sat1_Next readingsName_Sat1_Nexttime readingsName_TELE5 readingsName_TELE5_Next readingsName_TELE5_Nexttime readingsName_VOX readingsName_VOX_Next readingsName_VOX_Nexttime readingsName_WDR readingsName_WDR_Next readingsName_WDR_Nexttime readingsName_ZDF readingsName_ZDFNEO readingsName_ZDFNEO_Next readingsName_ZDFNEO_Nexttime readingsName_ZDF_Next readingsName_ZDF_Nexttime readingsRegex_ARD readingsRegex_ARD_Next readingsRegex_ARD_Nexttime readingsRegex_ARTE readingsRegex_ARTE_Next readingsRegex_ARTE_Nexttime readingsRegex_BR readingsRegex_BR_Next readingsRegex_BR_Nexttime readingsRegex_COMEDYCENTRAL readingsRegex_COMEDYCENTRAL_Next readingsRegex_COMEDYCENTRAL_Nexttime readingsRegex_DMAX readingsRegex_DMAX_Next readingsRegex_DMAX_Nexttime readingsRegex_DREISAT readingsRegex_DREISAT_Next readingsRegex_DREISAT_Nexttime readingsRegex_EINSFESTIVAL readingsRegex_EINSFESTIVAL_Next readingsRegex_EINSFESTIVAL_Nexttime readingsRegex_EINSPLUS readingsRegex_EINSPLUS_Next readingsRegex_EINSPLUS_Nexttime readingsRegex_EUROSPORT readingsRegex_EUROSPORT_Next readingsRegex_EUROSPORT_Nexttime readingsRegex_HR readingsRegex_HR_Next readingsRegex_HR_Nexttime readingsRegex_Kabel1 readingsRegex_Kabel1_Next readingsRegex_Kabel1_Nexttime readingsRegex_MDR readingsRegex_MDRPT_Nexttime readingsRegex_MDR_Next readingsRegex_MDR_Nexttime readingsRegex_N24 readingsRegex_N24_Next readingsRegex_N24_Nexttime readingsRegex_NDR readingsRegex_NDR_Next readingsRegex_NDR_Nexttime readingsRegex_NTV readingsRegex_NTV_Next readingsRegex_NTV_Nexttime readingsRegex_Pro7 readingsRegex_Pro7_Next readingsRegex_Pro7_Nexttime readingsRegex_RBB readingsRegex_RBB_Next readingsRegex_RBB_Nexttime readingsRegex_RTL readingsRegex_RTL2 readingsRegex_RTL2_Next readingsRegex_RTL2_Nexttime readingsRegex_RTLNITRO readingsRegex_RTLNITRO_Next readingsRegex_RTLNITRO_Nexttime readingsRegex_RTL_Next readingsRegex_RTL_Nexttime readingsRegex_SAT1GOLD readingsRegex_SAT1GOLD_Next readingsRegex_SAT1GOLD_Nexttime readingsRegex_SIXX readingsRegex_SIXX_Next readingsRegex_SIXX_Nexttime readingsRegex_SPORT1 readingsRegex_SPORT1_Next readingsRegex_SPORT1_Nexttime readingsRegex_SUPERRTL readingsRegex_SUPERRTL_Next readingsRegex_SUPERRTL_Nexttime readingsRegex_SWR readingsRegex_SWR_Next readingsRegex_SWR_Nexttime readingsRegex_Sat1 readingsRegex_Sat1_Next readingsRegex_Sat1_Nexttime readingsRegex_TELE5 readingsRegex_TELE5_Next readingsRegex_TELE5_Nexttime readingsRegex_VOX readingsRegex_VOX_Next readingsRegex_VOX_Nexttime readingsRegex_WDR readingsRegex_WDR_Next readingsRegex_WDR_Nexttime readingsRegex_ZDF readingsRegex_ZDFNEO readingsRegex_ZDFNEO_Next readingsRegex_ZDFNEO_Nexttime readingsRegex_ZDF_Next readingsRegex_ZDF_Nexttime stateFormat timeout verbose
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_Next ARD_Next
attr TV_Programme readingsName_ARD_Nexttime ARD_Nexttime
attr TV_Programme readingsName_ARTE ARTE
attr TV_Programme readingsName_ARTE_Next ARTE_Next
attr TV_Programme readingsName_ARTE_Nexttime ARTE_Nexttime
attr TV_Programme readingsName_BR BR
attr TV_Programme readingsName_BR_Next BR_Next
attr TV_Programme readingsName_BR_Nexttime BR_Nexttime
attr TV_Programme readingsName_COMEDYCENTRAL COMEDYCENTRAL
attr TV_Programme readingsName_COMEDYCENTRAL_Next COMEDYCENTRAL_Next
attr TV_Programme readingsName_COMEDYCENTRAL_Nexttime COMEDYCENTRAL_Nexttime
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_Next DMAX_Next
attr TV_Programme readingsName_DMAX_Nexttime DMAX_Nexttime
attr TV_Programme readingsName_DREISAT DREISAT
attr TV_Programme readingsName_DREISAT_Next DREISAT_Next
attr TV_Programme readingsName_DREISAT_Nexttime DREISAT_Nexttime
attr TV_Programme readingsName_EINSFESTIVAL EINSFESTIVAL
attr TV_Programme readingsName_EINSFESTIVAL_Next EINSFESTIVAL_Next
attr TV_Programme readingsName_EINSFESTIVAL_Nexttime EINSFESTIVAL_Nexttime
attr TV_Programme readingsName_EINSPLUS EINSPLUS
attr TV_Programme readingsName_EINSPLUS_Next EINSPLUS_Next
attr TV_Programme readingsName_EINSPLUS_Nexttime EINSPLUS_Nexttime
attr TV_Programme readingsName_EUROSPORT EUROSPORT
attr TV_Programme readingsName_EUROSPORT_Next EUROSPORT_Next
attr TV_Programme readingsName_EUROSPORT_Nexttime EUROSPORT_Nexttime
attr TV_Programme readingsName_HR HR
attr TV_Programme readingsName_HR_Next HR_Next
attr TV_Programme readingsName_HR_Nexttime HR_Nexttime
attr TV_Programme readingsName_Kabel1 Kabel1
attr TV_Programme readingsName_Kabel1_Next Kabel1_Next
attr TV_Programme readingsName_Kabel1_Nexttime Kabel1_Nexttime
attr TV_Programme readingsName_MDR MDR
attr TV_Programme readingsName_MDR_Next MDR_Next
attr TV_Programme readingsName_MDR_Nexttime MDR_Nexttime
attr TV_Programme readingsName_N24 N24
attr TV_Programme readingsName_N24_Next N24_Next
attr TV_Programme readingsName_N24_Nexttime N24_Nexttime
attr TV_Programme readingsName_NDR NDR
attr TV_Programme readingsName_NDR_Next NDR_Next
attr TV_Programme readingsName_NDR_Nexttime NDR_Nexttime
attr TV_Programme readingsName_NTV NTV
attr TV_Programme readingsName_NTV_Next NTV_Next
attr TV_Programme readingsName_NTV_Nexttime NTV_Nexttime
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_Next Pro7_Next
attr TV_Programme readingsName_Pro7_Nexttime Pro7_Nexttime
attr TV_Programme readingsName_RBB RBB
attr TV_Programme readingsName_RBB_Next RBB_Next
attr TV_Programme readingsName_RBB_Nexttime RBB_Nexttime
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_Next RTL2_Next
attr TV_Programme readingsName_RTL2_Nexttime RTL2_Nexttime
attr TV_Programme readingsName_RTLNITRO RTLNITRO
attr TV_Programme readingsName_RTLNITRO_Next RTLNITRO_Next
attr TV_Programme readingsName_RTLNITRO_Nexttime RTLNITRO_Nexttime
attr TV_Programme readingsName_RTL_Next RTL_Next
attr TV_Programme readingsName_RTL_Nexttime RTL_Nexttime
attr TV_Programme readingsName_SAT1GOLD SAT1GOLD
attr TV_Programme readingsName_SAT1GOLD_Next SAT1GOLD_Next
attr TV_Programme readingsName_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
attr TV_Programme readingsName_SIXX SIXX
attr TV_Programme readingsName_SIXX_Next SIXX_Next
attr TV_Programme readingsName_SIXX_Nexttime SIXX_Nexttime
attr TV_Programme readingsName_SPORT1 SPORT1
attr TV_Programme readingsName_SPORT1_Next SPORT1_Next
attr TV_Programme readingsName_SPORT1_Nexttime SPORT1_Nexttime
attr TV_Programme readingsName_SUPERRTL SUPERRTL
attr TV_Programme readingsName_SUPERRTL_Next SUPERRTL_Next
attr TV_Programme readingsName_SUPERRTL_Nexttime SUPERRTL_Nexttime
attr TV_Programme readingsName_SWR SWR
attr TV_Programme readingsName_SWR_Next SWR_Next
attr TV_Programme readingsName_SWR_Nexttime SWR_Nexttime
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_Next Sat1_Next
attr TV_Programme readingsName_Sat1_Nexttime Sat1_Nexttime
attr TV_Programme readingsName_TELE5 TELE5
attr TV_Programme readingsName_TELE5_Next TELE5_Next
attr TV_Programme readingsName_TELE5_Nexttime TELE5_Nexttime
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_Next VOX_Next
attr TV_Programme readingsName_VOX_Nexttime VOX_Nexttime
attr TV_Programme readingsName_WDR WDR
attr TV_Programme readingsName_WDR_Next WDR_Next
attr TV_Programme readingsName_WDR_Nexttime WDR_Nexttime
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDFNEO ZDFNEO
attr TV_Programme readingsName_ZDFNEO_Next ZDFNEO_Next
attr TV_Programme readingsName_ZDFNEO_Nexttime ZDFNEO_Nexttime
attr TV_Programme readingsName_ZDF_Next ZDF_Next
attr TV_Programme readingsName_ZDF_Nexttime ZDF_Nexttime
attr TV_Programme readingsRegex_ARD title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Next title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Nexttime title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ARTE title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARTE_Next title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARTE_Nexttime title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_BR title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Next title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Nexttime title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_COMEDYCENTRAL title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_COMEDYCENTRAL_Next title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_COMEDYCENTRAL_Nexttime title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DMAX title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Next title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Nexttime title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DREISAT title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Next title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Nexttime title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_EINSFESTIVAL title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSFESTIVAL_Next title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSFESTIVAL_Nexttime title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_EINSPLUS title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSPLUS_Next title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSPLUS_Nexttime title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_EUROSPORT title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EUROSPORT_Next title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EUROSPORT_Nexttime title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_HR title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Next title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Nexttime title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_Kabel1 title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Kabel1_Next title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Kabel1_Nexttime title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_MDR title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDRPT_Nexttime title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_MDR_Next title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDR_Nexttime title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_N24 title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_N24_Next title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_N24_Nexttime title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_NDR title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Next title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Nexttime title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_NTV title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NTV_Next title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NTV_Nexttime title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_Pro7 title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Pro7_Next title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Pro7_Nexttime title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RBB title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Next title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Nexttime title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2 title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Next title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Nexttime title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTLNITRO title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Next title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Nexttime title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL_Next title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL_Nexttime title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SAT1GOLD title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Next title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Nexttime title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SIXX title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Next title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Nexttime title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SPORT1 title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SPORT1_Next title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SPORT1_Nexttime title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SUPERRTL title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Next title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Nexttime title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SWR title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Next title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Nexttime title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_Sat1 title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Sat1_Next title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Sat1_Nexttime title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_TELE5 title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Next title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Nexttime title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_VOX title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Next title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Nexttime title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_WDR title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Next title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Nexttime title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDF title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Next title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Nexttime title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDF_Next title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDF_Nexttime title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1



define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:SPORT1,SPORT1_Nexttime,SPORT1_Next \
TV_Programme:EUROSPORT,EUROSPORT_Nexttime,EUROSPORT_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:N24,N24_Nexttime,N24_Next \
TV_Programme:NTV,NTV_Nexttime,NTV_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:MDR,MDR_Nexttime,MDR_Next \
TV_Programme:BR,BR_Nexttime,BR_Next \
TV_Programme:HR,HR_Nexttime,HR_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:TELE5,TELE5_Nexttime,TELE5_Next \
TV_Programme:DREISAT,DREISAT_Nexttime,DREISAT_Next \
TV_Programme:ARTE,ARTE_Nexttime,ARTE_Next \
TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \
TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next \
TV_Programme:COMEDYCENTRAL,COMEDYCENTRAL_Nexttime,COMEDYCENTRAL_Next
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', DMAX => 'tvmovie/tvlogo_dmax_s', SUPERRTL => 'tvmovie/tvlogo_super_rtl_logo', NDR => 'tvmovie/tvlogo_ndr_s', BR => 'tvmovie/tvlogo_br_l', HR => 'tvmovie/tvlogo_hr_s', MDR => 'tvmovie/tvlogo_mdr_s', RBB => 'tvmovie/tvlogo_rbb-brandenburg_s', SWR => 'tvmovie/tvlogo_swr_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', TELE5 => 'tvmovie/tvlogo_tele-5_s', DREISAT => 'tvmovie/tvlogo_3sat_s', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s', SPORT1 => 'tvmovie/sport1', EUROSPORT => 'tvmovie/eurosport', N24 => 'tvmovie/n24', COMEDYCENTRAL => 'tvmovie/comedy_central', ARTE => 'tvmovie/tvlogo_arte_s', NTV => 'tvmovie/tvlogo_ntv_s'}
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}


Zusätzlich habe ich den TV_Helper aus dem Post 598

Aber anscheinend fehlt mir noch etwas!?

Danke schonmal für die Hilfe
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Florian_GT am 09 Dezember 2017, 20:08:48
Zitat von: CoolTux am 09 Dezember 2017, 07:56:53
Wurde vorerst entfernt

https://forum.fhem.de/index.php/topic,28123.msg727756.html#msg727756

Das macht die Sache nicht besser, sondern schlimmer.
Die vorhandenen User basteln sich nun so wie sie meinen es richtig ist. Auch wenn es ggf. für die Server nicht gut ist.

Warum nicht mit dem Anbieter sprechen, klären wie man es am besten zusammen lösen kann, und dann Offiziell nutzen? Und wenn es halt von denen nicht gewollt ist, müssen wir uns dem beugen.

Edit:
- Mal bei dem Anbieter fragen ob es erlaubt ist, oder nicht.
- Fragen wann die Daten vollständig vorliegen, um nicht mehr so oft abrufen zu müssen. Vielleicht reicht ja ein mal in der Woche oder einmal am Tag.
- Alexa kennt doch auch das TV-Programm, da hätten wir ggf. eine alternativ Schnittstelle. Vielleicht kann man ja mit dem Anbieter ausmachen, dass man ein Logo vom Anbieter auf der Seite setzt...
- Interessant wäre auch mal zu erfahren, wie viel Traffic wir denn gesamt im Monat so ausmachen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: CoolTux am 09 Dezember 2017, 20:15:13
Das Problem ist die Umsetzung von Modul her. Zu viele anfragende Devices welche der User auch noch in Sekunden Takt konfigurieren konnte.
Es wurden bereits erste Umsetzungen gemacht das eine bessere technische Lösung innerhalb des Modules erfolgt. Wie jedoch viele Entwickler macht auch dieser das als Hobby und hat im Moment nicht die Zeit sich in die geänderten Methoden ein zu arbeiten.
Dazu muss man wissen das die Änderungen von einem anderen Entwickler stammen. Gebt dem Jungen etwas Zeit. Er hat viel gelernt und wenn die Zeit es zu lässt wird er bestimmt ein schönes Modul liefern.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Florian_GT am 09 Dezember 2017, 20:19:44
Zitat von: CoolTux am 09 Dezember 2017, 20:15:13
Das Problem ist die Umsetzung von Modul her. Zu viele anfragende Devices welche der User auch noch in Sekunden Takt konfigurieren konnte.
Es wurden bereits erste Umsetzungen gemacht das eine bessere technische Lösung innerhalb des Modules erfolgt. Wie jedoch viele Entwickler macht auch dieser das als Hobby und hat im Moment nicht die Zeit sich in die geänderten Methoden ein zu arbeiten.
Dazu muss man wissen das die Änderungen von einem anderen Entwickler stammen. Gebt dem Jungen etwas Zeit. Er hat viel gelernt und wenn die Zeit es zu lässt wird er bestimmt ein schönes Modul liefern.

Das ist sehr gut. Ich würde auch vorschlagen, nicht unbedingt den aktuell genutzten Anbieter zu verwenden. Es gibt sicherlich noch andere, mit z.B. einer JSON Schnittstelle. Da ist die Größe der Daten geringer. Ich könnte mir eine ähnliche Funktionsweise wie bei dem Module für Strahlungsmessung vorstellen. Dort werden die Daten alle paar Stunden geladen, und auch nachträglich ergänzt. Und je weiter in die Zukunft ein Anbieter Daten bietet, desto weniger Oft müsste man die Daten holen.

EDIT:
Und am besten nicht alle Daten laden, sondern der Nutzer soll eine Liste mit Sendern angeben, und nur diese werden dann jeweils geladen. Das dürfte die Datenmenge auch deutlich verringern.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 10 Dezember 2017, 12:08:01
Zitat von: Torsten_MG am 09 Dezember 2017, 20:04:36
Hallo, ich habe mir die Daten aus dem Anhang vom Post 631 runtergeladen aber leider wird mir nur die erste Zeile angezeigt.


Sender Aktuelle Sendung Ab Nachfolgende Sendung


Ich habe folgendes eingegeben:

define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr readingsName_ARD readingsName_ARD_Next readingsName_ARD_Nexttime readingsName_ARTE readingsName_ARTE_Next readingsName_ARTE_Nexttime readingsName_BR readingsName_BR_Next readingsName_BR_Nexttime readingsName_COMEDYCENTRAL readingsName_COMEDYCENTRAL_Next readingsName_COMEDYCENTRAL_Nexttime readingsName_DMAX readingsName_DMAX_Next readingsName_DMAX_Nexttime readingsName_DREISAT readingsName_DREISAT_Next readingsName_DREISAT_Nexttime readingsName_EINSFESTIVAL readingsName_EINSFESTIVAL_Next readingsName_EINSFESTIVAL_Nexttime readingsName_EINSPLUS readingsName_EINSPLUS_Next readingsName_EINSPLUS_Nexttime readingsName_EUROSPORT readingsName_EUROSPORT_Next readingsName_EUROSPORT_Nexttime readingsName_HR readingsName_HR_Next readingsName_HR_Nexttime readingsName_Kabel1 readingsName_Kabel1_Next readingsName_Kabel1_Nexttime readingsName_MDR readingsName_MDR_Next readingsName_MDR_Nexttime readingsName_N24 readingsName_N24_Next readingsName_N24_Nexttime readingsName_NDR readingsName_NDR_Next readingsName_NDR_Nexttime readingsName_NTV readingsName_NTV_Next readingsName_NTV_Nexttime readingsName_Pro7 readingsName_Pro7_Next readingsName_Pro7_Nexttime readingsName_RBB readingsName_RBB_Next readingsName_RBB_Nexttime readingsName_RTL readingsName_RTL2 readingsName_RTL2_Next readingsName_RTL2_Nexttime readingsName_RTLNITRO readingsName_RTLNITRO_Next readingsName_RTLNITRO_Nexttime readingsName_RTL_Next readingsName_RTL_Nexttime readingsName_SAT1GOLD readingsName_SAT1GOLD_Next readingsName_SAT1GOLD_Nexttime readingsName_SIXX readingsName_SIXX_Next readingsName_SIXX_Nexttime readingsName_SPORT1 readingsName_SPORT1_Next readingsName_SPORT1_Nexttime readingsName_SUPERRTL readingsName_SUPERRTL_Next readingsName_SUPERRTL_Nexttime readingsName_SWR readingsName_SWR_Next readingsName_SWR_Nexttime readingsName_Sat1 readingsName_Sat1_Next readingsName_Sat1_Nexttime readingsName_TELE5 readingsName_TELE5_Next readingsName_TELE5_Nexttime readingsName_VOX readingsName_VOX_Next readingsName_VOX_Nexttime readingsName_WDR readingsName_WDR_Next readingsName_WDR_Nexttime readingsName_ZDF readingsName_ZDFNEO readingsName_ZDFNEO_Next readingsName_ZDFNEO_Nexttime readingsName_ZDF_Next readingsName_ZDF_Nexttime readingsRegex_ARD readingsRegex_ARD_Next readingsRegex_ARD_Nexttime readingsRegex_ARTE readingsRegex_ARTE_Next readingsRegex_ARTE_Nexttime readingsRegex_BR readingsRegex_BR_Next readingsRegex_BR_Nexttime readingsRegex_COMEDYCENTRAL readingsRegex_COMEDYCENTRAL_Next readingsRegex_COMEDYCENTRAL_Nexttime readingsRegex_DMAX readingsRegex_DMAX_Next readingsRegex_DMAX_Nexttime readingsRegex_DREISAT readingsRegex_DREISAT_Next readingsRegex_DREISAT_Nexttime readingsRegex_EINSFESTIVAL readingsRegex_EINSFESTIVAL_Next readingsRegex_EINSFESTIVAL_Nexttime readingsRegex_EINSPLUS readingsRegex_EINSPLUS_Next readingsRegex_EINSPLUS_Nexttime readingsRegex_EUROSPORT readingsRegex_EUROSPORT_Next readingsRegex_EUROSPORT_Nexttime readingsRegex_HR readingsRegex_HR_Next readingsRegex_HR_Nexttime readingsRegex_Kabel1 readingsRegex_Kabel1_Next readingsRegex_Kabel1_Nexttime readingsRegex_MDR readingsRegex_MDRPT_Nexttime readingsRegex_MDR_Next readingsRegex_MDR_Nexttime readingsRegex_N24 readingsRegex_N24_Next readingsRegex_N24_Nexttime readingsRegex_NDR readingsRegex_NDR_Next readingsRegex_NDR_Nexttime readingsRegex_NTV readingsRegex_NTV_Next readingsRegex_NTV_Nexttime readingsRegex_Pro7 readingsRegex_Pro7_Next readingsRegex_Pro7_Nexttime readingsRegex_RBB readingsRegex_RBB_Next readingsRegex_RBB_Nexttime readingsRegex_RTL readingsRegex_RTL2 readingsRegex_RTL2_Next readingsRegex_RTL2_Nexttime readingsRegex_RTLNITRO readingsRegex_RTLNITRO_Next readingsRegex_RTLNITRO_Nexttime readingsRegex_RTL_Next readingsRegex_RTL_Nexttime readingsRegex_SAT1GOLD readingsRegex_SAT1GOLD_Next readingsRegex_SAT1GOLD_Nexttime readingsRegex_SIXX readingsRegex_SIXX_Next readingsRegex_SIXX_Nexttime readingsRegex_SPORT1 readingsRegex_SPORT1_Next readingsRegex_SPORT1_Nexttime readingsRegex_SUPERRTL readingsRegex_SUPERRTL_Next readingsRegex_SUPERRTL_Nexttime readingsRegex_SWR readingsRegex_SWR_Next readingsRegex_SWR_Nexttime readingsRegex_Sat1 readingsRegex_Sat1_Next readingsRegex_Sat1_Nexttime readingsRegex_TELE5 readingsRegex_TELE5_Next readingsRegex_TELE5_Nexttime readingsRegex_VOX readingsRegex_VOX_Next readingsRegex_VOX_Nexttime readingsRegex_WDR readingsRegex_WDR_Next readingsRegex_WDR_Nexttime readingsRegex_ZDF readingsRegex_ZDFNEO readingsRegex_ZDFNEO_Next readingsRegex_ZDFNEO_Nexttime readingsRegex_ZDF_Next readingsRegex_ZDF_Nexttime stateFormat timeout verbose
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_Next ARD_Next
attr TV_Programme readingsName_ARD_Nexttime ARD_Nexttime
attr TV_Programme readingsName_ARTE ARTE
attr TV_Programme readingsName_ARTE_Next ARTE_Next
attr TV_Programme readingsName_ARTE_Nexttime ARTE_Nexttime
attr TV_Programme readingsName_BR BR
attr TV_Programme readingsName_BR_Next BR_Next
attr TV_Programme readingsName_BR_Nexttime BR_Nexttime
attr TV_Programme readingsName_COMEDYCENTRAL COMEDYCENTRAL
attr TV_Programme readingsName_COMEDYCENTRAL_Next COMEDYCENTRAL_Next
attr TV_Programme readingsName_COMEDYCENTRAL_Nexttime COMEDYCENTRAL_Nexttime
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_Next DMAX_Next
attr TV_Programme readingsName_DMAX_Nexttime DMAX_Nexttime
attr TV_Programme readingsName_DREISAT DREISAT
attr TV_Programme readingsName_DREISAT_Next DREISAT_Next
attr TV_Programme readingsName_DREISAT_Nexttime DREISAT_Nexttime
attr TV_Programme readingsName_EINSFESTIVAL EINSFESTIVAL
attr TV_Programme readingsName_EINSFESTIVAL_Next EINSFESTIVAL_Next
attr TV_Programme readingsName_EINSFESTIVAL_Nexttime EINSFESTIVAL_Nexttime
attr TV_Programme readingsName_EINSPLUS EINSPLUS
attr TV_Programme readingsName_EINSPLUS_Next EINSPLUS_Next
attr TV_Programme readingsName_EINSPLUS_Nexttime EINSPLUS_Nexttime
attr TV_Programme readingsName_EUROSPORT EUROSPORT
attr TV_Programme readingsName_EUROSPORT_Next EUROSPORT_Next
attr TV_Programme readingsName_EUROSPORT_Nexttime EUROSPORT_Nexttime
attr TV_Programme readingsName_HR HR
attr TV_Programme readingsName_HR_Next HR_Next
attr TV_Programme readingsName_HR_Nexttime HR_Nexttime
attr TV_Programme readingsName_Kabel1 Kabel1
attr TV_Programme readingsName_Kabel1_Next Kabel1_Next
attr TV_Programme readingsName_Kabel1_Nexttime Kabel1_Nexttime
attr TV_Programme readingsName_MDR MDR
attr TV_Programme readingsName_MDR_Next MDR_Next
attr TV_Programme readingsName_MDR_Nexttime MDR_Nexttime
attr TV_Programme readingsName_N24 N24
attr TV_Programme readingsName_N24_Next N24_Next
attr TV_Programme readingsName_N24_Nexttime N24_Nexttime
attr TV_Programme readingsName_NDR NDR
attr TV_Programme readingsName_NDR_Next NDR_Next
attr TV_Programme readingsName_NDR_Nexttime NDR_Nexttime
attr TV_Programme readingsName_NTV NTV
attr TV_Programme readingsName_NTV_Next NTV_Next
attr TV_Programme readingsName_NTV_Nexttime NTV_Nexttime
attr TV_Programme readingsName_Pro7 Pro7
attr TV_Programme readingsName_Pro7_Next Pro7_Next
attr TV_Programme readingsName_Pro7_Nexttime Pro7_Nexttime
attr TV_Programme readingsName_RBB RBB
attr TV_Programme readingsName_RBB_Next RBB_Next
attr TV_Programme readingsName_RBB_Nexttime RBB_Nexttime
attr TV_Programme readingsName_RTL RTL
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_Next RTL2_Next
attr TV_Programme readingsName_RTL2_Nexttime RTL2_Nexttime
attr TV_Programme readingsName_RTLNITRO RTLNITRO
attr TV_Programme readingsName_RTLNITRO_Next RTLNITRO_Next
attr TV_Programme readingsName_RTLNITRO_Nexttime RTLNITRO_Nexttime
attr TV_Programme readingsName_RTL_Next RTL_Next
attr TV_Programme readingsName_RTL_Nexttime RTL_Nexttime
attr TV_Programme readingsName_SAT1GOLD SAT1GOLD
attr TV_Programme readingsName_SAT1GOLD_Next SAT1GOLD_Next
attr TV_Programme readingsName_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
attr TV_Programme readingsName_SIXX SIXX
attr TV_Programme readingsName_SIXX_Next SIXX_Next
attr TV_Programme readingsName_SIXX_Nexttime SIXX_Nexttime
attr TV_Programme readingsName_SPORT1 SPORT1
attr TV_Programme readingsName_SPORT1_Next SPORT1_Next
attr TV_Programme readingsName_SPORT1_Nexttime SPORT1_Nexttime
attr TV_Programme readingsName_SUPERRTL SUPERRTL
attr TV_Programme readingsName_SUPERRTL_Next SUPERRTL_Next
attr TV_Programme readingsName_SUPERRTL_Nexttime SUPERRTL_Nexttime
attr TV_Programme readingsName_SWR SWR
attr TV_Programme readingsName_SWR_Next SWR_Next
attr TV_Programme readingsName_SWR_Nexttime SWR_Nexttime
attr TV_Programme readingsName_Sat1 Sat1
attr TV_Programme readingsName_Sat1_Next Sat1_Next
attr TV_Programme readingsName_Sat1_Nexttime Sat1_Nexttime
attr TV_Programme readingsName_TELE5 TELE5
attr TV_Programme readingsName_TELE5_Next TELE5_Next
attr TV_Programme readingsName_TELE5_Nexttime TELE5_Nexttime
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_Next VOX_Next
attr TV_Programme readingsName_VOX_Nexttime VOX_Nexttime
attr TV_Programme readingsName_WDR WDR
attr TV_Programme readingsName_WDR_Next WDR_Next
attr TV_Programme readingsName_WDR_Nexttime WDR_Nexttime
attr TV_Programme readingsName_ZDF ZDF
attr TV_Programme readingsName_ZDFNEO ZDFNEO
attr TV_Programme readingsName_ZDFNEO_Next ZDFNEO_Next
attr TV_Programme readingsName_ZDFNEO_Nexttime ZDFNEO_Nexttime
attr TV_Programme readingsName_ZDF_Next ZDF_Next
attr TV_Programme readingsName_ZDF_Nexttime ZDF_Nexttime
attr TV_Programme readingsRegex_ARD title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Next title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Nexttime title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ARTE title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARTE_Next title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARTE_Nexttime title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_BR title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Next title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Nexttime title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_COMEDYCENTRAL title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_COMEDYCENTRAL_Next title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_COMEDYCENTRAL_Nexttime title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DMAX title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Next title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Nexttime title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DREISAT title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Next title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Nexttime title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_EINSFESTIVAL title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSFESTIVAL_Next title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSFESTIVAL_Nexttime title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_EINSPLUS title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSPLUS_Next title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EINSPLUS_Nexttime title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_EUROSPORT title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EUROSPORT_Next title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_EUROSPORT_Nexttime title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_HR title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Next title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Nexttime title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_Kabel1 title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Kabel1_Next title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Kabel1_Nexttime title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_MDR title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDRPT_Nexttime title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_MDR_Next title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDR_Nexttime title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_N24 title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_N24_Next title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_N24_Nexttime title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_NDR title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Next title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Nexttime title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_NTV title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NTV_Next title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NTV_Nexttime title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_Pro7 title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Pro7_Next title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Pro7_Nexttime title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RBB title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Next title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Nexttime title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2 title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Next title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Nexttime title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTLNITRO title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Next title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Nexttime title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL_Next title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL_Nexttime title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SAT1GOLD title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Next title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Nexttime title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SIXX title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Next title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Nexttime title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SPORT1 title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SPORT1_Next title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SPORT1_Nexttime title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SUPERRTL title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Next title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Nexttime title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SWR title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Next title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Nexttime title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_Sat1 title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Sat1_Next title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_Sat1_Nexttime title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_TELE5 title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Next title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Nexttime title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_VOX title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Next title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Nexttime title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_WDR title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Next title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Nexttime title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDF title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Next title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Nexttime title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDF_Next title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDF_Nexttime title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1



define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:SPORT1,SPORT1_Nexttime,SPORT1_Next \
TV_Programme:EUROSPORT,EUROSPORT_Nexttime,EUROSPORT_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:N24,N24_Nexttime,N24_Next \
TV_Programme:NTV,NTV_Nexttime,NTV_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:MDR,MDR_Nexttime,MDR_Next \
TV_Programme:BR,BR_Nexttime,BR_Next \
TV_Programme:HR,HR_Nexttime,HR_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:TELE5,TELE5_Nexttime,TELE5_Next \
TV_Programme:DREISAT,DREISAT_Nexttime,DREISAT_Next \
TV_Programme:ARTE,ARTE_Nexttime,ARTE_Next \
TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \
TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next \
TV_Programme:COMEDYCENTRAL,COMEDYCENTRAL_Nexttime,COMEDYCENTRAL_Next
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', DMAX => 'tvmovie/tvlogo_dmax_s', SUPERRTL => 'tvmovie/tvlogo_super_rtl_logo', NDR => 'tvmovie/tvlogo_ndr_s', BR => 'tvmovie/tvlogo_br_l', HR => 'tvmovie/tvlogo_hr_s', MDR => 'tvmovie/tvlogo_mdr_s', RBB => 'tvmovie/tvlogo_rbb-brandenburg_s', SWR => 'tvmovie/tvlogo_swr_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', TELE5 => 'tvmovie/tvlogo_tele-5_s', DREISAT => 'tvmovie/tvlogo_3sat_s', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s', SPORT1 => 'tvmovie/sport1', EUROSPORT => 'tvmovie/eurosport', N24 => 'tvmovie/n24', COMEDYCENTRAL => 'tvmovie/comedy_central', ARTE => 'tvmovie/tvlogo_arte_s', NTV => 'tvmovie/tvlogo_ntv_s'}
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}


Zusätzlich habe ich den TV_Helper aus dem Post 598

Aber anscheinend fehlt mir noch etwas!?

Danke schonmal für die Hilfe

Das Problem habe ich leider noch nicht gelöst. habe nun noch zusätzlich 2 Fragen:

1. Ich mußte noch die ReadingsName und die readingsRegex umändern, muß ich da alle ändern oder nur bestimmte?
2. Müssen alle die Nummer 01 bekommen oder fortlaufend?

Danke schonmal
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: fischit am 12 Dezember 2017, 18:11:07
Zitat von: Elektrolurch am 09 Dezember 2017, 11:22:17
Zitat:
2017.12.08 23:46:00 3: define TVhelper_2446_at at 24:46:30:30 {TVhelper_Update("TVhelper");;} : Wrong timespec 24:46:30:30: either HH:MM:SS or {perlcode}

Die Meldung kommt vom at, welches der TVhelper erzeugt. Dachte immer, dass das at auch 24:00:00 "versteht" und dies als 00:00:00 interpretiert, anscheinend aber nicht.
Tritt bei mir aber nicht auf, da ich beim TVhelper das Attribut
endtime 23:30
gesetzt habe.
Elektrolurch

Hatte den Endtimer auch auf 23:30 umgestellt und gestern hat es ihn wieder zerrissen:
2017.12.11 20:16:00 1: define TVhelper_2116_at at 21:16:30:30 {TVhelper_Update("TVhelper");}: Wrong timespec 21:16:30:30: either HH:MM:SS or {perlcode}
2017.12.11 20:16:00 3: define TVhelper_2116_at at 21:16:30:30 {TVhelper_Update("TVhelper");;} : Wrong timespec 21:16:30:30: either HH:MM:SS or {perlcode}

Und er fängt auch am nächsten Tag nicht wieder von alleine an. Ich muss die Definition einmal neu setzen damit er wieder startet
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: fischit am 12 Dezember 2017, 18:20:21
Zitat von: Torsten_MG am 10 Dezember 2017, 12:08:01
Das Problem habe ich leider noch nicht gelöst. habe nun noch zusätzlich 2 Fragen:

1. Ich mußte noch die ReadingsName und die readingsRegex umändern, muß ich da alle ändern oder nur bestimmte?
2. Müssen alle die Nummer 01 bekommen oder fortlaufend?

Danke schonmal
Schau dir mal im Wiki das Thema "upgradeAttributes" an: https://wiki.fhem.de/wiki/HTTPMOD
Dafür musst du
attr <httpmoddevice> enableControlSet 1 setzen

Achso und Backup vorher lieber machen .. sicher ist sicher ... Aber bei mir ging das Upgrade eigentlich schmerzfrei durch so.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: klausw am 17 Dezember 2017, 18:49:41
Zitat von: Elektrolurch am 08 Dezember 2017, 16:34:14
Ja, habe den TVhelper mittlerweile auch erweitert:

1. Zeigt einem an, welche Sender es auf der Seite gibt
2. Die Konfig für das httpmod - Modul kann man durchführen lassen, wobei der TVhelper jetzt nicht nur ein reading je Zugriff suchen lässt, sondern gleich alle readings für einen Sender. Reduziert die Last auf dem System
3. Die Excel-Tabelle hat bei mir nicht so richtig funktioniert, hinterlege im TVhelper eine Zeile für die readingsGroup und die Liste der Sender, die ich dort anzeigen lassen will.
4. Außerdem kann man den Sendernamen zu einem Kanlnamen mappen, so dass man dann die Icons für die Sender und ev. auch das (zeitgesteuerte) Umschalten der Kanäle z.B. über ENIGMAS2 sich vereinfacht.

Muss aber mal eine Anleitung dafür schreiben... wenn ich die Zeit finde. Für mich funkts, aber wenn das andere verwenden wollen, brauchts halt a bisserl Text....
magst du das neue Modul mal posten, auch ohne Anleitung, evtl. mit paar Kommentaren?  8)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 13 Januar 2018, 22:12:13
Nachdem ich entnervt im Dezember wieder alles gelöscht habe, wollte ich jetzt nochmal einen neuen versuch starten.

Ich habe nun folgendes eingegeben:


define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr
readings01Name_ARD
readings01Name_ARD_Next
readings01Name_ARD_Nexttime
readings02Name_EINSFESTIVAL
readings02Name_EINSFESTIVAL_Next
readings02Name_EINSFESTIVAL_Nexttime
readings03Name_EINSPLUS
readings03Name_EINSPLUS_Next
readings03Name_EINSPLUS_Nexttime
readings04Name_Kabel1
readings04Name_Kabel1_Next
readings04Name_Kabel1_Nexttime
readings05Name_Pro7
readings05Name_Pro7_Next
readings05Name_Pro7_Nexttime
readings06Name_RTL
readings06Name_RTL_Next
readings06Name_RTL_Nexttime
readings07Name_RTL2
readings07Name_RTL2_Next
readings07Name_RTL2_Nexttime
readings08Name_RTLNITRO
readings08Name_RTLNITRO_Next
readings08Name_RTLNITRO_Nexttime
readings09Name_SAT1GOLD
readings09Name_SAT1GOLD_Next
readings09Name_SAT1GOLD_Nexttime
readings10Name_SIXX
readings10Name_SIXX_Next
readings10Name_SIXX_Nexttime
readings11Name_SUPERRTL
readings11Name_SUPERRTL_Next
readings11Name_SUPERRTL_Nexttime
readings12Name_Sat1
readings12Name_Sat1_Next
readings12Name_Sat1_Nexttime
readings13Name_VOX
readings13Name_VOX_Next
readings13Name_VOX_Nexttime
readings14Name_WDR
readings14Name_WDR_Next
readings14Name_WDR_Nexttime
readings15Name_ZDF 
readings15Name_ZDF_Next
readings15Name_ZDF_Nexttime
readings16Name_ZDFNEO
readings16Name_ZDFNEO_Next
readings16Name_ZDFNEO_Nexttime
readings01Regex_ARD
readings01Regex_ARD_Next
readings01Regex_ARD_Nexttime
readings02Regex_EINSFESTIVAL
readings02Regex_EINSFESTIVAL_Next
readings02Regex_EINSFESTIVAL_Nexttime
readings03Regex_EINSPLUS
readings03Regex_EINSPLUS_Next
readings03Regex_EINSPLUS_Nexttime
readings04Regex_Kabel1
readings04Regex_Kabel1_Next
readings04Regex_Kabel1_Nexttime
readings05Regex_Pro7
readings05Regex_Pro7_Next
readings05Regex_Pro7_Nexttime
readings06Regex_RTL
readings06Regex_RTL_Next
readings06Regex_RTL_Nexttime
readings07Regex_RTL2
readings07Regex_RTL2_Next
readings07Regex_RTL2_Nexttime
readings08Regex_RTLNITRO
readings08Regex_RTLNITRO_Next
readings08Regex_RTLNITRO_Nexttime
readings09Regex_SAT1GOLD
readings09Regex_SAT1GOLD_Next
readings09Regex_SAT1GOLD_Nexttime
readings10Regex_SIXX
readings10Regex_SIXX_Next
readings10Regex_SIXX_Nexttime
readings11Regex_SUPERRTL
readings11Regex_SUPERRTL_Next
readings11Regex_SUPERRTL_Nexttime
readings12Regex_Sat1
readings12Regex_Sat1_Next
readings12Regex_Sat1_Nexttime
readings13Regex_VOX
readings13Regex_VOX_Next
readings13Regex_VOX_Nexttime
readings14Regex_WDR
readings14Regex_WDR_Next
readings14Regex_WDR_Nexttime
readings15Regex_ZDF
readings15Regex_ZDF_Next
readings15Regex_ZDF_Nexttime
readings16Regex_ZDFNEO
readings16Regex_ZDFNEO_Next
readings16Regex_ZDFNEO_Nexttime stateFormat timeout verbose
attr TV_Programme readings01Name_ARD ARD
attr TV_Programme readings01Name_ARD_Next ARD_Next
attr TV_Programme readings01Name_ARD_Nexttime ARD_Nexttime
attr TV_Programme readings02Name_EINSFESTIVAL EINSFESTIVAL
attr TV_Programme readings02Name_EINSFESTIVAL_Next EINSFESTIVAL_Next
attr TV_Programme readings02Name_EINSFESTIVAL_Nexttime EINSFESTIVAL_Nexttime
attr TV_Programme readings03Name_EINSPLUS EINSPLUS
attr TV_Programme readings03Name_EINSPLUS_Next EINSPLUS_Next
attr TV_Programme readings03Name_EINSPLUS_Nexttime EINSPLUS_Nexttime
attr TV_Programme readings04Name_Kabel1 Kabel1
attr TV_Programme readings04Name_Kabel1_Next Kabel1_Next
attr TV_Programme readings04Name_Kabel1_Nexttime Kabel1_Nexttime
attr TV_Programme readings05Name_Pro7 Pro7
attr TV_Programme readings05Name_Pro7_Next Pro7_Next
attr TV_Programme readings05Name_Pro7_Nexttime Pro7_Nexttime
attr TV_Programme readings06Name_RTL RTL
attr TV_Programme readings06Name_RTL_Next RTL_Next
attr TV_Programme readings06Name_RTL_Nexttime RTL_Nexttime
attr TV_Programme readings07Name_RTL2 RTL2
attr TV_Programme readings07Name_RTL2_Next RTL2_Next
attr TV_Programme readings07Name_RTL2_Nexttime RTL2_Nexttime
attr TV_Programme readings08Name_RTLNITRO RTLNITRO
attr TV_Programme readings08Name_RTLNITRO_Next RTLNITRO_Next
attr TV_Programme readings08Name_RTLNITRO_Nexttime RTLNITRO_Nexttime
attr TV_Programme readings09Name_SAT1GOLD SAT1GOLD
attr TV_Programme readings09Name_SAT1GOLD_Next SAT1GOLD_Next
attr TV_Programme readings09Name_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
attr TV_Programme readings10Name_SIXX SIXX
attr TV_Programme readings10Name_SIXX_Next SIXX_Next
attr TV_Programme readings10Name_SIXX_Nexttime SIXX_Nexttime
attr TV_Programme readings11Name_SUPERRTL SUPERRTL
attr TV_Programme readings11Name_SUPERRTL_Next SUPERRTL_Next
attr TV_Programme readings11Name_SUPERRTL_Nexttime SUPERRTL_Nexttime
attr TV_Programme readings12Name_Sat1 Sat1
attr TV_Programme readings12Name_Sat1_Next Sat1_Next
attr TV_Programme readings12Name_Sat1_Nexttime Sat1_Nexttime
attr TV_Programme readings13Name_VOX VOX
attr TV_Programme readings13Name_VOX_Next VOX_Next
attr TV_Programme readings13Name_VOX_Nexttime VOX_Nexttime
attr TV_Programme readings14Name_WDR WDR
attr TV_Programme readings14Name_WDR_Next WDR_Next
attr TV_Programme readings14Name_WDR_Nexttime WDR_Nexttime
attr TV_Programme readings15Name_ZDF ZDF
attr TV_Programme readings15Name_ZDF_Next ZDF_Next
attr TV_Programme readings15Name_ZDF_Nexttime ZDF_Nexttime
attr TV_Programme readings16Name_ZDFNEO ZDFNEO
attr TV_Programme readings16Name_ZDFNEO_Next ZDFNEO_Next
attr TV_Programme readings16Name_ZDFNEO_Nexttime ZDFNEO_Nexttime
attr TV_Programme readings01Regex_ARD title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings01Regex_ARD_Next title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings01Regex_ARD_Nexttime title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings02Regex_EINSFESTIVAL title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings02Regex_EINSFESTIVAL_Next title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings02Regex_EINSFESTIVAL_Nexttime title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings03Regex_EINSPLUS title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings03Regex_EINSPLUS_Next title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings03Regex_EINSPLUS_Nexttime title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings04Regex_Kabel1 title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings04Regex_Kabel1_Next title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings04Regex_Kabel1_Nexttime title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings05Regex_Pro7 title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings05Regex_Pro7_Next title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings05Regex_Pro7_Nexttime title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings06Regex_RTL title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings06Regex_RTL_Next title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings06Regex_RTL_Nexttime title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings07Regex_RTL2 title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings07Regex_RTL2_Next title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings07Regex_RTL2_Nexttime title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings08Regex_RTLNITRO title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings08Regex_RTLNITRO_Next title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings08Regex_RTLNITRO_Nexttime title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings09Regex_SAT1GOLD title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings09Regex_SAT1GOLD_Next title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings09Regex_SAT1GOLD_Nexttime title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings10Regex_SIXX title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings10Regex_SIXX_Next title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings10Regex_SIXX_Nexttime title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings11Regex_SUPERRTL title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings11Regex_SUPERRTL_Next title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings11Regex_SUPERRTL_Nexttime title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings12Regex_Sat1 title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings12Regex_Sat1_Next title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings12Regex_Sat1_Nexttime title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings13Regex_VOX title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings13Regex_VOX_Next title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings13Regex_VOX_Nexttime title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings14Regex_WDR title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings14Regex_WDR_Next title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings14Regex_WDR_Nexttime title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings15Regex_ZDF title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings15Regex_ZDF_Next title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings15Regex_ZDF_Nexttime title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings16Regex_ZDFNEO title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings16Regex_ZDFNEO_Next title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings16Regex_ZDFNEO_Nexttime title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1

define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \
TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next \
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', SUPERRTL =>'tvmovie/tvlogo_super_rtl_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s',}
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}



Mein Listings sehen nun so aus:

Internals:
   BUSY       0
   CHANGED   
   DEF        http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
   Interval   300
   LASTSEND   1515877517.86227
   MainURL    http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
   ModuleVersion 3.4.0 - 9.9.2017
   NAME       TV_Programme
   NR         143
   STATE      mein_TV_programm: ARD_Next
   TRIGGERTIME 1515877817.86096
   TRIGGERTIME_FMT 2018-01-13 22:10:17
   TYPE       HTTPMOD
   addr       http://www.klack.de:80
   auth       0
   code       200
   compress   1
   conn       
   data       
   displayurl http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
   header     
   host       www.klack.de
   httpheader HTTP/1.1 200 OK
Date: Sat, 13 Jan 2018 21:05:19 GMT
Server: Apache
Set-Cookie: d2eb32ef92ab9e953aa00bd5b54b2c06=09e10ec60b9b35ede8adaefd063653a6; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Connection: close
Content-Type: text/html; charset=utf-8
   httpversion 1.0
   hu_blocking 0
   hu_filecount 1
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /fernsehprogramm/was-laeuft-gerade/0/0/all.html
   protocol   http
   redirects  0
   timeout    20
   url        http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
   value      0
   QUEUE:
   READINGS:
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
     value      0
   sslargs:
Attributes:
   readings01Name_ARD ARD
   readings01Name_ARD_Next ARD_Next
   readings01Name_ARD_Nexttime ARD_Nexttime
   readings01Regex_ARD title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings01Regex_ARD_Next title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings01Regex_ARD_Nexttime title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings02Name_EINSFESTIVAL EINSFESTIVAL
   readings02Name_EINSFESTIVAL_Next EINSFESTIVAL_Next
   readings02Name_EINSFESTIVAL_Nexttime EINSFESTIVAL_Nexttime
   readings02Regex_EINSFESTIVAL title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings02Regex_EINSFESTIVAL_Next title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings02Regex_EINSFESTIVAL_Nexttime title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings03Name_EINSPLUS EINSPLUS
   readings03Name_EINSPLUS_Next EINSPLUS_Next
   readings03Name_EINSPLUS_Nexttime EINSPLUS_Nexttime
   readings03Regex_EINSPLUS title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings03Regex_EINSPLUS_Next title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings03Regex_EINSPLUS_Nexttime title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings04Name_Kabel1 Kabel1
   readings04Name_Kabel1_Next Kabel1_Next
   readings04Name_Kabel1_Nexttime Kabel1_Nexttime
   readings04Regex_Kabel1 title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings04Regex_Kabel1_Next title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings04Regex_Kabel1_Nexttime title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings05Name_Pro7 Pro7
   readings05Name_Pro7_Next Pro7_Next
   readings05Name_Pro7_Nexttime Pro7_Nexttime
   readings05Regex_Pro7 title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings05Regex_Pro7_Next title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings05Regex_Pro7_Nexttime title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings06Name_RTL RTL
   readings06Name_RTL_Next RTL_Next
   readings06Name_RTL_Nexttime RTL_Nexttime
   readings06Regex_RTL title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings06Regex_RTL_Next title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings06Regex_RTL_Nexttime title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings07Name_RTL2 RTL2
   readings07Name_RTL2_Next RTL2_Next
   readings07Name_RTL2_Nexttime RTL2_Nexttime
   readings07Regex_RTL2 title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings07Regex_RTL2_Next title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings07Regex_RTL2_Nexttime title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings08Name_RTLNITRO RTLNITRO
   readings08Name_RTLNITRO_Next RTLNITRO_Next
   readings08Name_RTLNITRO_Nexttime RTLNITRO_Nexttime
   readings08Regex_RTLNITRO title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings08Regex_RTLNITRO_Next title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings08Regex_RTLNITRO_Nexttime title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings09Name_SAT1GOLD SAT1GOLD
   readings09Name_SAT1GOLD_Next SAT1GOLD_Next
   readings09Name_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
   readings09Regex_SAT1GOLD title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings09Regex_SAT1GOLD_Next title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings09Regex_SAT1GOLD_Nexttime title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings10Name_SIXX SIXX
   readings10Name_SIXX_Next SIXX_Next
   readings10Name_SIXX_Nexttime SIXX_Nexttime
   readings10Regex_SIXX title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings10Regex_SIXX_Next title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings10Regex_SIXX_Nexttime title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings11Name_SUPERRTL SUPERRTL
   readings11Name_SUPERRTL_Next SUPERRTL_Next
   readings11Name_SUPERRTL_Nexttime SUPERRTL_Nexttime
   readings11Regex_SUPERRTL title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings11Regex_SUPERRTL_Next title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings11Regex_SUPERRTL_Nexttime title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings12Name_Sat1 Sat1
   readings12Name_Sat1_Next Sat1_Next
   readings12Name_Sat1_Nexttime Sat1_Nexttime
   readings12Regex_Sat1 title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings12Regex_Sat1_Next title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings12Regex_Sat1_Nexttime title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings13Name_VOX VOX
   readings13Name_VOX_Next VOX_Next
   readings13Name_VOX_Nexttime VOX_Nexttime
   readings13Regex_VOX title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings13Regex_VOX_Next title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings13Regex_VOX_Nexttime title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings14Name_WDR WDR
   readings14Name_WDR_Next WDR_Next
   readings14Name_WDR_Nexttime WDR_Nexttime
   readings14Regex_WDR title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings14Regex_WDR_Next title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings14Regex_WDR_Nexttime title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings15Name_ZDF ZDF
   readings15Name_ZDF_Next ZDF_Next
   readings15Name_ZDF_Nexttime ZDF_Nexttime
   readings15Regex_ZDF title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings15Regex_ZDF_Next title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings15Regex_ZDF_Nexttime title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings16Name_ZDFNEO ZDFNEO
   readings16Name_ZDFNEO_Next ZDFNEO_Next
   readings16Name_ZDFNEO_Nexttime ZDFNEO_Nexttime
   readings16Regex_ZDFNEO title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings16Regex_ZDFNEO_Next title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings16Regex_ZDFNEO_Nexttime title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   room       TV
   stateFormat mein_TV_programm: ARD_Next
   timeout    20
   userattr   readings01Name_ARD  readings01Name_ARD_Next  readings01Name_ARD_Nexttime  readings02Name_EINSFESTIVAL  readings02Name_EINSFESTIVAL_Next  readings02Name_EINSFESTIVAL_Nexttime  readings03Name_EINSPLUS  readings03Name_EINSPLUS_Next  readings03Name_EINSPLUS_Nexttime  readings04Name_Kabel1  readings04Name_Kabel1_Next  readings04Name_Kabel1_Nexttime  readings05Name_Pro7  readings05Name_Pro7_Next  readings05Name_Pro7_Nexttime  readings06Name_RTL  readings06Name_RTL_Next  readings06Name_RTL_Nexttime  readings07Name_RTL2  readings07Name_RTL2_Next  readings07Name_RTL2_Nexttime  readings08Name_RTLNITRO  readings08Name_RTLNITRO_Next  readings08Name_RTLNITRO_Nexttime  readings09Name_SAT1GOLD  readings09Name_SAT1GOLD_Next  readings09Name_SAT1GOLD_Nexttime  readings10Name_SIXX  readings10Name_SIXX_Next  readings10Name_SIXX_Nexttime  readings11Name_SUPERRTL  readings11Name_SUPERRTL_Next  readings11Name_SUPERRTL_Nexttime  readings12Name_Sat1  readings12Name_Sat1_Next  readings12Name_Sat1_Nexttime  readings13Name_VOX  readings13Name_VOX_Next  readings13Name_VOX_Nexttime  readings14Name_WDR  readings14Name_WDR_Next  readings14Name_WDR_Nexttime  readings15Name_ZDF   readings15Name_ZDF_Next  readings15Name_ZDF_Nexttime readings16Name_ZDFNEO readings16Name_ZDFNEO_Next  readings16Name_ZDFNEO_Nexttime  readings01Regex_ARD  readings01Regex_ARD_Next  readings01Regex_ARD_Nexttime  readings02Regex_EINSFESTIVAL  readings02Regex_EINSFESTIVAL_Next  readings02Regex_EINSFESTIVAL_Nexttime  readings03Regex_EINSPLUS  readings03Regex_EINSPLUS_Next  readings03Regex_EINSPLUS_Nexttime  readings04Regex_Kabel1  readings04Regex_Kabel1_Next  readings04Regex_Kabel1_Nexttime  readings05Regex_Pro7  readings05Regex_Pro7_Next  readings05Regex_Pro7_Nexttime  readings06Regex_RTL  readings06Regex_RTL_Next  readings06Regex_RTL_Nexttime  readings07Regex_RTL2  readings07Regex_RTL2_Next  readings07Regex_RTL2_Nexttime  readings08Regex_RTLNITRO  readings08Regex_RTLNITRO_Next  readings08Regex_RTLNITRO_Nexttime  readings09Regex_SAT1GOLD  readings09Regex_SAT1GOLD_Next  readings09Regex_SAT1GOLD_Nexttime  readings10Regex_SIXX  readings10Regex_SIXX_Next  readings10Regex_SIXX_Nexttime  readings11Regex_SUPERRTL  readings11Regex_SUPERRTL_Next  readings11Regex_SUPERRTL_Nexttime  readings12Regex_Sat1  readings12Regex_Sat1_Next  readings12Regex_Sat1_Nexttime  readings13Regex_VOX  readings13Regex_VOX_Next  readings13Regex_VOX_Nexttime  readings14Regex_WDR  readings14Regex_WDR_Next  readings14Regex_WDR_Nexttime  readings15Regex_ZDF  readings15Regex_ZDF_Next  readings15Regex_ZDF_Nexttime readings16Regex_ZDFNEO  readings16Regex_ZDFNEO_Next  readings16Regex_ZDFNEO_Nexttime stateFormat timeout verbose
   verbose    1



Internals:
   CFGFN     
   DEF        <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \ TV_Programme:ARD,ARD_Nexttime,ARD_Next \ TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \ TV_Programme:RTL,RTL_Nexttime,RTL_Next \ TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \ TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \ TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \ TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \ TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \ TV_Programme:VOX,VOX_Nexttime,VOX_Next \ TV_Programme:WDR,WDR_Nexttime,WDR_Next \ TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \ TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \ TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \ TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \ TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \ TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next
attr TV_Programm_Next alias aktuelles TV-Programm
   NAME       TV_Programm_Next
   NR         282
   NTFY_ORDER 50-TV_Programm_Next
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     TV_Programm_Next 1
     TV_Programme 1
   CONTENT2:
   DEVICES:
     ARRAY(0x3709f68)
     ARRAY(0x3831188)
     ARRAY(0x36deaa0)
     ARRAY(0x36cf600)
     ARRAY(0x36d4a98)
     ARRAY(0x3690830)
     ARRAY(0x2b60000)
     ARRAY(0x36af718)
     ARRAY(0x36d4b40)
     ARRAY(0x36d53b0)
     ARRAY(0x3830e40)
     ARRAY(0x36cf390)
     ARRAY(0x3709920)
     ARRAY(0x36d7440)
     ARRAY(0x36dd998)
     ARRAY(0x36d4a50)
     ARRAY(0x36d49f0)
     ARRAY(0x36d4c60)
   fhem:
     lastDefChange 9
     last_update 1515879271.61188
   helper:
     DEF       
     nameStyle  style="color:yellow"
     valueFormat {wrapLine($VALUE, 50)}
     nameIcon:
       ARD        tvmovie/tvlogo_das-erste_s
       EINSFESTIVAL tvmovie/tvlogo_eins-festival_s
       EINSPLUS   tvmovie/tvlogo_eins-plus_s
       Kabel1     tvmovie/tvlogo_kabel1_s
       Pro7       tvmovie/tvlogo_pro7_s
       RTL        tvmovie/tvlogo_rtl
       RTL2       tvmovie/tvlogo_rtl2_s
       RTLNITRO   tvmovie/rtl_nitro
       SAT1GOLD   tvmovie/tvlogo_sat1_rgb_sat1gold
       SIXX       tvmovie/sixx
       SUPERRTL   tvmovie/tvlogo_super_rtl_logo
       Sat1       tvmovie/tvlogo_sat1_s
       VOX        tvmovie/tvlogo_vox_s
       WDR        tvmovie/tvlogo_wdr_s
       ZDF        tvmovie/tvlogo_zdf_s
       ZDFNEO     tvmovie/tvlogo_zdf-neo_s
Attributes:
   alias      aktuelles TV-Programm
   nameIcon   { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', SUPERRTL =>'tvmovie/tvlogo_super_rtl_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s',}
   nameStyle  style="color:yellow"
   room       TV
   style      style="font-size:18px"
   valueFormat {wrapLine($VALUE, 50)}


Aber irgendwie will das bei mir nicht funktionieren


EDIT: Läuft jetzt, hatte noch einige Fehler, habe sie gefunden und behoben :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 16 Januar 2018, 19:54:11
Ich wollte heute die Sender Details mit aufnehmen und habe mir die Klack.xlsm aus dem Post #506 die attr rauskopiert.

Z.B.:

attr TV_Programme reading53Name Kabel1_details
attr TV_Programme reading53Regex <span class="stationName">Kabel eins<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)


doch leider taucht das nicht in den Readings auf?

Ist der Code mitlerweile Falsch oder habe ich was vergessen?

Habe alle Seiten überflogen und nichts finden können (hoffe, es nicht übersehen zu haben)

Hoffe mir kann hier jemand weiterhelfen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 17 Januar 2018, 07:09:43
Zitat von: Torsten_MG am 13 Januar 2018, 22:12:13
Nachdem ich entnervt im Dezember wieder alles gelöscht habe, wollte ich jetzt nochmal einen neuen versuch starten.

Ich habe nun folgendes eingegeben:


define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr
readings01Name_ARD
readings01Name_ARD_Next
readings01Name_ARD_Nexttime
readings02Name_EINSFESTIVAL
readings02Name_EINSFESTIVAL_Next
readings02Name_EINSFESTIVAL_Nexttime
readings03Name_EINSPLUS
readings03Name_EINSPLUS_Next
readings03Name_EINSPLUS_Nexttime
readings04Name_Kabel1
readings04Name_Kabel1_Next
readings04Name_Kabel1_Nexttime
readings05Name_Pro7
readings05Name_Pro7_Next
readings05Name_Pro7_Nexttime
readings06Name_RTL
readings06Name_RTL_Next
readings06Name_RTL_Nexttime
readings07Name_RTL2
readings07Name_RTL2_Next
readings07Name_RTL2_Nexttime
readings08Name_RTLNITRO
readings08Name_RTLNITRO_Next
readings08Name_RTLNITRO_Nexttime
readings09Name_SAT1GOLD
readings09Name_SAT1GOLD_Next
readings09Name_SAT1GOLD_Nexttime
readings10Name_SIXX
readings10Name_SIXX_Next
readings10Name_SIXX_Nexttime
readings11Name_SUPERRTL
readings11Name_SUPERRTL_Next
readings11Name_SUPERRTL_Nexttime
readings12Name_Sat1
readings12Name_Sat1_Next
readings12Name_Sat1_Nexttime
readings13Name_VOX
readings13Name_VOX_Next
readings13Name_VOX_Nexttime
readings14Name_WDR
readings14Name_WDR_Next
readings14Name_WDR_Nexttime
readings15Name_ZDF 
readings15Name_ZDF_Next
readings15Name_ZDF_Nexttime
readings16Name_ZDFNEO
readings16Name_ZDFNEO_Next
readings16Name_ZDFNEO_Nexttime
readings01Regex_ARD
readings01Regex_ARD_Next
readings01Regex_ARD_Nexttime
readings02Regex_EINSFESTIVAL
readings02Regex_EINSFESTIVAL_Next
readings02Regex_EINSFESTIVAL_Nexttime
readings03Regex_EINSPLUS
readings03Regex_EINSPLUS_Next
readings03Regex_EINSPLUS_Nexttime
readings04Regex_Kabel1
readings04Regex_Kabel1_Next
readings04Regex_Kabel1_Nexttime
readings05Regex_Pro7
readings05Regex_Pro7_Next
readings05Regex_Pro7_Nexttime
readings06Regex_RTL
readings06Regex_RTL_Next
readings06Regex_RTL_Nexttime
readings07Regex_RTL2
readings07Regex_RTL2_Next
readings07Regex_RTL2_Nexttime
readings08Regex_RTLNITRO
readings08Regex_RTLNITRO_Next
readings08Regex_RTLNITRO_Nexttime
readings09Regex_SAT1GOLD
readings09Regex_SAT1GOLD_Next
readings09Regex_SAT1GOLD_Nexttime
readings10Regex_SIXX
readings10Regex_SIXX_Next
readings10Regex_SIXX_Nexttime
readings11Regex_SUPERRTL
readings11Regex_SUPERRTL_Next
readings11Regex_SUPERRTL_Nexttime
readings12Regex_Sat1
readings12Regex_Sat1_Next
readings12Regex_Sat1_Nexttime
readings13Regex_VOX
readings13Regex_VOX_Next
readings13Regex_VOX_Nexttime
readings14Regex_WDR
readings14Regex_WDR_Next
readings14Regex_WDR_Nexttime
readings15Regex_ZDF
readings15Regex_ZDF_Next
readings15Regex_ZDF_Nexttime
readings16Regex_ZDFNEO
readings16Regex_ZDFNEO_Next
readings16Regex_ZDFNEO_Nexttime stateFormat timeout verbose
attr TV_Programme readings01Name_ARD ARD
attr TV_Programme readings01Name_ARD_Next ARD_Next
attr TV_Programme readings01Name_ARD_Nexttime ARD_Nexttime
attr TV_Programme readings02Name_EINSFESTIVAL EINSFESTIVAL
attr TV_Programme readings02Name_EINSFESTIVAL_Next EINSFESTIVAL_Next
attr TV_Programme readings02Name_EINSFESTIVAL_Nexttime EINSFESTIVAL_Nexttime
attr TV_Programme readings03Name_EINSPLUS EINSPLUS
attr TV_Programme readings03Name_EINSPLUS_Next EINSPLUS_Next
attr TV_Programme readings03Name_EINSPLUS_Nexttime EINSPLUS_Nexttime
attr TV_Programme readings04Name_Kabel1 Kabel1
attr TV_Programme readings04Name_Kabel1_Next Kabel1_Next
attr TV_Programme readings04Name_Kabel1_Nexttime Kabel1_Nexttime
attr TV_Programme readings05Name_Pro7 Pro7
attr TV_Programme readings05Name_Pro7_Next Pro7_Next
attr TV_Programme readings05Name_Pro7_Nexttime Pro7_Nexttime
attr TV_Programme readings06Name_RTL RTL
attr TV_Programme readings06Name_RTL_Next RTL_Next
attr TV_Programme readings06Name_RTL_Nexttime RTL_Nexttime
attr TV_Programme readings07Name_RTL2 RTL2
attr TV_Programme readings07Name_RTL2_Next RTL2_Next
attr TV_Programme readings07Name_RTL2_Nexttime RTL2_Nexttime
attr TV_Programme readings08Name_RTLNITRO RTLNITRO
attr TV_Programme readings08Name_RTLNITRO_Next RTLNITRO_Next
attr TV_Programme readings08Name_RTLNITRO_Nexttime RTLNITRO_Nexttime
attr TV_Programme readings09Name_SAT1GOLD SAT1GOLD
attr TV_Programme readings09Name_SAT1GOLD_Next SAT1GOLD_Next
attr TV_Programme readings09Name_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
attr TV_Programme readings10Name_SIXX SIXX
attr TV_Programme readings10Name_SIXX_Next SIXX_Next
attr TV_Programme readings10Name_SIXX_Nexttime SIXX_Nexttime
attr TV_Programme readings11Name_SUPERRTL SUPERRTL
attr TV_Programme readings11Name_SUPERRTL_Next SUPERRTL_Next
attr TV_Programme readings11Name_SUPERRTL_Nexttime SUPERRTL_Nexttime
attr TV_Programme readings12Name_Sat1 Sat1
attr TV_Programme readings12Name_Sat1_Next Sat1_Next
attr TV_Programme readings12Name_Sat1_Nexttime Sat1_Nexttime
attr TV_Programme readings13Name_VOX VOX
attr TV_Programme readings13Name_VOX_Next VOX_Next
attr TV_Programme readings13Name_VOX_Nexttime VOX_Nexttime
attr TV_Programme readings14Name_WDR WDR
attr TV_Programme readings14Name_WDR_Next WDR_Next
attr TV_Programme readings14Name_WDR_Nexttime WDR_Nexttime
attr TV_Programme readings15Name_ZDF ZDF
attr TV_Programme readings15Name_ZDF_Next ZDF_Next
attr TV_Programme readings15Name_ZDF_Nexttime ZDF_Nexttime
attr TV_Programme readings16Name_ZDFNEO ZDFNEO
attr TV_Programme readings16Name_ZDFNEO_Next ZDFNEO_Next
attr TV_Programme readings16Name_ZDFNEO_Nexttime ZDFNEO_Nexttime
attr TV_Programme readings01Regex_ARD title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings01Regex_ARD_Next title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings01Regex_ARD_Nexttime title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings02Regex_EINSFESTIVAL title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings02Regex_EINSFESTIVAL_Next title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings02Regex_EINSFESTIVAL_Nexttime title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings03Regex_EINSPLUS title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings03Regex_EINSPLUS_Next title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings03Regex_EINSPLUS_Nexttime title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings04Regex_Kabel1 title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings04Regex_Kabel1_Next title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings04Regex_Kabel1_Nexttime title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings05Regex_Pro7 title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings05Regex_Pro7_Next title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings05Regex_Pro7_Nexttime title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings06Regex_RTL title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings06Regex_RTL_Next title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings06Regex_RTL_Nexttime title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings07Regex_RTL2 title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings07Regex_RTL2_Next title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings07Regex_RTL2_Nexttime title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings08Regex_RTLNITRO title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings08Regex_RTLNITRO_Next title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings08Regex_RTLNITRO_Nexttime title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings09Regex_SAT1GOLD title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings09Regex_SAT1GOLD_Next title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings09Regex_SAT1GOLD_Nexttime title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings10Regex_SIXX title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings10Regex_SIXX_Next title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings10Regex_SIXX_Nexttime title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings11Regex_SUPERRTL title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings11Regex_SUPERRTL_Next title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings11Regex_SUPERRTL_Nexttime title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings12Regex_Sat1 title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings12Regex_Sat1_Next title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings12Regex_Sat1_Nexttime title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings13Regex_VOX title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings13Regex_VOX_Next title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings13Regex_VOX_Nexttime title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings14Regex_WDR title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings14Regex_WDR_Next title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings14Regex_WDR_Nexttime title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings15Regex_ZDF title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings15Regex_ZDF_Next title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings15Regex_ZDF_Nexttime title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readings16Regex_ZDFNEO title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings16Regex_ZDFNEO_Next title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readings16Regex_ZDFNEO_Nexttime title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1

define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \
TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next \
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', SUPERRTL =>'tvmovie/tvlogo_super_rtl_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s',}
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}



Mein Listings sehen nun so aus:

Internals:
   BUSY       0
   CHANGED   
   DEF        http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
   Interval   300
   LASTSEND   1515877517.86227
   MainURL    http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
   ModuleVersion 3.4.0 - 9.9.2017
   NAME       TV_Programme
   NR         143
   STATE      mein_TV_programm: ARD_Next
   TRIGGERTIME 1515877817.86096
   TRIGGERTIME_FMT 2018-01-13 22:10:17
   TYPE       HTTPMOD
   addr       http://www.klack.de:80
   auth       0
   code       200
   compress   1
   conn       
   data       
   displayurl http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
   header     
   host       www.klack.de
   httpheader HTTP/1.1 200 OK
Date: Sat, 13 Jan 2018 21:05:19 GMT
Server: Apache
Set-Cookie: d2eb32ef92ab9e953aa00bd5b54b2c06=09e10ec60b9b35ede8adaefd063653a6; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Connection: close
Content-Type: text/html; charset=utf-8
   httpversion 1.0
   hu_blocking 0
   hu_filecount 1
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /fernsehprogramm/was-laeuft-gerade/0/0/all.html
   protocol   http
   redirects  0
   timeout    20
   url        http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
   value      0
   QUEUE:
   READINGS:
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
     value      0
   sslargs:
Attributes:
   readings01Name_ARD ARD
   readings01Name_ARD_Next ARD_Next
   readings01Name_ARD_Nexttime ARD_Nexttime
   readings01Regex_ARD title="ARD"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings01Regex_ARD_Next title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings01Regex_ARD_Nexttime title="ARD"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings02Name_EINSFESTIVAL EINSFESTIVAL
   readings02Name_EINSFESTIVAL_Next EINSFESTIVAL_Next
   readings02Name_EINSFESTIVAL_Nexttime EINSFESTIVAL_Nexttime
   readings02Regex_EINSFESTIVAL title="EinsFestival"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings02Regex_EINSFESTIVAL_Next title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings02Regex_EINSFESTIVAL_Nexttime title="EinsFestival"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings03Name_EINSPLUS EINSPLUS
   readings03Name_EINSPLUS_Next EINSPLUS_Next
   readings03Name_EINSPLUS_Nexttime EINSPLUS_Nexttime
   readings03Regex_EINSPLUS title="Eins Plus"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings03Regex_EINSPLUS_Next title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings03Regex_EINSPLUS_Nexttime title="Eins Plus"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings04Name_Kabel1 Kabel1
   readings04Name_Kabel1_Next Kabel1_Next
   readings04Name_Kabel1_Nexttime Kabel1_Nexttime
   readings04Regex_Kabel1 title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings04Regex_Kabel1_Next title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings04Regex_Kabel1_Nexttime title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings05Name_Pro7 Pro7
   readings05Name_Pro7_Next Pro7_Next
   readings05Name_Pro7_Nexttime Pro7_Nexttime
   readings05Regex_Pro7 title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings05Regex_Pro7_Next title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings05Regex_Pro7_Nexttime title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings06Name_RTL RTL
   readings06Name_RTL_Next RTL_Next
   readings06Name_RTL_Nexttime RTL_Nexttime
   readings06Regex_RTL title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings06Regex_RTL_Next title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings06Regex_RTL_Nexttime title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings07Name_RTL2 RTL2
   readings07Name_RTL2_Next RTL2_Next
   readings07Name_RTL2_Nexttime RTL2_Nexttime
   readings07Regex_RTL2 title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings07Regex_RTL2_Next title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings07Regex_RTL2_Nexttime title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings08Name_RTLNITRO RTLNITRO
   readings08Name_RTLNITRO_Next RTLNITRO_Next
   readings08Name_RTLNITRO_Nexttime RTLNITRO_Nexttime
   readings08Regex_RTLNITRO title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings08Regex_RTLNITRO_Next title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings08Regex_RTLNITRO_Nexttime title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings09Name_SAT1GOLD SAT1GOLD
   readings09Name_SAT1GOLD_Next SAT1GOLD_Next
   readings09Name_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
   readings09Regex_SAT1GOLD title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings09Regex_SAT1GOLD_Next title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings09Regex_SAT1GOLD_Nexttime title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings10Name_SIXX SIXX
   readings10Name_SIXX_Next SIXX_Next
   readings10Name_SIXX_Nexttime SIXX_Nexttime
   readings10Regex_SIXX title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings10Regex_SIXX_Next title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings10Regex_SIXX_Nexttime title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings11Name_SUPERRTL SUPERRTL
   readings11Name_SUPERRTL_Next SUPERRTL_Next
   readings11Name_SUPERRTL_Nexttime SUPERRTL_Nexttime
   readings11Regex_SUPERRTL title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings11Regex_SUPERRTL_Next title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings11Regex_SUPERRTL_Nexttime title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings12Name_Sat1 Sat1
   readings12Name_Sat1_Next Sat1_Next
   readings12Name_Sat1_Nexttime Sat1_Nexttime
   readings12Regex_Sat1 title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings12Regex_Sat1_Next title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings12Regex_Sat1_Nexttime title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings13Name_VOX VOX
   readings13Name_VOX_Next VOX_Next
   readings13Name_VOX_Nexttime VOX_Nexttime
   readings13Regex_VOX title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings13Regex_VOX_Next title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings13Regex_VOX_Nexttime title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings14Name_WDR WDR
   readings14Name_WDR_Next WDR_Next
   readings14Name_WDR_Nexttime WDR_Nexttime
   readings14Regex_WDR title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings14Regex_WDR_Next title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings14Regex_WDR_Nexttime title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings15Name_ZDF ZDF
   readings15Name_ZDF_Next ZDF_Next
   readings15Name_ZDF_Nexttime ZDF_Nexttime
   readings15Regex_ZDF title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings15Regex_ZDF_Next title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings15Regex_ZDF_Nexttime title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   readings16Name_ZDFNEO ZDFNEO
   readings16Name_ZDFNEO_Next ZDFNEO_Next
   readings16Name_ZDFNEO_Nexttime ZDFNEO_Nexttime
   readings16Regex_ZDFNEO title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings16Regex_ZDFNEO_Next title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
   readings16Regex_ZDFNEO_Nexttime title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
   room       TV
   stateFormat mein_TV_programm: ARD_Next
   timeout    20
   userattr   readings01Name_ARD  readings01Name_ARD_Next  readings01Name_ARD_Nexttime  readings02Name_EINSFESTIVAL  readings02Name_EINSFESTIVAL_Next  readings02Name_EINSFESTIVAL_Nexttime  readings03Name_EINSPLUS  readings03Name_EINSPLUS_Next  readings03Name_EINSPLUS_Nexttime  readings04Name_Kabel1  readings04Name_Kabel1_Next  readings04Name_Kabel1_Nexttime  readings05Name_Pro7  readings05Name_Pro7_Next  readings05Name_Pro7_Nexttime  readings06Name_RTL  readings06Name_RTL_Next  readings06Name_RTL_Nexttime  readings07Name_RTL2  readings07Name_RTL2_Next  readings07Name_RTL2_Nexttime  readings08Name_RTLNITRO  readings08Name_RTLNITRO_Next  readings08Name_RTLNITRO_Nexttime  readings09Name_SAT1GOLD  readings09Name_SAT1GOLD_Next  readings09Name_SAT1GOLD_Nexttime  readings10Name_SIXX  readings10Name_SIXX_Next  readings10Name_SIXX_Nexttime  readings11Name_SUPERRTL  readings11Name_SUPERRTL_Next  readings11Name_SUPERRTL_Nexttime  readings12Name_Sat1  readings12Name_Sat1_Next  readings12Name_Sat1_Nexttime  readings13Name_VOX  readings13Name_VOX_Next  readings13Name_VOX_Nexttime  readings14Name_WDR  readings14Name_WDR_Next  readings14Name_WDR_Nexttime  readings15Name_ZDF   readings15Name_ZDF_Next  readings15Name_ZDF_Nexttime readings16Name_ZDFNEO readings16Name_ZDFNEO_Next  readings16Name_ZDFNEO_Nexttime  readings01Regex_ARD  readings01Regex_ARD_Next  readings01Regex_ARD_Nexttime  readings02Regex_EINSFESTIVAL  readings02Regex_EINSFESTIVAL_Next  readings02Regex_EINSFESTIVAL_Nexttime  readings03Regex_EINSPLUS  readings03Regex_EINSPLUS_Next  readings03Regex_EINSPLUS_Nexttime  readings04Regex_Kabel1  readings04Regex_Kabel1_Next  readings04Regex_Kabel1_Nexttime  readings05Regex_Pro7  readings05Regex_Pro7_Next  readings05Regex_Pro7_Nexttime  readings06Regex_RTL  readings06Regex_RTL_Next  readings06Regex_RTL_Nexttime  readings07Regex_RTL2  readings07Regex_RTL2_Next  readings07Regex_RTL2_Nexttime  readings08Regex_RTLNITRO  readings08Regex_RTLNITRO_Next  readings08Regex_RTLNITRO_Nexttime  readings09Regex_SAT1GOLD  readings09Regex_SAT1GOLD_Next  readings09Regex_SAT1GOLD_Nexttime  readings10Regex_SIXX  readings10Regex_SIXX_Next  readings10Regex_SIXX_Nexttime  readings11Regex_SUPERRTL  readings11Regex_SUPERRTL_Next  readings11Regex_SUPERRTL_Nexttime  readings12Regex_Sat1  readings12Regex_Sat1_Next  readings12Regex_Sat1_Nexttime  readings13Regex_VOX  readings13Regex_VOX_Next  readings13Regex_VOX_Nexttime  readings14Regex_WDR  readings14Regex_WDR_Next  readings14Regex_WDR_Nexttime  readings15Regex_ZDF  readings15Regex_ZDF_Next  readings15Regex_ZDF_Nexttime readings16Regex_ZDFNEO  readings16Regex_ZDFNEO_Next  readings16Regex_ZDFNEO_Nexttime stateFormat timeout verbose
   verbose    1



Internals:
   CFGFN     
   DEF        <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \ TV_Programme:ARD,ARD_Nexttime,ARD_Next \ TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \ TV_Programme:RTL,RTL_Nexttime,RTL_Next \ TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \ TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \ TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \ TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \ TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \ TV_Programme:VOX,VOX_Nexttime,VOX_Next \ TV_Programme:WDR,WDR_Nexttime,WDR_Next \ TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \ TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \ TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \ TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \ TV_Programme:EINSPLUS,EINSPLUS_Nexttime,EINSPLUS_Next \ TV_Programme:EINSFESTIVAL,EINSFESTIVAL_Nexttime,EINSFESTIVAL_Next
attr TV_Programm_Next alias aktuelles TV-Programm
   NAME       TV_Programm_Next
   NR         282
   NTFY_ORDER 50-TV_Programm_Next
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     TV_Programm_Next 1
     TV_Programme 1
   CONTENT2:
   DEVICES:
     ARRAY(0x3709f68)
     ARRAY(0x3831188)
     ARRAY(0x36deaa0)
     ARRAY(0x36cf600)
     ARRAY(0x36d4a98)
     ARRAY(0x3690830)
     ARRAY(0x2b60000)
     ARRAY(0x36af718)
     ARRAY(0x36d4b40)
     ARRAY(0x36d53b0)
     ARRAY(0x3830e40)
     ARRAY(0x36cf390)
     ARRAY(0x3709920)
     ARRAY(0x36d7440)
     ARRAY(0x36dd998)
     ARRAY(0x36d4a50)
     ARRAY(0x36d49f0)
     ARRAY(0x36d4c60)
   fhem:
     lastDefChange 9
     last_update 1515879271.61188
   helper:
     DEF       
     nameStyle  style="color:yellow"
     valueFormat {wrapLine($VALUE, 50)}
     nameIcon:
       ARD        tvmovie/tvlogo_das-erste_s
       EINSFESTIVAL tvmovie/tvlogo_eins-festival_s
       EINSPLUS   tvmovie/tvlogo_eins-plus_s
       Kabel1     tvmovie/tvlogo_kabel1_s
       Pro7       tvmovie/tvlogo_pro7_s
       RTL        tvmovie/tvlogo_rtl
       RTL2       tvmovie/tvlogo_rtl2_s
       RTLNITRO   tvmovie/rtl_nitro
       SAT1GOLD   tvmovie/tvlogo_sat1_rgb_sat1gold
       SIXX       tvmovie/sixx
       SUPERRTL   tvmovie/tvlogo_super_rtl_logo
       Sat1       tvmovie/tvlogo_sat1_s
       VOX        tvmovie/tvlogo_vox_s
       WDR        tvmovie/tvlogo_wdr_s
       ZDF        tvmovie/tvlogo_zdf_s
       ZDFNEO     tvmovie/tvlogo_zdf-neo_s
Attributes:
   alias      aktuelles TV-Programm
   nameIcon   { ARD => 'tvmovie/tvlogo_das-erste_s', ZDF => 'tvmovie/tvlogo_zdf_s', Pro7 => 'tvmovie/tvlogo_pro7_s', RTL => 'tvmovie/tvlogo_rtl', Sat1 => 'tvmovie/tvlogo_sat1_s', Kabel1 => 'tvmovie/tvlogo_kabel1_s', VOX => 'tvmovie/tvlogo_vox_s', RTL2 => 'tvmovie/tvlogo_rtl2_s', SUPERRTL =>'tvmovie/tvlogo_super_rtl_logo', WDR => 'tvmovie/tvlogo_wdr_s', ZDFNEO => 'tvmovie/tvlogo_zdf-neo_s', RTLNITRO => 'tvmovie/rtl_nitro', SAT1GOLD => 'tvmovie/tvlogo_sat1_rgb_sat1gold',  SIXX => 'tvmovie/sixx', EINSPLUS => 'tvmovie/tvlogo_eins-plus_s', EINSFESTIVAL => 'tvmovie/tvlogo_eins-festival_s',}
   nameStyle  style="color:yellow"
   room       TV
   style      style="font-size:18px"
   valueFormat {wrapLine($VALUE, 50)}


Aber irgendwie will das bei mir nicht funktionieren


EDIT: Läuft jetzt, hatte noch einige Fehler, habe sie gefunden und behoben :D
Könntest Du bitte den "Fehler", den Du gefunden hast hier posten.
damit man das nachvollziehen kann!!!!


Gesendet von iPhone mit Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 17 Januar 2018, 07:20:48
Es waren 2 Fehler!

1. schreibweise von  readings <= das s war zu viel
2. die Nummerierung:
Falsch von mir eingegeben:
readings01Name_ARD
readings01Name_ARD_Next
readings01Name_ARD_Nexttime
readings02Name_EINSFESTIVAL
readings02Name_EINSFESTIVAL_Next
readings02Name_EINSFESTIVAL_Nexttime 

Richtig wäre gewesen:
readings01Name_ARD
readings02Name_ARD_Next
readings03Name_ARD_Nexttime
readings04Name_EINSFESTIVAL
readings05Name_EINSFESTIVAL_Next
readings06Name_EINSFESTIVAL_Nexttime


Das Problem mit dem Details habe ich leider noch nocht gelöst, da wäre ich um Hilfe sehr dankbar!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 17 Januar 2018, 16:07:23
Danke


Gesendet von iPhone mit Tapatalk
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 17 Januar 2018, 19:24:19
Zitat von: Torsten_MG am 16 Januar 2018, 19:54:11
Ich wollte heute die Sender Details mit aufnehmen und habe mir die Klack.xlsm aus dem Post #506 die attr rauskopiert.

Z.B.:

attr TV_Programme reading53Name Kabel1_details
attr TV_Programme reading53Regex <span class="stationName">Kabel eins<\/span>[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)(<img|<\/div)


doch leider taucht das nicht in den Readings auf?

Ist der Code mitlerweile Falsch oder habe ich was vergessen?

Habe alle Seiten überflogen und nichts finden können (hoffe, es nicht übersehen zu haben)

Kann da niemand mir helfen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 17 Januar 2018, 20:34:55
Ich habe es jetzt irgendwie hinbekommen, dass ein Reading für details (eigentlich sind es sogar 2?) erscheint. Nun würde ich gerne den Inhalt zerlegen, kann da jemand mir helfen?

Hier mal die Anzeige des Readings

DasErste_details-1:
Mysterythriller, D 2018<br/>Laufzeit: 90 Minuten<br/>Mit: Silke Bodenbender, Bibiana Beglau, Cai Cohrs, Barbara Schnitzler, Pauline Knof, Peter Maertens<br/>Regie: Brigitte Maria Bertele<br/><br/>Nach dem Tod ihres Vaters fährt Inga Hauck gemeinsam mit ihrem sechsjährigen Sohn Max in ihr Heimatdorf.<br/>

Also alles in eigene Readings was jeweils vor einem <br/> steht.

Danke schonmal!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 18 Januar 2018, 16:23:45
Mit hilfe von CBSnake habe ich das nun auch hinbekommen.

im userreading habe ich folgendes eingegeben:

DasErste_details0 {[split("<br/>", ReadingsVal("$name","DasErste_details-1",""))]->[0]},DasErste_details1 {[split("<br/>", ReadingsVal("$name","DasErste_details-1",""))]->[1]},DasErste_details2 {[split("<br/>", ReadingsVal("$name","DasErste_details-1",""))]->[2]},DasErste_details3 {[split("<br/>", ReadingsVal("$name","DasErste_details-1",""))]->[3]},DasErste_details4 {[split("<br/>", ReadingsVal("$name","DasErste_details-1",""))]->[4]}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: lukeman11 am 25 Januar 2018, 10:26:38
Hey, ich bin neu hier und versuche mich noch in das ganze Thema Fhem einzuarbeiten.
Schaltsteckdosen und den SonyTv einbinden hat schonmal funktioniert.

Jetzt möchte ich gerne noch die TV-Übersicht integrieren, das funktioniert aber iwie nicht richtig.

Hast du einen kompletten Code mit den letzten Änderungen? Vielleicht verbocke ich beim ändern irgendetwas oder übersehe was..

Super Arbeit bisher!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 27 Januar 2018, 18:28:39
Zitat von: lukeman11 am 25 Januar 2018, 10:26:38


Hast du einen kompletten Code mit den letzten Änderungen? Vielleicht verbocke ich beim ändern irgendetwas oder übersehe was..

Super Arbeit bisher!

Ich habe irgendwo noch ein Problem damit, bin gerade über Ausschlußverfahren am Testen woran es liegt. Mein Fhem hängt sich sporadisch auf, wenn ich alles dazugehörige am laufen habe.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 29 Januar 2018, 13:48:41
Ich habe jetzt das Problem gefunden, weiß aber nicht wie ich es lösen kann.

Und zwar, wenn ich den TV-Helper aktiviere dann hängt sich fhem immer mit folgender Meldung im Log auf.
Ich habe jetzt mehrere Tage beobachtet:

Unmatched ( in regex; marked by <-- HERE in m/\[TV_Programme:DMAX_details-1: Dokusoap, E 2016<br/>Staffel: 1 / Folge: 3<br/>Laufzeit: 30 Minuten<br/>Original-Titel: Control De Fronteras: España ( <-- HERE Border Control(\]|:.+\]|,.+\])/ at ./FHEM/98_DOIF.pm line 1998.

Unmatched ( in regex; marked by <-- HERE in m/\[TV_Programme:DMAX_details-1: Dokusoap, E 2016<br/>Staffel: 1 / Folge: 4<br/>Laufzeit: 25 Minuten<br/>Original-Titel: Control De Fronteras: España ( <-- HERE Border Control(\]|:.+\]|,.+\])/ at ./FHEM/98_DOIF.pm line 1998.

Unmatched ( in regex; marked by <-- HERE in m/\[TV_Programme:DMAX_details-1: Dokusoap, E 2016<br/>Staffel: 1 / Folge: 5<br/>Laufzeit: 30 Minuten<br/>Original-Titel: Control De Fronteras: España ( <-- HERE Border Control(\]|:.+\]|,.+\])/ at ./FHEM/98_DOIF.pm line 1998.

Unmatched ( in regex; marked by <-- HERE in m/\[TV_Programme:DMAX_details-1: Dokusoap, E 2016<br/>Staffel: 1 / Folge: 6<br/>Laufzeit: 30 Minuten<br/>Original-Titel: Control De Fronteras: España ( <-- HERE Border Control(\]|:.+\]|,.+\])/ at ./FHEM/98_DOIF.pm line 1998.


Die Meldungen oben sind von mehreren Tagen!

Es passiert immer nur bei DMAX  :o
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: fischit am 30 Januar 2018, 01:03:25
Hi Torsten,

Mir ist nicht wirklich klar wieso ein HTTPMOD device und der Tvhelper, der soweit
Ich das sehe nur ATs generiert, ein Fehler mit Bezug auf DOIF generiert.

Ich tippe darauf, dass du noch ein DOIF hast, welches auf dein DMAX reading triggert und genau bei
Der Sendung geht dann was schief.
Vielleicht wegen dem Sonderzeichen oder der ( in der Definition?
Stimmt das?

Sonst würde ich den Fehler mal in der DOIF Abteilung Posten.
Denke da kommst du dann eher weiter
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 30 Januar 2018, 08:00:39
Oh mann, danke fischit. Habe ich rotal übersehen, da das doit nicht im selben Raum ist, wie der Rest. Werde ich später mal ausprobieren.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 08 Februar 2018, 19:02:13
Hallo zusammen,
ich habe über lange Zeit Klack.tv genutzt um das TV-Programm auszulesen. Dann kam ja das Problem mit den zu häufigen Abfragen des TV-Programms beim Anbieter auf (vgl. #824).
Meine Frage ist nun: sollte es ohne weitere Umstellungen (außer dass die Abrufzeit nun 1800s betragen sollte) wieder gehen? Das ist bei mir nämlich leider nicht der Fall.
Der Aufruf attr global httpcompress 0 (Hinweis aus: https://forum.fhem.de/index.php/topic,80685.15.html) kennt mein FHEM gar nicht (Version15407).

Was ist zu tun? ??? Kann mir damit bitte jemand weiterhelfen?
Hier mein Code:

define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html 1800
attr TV_Programme userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex reading16Name reading16Regex reading17Name reading17Regex reading18Name reading18Regex reading19Name reading19Regex reading20Name reading20Regex reading21Name reading21Regex reading22Name reading22Regex reading23Name reading23Regex reading24Name reading24Regex reading25Name reading25Regex reading26Name reading26Regex reading27Name reading27Regex reading28Name reading28Regex reading29Name reading29Regex reading30Name reading30Regex reading31Name reading31Regex reading32Name reading32Regex reading33Name reading33Regex reading34Name reading34Regex reading35Name reading35Regex reading36Name reading36Regex reading37Name reading37Regex reading38Name reading38Regex reading39Name reading39Regex reading40Name reading40Regex reading41Name reading41Regex reading42Name reading42Regex reading43Name reading43Regex reading44Name reading44Regex reading45Name reading45Regex reading46Name reading46Regex reading47Name reading47Regex reading48Name reading48Regex reading49Name reading49Regex reading50Name reading50Regex reading51Name reading51Regex reading52Name reading52Regex reading53Name reading53Regex reading54Name reading54Regex reading55Name reading55Regex reading56Name reading56Regex reading57Name reading57Regex reading58Name reading58Regex reading59Name reading59Regex reading60Name reading60Regex stateFormat timeout verbose
attr TV_Programme enableControlSet 1
attr TV_Programme reading01Name ARD
attr TV_Programme reading01Regex title="Das Erste"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading02Name ARD_Nexttime
attr TV_Programme reading02Regex title="Das Erste"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading03Name ARD_Next
attr TV_Programme reading03Regex title="Das Erste"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading04Name ZDF
attr TV_Programme reading04Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading05Name ZDF_Nexttime
attr TV_Programme reading05Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading06Name ZDF_Next
attr TV_Programme reading06Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading07Name RTL
attr TV_Programme reading07Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading08Name RTL_Nexttime
attr TV_Programme reading08Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading09Name RTL_Next
attr TV_Programme reading09Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading10Name Sat1
attr TV_Programme reading10Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading11Name Sat1_Nexttime
attr TV_Programme reading11Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading12Name Sat1_Next
attr TV_Programme reading12Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading13Name Pro7
attr TV_Programme reading13Regex title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading14Name Pro7_Nexttime
attr TV_Programme reading14Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading15Name Pro7_Next
attr TV_Programme reading15Regex title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading16Name SPORT1
attr TV_Programme reading16Regex title="Sport 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading17Name SPORT1_Nexttime
attr TV_Programme reading17Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading18Name SPORT1_Next
attr TV_Programme reading18Regex title="Sport 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading19Name DMAX
attr TV_Programme reading19Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading20Name DMAX_Nexttime
attr TV_Programme reading20Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading21Name DMAX_Next
attr TV_Programme reading21Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading22Name Kabel1
attr TV_Programme reading22Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading23Name Kabel1_Nexttime
attr TV_Programme reading23Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading24Name Kabel1_Next
attr TV_Programme reading24Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading25Name NTV
attr TV_Programme reading25Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading26Name NTV_Nexttime
attr TV_Programme reading26Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading27Name NTV_Next
attr TV_Programme reading27Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading28Name N24
attr TV_Programme reading28Regex title="N24"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading29Name N24_Nexttime
attr TV_Programme reading29Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading30Name N24_Next
attr TV_Programme reading30Regex title="N24"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading31Name Pro7Maxx
attr TV_Programme reading31Regex title="Pro7 MAXX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading32Name Pro7Maxx_Nexttime
attr TV_Programme reading32Regex title="Pro7 MAXX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading33Name Pro7Maxx_Next
attr TV_Programme reading33Regex title="Pro7 MAXX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading34Name RTL2
attr TV_Programme reading34Regex title="RTL II"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading35Name RTL2_Nexttime
attr TV_Programme reading35Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading36Name RTL2_Next
attr TV_Programme reading36Regex title="RTL II"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading37Name RTLNITRO
attr TV_Programme reading37Regex title="NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading38Name RTLNITRO_Nexttime
attr TV_Programme reading38Regex title="NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading39Name RTLNITRO_Next
attr TV_Programme reading39Regex title="NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading40Name ZDFNEO
attr TV_Programme reading40Regex title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading41Name ZDFNEO_Nexttime
attr TV_Programme reading41Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading42Name ZDFNEO_Next
attr TV_Programme reading42Regex title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading43Name SIXX
attr TV_Programme reading43Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading44Name SIXX_Nexttime
attr TV_Programme reading44Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading45Name SIXX_Next
attr TV_Programme reading45Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading46Name VOX
attr TV_Programme reading46Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading47Name VOX_Nexttime
attr TV_Programme reading47Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading48Name VOX_Next
attr TV_Programme reading48Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading49Name EUROSPORT
attr TV_Programme reading49Regex title="Eurosport"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading50Name EUROSPORT_Nexttime
attr TV_Programme reading50Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading51Name EUROSPORT_Next
attr TV_Programme reading51Regex title="Eurosport"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading52Name NDR
attr TV_Programme reading52Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading53Name NDR_Nexttime
attr TV_Programme reading53Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading54Name NDR_Next
attr TV_Programme reading54Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading55Name SUPERRTL
attr TV_Programme reading55Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading56Name SUPERRTL_Nexttime
attr TV_Programme reading56Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading57Name SUPERRTL_Next
attr TV_Programme reading57Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading58Name COMEDYCENTRAL
attr TV_Programme reading58Regex title="Comedy Central"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme reading59Name COMEDYCENTRAL_Nexttime
attr TV_Programme reading59Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading60Name COMEDYCENTRAL_Next
attr TV_Programme reading60Regex title="Comedy Central"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1

define TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:SPORT1,SPORT1_Nexttime,SPORT1_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:NTV,NTV_Nexttime,NTV_Next \
TV_Programme:N24,N24_Nexttime,N24_Next \
TV_Programme:Pro7Maxx,Pro7Maxx_Nexttime,Pro7Maxx_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:EUROSPORT,EUROSPORT_Nexttime,EUROSPORT_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:COMEDYCENTRAL,COMEDYCENTRAL_Nexttime,COMEDYCENTRAL_Next
attr TV_Programm_Next alias aktuelles TV-Programm
attr TV_Programm_Next nameIcon { ARD => 'tvmovie/IWA_ard', ZDF => 'tvmovie/IWA_zdf', RTL => 'tvmovie/IWA_rtl', Sat1 => 'tvmovie/IWA_sat1', Pro7 => 'tvmovie/IWA_pro7', SPORT1 => 'tvmovie/IWA_sport1', DMAX => 'tvmovie/IWA_dmax', Kabel1 => 'tvmovie/IWA_kabel1', NTV => 'tvmovie/IWA_ntv', N24 => 'tvmovie/IWA_n24', Pro7Maxx => 'tvmovie/IWA_pro7maxx', RTL2 => 'tvmovie/IWA_rtl2', RTLNITRO => 'tvmovie/IWA_rtlnitro', ZDFNEO => 'tvmovie/IWA_zdfneo', SIXX => 'tvmovie/IWA_sixx', VOX => 'tvmovie/IWA_vox', EUROSPORT => 'tvmovie/IWA_eurosport', NDR => 'tvmovie/IWA_ndr', SUPERRTL => 'tvmovie/IWA_superrtl', COMEDYCENTRAL => 'tvmovie/IWA_comedycentral'}
attr TV_Programm_Next nameStyle style="color:yellow"
attr TV_Programm_Next room TV
attr TV_Programm_Next style style="font-size:18px"
attr TV_Programm_Next valueFormat {wrapLine($VALUE, 50)}

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 11 Februar 2018, 14:47:08
Hm, vielleicht mal anders gefragt: Funktioniert das TV-Programm über Klack bei euch noch? Wenn ja, was musstet ihr dafür in den letzten Wochen umstellen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Torsten_MG am 11 Februar 2018, 14:58:18
Da ich den Interval auch nicht auf 0 setzen kann, habe ich den Wert auf 6000 gesetzt und nutze den TVHelper für die Aktualisierung
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: fischit am 11 Februar 2018, 16:09:05
Was sagt denn der Log?
Ich musste auch nach der Problematik nichts ändern. Ich arbeite auch mit dem Tvhelper.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ChHerrm am 18 Februar 2018, 17:29:17
Danke euch beiden für eure Rückmeldung!

Ich kam nun nochmal dazu mir das Logfile mal etwas genauer anzusehen:



--> Befehl Start:

2018.02.18 17:14:30 4: WEBphone_192.168.0.7_4822 GET /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22start%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.02.18 17:14:30 4: WEBphone: /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22start%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:14:31 4: WEBphone_192.168.0.7_4822 POST /fhem&detail=TV_ProgrammePT&dev.setTV_ProgrammePT=TV_ProgrammePT&cmd.setTV_ProgrammePT=set&arg.setTV_ProgrammePT=start&val.setTV_ProgrammePT=; BUFLEN:0
2018.02.18 17:14:31 4: WEBphone_192.168.0.7_4822 GET /fhem?detail=TV_ProgrammePT&fw_id=; BUFLEN:0
2018.02.18 17:14:31 4: WEBphone: /fhem?detail=TV_ProgrammePT&fw_id= / RL:30406 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:14:31 4: Connection closed for WEBphone_192.168.0.7_4824: EOF
2018.02.18 17:14:32 4: <hidden>: HTTP response code 200
2018.02.18 17:14:32 4: HttpUtils <hidden>: Got data, length: 23
2018.02.18 17:14:32 4: TelegramBot_UpdatePoll IWATelegram: initiate polling with nonblockingGet with 120s
2018.02.18 17:14:32 4: HttpUtils url=<hidden>
2018.02.18 17:14:32 4: TelegramBot_Callback IWATelegram: resulted in SUCCESS from Polling
2018.02.18 17:14:32 4: WEBphone_192.168.0.7_4822 GET /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22interval%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.02.18 17:14:32 4: WEBphone: /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22interval%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:14:32 4: Connection accepted from WEBphone_192.168.0.7_4830
2018.02.18 17:14:32 4: WEBphone_192.168.0.7_4830 GET /fhem?cmd=%7BAttrVal(%22TV_ProgrammePT%22%2C%22room%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.02.18 17:14:32 4: WEBphone: /fhem?cmd=%7BAttrVal(%22TV_ProgrammePT%22%2C%22room%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:14:32 4: WEBphone_192.168.0.7_4830 GET /fhem?XHR=1&inform=type=status;filter=TV_ProgrammePT;since=1518970470;fmt=JSON&fw_id=836×tamp=1518970480007; BUFLEN:0
2018.02.18 17:14:35 4: WEBphone_192.168.0.7_4822 GET /fhem/FileLog_logWrapper&dev=Logfile&type=text&file=fhem-2018-02-18.log; BUFLEN:0


--> Befehl Reread:

2018.02.18 17:16:18 4: WEBphone_192.168.0.7_4822 GET /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22reread%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.02.18 17:16:18 4: WEBphone: /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22reread%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:16:19 4: WEBphone_192.168.0.7_4822 POST /fhem&detail=TV_ProgrammePT&dev.setTV_ProgrammePT=TV_ProgrammePT&cmd.setTV_ProgrammePT=set&arg.setTV_ProgrammePT=reread&val.setTV_ProgrammePT=; BUFLEN:0
2018.02.18 17:16:19 4: WEBphone_192.168.0.7_4822 GET /fhem?detail=TV_ProgrammePT&fw_id=; BUFLEN:0
2018.02.18 17:16:19 4: WEBphone: /fhem?detail=TV_ProgrammePT&fw_id= / RL:30410 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:16:19 4: Connection closed for WEBphone_192.168.0.7_4830: EOF
2018.02.18 17:16:19 4: WEBphone_192.168.0.7_4822 GET /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22interval%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.02.18 17:16:19 4: WEBphone: /fhem?cmd=%7BReadingsVal(%22TV_ProgrammePT%22%2C%22interval%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:16:19 4: Connection accepted from WEBphone_192.168.0.7_4853
2018.02.18 17:16:19 4: WEBphone_192.168.0.7_4853 GET /fhem?cmd=%7BAttrVal(%22TV_ProgrammePT%22%2C%22room%22%2C%22%22)%7D&XHR=1; BUFLEN:0
2018.02.18 17:16:19 4: WEBphone: /fhem?cmd=%7BAttrVal(%22TV_ProgrammePT%22%2C%22room%22%2C%22%22)%7D&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2018.02.18 17:16:19 4: WEBphone_192.168.0.7_4853 GET /fhem?XHR=1&inform=type=status;filter=TV_ProgrammePT;since=1518970578;fmt=JSON&fw_id=836×tamp=1518970587500; BUFLEN:0
2018.02.18 17:16:21 4: WEBphone_192.168.0.7_4822 GET /fhem/FileLog_logWrapper&dev=Logfile&type=text&file=fhem-2018-02-18.log; BUFLEN:0
2018.02.18 17:16:21 4: Connection closed for WEBphone_192.168.0.7_4831: EOF



Mit dem TVHelper habe ich mich kurz mal eingelesen. Wenn ich das aber richtig gesehen habe, wird das ja nicht mehr weiter genutzt: https://forum.fhem.de/index.php/topic,79666.90.html

Damit bin ich nun maximal verwirrt. Wie soll man nun die Informationen zum TV-Programm beziehen? Mit TVHelper, ohne TVHelper, gar nicht? :-\
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Quantum am 18 Februar 2018, 22:22:58
Hallo FHEM-Gemeinde,

wollte mal in die Runde fragen ob hier auch manche Probleme mit HTTPMOD und einem eventuellen Speicherleck haben.
Habe das in den letzten Tagen genauer verfolgt und mir ist aufgefallen, dass bei jedem reread von HTTPMOD, mit den ganzen TV-Programm readings, der FHEM Prozess 0.5% mehr RAM beansprucht.
Das geht solange bis der Speicher voll ist, danach muss neugestartet werden. Mein Raspi hat nur 512MB, spätestens nach einem Tag ist schluss...

Könnte das jemand bei sich prüfen ? Einfach "top" ins terminal tippen und ein paar mal reread des TV-Programm HTTPMOD ausführen und schauen, wie sich der Speicherverbrauch des FHEM-Prozesses entwickelt.

Danke & Viele Grüße
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: andreas13 am 10 März 2018, 08:57:19
Hallo zusammen,

ich kann das mit dem Speicherleck bestätigen. :-(

Gibt es eigentlich eine Möglichkeit den Speicherverbrauch von Modulen zu tracken?

Viele Grüße ...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rcaspar am 10 April 2018, 20:30:53
Ich habe die Version mit Klack integriert und soweit zum Laufen gebracht - die korrekte Verwendung der Readings hat mich Anfangs etwas herausgefordert, nun ist dies auch gefixt.
Danke soweit mal allen die hier Code gepostet haben.

Ein Problem habe ich allerdins noch mit den nameIcons

Bei mir wird nur 1 Icon korrekt angezeigt, also das Bild, alle anderen Zeilen beinhalten nur den code des nameIcon. dies sieht dann im HTML sourcecode wie folgt aus:

Die korrekte Zeile:
<div  class="dname"><a  href="/fhem?detail=TV_Programme"><img class='icon tvlogos/tvlogo_sat1_s' src="/fhem/images/default/tvlogos/tvlogo_sat1_s.png" alt="TV_Programme" title="TV_Programme"></a>

eine der nicht korrekten Zeilen:
<div  class="dname"><a  href="/fhem?detail=TV_Programme">tvlogos/tvlogo_pro7_s</a>

Hat jemand eine Idee woran das liegen kann?

Die Pfade der entsprechenden nameIcon stimmen, die Icons selber liegen auch da...

Merci
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ToM_ToM am 12 April 2018, 09:54:39
Hallo Zusammen, also das mit dem Speicherleck kann ich nicht bestätigen. Ich nutze auch mehrere HTTPMODs bei denen viele Daten abgefragt werden.

System: BananaPi mit Armbian und Bananian. Auf beiden tritt das Problem nicht auf.

VG, Thomas
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: fischit am 13 April 2018, 11:17:22
Zitat von: rcaspar am 10 April 2018, 20:30:53
Ich habe die Version mit Klack integriert und soweit zum Laufen gebracht - die korrekte Verwendung der Readings hat mich Anfangs etwas herausgefordert, nun ist dies auch gefixt.
Danke soweit mal allen die hier Code gepostet haben.

Ein Problem habe ich allerdins noch mit den nameIcons

Bei mir wird nur 1 Icon korrekt angezeigt, also das Bild, alle anderen Zeilen beinhalten nur den code des nameIcon. dies sieht dann im HTML sourcecode wie folgt aus:

Die korrekte Zeile:
<div  class="dname"><a  href="/fhem?detail=TV_Programme"><img class='icon tvlogos/tvlogo_sat1_s' src="/fhem/images/default/tvlogos/tvlogo_sat1_s.png" alt="TV_Programme" title="TV_Programme"></a>

eine der nicht korrekten Zeilen:
<div  class="dname"><a  href="/fhem?detail=TV_Programme">tvlogos/tvlogo_pro7_s</a>

Hat jemand eine Idee woran das liegen kann?

Die Pfade der entsprechenden nameIcon stimmen, die Icons selber liegen auch da...

Merci

Wie sieht denn dein NameIcon Attribut aus?
Hier mal meins als Beispiel:
{ARD => 'logo_ard', ZDF => 'logo_zdf', RTL => 'logo_rtl', Sat1=> 'logo_sat1', Pro7 => 'logo_pro7', RTL2 => 'logo_rtl2', Kabel1 => 'logo_kabel1', VOX => 'logo_vox'}

Sonst vll nach dem kopieren der Icons in den Ordner ein rereadIcons oder shutdown restart noch nicht gemacht?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 13 April 2018, 18:34:56
Hat schon mal jemand versucht die Daten z.B. von hier zu holen und in ein Dummy oder was auch immer zu pusten (Format: XML, genauer gesagt xmltv)?

http://rytecepg.ipservers.eu/epg_data/rytecDE_Basic.xz (http://rytecepg.ipservers.eu/epg_data/rytecDE_Basic.xz)

Ein Eintrag sieht dann in etwa so aus:

<programme start="20180415221500 +0200" stop="20180415231500 +0200" channel="DMax.de">
    <title lang="de">Australian Gold - Schatzsuche Down Under</title>
    <sub-title lang="de">[Serie] . [Dokusoap]  (2018)</sub-title>
  </programme>


Darüber hinaus gibt es auch noch xmltv als Console Applikation und auch als Perl Modul. Damit kann man die epg Daten mehrerer Tage grabben, sortieren, zerlegen in Text umwandeln (habe ich Gestern mal probiert und funktioniert bis dahin schon mal ganz gut) oder was auch immer und dann in ein Dummy reinziehen.

Vorteile:
- geringes Datenaufkommen
- Programm für mehrere Tage
- immer gleiches Format der Inputdaten (Inkompatibilitäten ausgeschlossen)
- 1 Update am Tag z.B. Nachts ist ausreichend
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rcaspar am 13 April 2018, 23:05:21
Zitat von: fischit am 13 April 2018, 11:17:22
Wie sieht denn dein NameIcon Attribut aus?
Hier mal meins als Beispiel:
{ARD => 'logo_ard', ZDF => 'logo_zdf', RTL => 'logo_rtl', Sat1=> 'logo_sat1', Pro7 => 'logo_pro7', RTL2 => 'logo_rtl2', Kabel1 => 'logo_kabel1', VOX => 'logo_vox'}

Sonst vll nach dem kopieren der Icons in den Ordner ein rereadIcons oder shutdown restart noch nicht gemacht?

hier mein Attribut:
{ SF1 => 'tvlogos/tvlogo_sf1_s', SF2 => 'tvlogos/tvlogo_sf2_s', ARD => 'tvlogos/tvlogo_ard_s', ZDF => 'tvlogos/tvlogo_zdf_s', Pro7 => 'tvlogos/tvlogo_pro7_s', RTL => 'tvlogos/tvlogo_rtl_s', Sat1 => 'tvlogos/tvlogo_sat1_s', Kabel1 => 'tvlogos/tvlogo_kabel-eins_s', VOX => 'tvlogos/tvlogo_vox_s', RTL2 => 'tvlogos/tvlogo_rtl2_s'}

Sollte eigentlich OK sein ;)

vll und rereadIcons sgt mir nix. was genau ist das , resp. führt das aus? Habe auch in der Hilfe nichts gefunden.

Shutdown restart hab ich durchgeführt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 17 April 2018, 23:19:09
Nicht mehr aktuell! Der aktuelle Stand befindet sich jetzt im wiki.

https://wiki.fhem.de/wiki/TV_Programm (https://wiki.fhem.de/wiki/TV_Programm)




So ich habe mich mal rangesetzt und es funktioniert soweit schon ganz gut, soweit ich das nach den paar Stunden beurteilen kann. Ich poste mal schon die Anfänge, vielleicht traut sich ja jemand es zu testen. Ich muss jedoch auf eine Tatsache hinweisen. Das parsen der XML Datei dauert einige Sekunden und freezt euer FHEM in der Zeit. Da das nur 1x am Tag passiert (bei mir um 0:15 Uhr) kann ich erst einmal damit leben. Innerhalb eines Modul könnte man das non Blocking lösen, aber im Moment gehts erst mal nicht.

1.) Fehlende Perl Module installieren:

sudo apt-get install libxml-bare-perl libdatetime-perl wget xz-utils

Die ersten beiden Bibliotheken werden benötigt, um die xml Datei zu parsen. wget wird benötigt um die Datei zu downloaden und xz enthält den unpacker für die runtergeladene Datei. Die anderen Dinge sind hoffentlich schon drauf auf euren Rechnern.

2.) Pfad für den Download anlegen und mit den entsprechenden Rechten versehen:
sudo mkdir /opt/fhem/tv
sudo chown fhem:dialout /opt/fhem/tv

3.) 99_myUtils.pm erweitern:

sub rgUnfold($$)
{
  my ($device, $reading) = @_;
  my $title = ReadingsVal($device, $reading.'title', 'na');
  my $stitle = ReadingsVal($device, $reading.'stitle', 'na');
  my $desc = ReadingsVal($device, $reading.'desc', 'na');

  $title =~ s/(?=.{45,})(.{0,45}\n?)( )/$1$2<br>/g;
  $stitle =~ s/(?=.{45,})(.{0,45}\n?)( )/$1$2<br>/g;
  $desc =~ s/(?=.{65,})(.{0,65}\n?)( )/$1$2<br>/g;
  $desc =~ s/[\r\'\"]/ /g;
  $desc =~ s/[\n]/<br>/g;
  return "<a href=\"#!\" onclick=\"FW_okDialog('".$stitle."<br><br>".$desc."')\">".$title."</a>";
}

sub xmltv2epoch($)
{
  my $dt = shift;
 
  if ($dt =~ /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(?:\s+([+-]\d{4}))?$/)
  {
    if (defined($7))
    {
      return $1.'-'.$2.'-'.$3.' '.$4.':'.$5.':'.$6.' '.$7;
    }
    else
    {
      return $1.'-'.$2.'-'.$3.' '.$4.':'.$5.':'.$6;
    }
  }
 
  return '2000-01-01 00:00:00';
}

sub tvParse($)
{
  use utf8;
  use Date::Parse;
  use Encode qw(encode_utf8 decode_utf8);
  use XML::Bare qw(forcearray);

  my $device = shift;
  my $hash = $defs{$device};
  my $obj = XML::Bare->new(file => '/opt/fhem/tv/rytecDE_Basic');
  my $xml = $obj->simple();
  my $start;
  my $stop;
  my $i = 0;
  my $n = 0;
  my $fi = '000';
  my $lastChannel = '';
  my $reading = '';

  if (!$@)
  {
    # clear all old readings
    delete($hash->{READINGS});   

    readingsBeginUpdate($hash);

    foreach (@{forcearray($xml->{tv}{programme})})
    {
      # channel filter
      if ($_->{'channel'} =~ /^(?:Sat1\.|RTL\.|RTL2\.|Pro7\.|DMax\.)/)
      {
        $stop = str2time(xmltv2epoch($_->{'stop'}));
     
        # filter old stuff
        if ($stop >= time())
        {
          if ($lastChannel ne $_->{'channel'})
          {
            $lastChannel = $_->{'channel'};
            $reading = $_->{'channel'};
            $reading =~ s/\..*$//;
            $i = 0;
            $n = 0;

            readingsBulkUpdate($hash, $reading.'_lastIndex', 0);
          }

          # limit number of readings
          next if ($i > 100);

          $fi = sprintf("%03d", $i);
          $start = str2time(xmltv2epoch($_->{'start'}));

          readingsBulkUpdate($hash, $reading.'_'.$fi.'_bdate', substr(FmtDateTime($start), 0, 10));
          readingsBulkUpdate($hash, $reading.'_'.$fi.'_btime', substr(FmtDateTime($start), 11, 8));
          readingsBulkUpdate($hash, $reading.'_'.$fi.'_edate', substr(FmtDateTime($stop), 0, 10));
          readingsBulkUpdate($hash, $reading.'_'.$fi.'_etime', substr(FmtDateTime($stop), 11, 8));
          readingsBulkUpdate($hash, $reading.'_'.$fi.'_title', encode_utf8($_->{'title'}{'content'}));
                   
          if (exists($_->{'sub-title'}{'content'}))
          {
            readingsBulkUpdate($hash, $reading.'_'.$fi.'_stitle', encode_utf8($_->{'sub-title'}{'content'}));
          }
          else
          {
            readingsBulkUpdate($hash, $reading.'_'.$fi.'_stitle', 'na');
          }         
         
          if (exists($_->{'desc'}{'content'}))
          {
            readingsBulkUpdate($hash, $reading.'_'.$fi.'_desc', encode_utf8($_->{'desc'}{'content'}));
          }
          else
          {
            readingsBulkUpdate($hash, $reading.'_'.$fi.'_desc', 'na');
          }
         
          if ($i < 5)
          {
            readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_bdate', substr(FmtDateTime($start), 0, 10));
            readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_btime', substr(FmtDateTime($start), 11, 8));
            readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_edate', substr(FmtDateTime($stop), 0, 10));
            readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_etime', substr(FmtDateTime($stop), 11, 8));
            readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_title', encode_utf8($_->{'title'}{'content'}));
         
            if (exists($_->{'sub-title'}{'content'}))
            {
              readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_stitle', encode_utf8($_->{'sub-title'}{'content'}));
            }
            else
            {
              readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_stitle', 'na');
            }         
         
            if (exists($_->{'desc'}{'content'}))
            {
              readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_desc', encode_utf8($_->{'desc'}{'content'}));
            }
            else
            {
              readingsBulkUpdate($hash, 'next_'.$reading.'_'.$fi.'_desc', 'na');
            }

            $n++;
          }

          $i++;
        }
      }
    }

    readingsBulkUpdate($hash, 'state', 'parsed');
    readingsEndUpdate($hash, 0);
  }

  return undef;
}

sub tvDownload()
{
  my $output = qx(wget http://rytecepg.ipservers.eu/epg_data/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
  $output = qx(xz -df /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
}

sub tvUpdate($)
{
  my $device = shift;
  my $hash = $defs{$device};
  my @channels = ( 'DMax', 'Pro7', 'RTL2', 'RTL', 'Sat1' );
 
  readingsBeginUpdate($hash);

  foreach my $channel (@channels)
  {
    my $lastIndex = ReadingsVal($device, $channel.'_lastIndex', undef);
    my $newLastIndex = $lastIndex;
    my $isNew = 1;
 
    if (defined($lastIndex))
    {
      my $i = 0;
      my $edate = ReadingsVal($device, $channel.'_'.sprintf("%03d", $lastIndex).'_edate', undef);

      while (($i < 5) && (defined($edate)))
      {
        my $index = sprintf("%03d", $lastIndex);
        my $etime = ReadingsVal($device, $channel.'_'.$index.'_etime', undef);

        #Log 1, "parsedTime ($channel): $edate $etime"; 
     
        if ($edate.' '.$etime gt TimeNow())
        {
          #Log 1, "times: ".$edate." ".$etime." gt ".TimeNow(); 
          #Log 1, "index: $lastIndex $newLastIndex";         

          my $nindex = sprintf("%03d", $i);

          if ($lastIndex == $newLastIndex)
          {
            $edate = undef;
            last;
          }

          if (1 == $isNew)
          {
            readingsBulkUpdate($hash, $channel.'_lastIndex', $lastIndex);
            $isNew = 0;
          }

          readingsBulkUpdate($hash, 'next_'.$channel.'_'.$nindex.'_bdate', ReadingsVal($device, $channel.'_'.$index.'_bdate', ''));
          readingsBulkUpdate($hash, 'next_'.$channel.'_'.$nindex.'_btime', ReadingsVal($device, $channel.'_'.$index.'_btime', ''));
          readingsBulkUpdate($hash, 'next_'.$channel.'_'.$nindex.'_edate', $edate);
          readingsBulkUpdate($hash, 'next_'.$channel.'_'.$nindex.'_etime', $etime);
          readingsBulkUpdate($hash, 'next_'.$channel.'_'.$nindex.'_title', ReadingsVal($device, $channel.'_'.$index.'_title', ''));
          readingsBulkUpdate($hash, 'next_'.$channel.'_'.$nindex.'_stitle', ReadingsVal($device, $channel.'_'.$index.'_stitle', ''));
          readingsBulkUpdate($hash, 'next_'.$channel.'_'.$nindex.'_desc', ReadingsVal($device, $channel.'_'.$index.'_desc', ''));

          $i++;
        }

        $lastIndex++;
        $edate = ReadingsVal($device, $channel.'_'.sprintf("%03d", $lastIndex).'_edate', undef);
      }
    }
  }

  readingsBulkUpdate($hash, 'state', 'updated');
  readingsEndUpdate($hash, 1);
}

sub tvUpdatePrimetime($)
{
  my $device = shift;
  my $hash = $defs{$device};
  my @channels = ( 'DMax', 'Pro7', 'RTL2', 'RTL', 'Sat1' );
 
  readingsBeginUpdate($hash);

  foreach my $channel (@channels)
  {
    my $lastIndex = ReadingsVal($device, $channel.'_lastIndex', undef);
    my $newLastIndex = $lastIndex;
 
    if (defined($lastIndex))
    {
      my $i = 0;
      my $bdate = ReadingsVal($device, $channel.'_'.sprintf("%03d", $lastIndex).'_bdate', undef);

      while (($i < 3) && (defined($bdate)))
      {
        my $index = sprintf("%03d", $lastIndex);
        my $btime = ReadingsVal($device, $channel.'_'.$index.'_btime', undef);
        my $timeNow = substr(TimeNow(), 0, 11).'20:14:00';

        #Log 1, "parsedTime ($channel): $bdate $btime"; 
     
        if ($bdate.' '.$btime gt $timeNow)
        {
          #Log 1, "times: ".$bdate." ".$btime." gt ".$timeNow; 
          #Log 1, "index: $lastIndex $newLastIndex";         

          my $nindex = sprintf("%03d", $i);

          if ($lastIndex == $newLastIndex)
          {
            $bdate = undef;
            last;
          }

          readingsBulkUpdate($hash, 'prime_'.$channel.'_'.$nindex.'_bdate', $bdate);
          readingsBulkUpdate($hash, 'prime_'.$channel.'_'.$nindex.'_btime', $btime);
          readingsBulkUpdate($hash, 'prime_'.$channel.'_'.$nindex.'_edate', ReadingsVal($device, $channel.'_'.$index.'_edate', ''));
          readingsBulkUpdate($hash, 'prime_'.$channel.'_'.$nindex.'_etime', ReadingsVal($device, $channel.'_'.$index.'_etime', ''));
          readingsBulkUpdate($hash, 'prime_'.$channel.'_'.$nindex.'_title', ReadingsVal($device, $channel.'_'.$index.'_title', ''));
          readingsBulkUpdate($hash, 'prime_'.$channel.'_'.$nindex.'_stitle', ReadingsVal($device, $channel.'_'.$index.'_stitle', ''));
          readingsBulkUpdate($hash, 'prime_'.$channel.'_'.$nindex.'_desc', ReadingsVal($device, $channel.'_'.$index.'_desc', ''));

          $i++;
        }

        $lastIndex++;
        $bdate = ReadingsVal($device, $channel.'_'.sprintf("%03d", $lastIndex).'_bdate', undef);
      }
    }
  }

  readingsBulkUpdate($hash, 'state', 'updated');
  readingsEndUpdate($hash, 1);
}


4.) Ein Dummy Device anlegen in das die geparsten Daten rein kommen:

define dmy_TV dummy

5.) 4 "at" Devices anlegen. Eins für den Download (alle 3 Tage 1x), eins fürs parsen der Daten ins Dummy Device (jeden Tag 1x), eins um die nächsten Sendungen zu filtern (alle 15min) und noch eins um die Primetime Sendungen zu filtern (jeden Tag 1x). Die 4 "at" sind als raw Definitionen kopiert und können auch als solche wieder angelegt werden. Dazu irgend ein Device öffnen, ganz unten auf "Raw definition" klicken und alles entfernen. Den Code von hier einfügen und ausführen und die Devices sind angelegt.

defmod at_TV_DOWNLOAD at *00:15:00 {if ((1 == $wday) || (4 == $wday)) {tvDownload()}}

defmod at_TV_PARSE at *00:30:00 {tvParse('dmy_TV')}

defmod at_TV_UPDATE at +*00:15:00 {tvUpdate('dmy_TV')}

defmod at_TV_UPDATE_PRIME at *00:45:00 {tvUpdatePrimetime('dmy_TV')}

5.) Jetzt noch 2 readingsGroups anlegen und los gehts:

defmod rg_TV readingsGroup <Sender>,<ab>,<Aktuelle Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>\
dmy_TV:<%tv/dmax>,next_DMax_000_btime,<{rgUnfold($DEVICE,'next_DMax_000_')}@next_DMax_000_title>,<|>,next_DMax_001_btime,<{rgUnfold($DEVICE,'next_DMax_001_')}@next_DMax_001_title>,<|>,next_DMax_002_btime,<{rgUnfold($DEVICE,'next_DMax_002_')}@next_DMax_002_title>\
dmy_TV:<%tv/sat1>,next_Sat1_000_btime,<{rgUnfold($DEVICE,'next_Sat1_000_')}@next_Sat1_000_title>,<|>,next_Sat1_001_btime,<{rgUnfold($DEVICE,'next_Sat1_001_')}@next_Sat1_001_title>,<|>,next_Sat1_002_btime,<{rgUnfold($DEVICE,'next_Sat1_002_')}@next_Sat1_002_title>\
dmy_TV:<%tv/rtl>,next_RTL_000_btime,<{rgUnfold($DEVICE,'next_RTL_000_')}@next_RTL_000_title>,<|>,next_RTL_001_btime,<{rgUnfold($DEVICE,'next_RTL_001_')}@next_RTL_001_title>,<|>,next_RTL_002_btime,<{rgUnfold($DEVICE,'next_RTL_002_')}@next_RTL_002_title>\
dmy_TV:<%tv/rtl2>,next_RTL2_000_btime,<{rgUnfold($DEVICE,'next_RTL2_000_')}@next_RTL2_000_title>,<|>,next_RTL2_001_btime,<{rgUnfold($DEVICE,'next_RTL2_001_')}@next_RTL2_001_title>,<|>,next_RTL2_002_btime,<{rgUnfold($DEVICE,'next_RTL2_002_')}@next_RTL2_002_title>\
dmy_TV:<%tv/pro7>,next_Pro7_000_btime,<{rgUnfold($DEVICE,'next_Pro7_000_')}@next_Pro7_000_title>,<|>,next_Pro7_001_btime,<{rgUnfold($DEVICE,'next_Pro7_001_')}@next_Pro7_001_title>,<|>,next_Pro7_002_btime,<{rgUnfold($DEVICE,'next_Pro7_002_')}@next_Pro7_002_title>
attr rg_TV alias Aktuelles TV-Programm
attr rg_TV cellStyle { \
  'r:1,c:1' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:2' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:3' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:5' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:6' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:8' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:9' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"'\
}
attr rg_TV group TV Programm
attr rg_TV nonames 1
attr rg_TV style style="font-size:16px;;"


defmod rg_TV_PRIME readingsGroup <Sender>,<ab>,<Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>\
dmy_TV:<%tv/dmax>,prime_DMax_000_btime,<{rgUnfold($DEVICE,'prime_DMax_000_')}@prime_DMax_000_title>,<|>,prime_DMax_001_btime,<{rgUnfold($DEVICE,'prime_DMax_001_')}@prime_DMax_001_title>,<|>,prime_DMax_002_btime,<{rgUnfold($DEVICE,'prime_DMax_002_')}@prime_DMax_002_title>\
dmy_TV:<%tv/sat1>,prime_Sat1_000_btime,<{rgUnfold($DEVICE,'prime_Sat1_000_')}@prime_Sat1_000_title>,<|>,prime_Sat1_001_btime,<{rgUnfold($DEVICE,'prime_Sat1_001_')}@prime_Sat1_001_title>,<|>,prime_Sat1_002_btime,<{rgUnfold($DEVICE,'prime_Sat1_002_')}@prime_Sat1_002_title>\
dmy_TV:<%tv/rtl>,prime_RTL_000_btime,<{rgUnfold($DEVICE,'prime_RTL_000_')}@prime_RTL_000_title>,<|>,prime_RTL_001_btime,<{rgUnfold($DEVICE,'prime_RTL_001_')}@prime_RTL_001_title>,<|>,prime_RTL_002_btime,<{rgUnfold($DEVICE,'prime_RTL_002_')}@prime_RTL_002_title>\
dmy_TV:<%tv/rtl2>,prime_RTL2_000_btime,<{rgUnfold($DEVICE,'prime_RTL2_000_')}@prime_RTL2_000_title>,<|>,prime_RTL2_001_btime,<{rgUnfold($DEVICE,'prime_RTL2_001_')}@prime_RTL2_001_title>,<|>,prime_RTL2_002_btime,<{rgUnfold($DEVICE,'prime_RTL2_002_')}@prime_RTL2_002_title>\
dmy_TV:<%tv/pro7>,prime_Pro7_000_btime,<{rgUnfold($DEVICE,'prime_Pro7_000_')}@prime_Pro7_000_title>,<|>,prime_Pro7_001_btime,<{rgUnfold($DEVICE,'prime_Pro7_001_')}@prime_Pro7_001_title>,<|>,prime_Pro7_002_btime,<{rgUnfold($DEVICE,'prime_Pro7_002_')}@prime_Pro7_002_title>
attr rg_TV_PRIME alias TV-Programm Primetime
attr rg_TV_PRIME cellStyle { \
  'r:1,c:1' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:2' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:3' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:5' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:6' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:8' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',\
  'r:1,c:9' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"'\
}
attr rg_TV_PRIME group TV Programm
attr rg_TV_PRIME nonames 1
attr rg_TV_PRIME style style="font-size:16px;;"


6.) Damit man jetzt nicht mehrere Tage warten muss bis etwas passiert, müssen die 4 at Devices einmalig manuell ausgelöst werden. Zuerst der Download, dann das Parsen und zuletzt die beiden Updates. Jetzt sollten sich die Readingsgroups mit Inhalten gefüllt haben.

Anpassungen:

Die Icons der readingsGroups müsst ihr natürlich anpassen! Ladet euch einfach irgendwo die Senderlogos runter und speichert diese unter /opt/fhem/www/images/default. Vergesst bitte nicht die Rechte zu setzen mit: "sudo chown fhem:dialout *.png".

Die readingsGroup für das aktuelle Programm kann um bis zu 2 weitere Sendungen mit den Indizes 003 und 004 erweitert werden. Die readingsGroup für die Primetime Sendungen kann nicht mehr erweitert werden.

Ich habe exemplarisch nur mal 5 Sender aufgenommen. Wenn ihr mehr benötigt, dann sucht euch diese aus der runtergeladenen Datei raus und erweitert die Liste in tvParse() (99_myUtils.pm), dem "at" at_TV_UPDATE und dann natürlich in der readingsGroup.

Alternative1:

Das Klack Programm kann man sich auch relativ simpel als iframe anzeigen lassen (hatte hier schon mal irgendwer gepostet, aber leider ohne Beispiel):

defmod wl_KLACK weblink iframe http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html
attr wl_KLACK htmlattr width="1024" height="768"


Alternative2:

Es gibt Webseiten, die das TV Programm als rss zur Verfügung stellen. Darüber hinaus gibt es Services die online rss zu json konvertieren. Kombiniert man nun beides, dann kann man mit httpmod das Ganze mit wenigen Zeilen einlesen.

Folgende Schritte sind notwendig:

1.) Bei www.rss2json.com kostenlos anmelden und einen API Key generieren.

2.) Z.B. folgendes Device anlegen:

defmod TV_JETZT_HAUPTSENDER HTTPMOD https://api.rss2json.com/v1/api.json?rss_url=http%3A%2F%2Fwww.texxas.de%2Ftv%2FhauptsenderJetzt.xml&api_key=<dein API Key>&order_by=pubDate&order_dir=asc&count=100 300
attr TV_JETZT_HAUPTSENDER userattr get01Name get01URL getEncode readingEncode
attr TV_JETZT_HAUPTSENDER disable 1
attr TV_JETZT_HAUPTSENDER extractAllJSON 1
attr TV_JETZT_HAUPTSENDER get01Name update
attr TV_JETZT_HAUPTSENDER get01URL https://api.rss2json.com/v1/api.json?rss_url=http%3A%2F%2Fwww.texxas.de%2Ftv%2FhauptsenderJetzt.xml&api_key=<dein API Key>&order_by=pubDate&order_dir=asc&count=100
attr TV_JETZT_HAUPTSENDER getEncode UTF-8
attr TV_JETZT_HAUPTSENDER readingEncode UTF-8
attr TV_JETZT_HAUPTSENDER timeout 10


www.texxas.de bietet weitere rss an, die man ebenfalls einbinden könnte. Wie man daraus dann eine readingsGroup erstellt, muss ich leider schuldig bleiben, ich habe diesen Ansatz nicht weiter verfolgt. Funktionieren würde er aber und das Download Volumen ist bei jeder Abfrage nur einige wenige kb.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 19 April 2018, 00:09:20
Ich habe die Funktionen der 99_myUtils.pm noch mal um rgUnfold() erweitert und die ReadingsGroup auch noch mal angepasst. Dadurch können jetzt die einzelnen Sendungen angeklickt werden und es wird ein Dialog mit weiteren Informationen geöffnet (z.B. Beschreibung des Films/Schauspieler usw.).
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Sommerfeld am 19 April 2018, 18:12:06
Hallo mumpitzstuff,

wenn ich deine 99_myUtils.pm übernehme, erhalte ich bei der Ausführung von
at_TV_PARSE folgende Fehlermeldung:
Can't locate object method "simple" via package "0" (perhaps you forgot to load "0"?) at ./FHEM/99_ReadinggroupTVmyUtils.pm line 46.

Wie müsste ich die 99_myUtils.pm ändern, damit das at ausgeführt  wird?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 19 April 2018, 21:52:49
Hmm simple wird leider vom Modul nicht exportiert, so das ich das nicht direkt angeben kann. Bist du sicher das du libxml-bare-perl installiert hast? Bei mir läuft das so ohne Probleme. Mir fällt leider aktuell auch keine andere Möglichkeit ein die Funktion mit dem Pfad XML::Bare irgendwie aufzurufen...

Prüf mal bitte erst, ob es an der fehlenden Installation liegt...

Darüber hinaus kann auch schon das at für den Download nicht funktioniert haben und deshalb schlägt das Parsen dann auch fehl. Schau erst mal in dem von dir angelegten Verzeichnis nach, ob nach dem Download dort auch die Datei gelandet ist. Diese Datei muss existieren wenn alles funktioniert hat: /opt/fhem/tv/rytecDE_Basic
Du kannst auch die zwei # aus dem Download sub entfernen, dann sollte in deinem Logfile auftauchen was genau beim Download passiert ist bzw. schief gelaufen ist.

sub tvDownload()
{
  my $output = qx(wget http://rytecepg.ipservers.eu/epg_data/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  print $output;
  $output = qx(xz -df /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  print $output;
}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Sommerfeld am 20 April 2018, 06:17:54
Habe noch einmal die Installation durchgeführt und jetzt läuft es, vielen Dank
für die Unterstützung.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 20 April 2018, 23:38:47
Ich habe den Beitrag #867 noch einmal massiv erweitert:

1.) Ein Fehler bei der Darstellung der erweiterten Informationen in einem Popup Fenster wurde behoben (Funktion rgUnfold() in der 99_myUtils.pm).

2.) Der Code aus dem einen at Device Device wurde in eine Funktion der 99_myUtils.pm ausgelagert.

3.) Es wurde ein weiteres at Device hinzugefügt, um 3 Primetime Sendungen zu filtern (Sendungen ab 20:15 Uhr).

4.) Die bereits vorhandene readingsGroup wurde um Zeiten für die aktuelle Sendung erweitert.

5.) Eine weitere readingsGroup ist dazugekommen, um die Primetime Sendungen anzuzeigen.

Ich habe einen weiteren Screenshot hinzugefügt mit beiden readingsGroups, damit man sich mal ein Bild davon machen kann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 21 April 2018, 09:49:15
Hallo mumpitzstuff,

super Anleitung....habs mal auf meinem test fhem installiert.....von Punkt 1 bis Punkt 5

leider zieht fhem keine Daten von Klack....auch nach Neustart nicht....
Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 21 April 2018, 12:09:39
Was hast du installiert?

TV-Programm aus Post #867?

Wann das Download-at die Daten holt hast du gesehen?

ZitatEins für den Download (alle 3 Tage 1x)

EDIT: du kannst es "erzwingen" indem du {tvDownload()} in fhem-Web eingibst... Danach noch {tvParse('dmy_TV')} und dann {tvUpdate('dmy_TV')} und abschließend {tvUpdatePrimetime('dmy_TV')}

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 21 April 2018, 13:32:13
In den einzelnen at Devices gibt's auch ein set device execNow. Das muss man einmal am Anfang manuell auslösen. Erst download, dann parse und dann die Bei den Updates. Ist nur einmalig notwendig.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 21 April 2018, 14:11:42
Genau..bin nach deiner Anleitung in post 867 vorgegangen..jeder schritt und zum schluss Das mit dem web anzeigen
Gruss


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 21 April 2018, 14:55:34
Zitat von: MadMax-FHEM am 21 April 2018, 12:09:39
Was hast du installiert?

TV-Programm aus Post #867?

Wann das Download-at die Daten holt hast du gesehen?

EDIT: du kannst es "erzwingen" indem du {tvDownload()} in fhem-Web eingibst... Danach noch {tvParse('dmy_TV')} und dann {tvUpdate('dmy_TV')} und abschließend {tvUpdatePrimetime('dmy_TV')}

Gruß, Joachim

Der Jochim ist halt SPITZE!!!!!  8) 8) 8)

Funzt, so sollte es jetzt auch ein Anfänger schaffen!!
Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Elektrolurch am 28 April 2018, 11:58:57
https://forum.fhem.de/index.php/topic,87355.0.html

Der hier veröffentlichte TVhelper ist jetzt ein RTVhelper geworden:
Eigenschaften:
- Das Modul zeigt das aktuelle, das von 20:15 und 22:00  TV Programm (von klack) an.
- Es kann um beliebige Radiosender (Tagesprogramm) erweitert werden. Dazu muss nur die uri und eine regex als Attribut hinterlegt werden
- Das Modul benötigt für das Laden der Webseiten kein HTTMOD und für die Anzeige keine readingsGroup. Damit entfällt viel Konfigurationsaufwand.
- Hinterlegt man im Attribut "receiverCMD" einen set - Befehl, so kann ein externer Receiver bei Klick auf das Sender-Logo direkt, und bei Klick auf die entsprechende Zeitangabe zur Programmzeit umgeschaltet werden, so dass man sich sein individuelles Radio- und Fernsehprogramm erstellen kann. Die programmierten Timer werden in allen Listen bei der Uhrzeit des Programms mit einem Symbol markiert. Widersprüchlicher Programmierungen werden gemeldet. Es gibt auch eine Darstellung, in der alle programmierten Timer im Überblick angezeigt werden.
- Sendungsdetails werden bei Klick auf den Sendungstitel, sofern verfügbar, in einer eigenen Dialogbox angezeigt.
- Das Modul enthält auch eine Suchfunktion, mit der man sich bestimmte Sendungen anzeigen lassen kann.
Die durch " " getrennten Stichworte werden ODER verknüpft. Die letzten 10 Suchanfragen werden in einem Dropdown - Menü angezeigt. Einzelne Eintragungen können mit dem daneben stehenden <x> - Symbol aus dem Menü gelöscht werden.

Das Modul lädt nur die Klack - Seite, wenn die Anzeigenliste angezeigt wird und der nächste Sendungszeitpunkt der hinterlegten Sender erreicht wird. Dabei sucht der Parser nur jene Kanäle, die sich zum Zeitpunkt auch geändert haben, so dass das Modul wenig Rechenzeit benötigt. Pro Kanal ca. 8 ms, der vollständige Satz aller bei mir angezeigten Sender braucht so ca. 150 ms, ohne das Laden der Webseite von Klack (erfolgt non blocking)

- Für die Anzeige von Radio- und Fernsehkanälen können beliebig viele Anzeigelisten definiert werden (z.B. öffentliche, Dritte, Private...)

Weiteres oben im eigenen Beitrag dazu.

Elektrolurch
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 28 April 2018, 16:25:57
Ich habe meine Beispiele jetzt auch mal in einer Wiki Seite zusammen gefasst und hier noch viele Dinge geändert, so das jetzt sehr viel weniger Readings erzeugt werden! Außerdem wurden weitere Sender  hinzugefügt. Die aktuelle Version gibt es nur noch im Wiki.

https://wiki.fhem.de/wiki/TV_Programm (https://wiki.fhem.de/wiki/TV_Programm)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 29 April 2018, 08:28:31
So habs jetzt nochmal lt wiki gemacht...jetzt klappt alles auch mit Logos
Gruss


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: myreal am 19 Mai 2018, 00:56:01
Hallo ihr lieben,

ich bin begeistert und fasziniert . Danke

Leider habe ich noch ein vermeintlich kleines Problem genau wie bei "Sommerfeld" wird der Teil:

my $xml = $obj->simple();

angemeckert. Wenn ich aber die  Befehle {tvDownload()} ....... direkt im FHEM eingebe geht alles.

Hat noch wer ein Tipp?

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 19 Mai 2018, 10:56:32
Dann fehlt dir das xml Modul.

sudo apt-get install libxml-bare-perl libdatetime-perl wget xz-utils


Eventuell ist auch ein shutdown restart erforderlich, damit fhem die neuen Bibliotheken laden kann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: myreal am 20 Mai 2018, 01:31:37
Danke hat sich übernach erledigt.

Zeit heilt alle wunden??? :P
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 01 Juni 2018, 14:28:27
Ich hab Variante 4 ausprobiert, klappt alles... Wenn mir jetzt jemand hilft die ReadingsGroup ordentlich anzuzeigen wäre ich dankbar :-)

Bisher ist alles nur untereinander geballert:

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: spikeh1 am 01 Juni 2018, 14:44:09
Zitat von: accessburn am 01 Juni 2018, 14:28:27
Ich hab Variante 4 ausprobiert, klappt alles... Wenn mir jetzt jemand hilft die ReadingsGroup ordentlich anzuzeigen wäre ich dankbar :-)

Bisher ist alles nur untereinander geballert:

Das Beispiel von mumpitzstuff ist doch ganz brauchbar. Musst es halt etwas anpassen.
https://forum.fhem.de/index.php/topic,28123.msg795163.html#msg795163

MfG
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 01 Juni 2018, 14:49:08
So weit war ich schon, nur entweder bin ich zu blöd das zu kapieren oder ich mache was falsch. Ich weiß nicht wie ich weiter machen soll jetzt:


Save config ?
Tablet
Wohnzimmer
Schlafzimmer
Küche
Bad
Außen
Raspberry
Büro
Flur
FritzBox
SmarterWecker
Status
Unsorted
icoEverything Everything
Logfile
Edit files
Select style
Event monitor
Restart
UpdateCheck
Update
HA-Bridge
IR-Gate
PowerLine

Internals:
   CFGFN     
   DEF        TV_Jetzt:items.*
   NAME       Sender_Jetzt
   NR         32473
   NTFY_ORDER 50-Sender_Jetzt
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     TV_Jetzt   1
   CONTENT2:
   DEVICES:
     ARRAY(0x4876bc0)
   fhem:
     lastDefChange 107
     last_update 1527857320.21261
   helper:
     DEF       
     cellStyle  1
     positions:
       TV_Jetzt.items_01_author 1:1
       TV_Jetzt.items_01_categories_0 1:2
       TV_Jetzt.items_01_content 1:3
       TV_Jetzt.items_01_description 1:4
       TV_Jetzt.items_01_guid 1:5
       TV_Jetzt.items_01_link 1:6
       TV_Jetzt.items_01_pubDate 1:7
       TV_Jetzt.items_01_thumbnail 1:8
       TV_Jetzt.items_01_title 1:9
       TV_Jetzt.items_02_author 1:10
       TV_Jetzt.items_02_categories_0 1:11
       TV_Jetzt.items_02_content 1:12
       TV_Jetzt.items_02_description 1:13
       TV_Jetzt.items_02_guid 1:14
       TV_Jetzt.items_02_link 1:15
       TV_Jetzt.items_02_pubDate 1:16
       TV_Jetzt.items_02_thumbnail 1:17
       TV_Jetzt.items_02_title 1:18
       TV_Jetzt.items_03_author 1:19
       TV_Jetzt.items_03_categories_0 1:20
       TV_Jetzt.items_03_content 1:21
       TV_Jetzt.items_03_description 1:22
       TV_Jetzt.items_03_guid 1:23
       TV_Jetzt.items_03_link 1:24
       TV_Jetzt.items_03_pubDate 1:25
       TV_Jetzt.items_03_thumbnail 1:26
       TV_Jetzt.items_03_title 1:27
       TV_Jetzt.items_04_author 1:28
       TV_Jetzt.items_04_categories_0 1:29
       TV_Jetzt.items_04_content 1:30
       TV_Jetzt.items_04_description 1:31
       TV_Jetzt.items_04_guid 1:32
       TV_Jetzt.items_04_link 1:33
       TV_Jetzt.items_04_pubDate 1:34
       TV_Jetzt.items_04_thumbnail 1:35
       TV_Jetzt.items_04_title 1:36
       TV_Jetzt.items_05_author 1:37
       TV_Jetzt.items_05_categories_0 1:38
       TV_Jetzt.items_05_content 1:39
       TV_Jetzt.items_05_description 1:40
       TV_Jetzt.items_05_guid 1:41
       TV_Jetzt.items_05_link 1:42
       TV_Jetzt.items_05_pubDate 1:43
       TV_Jetzt.items_05_thumbnail 1:44
       TV_Jetzt.items_05_title 1:45
       TV_Jetzt.items_06_author 1:46
       TV_Jetzt.items_06_categories_0 1:47
       TV_Jetzt.items_06_content 1:48
       TV_Jetzt.items_06_description 1:49
       TV_Jetzt.items_06_guid 1:50
       TV_Jetzt.items_06_link 1:51
       TV_Jetzt.items_06_pubDate 1:52
       TV_Jetzt.items_06_thumbnail 1:53
       TV_Jetzt.items_06_title 1:54
       TV_Jetzt.items_07_author 1:55
       TV_Jetzt.items_07_categories_0 1:56
       TV_Jetzt.items_07_content 1:57
       TV_Jetzt.items_07_description 1:58
       TV_Jetzt.items_07_guid 1:59
       TV_Jetzt.items_07_link 1:60
       TV_Jetzt.items_07_pubDate 1:61
       TV_Jetzt.items_07_thumbnail 1:62
       TV_Jetzt.items_07_title 1:63
       TV_Jetzt.items_08_author 1:64
       TV_Jetzt.items_08_categories_0 1:65
       TV_Jetzt.items_08_content 1:66
       TV_Jetzt.items_08_description 1:67
       TV_Jetzt.items_08_guid 1:68
       TV_Jetzt.items_08_link 1:69
       TV_Jetzt.items_08_pubDate 1:70
       TV_Jetzt.items_08_thumbnail 1:71
       TV_Jetzt.items_08_title 1:72
     values:
       formated:
         undef
         ARRAY(0x4869058)
         ARRAY(0x495cb58)
         ARRAY(0x46602d0)
         ARRAY(0x4895e70)
         ARRAY(0x4879f50)
         ARRAY(0x4896fd8)
         ARRAY(0x4b2acd8)
         ARRAY(0x4907f08)
         ARRAY(0x4b0ebf8)
         ARRAY(0x4b7f530)
         ARRAY(0x4bab1f0)
         ARRAY(0x4adac00)
         ARRAY(0x4736d78)
         ARRAY(0x49bfac0)
         ARRAY(0x490e250)
         ARRAY(0x46f4588)
         ARRAY(0x4b934a0)
         ARRAY(0x4b2a7c8)
         ARRAY(0x47f3818)
         ARRAY(0x44dc3d8)
         ARRAY(0x46f8e88)
         ARRAY(0x49b8b98)
         ARRAY(0x4b27190)
         ARRAY(0x477b140)
         ARRAY(0x4acfbd8)
         ARRAY(0x4ad2c38)
         ARRAY(0x481b550)
         ARRAY(0x4ba8500)
         ARRAY(0x48928d8)
         ARRAY(0x4ccfc70)
         ARRAY(0x4ad6180)
         ARRAY(0x48ecaf8)
         ARRAY(0x23123c8)
         ARRAY(0x4ac53e0)
         ARRAY(0x47914a8)
         ARRAY(0x465db08)
         ARRAY(0x45cad20)
         ARRAY(0x4bb4350)
         ARRAY(0x4b91f68)
         ARRAY(0x494dcb8)
         ARRAY(0x4719ea0)
         ARRAY(0x4b2adb0)
         ARRAY(0x4a3d798)
         ARRAY(0x4817ea8)
         ARRAY(0x47370c0)
         ARRAY(0x48242e0)
         ARRAY(0x48e8620)
         ARRAY(0x470eba0)
         ARRAY(0x4acfb48)
         ARRAY(0x230e888)
         ARRAY(0x4acff38)
         ARRAY(0x4625ef8)
         ARRAY(0x4879e90)
         ARRAY(0x4a3d3f0)
         ARRAY(0x49c10a0)
         ARRAY(0x4624d90)
         ARRAY(0x4b942a0)
         ARRAY(0x4872fa0)
         ARRAY(0x48e8cb0)
         ARRAY(0x48e95d0)
         ARRAY(0x4877c10)
         ARRAY(0x47377e0)
         ARRAY(0x49118a8)
         ARRAY(0x46244f0)
         ARRAY(0x4ac5b00)
         ARRAY(0x4cd3578)
         ARRAY(0x4739b38)
         ARRAY(0x4baadb8)
         ARRAY(0x4b8b658)
         ARRAY(0x4cd9680)
         ARRAY(0x46f8948)
         ARRAY(0x4cd9248)
       orig:
         undef
         ARRAY(0x499ad98)
         ARRAY(0x4ad2440)
         ARRAY(0x4b7f410)
         ARRAY(0x4b10ed0)
         ARRAY(0x4929e68)
         ARRAY(0x4876ae8)
         ARRAY(0x49bfc10)
         ARRAY(0x4626330)
         ARRAY(0x46d8c38)
         ARRAY(0x48f3670)
         ARRAY(0x4a032a0)
         ARRAY(0x4ad7840)
         ARRAY(0x4911a10)
         ARRAY(0x49b9420)
         ARRAY(0x4ad6000)
         ARRAY(0x477bcb0)
         ARRAY(0x4ba75f8)
         ARRAY(0x4a3b510)
         ARRAY(0x4914070)
         ARRAY(0x4737720)
         ARRAY(0x4baed58)
         ARRAY(0x45c4758)
         ARRAY(0x4cd6220)
         ARRAY(0x4824f88)
         ARRAY(0x465d5e0)
         ARRAY(0x4690680)
         ARRAY(0x489f250)
         ARRAY(0x4b79e00)
         ARRAY(0x4b710d8)
         ARRAY(0x473c7f8)
         ARRAY(0x48e9cd8)
         ARRAY(0x4cde020)
         ARRAY(0x4b2f558)
         ARRAY(0x4868f08)
         ARRAY(0x45c8560)
         ARRAY(0x470cd08)
         ARRAY(0x4b13420)
         ARRAY(0x4709600)
         ARRAY(0x4ba80f0)
         ARRAY(0x4706a58)
         ARRAY(0x465e9d0)
         ARRAY(0x46d2f88)
         ARRAY(0x470a320)
         ARRAY(0x47f1680)
         ARRAY(0x45ca6a8)
         ARRAY(0x4b81ae8)
         ARRAY(0x46d38e8)
         ARRAY(0x490dfb0)
         ARRAY(0x2314320)
         ARRAY(0x4706f98)
         ARRAY(0x465dbe0)
         ARRAY(0x47f7c80)
         ARRAY(0x4617538)
         ARRAY(0x473cbb8)
         ARRAY(0x48e8d60)
         ARRAY(0x4ad2758)
         ARRAY(0x47f7aa0)
         ARRAY(0x4ad5bc8)
         ARRAY(0x48530b8)
         ARRAY(0x4894218)
         ARRAY(0x458e398)
         ARRAY(0x487a5c8)
         ARRAY(0x4177af0)
         ARRAY(0x4913950)
         ARRAY(0x4ad1f60)
         ARRAY(0x494a328)
         ARRAY(0x47fe020)
         ARRAY(0x4893a68)
         ARRAY(0x4860b80)
         ARRAY(0x4947a18)
         ARRAY(0x4b85700)
         ARRAY(0x46f2b40)
       prefixsuffix:
         undef
         ARRAY(0x4859958)
         ARRAY(0x48ebe80)
         ARRAY(0x4798d68)
         ARRAY(0x47623b8)
         ARRAY(0x4853520)
         ARRAY(0x473c378)
         ARRAY(0x49bdfa8)
         ARRAY(0x499ab10)
         ARRAY(0x4ac7570)
         ARRAY(0x473c870)
         ARRAY(0x473e290)
         ARRAY(0x475ee78)
         ARRAY(0x230b1f0)
         ARRAY(0x4ad0550)
         ARRAY(0x47f7d70)
         ARRAY(0x4cd8cd8)
         ARRAY(0x48017d0)
         ARRAY(0x4702b90)
         ARRAY(0x48e4990)
         ARRAY(0x4b7bf48)
         ARRAY(0x4757bb8)
         ARRAY(0x4a39d20)
         ARRAY(0x46f3c58)
         ARRAY(0x49bd1c8)
         ARRAY(0x495cd50)
         ARRAY(0x4ad5520)
         ARRAY(0x46f4270)
         ARRAY(0x4947e80)
         ARRAY(0x47f29f0)
         ARRAY(0x4bad8f8)
         ARRAY(0x4660768)
         ARRAY(0x4b878c8)
         ARRAY(0x45c4b68)
         ARRAY(0x465e400)
         ARRAY(0x4b82010)
         ARRAY(0x4bb46b0)
         ARRAY(0x4658c98)
         ARRAY(0x4736880)
         ARRAY(0x4b26d58)
         ARRAY(0x466bae8)
         ARRAY(0x4b13108)
         ARRAY(0x4ad8098)
         ARRAY(0x46ee860)
         ARRAY(0x4ad25c0)
         ARRAY(0x4b10ea0)
         ARRAY(0x4624a60)
         ARRAY(0x458ec58)
         ARRAY(0x4cd62c8)
         ARRAY(0x48e4c30)
         ARRAY(0x4b8f3d8)
         ARRAY(0x4cd6df0)
         ARRAY(0x4cd32f0)
         ARRAY(0x4ba7928)
         ARRAY(0x4cd6c40)
         ARRAY(0x4b2fcd8)
         ARRAY(0x49c1358)
         ARRAY(0x49247a0)
         ARRAY(0x46f6dd8)
         ARRAY(0x2314c98)
         ARRAY(0x4cd9380)
         ARRAY(0x473b268)
         ARRAY(0x48e47f8)
         ARRAY(0x4859340)
         ARRAY(0x4b79bd8)
         ARRAY(0x4b7aa78)
         ARRAY(0x4853f48)
         ARRAY(0x4ba6ab0)
         ARRAY(0x4912130)
         ARRAY(0x4cd8b10)
         ARRAY(0x49f5728)
         ARRAY(0x4a3b240)
         ARRAY(0x48695c8)
Attributes:
   cellStyle  1
   notime     1



EDIT:

Hab mal was zum laufen bekommen, schön ist es nicht und außerdem bekomme ich ein ganz anderes device mit TV_Primezime nicht dahinter  :'(
nternals:
   CFGFN     
   DEF        TV_Jetzt:,<Jetzt>,<|>,items_01_title TV_Jetzt:,<Jetzt>,<|>,items_02_title
   NAME       rg_TV
   NR         32879
   NTFY_ORDER 50-rg_TV
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     TV_Jetzt   1
   CONTENT2:
   DEVICES:
     ARRAY(0x4795f48)
     ARRAY(0x47f7578)
   fhem:
     lastDefChange 159
     last_update 1527859695.78911
   helper:
     DEF       
     mapping    &nbsp;
     positions:
       TV_Jetzt.items_01_title 1:3
       TV_Jetzt.items_02_title 2:3
     values:
       formated:
         undef
         undef
         undef
         ARRAY(0x1fce008)
       orig:
         undef
         undef
         undef
         ARRAY(0x4762e38)
       prefixsuffix:
         undef
         undef
         undef
         ARRAY(0x4736a78)
Attributes:
   alias      Aktuelles TV-Programm
   mapping    &nbsp;
   nolinks    1
   nostate    1
   room       1
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 01 Juni 2018, 19:36:31
Hast du die readingsgroup wie angegeben über den raw Dialog importiert? Die Anweisungen dazu stehen exakt in der Anleitung.

Der codeschnipsel hier im Forum ist übrigens alt. Die aktuelle Version gibt's nur im Wiki.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 04 Juni 2018, 09:41:32
Okay, nachdem ich alles zerlegt hatte und neu versucht habe ist es nun zu ende und ich versuchte mich an Variante 2 mit Hilfe der myUtils.

Irgendwie will ich kein Glück haben, denn trotz allen abgearbeiteten Punkte erhalte ich im log folgendes:
Zitat2018.06.04 09:29:07 1: ERROR evaluating {if ((1 == $wday) || (4 == $wday)) {tvDownload()}}: Undefined subroutine &main::tvDownload called at (eval 577) line 1.

2018.06.04 09:29:14 1: ERROR evaluating {tvParse('dmy_TV')}: Undefined subroutine &main::tvParse called at (eval 586) line 1.

2018.06.04 09:29:21 1: ERROR evaluating {tvUpdatePrimetime('dmy_TV')}: Undefined subroutine &main::tvUpdatePrimetime called at (eval 597) line 1.

2018.06.04 09:29:29 1: ERROR evaluating {tvUpdate('dmy_TV')}: Undefined subroutine &main::tvUpdate called at (eval 613) line 1.

2018.06.04 09:33:21 1: PERL WARNING: Backslash found where operator expected at (eval 1066) line 8, near "'style="color:yellow;;text-align:center;;font-weight:bold;;"'\"
2018.06.04 09:33:21 1: PERL WARNING:    (Missing operator before \?)
2018.06.04 09:34:40 1: ERROR evaluating {tvUpdate('dmy_TV')}: Undefined subroutine &main::tvUpdate called at (eval 1228) line 1.

Vorschläge?

EDIT:
Bin wieder weiter gekommen. Hab die Package mal neu installiert, jetzt ist das Log sauber bis auf folgenden Eintrag:
Zitat2018.06.04 09:52:56 1: ERROR evaluating {tvUpdate('dmy_TV')}: Can't locate object method "simple" via package "0" (perhaps you forgot to load "0"?) at /opt/fhem//FHEM/99_myUtils.pm line 55.

Die "#" bei print hab ich auch mal raus genommen, dann ist folgendes hinzugekommen:
Zitat2018.06.04 09:59:51 1: PERL WARNING: Subroutine myUtils_Initialize redefined at /opt/fhem//FHEM/99_myUtils.pm line 7.
2018.06.04 09:59:51 1: PERL WARNING: Subroutine rgUnfold redefined at /opt/fhem//FHEM/99_myUtils.pm line 13.
2018.06.04 09:59:51 1: PERL WARNING: Subroutine xmltv2epoch redefined at /opt/fhem//FHEM/99_myUtils.pm line 27.
2018.06.04 09:59:51 1: PERL WARNING: Subroutine tvParse redefined at /opt/fhem//FHEM/99_myUtils.pm line 46.
2018.06.04 09:59:51 1: PERL WARNING: Subroutine tvDownload redefined at /opt/fhem//FHEM/99_myUtils.pm line 160.
2018.06.04 09:59:51 1: PERL WARNING: Subroutine tvUpdate redefined at /opt/fhem//FHEM/99_myUtils.pm line 168.
2018.06.04 09:59:51 1: PERL WARNING: Subroutine tvUpdatePrimetime redefined at /opt/fhem//FHEM/99_myUtils.pm line 236.

2018.06.04 10:11:55 1: ERROR evaluating {tvUpdate('dmy_TV')}: Can't locate object method "simple" via package "0" (perhaps you forgot to load "0"?) at /opt/fhem//FHEM/99_myUtils.pm line 55.

--2018-06-04 10:12:29--  http://rytecepg.ipservers.eu/epg_data/rytecDE_Basic.xz
Aufl�sen des Hostnamens �rytecepg.ipservers.eu (rytecepg.ipservers.eu)� ... 149.202.76.234
Verbindungsaufbau zu rytecepg.ipservers.eu (rytecepg.ipservers.eu)|149.202.76.234|:80 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ... 200 OK
L�nge: 1114000 (1,1M) [application/x-xz]
Wird in ��/opt/fhem/tv/rytecDE_Basic.xz�� gespeichert.

     0K .......... .......... .......... .......... ..........  4% 1,73M 1s
    50K .......... .......... .......... .......... ..........  9% 3,64M 0s
   100K .......... .......... .......... .......... .......... 13% 8,03M 0s
   150K .......... .......... .......... .......... .......... 18% 5,40M 0s
   200K .......... .......... .......... .......... .......... 22% 5,23M 0s
   250K .......... .......... .......... .......... .......... 27% 5,28M 0s
   300K .......... .......... .......... .......... .......... 32% 5,94M 0s
   350K .......... .......... .......... .......... .......... 36% 5,11M 0s
   400K .......... .......... .......... .......... .......... 41% 5,58M 0s
   450K .......... .......... .......... .......... .......... 45% 5,67M 0s
   500K .......... .......... .......... .......... .......... 50% 5,73M 0s
   550K .......... .......... .......... .......... .......... 55% 6,03M 0s
   600K .......... .......... .......... .......... .......... 59% 4,11M 0s
   650K .......... .......... .......... .......... .......... 64% 5,95M 0s
   700K .......... .......... .......... .......... .......... 68% 5,12M 0s
   750K .......... .......... .......... .......... .......... 73% 5,40M 0s
   800K .......... .......... .......... .......... .......... 78% 5,21M 0s
   850K .......... .......... .......... .......... .......... 82% 5,47M 0s
   900K .......... .......... .......... .......... .......... 87% 5,95M 0s
   950K .......... .......... .......... .......... .......... 91% 4,71M 0s
  1000K .......... .......... .......... .......... .......... 96% 5,63M 0s
  1050K .......... .......... .......... .......              100% 5,74M=0,2s

2018-06-04 10:12:30 (4,88 MB/s) - ��/opt/fhem/tv/rytecDE_Basic.xz�� gespeichert [1114000/1114000]

xz: /opt/fhem/tv/rytecDE_Basic: Kann Dateigruppe nicht setzen: Die Operation ist nicht erlaubt

Mehr passiert leider nicht... im /TV-Verzeichnis ist auch keine Datei die da nicht rein gehört.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 04 Juni 2018, 15:30:53
XML::Bare muss installiert sein.

sudo apt-get install libxml-bare-perl libdatetime-perl wget xz-utils

Da hier Perl Bibliotheken installiert wurden, sollte danach mal ein Rechner Neustart erfolgen, damit diese geänderten Bibliotheken vernünftig geladen werden und zur Verfügung stehen.

Weiterhin kann xf die Datei nicht vernünftig entpacken. Das liegt wahrscheinlich an den fehlenden Rechten.

sudo mkdir /opt/fhem/tv
sudo chown fhem:dialout /opt/fhem/tv
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 04 Juni 2018, 16:38:47
Alles so erledigt, keine Änderung.

Kann ich noch irgendwas liefern zur Fehleranalyse?
Grüße,
Toby
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 04 Juni 2018, 16:58:56
Nachdem du den Download ausgelöst hast, was steht danach in /opt/fhem/tv? Hier muss zuerst ein Download gemacht worden sein, der dort die Datei /opt/fhem/tv/rytecDE_Basic.xz erzeugt hat. Diese muss dann vom unpacker entpackt werden und daraus wird dann /opt/fhem/tv/rytecDE_Basic. Diese Datei müsstest du mit einem TextEditor öffnen können (ist ein xml file).

Ist das erst einmal der Fall bei dir?
Welche Rechte hat diese Datei?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 04 Juni 2018, 17:44:34
Der Download funktioniert:
Zitat-rw-r--r-- 1 fhem dialout 9033096 Jun  4 04:45 rytecDE_Basic

Es scheint die Dateiendung zu fehlen, oder irre ich?


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 04 Juni 2018, 18:40:19
Ne sieht gut aus. Jetzt löse mal das parsen aus und schau im Log ob da Fehler auftauchen. Schau auch mal ins dummy device ob da dann readings auftauchen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 04 Juni 2018, 21:48:30
Okay, bin wohl einen schritt weiter, im STATE steht parsed. Die readings sind voll mit infos. Aber das Readingsgroup bleibt leer trotz weiterem auslösen. Im Log kein Eintrag.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 04 Juni 2018, 21:52:54
Die beiden Updates hast du auch schon ausgeführt? Falls danach immer noch nichts kommt, dann einfach mal ne stunde warten, dann sollten sich die ersten Einträge zeigen. Hatte auch manchmal das Problem, dass sich erst nach einiger zeit die Readingsgroup gefüllt hat. Dann läufts aber einwandfrei. Falls nicht, melde dich noch mal bitte.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 04 Juni 2018, 21:53:46
okay, ich lass es mal overnight laufen. Danke schon mal...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 04 Juni 2018, 22:19:35
Bei deinem aktuellen TV Programm müsste sich sofort was zeigen. Mach mal ein:

list rg_TV

rg_TV eventuell durch den Namen deiner Readingsgroup ersetzen.

und von deinem dmy_TV kannst du ja sicherheitshalber auch mal ein list machen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 05 Juni 2018, 08:14:41
So, tat sich nix, daher mal die lists:

ZitatInternals:
   DEF        <Sender>,<ab>,<Aktuelle Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>\ dmy_TV:<%tv/ard>,next_ARD_000_btime,<{rgUnfold($DEVICE,'next_ARD_000_')}@next_ARD_000_title>,<|>,next_ARD_001_btime,<{rgUnfold($DEVICE,'next_ARD_001_')}@next_ARD_001_title>,<|>,next_ARD_002_btime,<{rgUnfold($DEVICE,'next_ARD_002_')}@next_ARD_002_title>\ dmy_TV:<%tv/zdf>,next_ZDF_000_btime,<{rgUnfold($DEVICE,'next_ZDF_000_')}@next_ZDF_000_title>,<|>,next_ZDF_001_btime,<{rgUnfold($DEVICE,'next_ZDF_001_')}@next_ZDF_001_title>,<|>,next_ZDF_002_btime,<{rgUnfold($DEVICE,'next_ZDF_002_')}@next_ZDF_002_title>\ dmy_TV:<%tv/sat1>,next_Sat1_000_btime,<{rgUnfold($DEVICE,'next_Sat1_000_')}@next_Sat1_000_title>,<|>,next_Sat1_001_btime,<{rgUnfold($DEVICE,'next_Sat1_001_')}@next_Sat1_001_title>,<|>,next_Sat1_002_btime,<{rgUnfold($DEVICE,'next_Sat1_002_')}@next_Sat1_002_title>\ dmy_TV:<%tv/rtl>,next_RTL_000_btime,<{rgUnfold($DEVICE,'next_RTL_000_')}@next_RTL_000_title>,<|>,next_RTL_001_btime,<{rgUnfold($DEVICE,'next_RTL_001_')}@next_RTL_001_title>,<|>,next_RTL_002_btime,<{rgUnfold($DEVICE,'next_RTL_002_')}@next_RTL_002_title>\ dmy_TV:<%tv/rtl2>,next_RTL2_000_btime,<{rgUnfold($DEVICE,'next_RTL2_000_')}@next_RTL2_000_title>,<|>,next_RTL2_001_btime,<{rgUnfold($DEVICE,'next_RTL2_001_')}@next_RTL2_001_title>,<|>,next_RTL2_002_btime,<{rgUnfold($DEVICE,'next_RTL2_002_')}@next_RTL2_002_title>\ dmy_TV:<%tv/pro7>,next_Pro7_000_btime,<{rgUnfold($DEVICE,'next_Pro7_000_')}@next_Pro7_000_title>,<|>,next_Pro7_001_btime,<{rgUnfold($DEVICE,'next_Pro7_001_')}@next_Pro7_001_title>,<|>,next_Pro7_002_btime,<{rgUnfold($DEVICE,'next_Pro7_002_')}@next_Pro7_002_title>\ dmy_TV:<%tv/dmax>,next_DMax_000_btime,<{rgUnfold($DEVICE,'next_DMax_000_')}@next_DMax_000_title>,<|>,next_DMax_001_btime,<{rgUnfold($DEVICE,'next_DMax_001_')}@next_DMax_001_title>,<|>,next_DMax_002_btime,<{rgUnfold($DEVICE,'next_DMax_002_')}@next_DMax_002_title>\ dmy_TV:<%tv/vox>,next_Vox_000_btime,<{rgUnfold($DEVICE,'next_Vox_000_')}@next_Vox_000_title>,<|>,next_Vox_001_btime,<{rgUnfold($DEVICE,'next_Vox_001_')}@next_Vox_001_title>,<|>,next_Vox_002_btime,<{rgUnfold($DEVICE,'next_Vox_002_')}@next_Vox_002_title>\ dmy_TV:<%tv/kabel1>,next_Kabel_000_btime,<{rgUnfold($DEVICE,'next_Kabel_000_')}@next_Kabel_000_title>,<|>,next_Kabel_001_btime,<{rgUnfold($DEVICE,'next_Kabel_001_')}@next_Kabel_001_title>,<|>,next_Kabel_002_btime,<{rgUnfold($DEVICE,'next_Kabel_002_')}@next_Kabel_002_title>
   NAME       rg_TV
   NR         521
   NTFY_ORDER 50-rg_TV
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
   CONTENT2:
   DEVICES:
   fhem:
     lastDefChange 10
     last_update 1528142644.6746
   helper:
     DEF       
     cellStyle:
       r:1,c:1    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:2    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:3    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:5    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:6    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:8    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:9    style="color:yellow;;text-align:center;;font-weight:bold;;"
Attributes:
   alias      Aktuelles TV-Programm
   cellStyle  {
  'r:1,c:1' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:2' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:3' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:5' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:6' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:8' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:9' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"'
}
   group      TV Programm
   nonames    1
   room       TV
   style      style="font-size:16px;"

ZitatInternals:
   NAME       dmy_TV
   NR         516
   STATE      updated
   TYPE       dummy
   READINGS:
     2018-06-05 05:42:13   next_ARD_000_bdate 2018-06-05
     2018-06-05 05:42:13   next_ARD_000_btime 05:30:00
     2018-06-05 05:42:13   next_ARD_000_desc Das ZDF-Morgenmagazin informiert über alle wichtigen und tagesaktuellen Themen aus Politik, Gesellschaft, Kultur und Sport. Hinzu kommen Interviews und kurze Nachrichtenblöcke
     2018-06-05 05:42:13   next_ARD_000_edate 2018-06-05
     2018-06-05 05:42:13   next_ARD_000_etime 09:00:00
     2018-06-05 05:42:13   next_ARD_000_stitle [Frühmagazin, Infomagazin]  (Episode 3261) (2018)
     2018-06-05 05:42:13   next_ARD_000_title ZDF-Morgenmagazin
     2018-06-05 05:42:13   next_ARD_001_bdate 2018-06-05
     2018-06-05 05:42:13   next_ARD_001_btime 09:00:00
     2018-06-05 05:42:13   next_ARD_001_desc Die Nachrichten der ARD produziert in HD
     2018-06-05 05:42:13   next_ARD_001_edate 2018-06-05

...GEKÜRZT...

     ARD_019_etime 15:00:00
     ARD_019_stitle (Episode 2664) (2018)
     ARD_019_title Rote Rosen
     ARD_020_bdate 2018-06-05
     ARD_020_btime 15:00:00
     ARD_020_desc Die Nachrichten der ARD produziert in HD
     ARD_020_edate 2018-06-05
     ARD_020_etime 15:10:00
     ARD_020_stitle Mit Wetter (2018)
     ZDF_073_etime 05:30:00
     ZDF_073_stitle [Dokumentation, Landschaftsbild]  [12+]
     ZDF_073_title Deutschland von oben
     ZDF_074_bdate 2018-06-07
     ZDF_074_btime 05:30:00
     ZDF_074_desc Das ZDF-Morgenmagazin informiert über alle wichtigen und tagesaktuellen Themen aus Politik, Gesellschaft, Kultur und Sport. Hinzu kommen Interviews und kurze Nachrichtenblöcke
     ZDF_074_edate 2018-06-07
     ZDF_074_etime 09:00:00
     ZDF_074_stitle [Frühmagazin, Infomagazin]  (Episode 3263) (2018)
     ZDF_074_title ZDF-Morgenmagazin
     ZDF_075_bdate 2018-06-07
     ZDF_075_btime 09:00:00
     ZDF_075_desc Kurznachrichten im ZDF - immer auf dem Laufenden
     ZDF_075_edate 2018-06-07
     ZDF_075_etime 09:05:00
     ZDF_075_stitle (2018)
     ZDF_075_title heute Xpress
     ZDF_lastIndex 6
Attributes:
   room       TV
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 12:17:30
Punkt 1: Du verwendest nicht die aktuellen Skripte aus dem Wiki. Diese erzeugen keine 100 Readings mehr pro Sender. Falls das teilweise noch alte Readings sind, kannst du die wie folgt löschen und mit den neuen Skripten aus dem Wiki neu anlegen lassen:

deletereading dmy_TV .*

Punkt 2: Das define deiner Readingsgroup scheint nicht richtig zu sein bzw. es wurde falsch importiert. Mach mal die Readingsgroup rg_TV auf klick bei den Internals auf def und editier das mal wie folgt:

- in jeder Zeile muss "dmy_TV:" am Anfang der Zeile stehen (Achtung: wenn die Zeile zu lang für deinen Bildschirm wird, dann wird sie umgebrochen und die zweite Zeile beginnt dann natürlich nicht mit diesem String.
- in deinem list taucht am Ende jeder Zeile ein Backslash auf \. Bei mir ist das nicht so, sondern ich sehe das lediglich in der raw Ansicht. Falls das bei dir im Editor zu sehen ist, dann musst du die manuell entfernen.


<Sender>,<ab>,<Aktuelle Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>
dmy_TV:<%tv/ard>,next_ARD_000_btime,<{rgUnfold($DEVICE,'next_ARD_000_')}@next_ARD_000_title>,<|>,next_ARD_001_btime,<{rgUnfold($DEVICE,'next_ARD_001_')}@next_ARD_001_title>,<|>,next_ARD_002_btime,<{rgUnfold($DEVICE,'next_ARD_002_')}@next_ARD_002_title>
dmy_TV:<%tv/zdf>,next_ZDF_000_btime,<{rgUnfold($DEVICE,'next_ZDF_000_')}@next_ZDF_000_title>,<|>,next_ZDF_001_btime,<{rgUnfold($DEVICE,'next_ZDF_001_')}@next_ZDF_001_title>,<|>,next_ZDF_002_btime,<{rgUnfold($DEVICE,'next_ZDF_002_')}@next_ZDF_002_title>
dmy_TV:<%tv/sat1>,next_Sat1_000_btime,<{rgUnfold($DEVICE,'next_Sat1_000_')}@next_Sat1_000_title>,<|>,next_Sat1_001_btime,<{rgUnfold($DEVICE,'next_Sat1_001_')}@next_Sat1_001_title>,<|>,next_Sat1_002_btime,<{rgUnfold($DEVICE,'next_Sat1_002_')}@next_Sat1_002_title>
dmy_TV:<%tv/rtl>,next_RTL_000_btime,<{rgUnfold($DEVICE,'next_RTL_000_')}@next_RTL_000_title>,<|>,next_RTL_001_btime,<{rgUnfold($DEVICE,'next_RTL_001_')}@next_RTL_001_title>,<|>,next_RTL_002_btime,<{rgUnfold($DEVICE,'next_RTL_002_')}@next_RTL_002_title>
dmy_TV:<%tv/rtl2>,next_RTL2_000_btime,<{rgUnfold($DEVICE,'next_RTL2_000_')}@next_RTL2_000_title>,<|>,next_RTL2_001_btime,<{rgUnfold($DEVICE,'next_RTL2_001_')}@next_RTL2_001_title>,<|>,next_RTL2_002_btime,<{rgUnfold($DEVICE,'next_RTL2_002_')}@next_RTL2_002_title>
dmy_TV:<%tv/pro7>,next_Pro7_000_btime,<{rgUnfold($DEVICE,'next_Pro7_000_')}@next_Pro7_000_title>,<|>,next_Pro7_001_btime,<{rgUnfold($DEVICE,'next_Pro7_001_')}@next_Pro7_001_title>,<|>,next_Pro7_002_btime,<{rgUnfold($DEVICE,'next_Pro7_002_')}@next_Pro7_002_title>
dmy_TV:<%tv/dmax>,next_DMax_000_btime,<{rgUnfold($DEVICE,'next_DMax_000_')}@next_DMax_000_title>,<|>,next_DMax_001_btime,<{rgUnfold($DEVICE,'next_DMax_001_')}@next_DMax_001_title>,<|>,next_DMax_002_btime,<{rgUnfold($DEVICE,'next_DMax_002_')}@next_DMax_002_title>
dmy_TV:<%tv/vox>,next_Vox_000_btime,<{rgUnfold($DEVICE,'next_Vox_000_')}@next_Vox_000_title>,<|>,next_Vox_001_btime,<{rgUnfold($DEVICE,'next_Vox_001_')}@next_Vox_001_title>,<|>,next_Vox_002_btime,<{rgUnfold($DEVICE,'next_Vox_002_')}@next_Vox_002_title>
dmy_TV:<%tv/kabel1>,next_Kabel_000_btime,<{rgUnfold($DEVICE,'next_Kabel_000_')}@next_Kabel_000_title>,<|>,next_Kabel_001_btime,<{rgUnfold($DEVICE,'next_Kabel_001_')}@next_Kabel_001_title>,<|>,next_Kabel_002_btime,<{rgUnfold($DEVICE,'next_Kabel_002_')}@next_Kabel_002_title>


Das sollte dann so in etwa aussehen. Vielleicht kannst du einfach copy/paste machen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 05 Juni 2018, 15:25:32
Ich änder das mal ab, aber wenn du ihn nicht gerade gestern geändert hast habe ich diesen Beitrag nachgebaut. Da ich davon nichts verstehe hab ich das nicht abgeändert, also muss es ja irgendwo her kommen  ;D (https://wiki.fhem.de/wiki/TV_Programm#Variante_2_.28Download_der_EPG_Daten.29:)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 15:33:24
Du hast vielleicht recht, da ein List anscheinend auch internals anzeigt. Dann liegt's nur an deiner readingsgroup. Wenn die richtig wäre, müssten bei devices in deinem List ein paar hashes auftauchen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 05 Juni 2018, 15:39:48
Es hat sich da etwas verändert. Ich hänge dir mal ein Screen an.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DarkT am 05 Juni 2018, 16:04:31
Ich habe noch ein Problem mit den Icons.

Ich habe unter /opt/fhem/www/images/default das Icon "ard.png" liegen.
Die readingsgroup ist die aus dem Wiki:


<Sender>,<ab>,<Aktuelle Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>
dmy_TV:<%tv/ard>,next_ARD_000_btime,<{rgUnfold($DEVICE,'next_ARD_000_')}@next_ARD_000_title>,<|>,next_ARD_001_btime,<{rgUnfold($DEVICE,'next_ARD_001_')}@next_ARD_001_title>,<|>,next_ARD_002_btime,<{rgUnfold($DEVICE,'next_ARD_002_')}@next_ARD_002_title>
...


Mir fehlt aber noch das Logo. Wie muss ich die Readingsgroup anpassen, damit es angezeigt wird?

Vielen Dank
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DarkT am 05 Juni 2018, 16:07:45
Zitat von: accessburn am 05 Juni 2018, 15:39:48
Es hat sich da etwas verändert. Ich hänge dir mal ein Screen an.

mach mal ein


{tvDownload()}
{tvParse('dmy_TV')}
{tvUpdate('dmy_TV')}


in deiner FHM-Kommandozeile
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 16:10:55
Zitat von: DarkT am 05 Juni 2018, 16:04:31
Ich habe noch ein Problem mit den Icons.

Ich habe unter /opt/fhem/www/images/default das Icon "ard.png" liegen.
Die readingsgroup ist die aus dem Wiki:


<Sender>,<ab>,<Aktuelle Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>
dmy_TV:<%tv/ard>,next_ARD_000_btime,<{rgUnfold($DEVICE,'next_ARD_000_')}@next_ARD_000_title>,<|>,next_ARD_001_btime,<{rgUnfold($DEVICE,'next_ARD_001_')}@next_ARD_001_title>,<|>,next_ARD_002_btime,<{rgUnfold($DEVICE,'next_ARD_002_')}@next_ARD_002_title>
...


Mir fehlt aber noch das Logo. Wie muss ich die Readingsgroup anpassen, damit es angezeigt wird?

Vielen Dank

Ich glaube im Wiki ist der Pfad noch falsch angegeben. Ich kann jetzt leider nicht nachsehen aber vermutlich liegen bei mir die icons in einem extra Verzeichnis tv. Versuch mal die Rechte entsprechend dem wiki zu setzen:

sudo chown fhem:dialout *.png

und ersetze dann in der readingsgroup <%tv/ard> durch <%ard>.

Wenn es das ist, dann muss ich die Wiki Seite noch mal anpassen.

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 16:12:17
Zitat von: accessburn am 05 Juni 2018, 15:39:48
Es hat sich da etwas verändert. Ich hänge dir mal ein Screen an.

Wie sieht jetzt ein:

list rg_TV
list dmy_TV

aus?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 05 Juni 2018, 16:22:08
Zitat von: mumpitzstuff am 05 Juni 2018, 16:12:17
Wie sieht jetzt ein:

list rg_TV
list dmy_TV

aus?

Also das aktuelle Programm kommt rein, nur das oben beschriebene Problem mit den Icons trifft bei mir noch zu. PRIME fehlt ganz:

Internals:
   DEF        <Sender>,<ab>,<Aktuelle Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>
dmy_TV:<%ard>,next_ARD_000_btime,<{rgUnfold($DEVICE,'next_ARD_000_')}@next_ARD_000_title>,<|>,next_ARD_001_btime,<{rgUnfold($DEVICE,'next_ARD_001_')}@next_ARD_001_title>,<|>,next_ARD_002_btime,<{rgUnfold($DEVICE,'next_ARD_002_')}@next_ARD_002_title>
dmy_TV:<%tv/zdf>,next_ZDF_000_btime,<{rgUnfold($DEVICE,'next_ZDF_000_')}@next_ZDF_000_title>,<|>,next_ZDF_001_btime,<{rgUnfold($DEVICE,'next_ZDF_001_')}@next_ZDF_001_title>,<|>,next_ZDF_002_btime,<{rgUnfold($DEVICE,'next_ZDF_002_')}@next_ZDF_002_title>
dmy_TV:<%tv/sat1>,next_Sat1_000_btime,<{rgUnfold($DEVICE,'next_Sat1_000_')}@next_Sat1_000_title>,<|>,next_Sat1_001_btime,<{rgUnfold($DEVICE,'next_Sat1_001_')}@next_Sat1_001_title>,<|>,next_Sat1_002_btime,<{rgUnfold($DEVICE,'next_Sat1_002_')}@next_Sat1_002_title>
dmy_TV:<%tv/rtl>,next_RTL_000_btime,<{rgUnfold($DEVICE,'next_RTL_000_')}@next_RTL_000_title>,<|>,next_RTL_001_btime,<{rgUnfold($DEVICE,'next_RTL_001_')}@next_RTL_001_title>,<|>,next_RTL_002_btime,<{rgUnfold($DEVICE,'next_RTL_002_')}@next_RTL_002_title>
dmy_TV:<%tv/rtl2>,next_RTL2_000_btime,<{rgUnfold($DEVICE,'next_RTL2_000_')}@next_RTL2_000_title>,<|>,next_RTL2_001_btime,<{rgUnfold($DEVICE,'next_RTL2_001_')}@next_RTL2_001_title>,<|>,next_RTL2_002_btime,<{rgUnfold($DEVICE,'next_RTL2_002_')}@next_RTL2_002_title>
dmy_TV:<%tv/pro7>,next_Pro7_000_btime,<{rgUnfold($DEVICE,'next_Pro7_000_')}@next_Pro7_000_title>,<|>,next_Pro7_001_btime,<{rgUnfold($DEVICE,'next_Pro7_001_')}@next_Pro7_001_title>,<|>,next_Pro7_002_btime,<{rgUnfold($DEVICE,'next_Pro7_002_')}@next_Pro7_002_title>
dmy_TV:<%tv/dmax>,next_DMax_000_btime,<{rgUnfold($DEVICE,'next_DMax_000_')}@next_DMax_000_title>,<|>,next_DMax_001_btime,<{rgUnfold($DEVICE,'next_DMax_001_')}@next_DMax_001_title>,<|>,next_DMax_002_btime,<{rgUnfold($DEVICE,'next_DMax_002_')}@next_DMax_002_title>
dmy_TV:<%tv/vox>,next_Vox_000_btime,<{rgUnfold($DEVICE,'next_Vox_000_')}@next_Vox_000_title>,<|>,next_Vox_001_btime,<{rgUnfold($DEVICE,'next_Vox_001_')}@next_Vox_001_title>,<|>,next_Vox_002_btime,<{rgUnfold($DEVICE,'next_Vox_002_')}@next_Vox_002_title>
dmy_TV:<%tv/kabel1>,next_Kabel_000_btime,<{rgUnfold($DEVICE,'next_Kabel_000_')}@next_Kabel_000_title>,<|>,next_Kabel_001_btime,<{rgUnfold($DEVICE,'next_Kabel_001_')}@next_Kabel_001_title>,<|>,next_Kabel_002_btime,<{rgUnfold($DEVICE,'next_Kabel_002_')}@next_Kabel_002_title>
   NAME       rg_TV
   NR         521
   NTFY_ORDER 50-rg_TV
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
     dmy_TV     1
   CONTENT2:
   DEVICES:
     ARRAY(0x4509c48)
     ARRAY(0x4505010)
     ARRAY(0x4518c38)
     ARRAY(0x2c2b5d8)
     ARRAY(0x3cd5cb0)
     ARRAY(0x3cf4288)
     ARRAY(0x3d1c4e0)
     ARRAY(0x3c31d00)
     ARRAY(0x3c8fe38)
     ARRAY(0x29cb998)
   fhem:
     lastDefChange 9
     last_update 1528208423.37288
   helper:
     DEF       
     cellStyle:
       r:1,c:1    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:2    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:3    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:5    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:6    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:8    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:9    style="color:yellow;;text-align:center;;font-weight:bold;;"
     positions:
       dmy_TV.next_ARD_000_btime 2:2
       dmy_TV.next_ARD_001_btime 2:5
       dmy_TV.next_ARD_002_btime 2:8
       dmy_TV.next_DMax_000_btime 8:2
       dmy_TV.next_DMax_001_btime 8:5
       dmy_TV.next_DMax_002_btime 8:8
       dmy_TV.next_Kabel_000_btime 10:2
       dmy_TV.next_Kabel_001_btime 10:5
       dmy_TV.next_Kabel_002_btime 10:8
       dmy_TV.next_Pro7_000_btime 7:2
       dmy_TV.next_Pro7_001_btime 7:5
       dmy_TV.next_Pro7_002_btime 7:8
       dmy_TV.next_RTL2_000_btime 6:2
       dmy_TV.next_RTL2_001_btime 6:5
       dmy_TV.next_RTL2_002_btime 6:8
       dmy_TV.next_RTL_000_btime 5:2
       dmy_TV.next_RTL_001_btime 5:5
       dmy_TV.next_RTL_002_btime 5:8
       dmy_TV.next_Sat1_000_btime 4:2
       dmy_TV.next_Sat1_001_btime 4:5
       dmy_TV.next_Sat1_002_btime 4:8
       dmy_TV.next_Vox_000_btime 9:2
       dmy_TV.next_Vox_001_btime 9:5
       dmy_TV.next_Vox_002_btime 9:8
       dmy_TV.next_ZDF_000_btime 3:2
       dmy_TV.next_ZDF_001_btime 3:5
       dmy_TV.next_ZDF_002_btime 3:8
     values:
       formated:
         undef
         undef
         ARRAY(0x453bce8)
         undef
         undef
         ARRAY(0x3c34d88)
         undef
         undef
         ARRAY(0x4535da8)
       orig:
         undef
         undef
         ARRAY(0x34b1670)
         undef
         undef
         ARRAY(0x3bc2100)
         undef
         undef
         ARRAY(0x453dfd8)
       prefixsuffix:
         undef
         undef
         ARRAY(0x3b6d628)
         undef
         undef
         ARRAY(0x452e128)
         undef
         undef
         ARRAY(0x3b9d3d8)
Attributes:
   alias      Aktuelles TV-Programm
   cellStyle  {
  'r:1,c:1' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:2' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:3' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:5' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:6' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:8' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:9' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"'
}
   group      TV Programm
   nonames    1
   room       TV
   style      style="font-size:16px;"



Internals:
   NAME       dmy_TV
   NR         516
   STATE      updated
   TYPE       dummy
   OLDREADINGS:
   READINGS:
     2018-06-05 16:19:22   next_ARD_000_bdate 2018-06-05
     2018-06-05 16:19:22   next_ARD_000_btime 16:10:00
     2018-06-05 16:19:22   next_ARD_000_desc Heute: Auf der Schulbank\nCelina von der Strausswachtel-Familie ist begeistert! Nicht nur wegen des knallroten Federschopfs von Papa oder wegen des grün schillernden Gefieders der Mama. Es sind die flauschigen Küken, die es Celina so angetan haben. Der Tiger Jegor und seine Frau Ahimsa müssen die Schulbank drücken: Anette trifft dazu die Vorkehrungen, denn Jegor lässt sich nur allzu leicht vom Unterricht ablenken
     2018-06-05 16:19:22   next_ARD_000_edate 2018-06-05
     2018-06-05 16:19:22   next_ARD_000_etime 17:00:00
     2018-06-05 16:19:22   next_ARD_000_stitle [Doku-Soap, Tiere] Geschichten aus dem Tierpark Hellabrunn (Staffel 8, Episode 13) (2018)
     2018-06-05 16:19:22   next_ARD_000_title Nashorn, Zebra &amp; Co.
     2018-06-05 16:19:22   next_ARD_001_bdate 2018-06-05
     2018-06-05 16:19:22   next_ARD_001_btime 17:00:00
     2018-06-05 16:19:22   next_ARD_001_desc Die Nachrichten der ARD produziert in HD
     2018-06-05 16:19:22   next_ARD_001_edate 2018-06-05
     2018-06-05 16:19:22   next_ARD_001_etime 17:15:00
     ARD_018_btime 02:30:00
         ZDF_074_edate 2018-06-07
     ZDF_074_etime 19:20:00
     ZDF_074_stitle (2018)
     ZDF_074_title heute
     ZDF_075_bdate 2018-06-07
     ZDF_075_btime 19:20:00
     ZDF_075_desc na
     ZDF_075_edate 2018-06-07
     ZDF_075_etime 19:25:00
     ZDF_075_stitle [Wetterbericht]  (2018)
     ZDF_075_title Wetter
     ZDF_lastIndex 0
Attributes:
   room       TV
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DarkT am 05 Juni 2018, 16:24:43
Zitat von: mumpitzstuff am 05 Juni 2018, 16:10:55
Ich glaube im Wiki ist der Pfad noch falsch angegeben. Ich kann jetzt leider nicht nachsehen aber vermutlich liegen bei mir die icons in einem extra Verzeichnis tv. Versuch mal die Rechte entsprechend dem wiki zu setzen:

sudo chown fhem:dialout *.png

und ersetze dann in der readingsgroup <%tv/ard> durch <%ard>.

Wenn es das ist, dann muss ich die Wiki Seite noch mal anpassen.

ich habe jetzt die Bilder mal unter:
/opt/fhem/www/images/default/tv/
abgelegt, dann gehts. Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DarkT am 05 Juni 2018, 17:43:35

{tvUpdatePrimetime('dmy_TV')}


fehlt noch.

Was anderes:
Bei den At-Befehlen im Wki stimmen die Zeiten nicht, oder?
Sollen die um 0:15,0:30,0:45 ausgeführtwerden?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 18:14:06
Eigentlich stimmen sie. Kannst du aber auch auf andere Zeiten legen bzw. die Abstände kleiner wählen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DarkT am 05 Juni 2018, 18:22:52
Zitat von: mumpitzstuff am 05 Juni 2018, 18:14:06
Eigentlich stimmen sie. Kannst du aber auch auf andere Zeiten legen bzw. die Abstände kleiner wählen.

Einer der Jobs läuft jede 15 minuten ... ich glaube Primetime (lt. Wiki)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 19:00:43
at_TV_UPDATE läuft alle 15min, um immer die aktuellen Sendungen zu sortieren. Das Update der Primtime läuft nur 1x am Tag genauso wie Parse. Download nur alle 3-4 Tage.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 05 Juni 2018, 19:05:23
Zitat von: DarkT am 05 Juni 2018, 17:43:35

{tvUpdatePrimetime('dmy_TV')}


fehlt noch.

Prime bleibt leer, im Dummy dmy_TV sind die Prime-Einträge aber drin:

ZitatInternals:
   DEF        <Sender>,<ab>,<Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>\
dmy_TV:<%tv/ard>,prime_ARD_000_btime,<{rgUnfold($DEVICE,'prime_ARD_000_')}@prime_ARD_000_title>,<|>,prime_ARD_001_btime,<{rgUnfold($DEVICE,'prime_ARD_001_')}@prime_ARD_001_title>,<|>,prime_ARD_002_btime,<{rgUnfold($DEVICE,'prime_ARD_002_')}@prime_ARD_002_title>\
dmy_TV:<%tv/zdf>,prime_ZDF_000_btime,<{rgUnfold($DEVICE,'prime_ZDF_000_')}@prime_ZDF_000_title>,<|>,prime_ZDF_001_btime,<{rgUnfold($DEVICE,'prime_ZDF_001_')}@prime_ZDF_001_title>,<|>,prime_ZDF_002_btime,<{rgUnfold($DEVICE,'prime_ZDF_002_')}@prime_ZDF_002_title>\
dmy_TV:<%tv/sat1>,prime_Sat1_000_btime,<{rgUnfold($DEVICE,'prime_Sat1_000_')}@prime_Sat1_000_title>,<|>,prime_Sat1_001_btime,<{rgUnfold($DEVICE,'prime_Sat1_001_')}@prime_Sat1_001_title>,<|>,prime_Sat1_002_btime,<{rgUnfold($DEVICE,'prime_Sat1_002_')}@prime_Sat1_002_title>\
dmy_TV:<%tv/rtl>,prime_RTL_000_btime,<{rgUnfold($DEVICE,'prime_RTL_000_')}@prime_RTL_000_title>,<|>,prime_RTL_001_btime,<{rgUnfold($DEVICE,'prime_RTL_001_')}@prime_RTL_001_title>,<|>,prime_RTL_002_btime,<{rgUnfold($DEVICE,'prime_RTL_002_')}@prime_RTL_002_title>\
dmy_TV:<%tv/rtl2>,prime_RTL2_000_btime,<{rgUnfold($DEVICE,'prime_RTL2_000_')}@prime_RTL2_000_title>,<|>,prime_RTL2_001_btime,<{rgUnfold($DEVICE,'prime_RTL2_001_')}@prime_RTL2_001_title>,<|>,prime_RTL2_002_btime,<{rgUnfold($DEVICE,'prime_RTL2_002_')}@prime_RTL2_002_title>\
dmy_TV:<%tv/pro7>,prime_Pro7_000_btime,<{rgUnfold($DEVICE,'prime_Pro7_000_')}@prime_Pro7_000_title>,<|>,prime_Pro7_001_btime,<{rgUnfold($DEVICE,'prime_Pro7_001_')}@prime_Pro7_001_title>,<|>,prime_Pro7_002_btime,<{rgUnfold($DEVICE,'prime_Pro7_002_')}@prime_Pro7_002_title>\
dmy_TV:<%tv/dmax>,prime_DMax_000_btime,<{rgUnfold($DEVICE,'prime_DMax_000_')}@prime_DMax_000_title>,<|>,prime_DMax_001_btime,<{rgUnfold($DEVICE,'prime_DMax_001_')}@prime_DMax_001_title>,<|>,prime_DMax_002_btime,<{rgUnfold($DEVICE,'prime_DMax_002_')}@prime_DMax_002_title>\
dmy_TV:<%tv/vox>,prime_Vox_000_btime,<{rgUnfold($DEVICE,'prime_Vox_000_')}@prime_Vox_000_title>,<|>,prime_Vox_001_btime,<{rgUnfold($DEVICE,'prime_Vox_001_')}@prime_Vox_001_title>,<|>,prime_Vox_002_btime,<{rgUnfold($DEVICE,'prime_Vox_002_')}@prime_Vox_002_title>\
dmy_TV:<%tv/kabel1>,prime_Kabel_000_btime,<{rgUnfold($DEVICE,'prime_Kabel_000_')}@prime_Kabel_000_title>,<|>,prime_Kabel_001_btime,<{rgUnfold($DEVICE,'prime_Kabel_001_')}@prime_Kabel_001_title>,<|>,prime_Kabel_002_btime,<{rgUnfold($DEVICE,'prime_Kabel_002_')}@prime_Kabel_002_title>
   NAME       rg_TV_PRIME
   NR         522
   NTFY_ORDER 50-rg_TV_PRIME
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   CONTENT:
   CONTENT2:
   DEVICES:
   fhem:
     lastDefChange 9
     last_update 1528209369.0694
   helper:
     DEF       
     cellStyle:
       r:1,c:1    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:2    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:3    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:5    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:6    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:8    style="color:yellow;;text-align:center;;font-weight:bold;;"
       r:1,c:9    style="color:yellow;;text-align:center;;font-weight:bold;;"
Attributes:
   cellStyle  {
  'r:1,c:1' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:2' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:3' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:5' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:6' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:8' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"',
  'r:1,c:9' => 'style="color:yellow;;text-align:center;;font-weight:bold;;"'
}
   group      TV Programm
   nonames    1
   room       TV
   style      style="font-size:16px;"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 21:28:09
Hier hast du genau die selben Probleme wie bei der anderen Readingsgroup:


<Sender>,<ab>,<Sendung>,<|>,<ab>,<Sendung>,<|>,<ab>,<Sendung>
dmy_TV:<%tv/ard>,prime_ARD_000_btime,<{rgUnfold($DEVICE,'prime_ARD_000_')}@prime_ARD_000_title>,<|>,prime_ARD_001_btime,<{rgUnfold($DEVICE,'prime_ARD_001_')}@prime_ARD_001_title>,<|>,prime_ARD_002_btime,<{rgUnfold($DEVICE,'prime_ARD_002_')}@prime_ARD_002_title>
dmy_TV:<%tv/zdf>,prime_ZDF_000_btime,<{rgUnfold($DEVICE,'prime_ZDF_000_')}@prime_ZDF_000_title>,<|>,prime_ZDF_001_btime,<{rgUnfold($DEVICE,'prime_ZDF_001_')}@prime_ZDF_001_title>,<|>,prime_ZDF_002_btime,<{rgUnfold($DEVICE,'prime_ZDF_002_')}@prime_ZDF_002_title>
dmy_TV:<%tv/sat1>,prime_Sat1_000_btime,<{rgUnfold($DEVICE,'prime_Sat1_000_')}@prime_Sat1_000_title>,<|>,prime_Sat1_001_btime,<{rgUnfold($DEVICE,'prime_Sat1_001_')}@prime_Sat1_001_title>,<|>,prime_Sat1_002_btime,<{rgUnfold($DEVICE,'prime_Sat1_002_')}@prime_Sat1_002_title>
dmy_TV:<%tv/rtl>,prime_RTL_000_btime,<{rgUnfold($DEVICE,'prime_RTL_000_')}@prime_RTL_000_title>,<|>,prime_RTL_001_btime,<{rgUnfold($DEVICE,'prime_RTL_001_')}@prime_RTL_001_title>,<|>,prime_RTL_002_btime,<{rgUnfold($DEVICE,'prime_RTL_002_')}@prime_RTL_002_title>
dmy_TV:<%tv/rtl2>,prime_RTL2_000_btime,<{rgUnfold($DEVICE,'prime_RTL2_000_')}@prime_RTL2_000_title>,<|>,prime_RTL2_001_btime,<{rgUnfold($DEVICE,'prime_RTL2_001_')}@prime_RTL2_001_title>,<|>,prime_RTL2_002_btime,<{rgUnfold($DEVICE,'prime_RTL2_002_')}@prime_RTL2_002_title>
dmy_TV:<%tv/pro7>,prime_Pro7_000_btime,<{rgUnfold($DEVICE,'prime_Pro7_000_')}@prime_Pro7_000_title>,<|>,prime_Pro7_001_btime,<{rgUnfold($DEVICE,'prime_Pro7_001_')}@prime_Pro7_001_title>,<|>,prime_Pro7_002_btime,<{rgUnfold($DEVICE,'prime_Pro7_002_')}@prime_Pro7_002_title>
dmy_TV:<%tv/dmax>,prime_DMax_000_btime,<{rgUnfold($DEVICE,'prime_DMax_000_')}@prime_DMax_000_title>,<|>,prime_DMax_001_btime,<{rgUnfold($DEVICE,'prime_DMax_001_')}@prime_DMax_001_title>,<|>,prime_DMax_002_btime,<{rgUnfold($DEVICE,'prime_DMax_002_')}@prime_DMax_002_title>
dmy_TV:<%tv/vox>,prime_Vox_000_btime,<{rgUnfold($DEVICE,'prime_Vox_000_')}@prime_Vox_000_title>,<|>,prime_Vox_001_btime,<{rgUnfold($DEVICE,'prime_Vox_001_')}@prime_Vox_001_title>,<|>,prime_Vox_002_btime,<{rgUnfold($DEVICE,'prime_Vox_002_')}@prime_Vox_002_title>
dmy_TV:<%tv/kabel1>,prime_Kabel_000_btime,<{rgUnfold($DEVICE,'prime_Kabel_000_')}@prime_Kabel_000_title>,<|>,prime_Kabel_001_btime,<{rgUnfold($DEVICE,'prime_Kabel_001_')}@prime_Kabel_001_title>,<|>,prime_Kabel_002_btime,<{rgUnfold($DEVICE,'prime_Kabel_002_')}@prime_Kabel_002_title>


Kopieren und bei dir wieder einfügen unter def bei den Internals.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 05 Juni 2018, 21:43:15
Gibts doch nicht, wie kommt das denn bitte?
Mehr als C&P kann man doch nicht machen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juni 2018, 21:56:55
Das Problem ist, dass ich das im Wiki im raw Format abgelegt hatte. Wenn man das nicht genauso importiert wie es dort beschrieben ist, dann entstehen solche Effekte.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 06 Juni 2018, 07:28:21
Achso, also erst Device anlegen, RAW unten einfügen und überschreiben lassen. Okay, das macht Sinn, wenn man es weiß  ;)
Ich danke  für  die Hilfe, erst mal funktioniert alles, jetzt fresse ich mich mal durch "Sender hinzufügen".

Grüße aus Ffm,
Toby


EDIT:
Hab mal von "Basic" auf "Common" umgestellt um meine Lieblingssender zu finden. Sowas wie SuperRTL und ONE sucht man scheinbar aber vergebens. Auch hat RTLNitro gar keine Primetime  ;D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag 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.

Will man aber die Sender erweitern und diese sind in der xml Datei vorhanden, dann muss man die Skripte anpassen und die entsprechenden Sender dort aufnehmen. Die Funktionen muss man dann erneut alle durchlaufen lassen (parse, update, update_prime) und auch noch die readingsgroups entsprechend erweitern.

Wenn du alle Sender haben willst, musst du dir die xml Dateien manuell erzeugen. Die entsprechenden Angaben dazu findest du im wiki. Das ist aber nicht trivial! Ich habe dazu das wiki gestern auch noch mal erweitern müssen, damit es überhaupt funktioniert. Ich selbst bin auch noch dran das fehlerfrei lauffähig zu kriegen und kämpfe momentan noch mit einigen Problemen. Ich würde dir deshalb davon abraten.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: accessburn am 06 Juni 2018, 13:07:34
Ja einiges fehlt, bei einigen fehlt auch nur eine Teilangabe :-)
Alles etwas komisch in diesem File, aber egal, ich bleibe am Ball und du hoffentlich auch. Danke für das Script und die Hilfe, jetzt wird erst mal ein Notify auf Star Trek gebastelt  :P
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: DarkT am 06 Juni 2018, 15:34:38
Zitat von: accessburn am 06 Juni 2018, 13:07:34
Ja einiges fehlt, bei einigen fehlt auch nur eine Teilangabe :-)
Alles etwas komisch in diesem File, aber egal, ich bleibe am Ball und du hoffentlich auch. Danke für das Script und die Hilfe, jetzt wird erst mal ein Notify auf Star Trek gebastelt  :P

Da wäre ich auch dran interessiert :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ToM_ToM am 04 August 2018, 12:31:55
Da ich immer wieder lese dass einige hier massive Probleme mit ihrem EPG haben, möchte ich mal meinen zur Verfügung stellen. Der läuft seit mittlerweile ca. 2 Jahren ohne Probleme.
Evtl. hilft es jemanden.

Aktuelles und kommendes Programm


defmod TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300
attr TV_Programme userattr DbLogExclude disable readingsName_ARD readingsName_ARD_Next readingsName_ARD_Nexttime readingsName_ARD_Thumbnail readingsName_BR readingsName_BR_Next readingsName_BR_Nexttime readingsName_BR_Thumbnail readingsName_DMAX readingsName_DMAX_Next readingsName_DMAX_Nexttime readingsName_DMAX_Thumbnail readingsName_DREISAT readingsName_DREISAT_Next readingsName_DREISAT_Nexttime readingsName_DREISAT_Thumbnail readingsName_HR readingsName_HR_Next readingsName_HR_Nexttime readingsName_HR_Thumbnail readingsName_KABEL1 readingsName_KABEL1_Next readingsName_KABEL1_Nexttime readingsName_KABEL1_Thumbnail readingsName_MDR readingsName_MDR_Next readingsName_MDR_Nexttime readingsName_MDR_Thumbnail readingsName_NDR readingsName_NDR_Next readingsName_NDR_Nexttime readingsName_NDR_Thumbnail readingsName_PRO7 readingsName_PRO7_Next readingsName_PRO7_Nexttime readingsName_PRO7_Thumbnail readingsName_RBB readingsName_RBB_Next readingsName_RBB_Nexttime readingsName_RBB_Thumbnail readingsName_RTL1 readingsName_RTL1_Next readingsName_RTL1_Nexttime readingsName_RTL1_Thumbnail readingsName_RTL2 readingsName_RTL2_Next readingsName_RTL2_Nexttime readingsName_RTL2_Thumbnail readingsName_RTLNITRO readingsName_RTLNITRO_Next readingsName_RTLNITRO_Nexttime readingsName_RTLNITRO_Thumbnail readingsName_SAT1 readingsName_SAT1GOLD readingsName_SAT1GOLD_Next readingsName_SAT1GOLD_Nexttime readingsName_SAT1GOLD_Thumbnail readingsName_SAT1_Next readingsName_SAT1_Nexttime readingsName_SAT1_Thumbnail readingsName_SIEBENMAX readingsName_SIEBENMAX_Next readingsName_SIEBENMAX_Nexttime readingsName_SIEBENMAX_Thumbnail readingsName_SIXX readingsName_SIXX_Next readingsName_SIXX_Nexttime readingsName_SIXX_Thumbnail readingsName_SUPERRTL readingsName_SUPERRTL_Next readingsName_SUPERRTL_Nexttime readingsName_SUPERRTL_Thumbnail readingsName_SWR readingsName_SWR_Next readingsName_SWR_Nexttime readingsName_SWR_Thumbnail readingsName_TELE5 readingsName_TELE5_Next readingsName_TELE5_Nexttime readingsName_TELE5_Thumbnail readingsName_VOX readingsName_VOX_Next readingsName_VOX_Nexttime readingsName_VOX_Thumbnail readingsName_WDR readingsName_WDR_Next readingsName_WDR_Nexttime readingsName_WDR_Thumbnail readingsName_ZDF1 readingsName_ZDF1_Next readingsName_ZDF1_Nexttime readingsName_ZDF1_Thumbnail readingsName_ZDFNEO readingsName_ZDFNEO_Next readingsName_ZDFNEO_Nexttime readingsName_ZDFNEO_Thumbnail readingsRegex_ARD readingsRegex_ARD_Next readingsRegex_ARD_Nexttime readingsRegex_ARD_Thumbnail readingsRegex_BR readingsRegex_BR_Next readingsRegex_BR_Nexttime readingsRegex_BR_Thumbnail readingsRegex_DMAX readingsRegex_DMAX_Next readingsRegex_DMAX_Nexttime readingsRegex_DMAX_Thumbnail readingsRegex_DREISAT readingsRegex_DREISAT_Next readingsRegex_DREISAT_Nexttime readingsRegex_DREISAT_Thumbnail readingsRegex_HR readingsRegex_HR_Next readingsRegex_HR_Nexttime readingsRegex_HR_Thumbnail readingsRegex_KABEL1 readingsRegex_KABEL1_Next readingsRegex_KABEL1_Nexttime readingsRegex_KABEL1_Thumbnail readingsRegex_MDR readingsRegex_MDR_Next readingsRegex_MDR_Nexttime readingsRegex_MDR_Thumbnail readingsRegex_NDR readingsRegex_NDR_Next readingsRegex_NDR_Nexttime readingsRegex_NDR_Thumbnail readingsRegex_PRO7 readingsRegex_PRO7_Next readingsRegex_PRO7_Nexttime readingsRegex_PRO7_Thumbnail readingsRegex_RBB readingsRegex_RBB_Next readingsRegex_RBB_Nexttime readingsRegex_RBB_Thumbnail readingsRegex_RTL1 readingsRegex_RTL1_Next readingsRegex_RTL1_Nexttime readingsRegex_RTL1_Thumbnail readingsRegex_RTL2 readingsRegex_RTL2_Next readingsRegex_RTL2_Nexttime readingsRegex_RTL2_Thumbnail readingsRegex_RTLNITRO readingsRegex_RTLNITRO_Next readingsRegex_RTLNITRO_Nexttime readingsRegex_RTLNITRO_Thumbnail readingsRegex_SAT1 readingsRegex_SAT1GOLD readingsRegex_SAT1GOLD_Next readingsRegex_SAT1GOLD_Nexttime readingsRegex_SAT1GOLD_Thumbnail readingsRegex_SAT1_Next readingsRegex_SAT1_Nexttime readingsRegex_SAT1_Thumbnail readingsRegex_SIEBENMAX readingsRegex_SIEBENMAX_Next readingsRegex_SIEBENMAX_Nexttime readingsRegex_SIEBENMAX_Thumbnail readingsRegex_SIXX readingsRegex_SIXX_Next readingsRegex_SIXX_Nexttime readingsRegex_SIXX_Thumbnail readingsRegex_SUPERRTL readingsRegex_SUPERRTL_Next readingsRegex_SUPERRTL_Nexttime readingsRegex_SUPERRTL_Thumbnail readingsRegex_SWR readingsRegex_SWR_Next readingsRegex_SWR_Nexttime readingsRegex_SWR_Thumbnail readingsRegex_TELE5 readingsRegex_TELE5_Next readingsRegex_TELE5_Nexttime readingsRegex_TELE5_Thumbnail readingsRegex_VOX readingsRegex_VOX_Next readingsRegex_VOX_Nexttime readingsRegex_VOX_Thumbnail readingsRegex_WDR readingsRegex_WDR_Next readingsRegex_WDR_Nexttime readingsRegex_WDR_Thumbnail readingsRegex_ZDF1 readingsRegex_ZDF1_Next readingsRegex_ZDF1_Nexttime readingsRegex_ZDF1_Thumbnail readingsRegex_ZDFNEO readingsRegex_ZDFNEO_Next readingsRegex_ZDFNEO_Nexttime readingsRegex_ZDFNEO_Thumbnail stateFormat timeout verbose
attr TV_Programme DbLogExclude .*
attr TV_Programme disable 0
attr TV_Programme enableControlSet 1
attr TV_Programme readingsName_ARD ARD
attr TV_Programme readingsName_ARD_Next ARD_Next
attr TV_Programme readingsName_ARD_Nexttime ARD_Nexttime
attr TV_Programme readingsName_ARD_Thumbnail ARD_Thumbnail
attr TV_Programme readingsName_BR BR
attr TV_Programme readingsName_BR_Next BR_Next
attr TV_Programme readingsName_BR_Nexttime BR_Nexttime
attr TV_Programme readingsName_BR_Thumbnail BR_Thumbnail
attr TV_Programme readingsName_DMAX DMAX
attr TV_Programme readingsName_DMAX_Next DMAX_Next
attr TV_Programme readingsName_DMAX_Nexttime DMAX_Nexttime
attr TV_Programme readingsName_DMAX_Thumbnail DMAX_Thumbnail
attr TV_Programme readingsName_DREISAT DREISAT
attr TV_Programme readingsName_DREISAT_Next DREISAT_Next
attr TV_Programme readingsName_DREISAT_Nexttime DREISAT_Nexttime
attr TV_Programme readingsName_DREISAT_Thumbnail DREISAT_Thumbnail
attr TV_Programme readingsName_HR HR
attr TV_Programme readingsName_HR_Next HR_Next
attr TV_Programme readingsName_HR_Nexttime HR_Nexttime
attr TV_Programme readingsName_HR_Thumbnail HR_Thumbnail
attr TV_Programme readingsName_KABEL1 KABEL1
attr TV_Programme readingsName_KABEL1_Next KABEL1_Next
attr TV_Programme readingsName_KABEL1_Nexttime KABEL1_Nexttime
attr TV_Programme readingsName_KABEL1_Thumbnail KABEL1_Thumbnail
attr TV_Programme readingsName_MDR MDR
attr TV_Programme readingsName_MDR_Next MDR_Next
attr TV_Programme readingsName_MDR_Nexttime MDR_Nexttime
attr TV_Programme readingsName_MDR_Thumbnail MDR_Thumbnail
attr TV_Programme readingsName_NDR NDR
attr TV_Programme readingsName_NDR_Next NDR_Next
attr TV_Programme readingsName_NDR_Nexttime NDR_Nexttime
attr TV_Programme readingsName_NDR_Thumbnail NDR_Thumbnail
attr TV_Programme readingsName_PRO7 PRO7
attr TV_Programme readingsName_PRO7_Next PRO7_Next
attr TV_Programme readingsName_PRO7_Nexttime PRO7_Nexttime
attr TV_Programme readingsName_PRO7_Thumbnail PRO7_Thumbnail
attr TV_Programme readingsName_RBB RBB
attr TV_Programme readingsName_RBB_Next RBB_Next
attr TV_Programme readingsName_RBB_Nexttime RBB_Nexttime
attr TV_Programme readingsName_RBB_Thumbnail RBB_Thumbnail
attr TV_Programme readingsName_RTL1 RTL1
attr TV_Programme readingsName_RTL1_Next RTL1_Next
attr TV_Programme readingsName_RTL1_Nexttime RTL1_Nexttime
attr TV_Programme readingsName_RTL1_Thumbnail RTL1_Thumbnail
attr TV_Programme readingsName_RTL2 RTL2
attr TV_Programme readingsName_RTL2_Next RTL2_Next
attr TV_Programme readingsName_RTL2_Nexttime RTL2_Nexttime
attr TV_Programme readingsName_RTL2_Thumbnail RTL2_Thumbnail
attr TV_Programme readingsName_RTLNITRO RTLNITRO
attr TV_Programme readingsName_RTLNITRO_Next RTLNITRO_Next
attr TV_Programme readingsName_RTLNITRO_Nexttime RTLNITRO_Nexttime
attr TV_Programme readingsName_RTLNITRO_Thumbnail RTLNITRO_Thumbnail
attr TV_Programme readingsName_SAT1 SAT1
attr TV_Programme readingsName_SAT1GOLD SAT1GOLD
attr TV_Programme readingsName_SAT1GOLD_Next SAT1GOLD_Next
attr TV_Programme readingsName_SAT1GOLD_Nexttime SAT1GOLD_Nexttime
attr TV_Programme readingsName_SAT1GOLD_Thumbnail SAT1GOLD_Thumbnail
attr TV_Programme readingsName_SAT1_Next SAT1_Next
attr TV_Programme readingsName_SAT1_Nexttime SAT1_Nexttime
attr TV_Programme readingsName_SAT1_Thumbnail SAT1_Thumbnail
attr TV_Programme readingsName_SIEBENMAX SIEBENMAX
attr TV_Programme readingsName_SIEBENMAX_Next SIEBENMAX_Next
attr TV_Programme readingsName_SIEBENMAX_Nexttime SIEBENMAX_Nexttime
attr TV_Programme readingsName_SIEBENMAX_Thumbnail SIEBENMAX_Thumbnail
attr TV_Programme readingsName_SIXX SIXX
attr TV_Programme readingsName_SIXX_Next SIXX_Next
attr TV_Programme readingsName_SIXX_Nexttime SIXX_Nexttime
attr TV_Programme readingsName_SIXX_Thumbnail SIXX_Thumbnail
attr TV_Programme readingsName_SUPERRTL SUPERRTL
attr TV_Programme readingsName_SUPERRTL_Next SUPERRTL_Next
attr TV_Programme readingsName_SUPERRTL_Nexttime SUPERRTL_Nexttime
attr TV_Programme readingsName_SUPERRTL_Thumbnail SUPERRTL_Thumbnail
attr TV_Programme readingsName_SWR SWR
attr TV_Programme readingsName_SWR_Next SWR_Next
attr TV_Programme readingsName_SWR_Nexttime SWR_Nexttime
attr TV_Programme readingsName_SWR_Thumbnail SWR_Thumbnail
attr TV_Programme readingsName_TELE5 TELE5
attr TV_Programme readingsName_TELE5_Next TELE5_Next
attr TV_Programme readingsName_TELE5_Nexttime TELE5_Nexttime
attr TV_Programme readingsName_TELE5_Thumbnail TELE5_Thumbnail
attr TV_Programme readingsName_VOX VOX
attr TV_Programme readingsName_VOX_Next VOX_Next
attr TV_Programme readingsName_VOX_Nexttime VOX_Nexttime
attr TV_Programme readingsName_VOX_Thumbnail VOX_Thumbnail
attr TV_Programme readingsName_WDR WDR
attr TV_Programme readingsName_WDR_Next WDR_Next
attr TV_Programme readingsName_WDR_Nexttime WDR_Nexttime
attr TV_Programme readingsName_WDR_Thumbnail WDR_Thumbnail
attr TV_Programme readingsName_ZDF1 ZDF1
attr TV_Programme readingsName_ZDF1_Next ZDF1_Next
attr TV_Programme readingsName_ZDF1_Nexttime ZDF1_Nexttime
attr TV_Programme readingsName_ZDF1_Thumbnail ZDF1_Thumbnail
attr TV_Programme readingsName_ZDFNEO ZDFNEO
attr TV_Programme readingsName_ZDFNEO_Next ZDFNEO_Next
attr TV_Programme readingsName_ZDFNEO_Nexttime ZDFNEO_Nexttime
attr TV_Programme readingsName_ZDFNEO_Thumbnail ZDFNEO_Thumbnail
attr TV_Programme readingsRegex_ARD title="Das Erste"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Next title="Das Erste"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ARD_Nexttime title="Das Erste"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ARD_Thumbnail title="Das Erste"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_BR title="Bayern"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Next title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_BR_Nexttime title="Bayern"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_BR_Thumbnail title="Bayern"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_DMAX title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Next title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DMAX_Nexttime title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DMAX_Thumbnail title="DMAX"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_DREISAT title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Next title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_DREISAT_Nexttime title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_DREISAT_Thumbnail title="3sat"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_HR title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Next title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_HR_Nexttime title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_HR_Thumbnail title="HR"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_KABEL1 title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_KABEL1_Next title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_KABEL1_Nexttime title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_KABEL1_Thumbnail title="Kabel eins"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_MDR title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDR_Next title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_MDR_Nexttime title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_MDR_Thumbnail title="MDR"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_NDR title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Next title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_NDR_Nexttime title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_NDR_Thumbnail title="NDR"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_PRO7 title="Pro7"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_PRO7_Next title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_PRO7_Nexttime title="Pro7"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_PRO7_Thumbnail title="Pro7"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_RBB title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Next title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RBB_Nexttime title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RBB_Thumbnail title="RBB"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_RTL1 title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL1_Next title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL1_Nexttime title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL1_Thumbnail title="RTL"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_RTL2 title="RTL 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Next title="RTL 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTL2_Nexttime title="RTL 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTL2_Thumbnail title="RTL 2"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_RTLNITRO title="RTL NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Next title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_RTLNITRO_Nexttime title="RTL NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_RTLNITRO_Thumbnail title="RTL NITRO"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_SAT1 title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD title="SAT.1 Gold"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Next title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1GOLD_Nexttime title="SAT.1 Gold"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SAT1GOLD_Thumbnail title="SAT.1 Gold"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_SAT1_Next title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SAT1_Nexttime title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SAT1_Thumbnail title="SAT.1"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_SIEBENMAX title="ProSieben MAXX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIEBENMAX_Next title="ProSieben MAXX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIEBENMAX_Nexttime title="ProSieben MAXX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SIEBENMAX_Thumbnail title="ProSieben MAXX"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_SIXX title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Next title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SIXX_Nexttime title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SIXX_Thumbnail title="sixx"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_SUPERRTL title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Next title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SUPERRTL_Nexttime title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SUPERRTL_Thumbnail title="Super RTL"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_SWR title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Next title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_SWR_Nexttime title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_SWR_Thumbnail title="SWR RP"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_TELE5 title="TELE 5"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Next title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_TELE5_Nexttime title="TELE 5"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_TELE5_Thumbnail title="TELE 5"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_VOX title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Next title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_VOX_Nexttime title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_VOX_Thumbnail title="VOX"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_WDR title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Next title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_WDR_Nexttime title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_WDR_Thumbnail title="WDR"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_ZDF1 title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDF1_Next title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDF1_Nexttime title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDF1_Thumbnail title="ZDF"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme readingsRegex_ZDFNEO title="ZDF neo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Next title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*</a>
attr TV_Programme readingsRegex_ZDFNEO_Nexttime title="ZDF neo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme readingsRegex_ZDFNEO_Thumbnail title="ZDF neo"><img[\w\W]*?<img class="epgImage" src="(.*)" alt=
attr TV_Programme room EPG
attr TV_Programme stateFormat mein_TV_programm: ARD_Next
attr TV_Programme timeout 20
attr TV_Programme verbose 1


Und hier die zugehörige ReadingsGroup:


defmod TV_Programm_Next readingsGroup <Sender>,<Aktuelle Sendung>,<Start Zeit>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF1,ZDF1_Nexttime,ZDF1_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:KABEL1,KABEL1_Nexttime,KABEL1_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:RTL1,RTL1_Nexttime,RTL1_Next \
TV_Programme:SAT1,SAT1_Nexttime,SAT1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:PRO7,PRO7_Nexttime,PRO7_Next \
TV_Programme:ZDFNEO,ZDFNEO_Nexttime,ZDFNEO_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SAT1GOLD,SAT1GOLD_Nexttime,SAT1GOLD_Next \
TV_Programme:SIEBENMAX,SIEBENMAX_Nexttime,SIEBENMAX_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next \
TV_Programme:TELE5,TELE5_Nexttime,TELE5_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:BR,BR_Nexttime,BR_Next \
TV_Programme:HR,HR_Nexttime,HR_Next \
TV_Programme:MDR,MDR_Nexttime,MDR_Next \
TV_Programme:NDR,NDR_Nexttime,NDR_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:WDR,WDR_Nexttime,WDR_Next \
TV_Programme:DREISAT,DREISAT_Nexttime,DREISAT_Next
attr TV_Programm_Next DbLogExclude .*
attr TV_Programm_Next alias TV_Programm
attr TV_Programm_Next nameIcon { ARD => 'ARD', ZDF1 => 'ZDF', SUPERRTL => 'SuperRTL', KABEL1 => 'Kabel1', RTL2 => 'RTL2', RTL1 => 'RTL', SAT1 => 'Sat1', VOX => 'VOX', PRO7 => 'Pro7', ZDFNEO => 'ZDFneo', RTLNITRO => 'RTLnitro', SAT1GOLD => 'Sat1_gold', SIEBENMAX => 'Pro7maxx', SIXX => 'SIXX', TELE5 => 'Tele5', DMAX => 'DMAX', BR => 'BR', HR => 'HR', MDR => 'MDR', NDR => 'NDR', RBB => 'RBB', SWR => 'SWR', WDR => 'WDR', DREISAT => '3SAT' }
attr TV_Programm_Next nameStyle style="font-weight:bold"
attr TV_Programm_Next notime 1
attr TV_Programm_Next room EPG
attr TV_Programm_Next style style="font-size:18px"


VG, Thomas
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 04 August 2018, 22:26:40
Rechne dir doch mal den Traffic aus, den du damit pro Monat erzeugst...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 07 August 2018, 20:01:13
Die Sache mit dem Traffic habe ich für mich so gelöst: Da das Programm bei mir nur im Tablet UI angezeigt wird, rufe ich das aktuelle Programm nur auf Knopfdruck auf und nicht in automatischen Intervallen.

Macht auch nicht mehr Traffic, als wenn ich die Seite bei Interesse aufrufe. Alle anderen Lösungen (so gut sie auch im Wiki dokumentiert sind) funktionieren bei mir entweder nicht oder liefern mir nicht die Sender, die ich sehen will.

Hier sind, falls es jemanden interessiert, noch zwei Regex für die Details von Sendungen:

Aktuelle Sendung (vielen Dank dafür an Torsten_MG): title="Kabel eins Classics">[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)\s*<\/div

Nächste Sendung: title="Kabel eins Classics">[\w\W]*?<div class="content">[\w\W]*?<div class="content">\s*<a[\w\W]*?>[\w\W]*?<\/a>\s*<br\/>\s*(.*?)\s*<\/div
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 07 August 2018, 20:09:33
Zitat von: MartinaM am 07 August 2018, 20:01:13
Die Sache mit dem Traffic habe ich für mich so gelöst: Da das Programm bei mir nur im Tablet UI angezeigt wird, rufe ich das aktuelle Programm nur auf Knopfdruck auf und nicht in automatischen Intervallen.

Macht auch nicht mehr Traffic, als wenn ich die Seite bei Interesse aufrufe.

Zitat
defmod TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 300

Das ruft doch (ob du es sehen willst oder nicht) alle 5min die Seite auf...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ToM_ToM am 07 August 2018, 20:26:28
ZitatDas ruft doch (ob du es sehen willst oder nicht) alle 5min die Seite auf...
Das kann doch jeder für sich individuell einstellen....

Ich habe da für mich noch extra notifys die den DEFMOD bei Abwesenheit und Schlaf deaktivieren.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 07 August 2018, 20:34:52
Ich wollte das nur mal anmerken, weil sich genau dieser Anbieter beim FHEM Verein darüber beschwert hat, das einige wenige FHEM User seinen Server enorm belasten würden und viele Terrabyte an Traffic verursachen (das kostet den Anbieter Geld). Das war der Anlass httpUtils mit einer Möglichkeit auszustatten, die Daten zu komprimieren, um das Problem für diesen Anbieter abzumildern.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 07 August 2018, 20:48:55
Man kann auch das Intervall auf 0 stellen und sich dann mit get Befehlen bei Bedarf die Readings holen. Oder man legt sich auf der Klack Seite einen User an und definiert sich auf seine Senderauswahl einfach einen iFrame:

define wl_TV weblink iframe <Webseite des TV Programmanbieters z.B. http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html>

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: FHEM-Wohnung am 25 August 2018, 07:03:41
Hallo,

ich habe Variante 2 aus dem WIKI https://wiki.fhem.de/wiki/TV_Programm ausgeführt. Leider funktioniert dies nicht. Im Ordner /opt/fhem/tv befindet sich auch keine xml Datei.

Module installiert
Rechte für den Ordner sind vorhanden.
Code in 99_myUtils.pm eingefügt
Dummys manuell mit Daten gefüllt

Danke
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 01 September 2018, 14:30:21
Du musst erst einmal tvDownload() ausführen. Dadurch muss auch eine entsprechende Datei in dem Verzeichnis erzeugt werden. Ruf dazu mal das in der Fhem Kommandozeile auf:

{tvDownload()}

Wenn das nicht funktioniert, dann entferne mal die # vor den Print Anweisungen in der Funktion. Das sollte dir dann sagen was schief geht.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: trinitywhm am 03 September 2018, 15:23:36
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?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 03 September 2018, 16:55:06
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...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 September 2018, 00:03:18
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
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 September 2018, 00:16:50
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.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: BillyPbg am 24 September 2018, 11:34:12
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
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 24 September 2018, 12:10:13
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.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: BillyPbg am 25 September 2018, 08:38:00
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
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 25 September 2018, 23:04:00
Danke. Hab's dem Wiki hinzugefügt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag 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 ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 10 Oktober 2018, 16:04:05
http://niklabs.com/faq/ (http://niklabs.com/faq/)

Weiter unten gibts ne Liste...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: BillyPbg am 10 Oktober 2018, 16:49:12
Danke - für läuft und läuft und läuft...

Gesendet von meinem SM-G900F mit Tapatalk

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: trinitywhm am 20 Oktober 2018, 09:35:48
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?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 20 Oktober 2018, 12:46:41
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.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: BillyPbg am 20 Oktober 2018, 14:04:37
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

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 20 Oktober 2018, 23:22:00
Ich habe mal folgende Alternativen zusammen getragen:

http://www.vuplus-community.net/rytec/rytecDE_Basic.xz (http://www.vuplus-community.net/rytec/rytecDE_Basic.xz)
http://www.xmltvepg.nl/rytecDE_Basic.xz (http://www.xmltvepg.nl/rytecDE_Basic.xz)
http://91.121.106.172/~rytecepg/epg_data/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.vuplus-community.net/rytec/rytecDE_Common.xz)
http://www.xmltvepg.nl/rytecDE_Common.xz (http://www.xmltvepg.nl/rytecDE_Common.xz)
http://91.121.106.172/~rytecepg/epg_data/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.vuplus-community.net/rytec/rytecDE_SportMovies.xz)
http://www.xmltvepg.nl/rytecDE_SportMovies.xz (http://www.xmltvepg.nl/rytecDE_SportMovies.xz)
http://91.121.106.172/~rytecepg/epg_data/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/CDWiVb)
https://goo.gl/uhgcBA (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)
http://epg.koditvepg2.com/DE/guide.xml.gz (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.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 20 Dezember 2018, 12:26:09
Hi,

hättest du auch einen fertigen Code für TabletUI?

Danke und Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 20 Dezember 2018, 12:46:13
Von der Oberfläche habe ich leider keine Ahnung. Es war mir bisher zu aufwendig, mich damit zu beschäftigen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: rasti am 20 Dezember 2018, 13:55:49
Zitat von: Kusselin am 20 Dezember 2018, 12:26:09
Hi,

hättest du auch einen fertigen Code für TabletUI?

Danke und Gruss

Ich hab bei meinem TableUI einfach einen iframe eingebunden

<li data-row="2" data-col="2" data-sizex="7" data-sizey="4" class="semitransparent">
<header>TV</header>
<div class="embed-container">
    <iframe width=1000px  height=580px src="https://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/-1/free.html" frameborder="0" ></iframe>
</div>
</li>

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 20 Dezember 2018, 14:08:49
O.K. Danke Dir
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 14 Januar 2019, 22:44:27
@mumpitzstuff: Könnte es sein das Das Modul TV Programm "Cannot fork" erzeugt?? Also nicht nur alleine..das Modul..

Ich bin gerade am testen...
Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 15 Januar 2019, 08:55:33
Es kommt drauf an, welche Version des Skriptes du verwendest. Bei der alten Version wurde eine Funktion einer Library verwendet, die Speicher angefordert und nicht mehr freigegeben hat (das hatte nichts mit meinem Code zu tun). Mit dem aktuellen Skript habe ich eine andere Funktion derselben Library verwendet, bei der das nicht mehr vorkommt. Außerdem ist hier auch der allgemeine Speicher Footprint wesentlich geringer. Welche XML::Bare Funktion verwendet denn dein aktuell verwendetes Skript?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 15 Januar 2019, 21:02:54
so..lt wiki die variante 2 gewählt ..das komplette wiki abgearbeitet und es hat bis auf das das der dummy_ty ??? anzeigt..hier das list:
Internals:
   CFGFN     
   NAME       dmy_TV
   NR         357
   STATE      ???
   TYPE       dummy
Attributes:


und die Datei rytecDE_Basic gibt es bei mir auch und wenn ich die mit rechten in der Konsole versehen will dann kommt das:
pi@raspberrypi:~ $ sudo chown fhem:dialout /opt/fhem/tv/rytecDE_Basic
chown: Zugriff auf '/opt/fhem/tv/rytecDE_Basic' nicht möglich: Datei oder Verzeichnis nicht gefunden


das steht im Log:
an't locate object method "parse" via package "0" (perhaps you forgot to load "0"?) at /opt/fhem/tv/tv.pl line 58.

ansonsten hat alles gepasst....die sender werden jetzt natürlcih nicht gefüllt.

Über ne Info was danke.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 15 Januar 2019, 23:06:21
Da steht ganz klar das die Datei nicht gefunden wird. Guck dir bitte an, ob das Verzeichnis /opt/fhem/tv existiert und welche Rechte gesetzt sind.

ls -l

Dann muss in diesem Verzeichnis die besagte Datei existieren und auch hier müssen die Rechte gesetzt sein.

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 18 Januar 2019, 08:56:55
Ist das Problem behoben?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 18 Januar 2019, 09:04:02
Hi, noch nicht dazugekommen..melde mich..
Ne frage..diese datei..die angeblich nicht vorhanden ist, erzeugt sich von selbst..richtig?
Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 18 Januar 2019, 10:41:48
eigentlich schon, wenn das at das die entsprechende funktion aufruft, auch entsprechend existiert und ausgeführt wird. das tv verzeichnis muss auch die richtigen rechte besitzen und vor allem auch das tv.pl script, da sonst alle aufrufe zum scheitern verurteilt sind.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 13:55:37
Hi,
ich scheitere schon lt. Wiki hier:

Danach muss die entstandene Datei /opt/fhem/tv/rytecDE_Basic mit den richtigen Rechten ausgestattet werden:

sudo chown fhem:dialout /opt/fhem/tv/rytecDE_Basic


wenn ich perl /opt/fhem/tv/tv.pl dmy_TV download eingebe in der Konsole eingebe dann ist aber nicht die Datei rytecDE_Basic vorhanden und wenn ich dann sudo chown fhem:dialout /opt/fhem/tv/rytecDE_Basic eingebe dann kommt auf der Konsole...klat diese Ausgabe:
pi@raspberrypi:~ $ sudo chown fhem:dialout /opt/fhem/tv/rytecDE_Basic
chown: Zugriff auf '/opt/fhem/tv/rytecDE_Basic' nicht möglich: Datei oder Verzeichnis nicht gefunden


das ist typisch für mich...nix kann mal in normal laufen..immer is was :'(

hast du noch einen Tipp was ich machen lann?

Die tv.pl Datei lege ich mit Notepad++ an und speichere sie als normales Textfile ab...stimmt doch,oder?

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 14:20:39
EDIT: bzw. kommt beim Ausführen des "perl-Aufrufes" ein Fehler!? Bzw. steht was im fhem-Log?


Du kannst vermutlich auch folgendes in fhem-WEB-Cmd eingeben:


{tvDownload()}


Vermutlich muss es heißen:

   
perl /opt/fhem/tv/tv.pl set dmy_TV download


Oder du "gehst" in die tvDownload sub und führst alle kommandos (alles innerhalb qx('   ')  ) auf der Linux-Console aus...

Aber wie immer: VOR dem einfach reinklopfen nochmal NACHDENKEN! ;)

Ich hab nur mal schnell drüber gekuckt...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 16:53:14
Hi..so jetzt muss ich sber auch msl sagen..ihr lest nicht richtig.. :D

Ich scheitere ja schon beim anlegen der Datei rytecDB...

Die Datei ist gar nicht da..

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 17:03:39
Doch schon richtig gelesen aber du vermutlich nicht was ich geschrieben habe ;)

Weil zumindest das die Funktion macht, also die Datei "holen" und "anlegen":


sub tvDownload()
{
  # other server
  # 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
  my $output = qx(wget http://www.vuplus-community.net/rytec/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
  $output = qx(xz -df /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
}



  my $output = qx(wget http://www.vuplus-community.net/rytec/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
...
  $output = qx(xz -df /opt/fhem/tv/rytecDE_Basic.xz 2>&1);


Und vermutlich wird die Sub aufgerufen, wenn der Dummy auf Download gesetzt wird (habe ich aber jetzt nicht im Detail verfolgt)...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 18:43:00
Hi Joachim,

wenn ich {tvDownload()} eingebe in die WEb zeile von Fhem kommt:

Undefined subroutine &main::tvDownload called at (eval 6624) line 1.

Gruss

EDIT: dann stimmt doch aber das Wiki nicht!! Ich gehe genauso vor!!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 19:06:43
Hast du die Sub auch in der myUtils!?

Wie hast du sie in die myUtils rein?

reload myUtils.pm gemacht?
(Name nat. anpassen!)

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 19:19:39
Hallo Joachim..ich habe das Hier so in die 99_myUtils reinkopiert

######################TV Programm ####################################

sub rgUnfold($$)
{
  my ($device, $reading) = @_;
  my $title = ReadingsVal($device, $reading.'title', 'na');
  my $desc = ReadingsVal($device, $reading.'stitle', 'na')."\n\n".
             ReadingsVal($device, $reading.'desc', 'na');

  $title =~ s/(.{1,45}|\S{46,})(?:\s[^\S\r\n]*|\Z)/$1<br>/g;
  $desc =~ s/<br>/\n/g;
  $desc =~ s/(.{1,65}|\S{66,})(?:\s[^\S\r\n]*|\Z)/$1<br>/g;
  $desc =~ s/[\r\'\"]/ /g;
  $desc =~ s/[\n]|\\n/<br>/g;
  return "<a href=\"#!\" onclick=\"FW_okDialog('".$desc."')\">".$title."</a>";
}


wie im wiki beschrieben

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 19:32:15
Ah die Funktion kommt in eine eigene pm-Datei...

Aber auch die muss "geladen" werden...

Ah, ok, sorry.

Aber die pm-Datei hast du angelegt:


/opt/fhem/tv/tv.pl


Weil dann hiermit der download erfolgt:


perl /opt/fhem/tv/tv.pl dmy_TV download


Hab das Wiki etc. nur auf dem Handy "überflogen"... ;)

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 19:36:43
Ja wie jetzt??? muss ich eine eigene Datei anlegen????

ja habe mit Notepad++ eine tv.pl Datei gemacht und abgespeichert als text.file dann habe ich die in den Ordner

/opt/fhem/tv/ kopiert...dann in cd /opt/fhem/tv und dann

sudo chown fhem:dialout /opt/fhem/tv über Konsole....

darin die .pngs auch noch mit rechten versetzt...werden auch angezeigt..aber die verflixte datei die noch im tv ordner drin sein muss bzw. die sich ergibt wenn man downloaded die geht nicht bzw der download funzt net :-(

Gruss
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 19:44:50
Warum machst du (immer) nur so ähnlich wie geschrieben!? ;)

Und ja: steht doch im Wiki

Zitat
Perl Script einrichten:
Den folgenden Code in die Datei tv.pl kopieren und in den Ordner /opt/fhem/tv/tv.pl kopieren:

Und dann kommt das Script...

Warum Notepad++!?
(Gut besser als wie Notepad etc. ;)  )

Warum "txt-Datei"?

Es soll eine .pl-Datei sein und ausführbar...

Was sagt denn:


ls- la /opt/fhem/tv/


EDIT: Und egal wie, kann ich nicht glauben, dass bei "perl /opt/fhem/tv/tv.pl dmy_TV download" kein Fehler kam...

EDIT2: du machst aber schon Variante 2!?

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 19:58:14
dann kommt:
pi@raspberrypi:~ $ ls- la /opt/fhem/tv/
-bash: ls-: Kommando nicht gefunden.


und ich mach das mit dem Script so, weil ich mir noch nicht so sicher bin mit den Linux befehlen auf der Konsole.....

und dann kommt bei perl /opt/fhem/tv/tv.pl dmy_TV download

pi@raspberrypi:~ $ perl /opt/fhem/tv/tv.pl dmy_TV download
pi@raspberrypi:~ $


der prompt wieder.....

kann man mit Notepad++ eine .pl speichern?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 20:00:51
Oh entschuldige!

Mann, langsam könntest du schon mal etwas Linux können, ist ja nicht das erste Mal dass du einen Verzeichnisanzeige-Befehl benutzt! ;)

Und wie immer: bevor du etwas in die Console kloppfst darfst du schon mitdenken...

Der Befehl lautet natürlich:


ls -la /opt/fhem/tv/


Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 20:06:09
pi@raspberrypi:~ $ ls -la /opt/fhem/tv/
insgesamt 16
drwxr-xr-x  2 fhem dialout 4096 Jan 19 13:48 .
drwxr-xr-x 14 fhem dialout 4096 Jan 19 15:02 ..
-rwxr--r--  1 fhem dialout 7878 Jan 19 13:48 tv.pl
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 20:07:20
Zitat von: Kusselin am 19 Januar 2019, 19:58:14
und ich mach das mit dem Script so, weil ich mir noch nicht so sicher bin mit den Linux befehlen auf der Konsole.....

Wird aber schon langsam Zeit ;)


Zitat von: Kusselin am 19 Januar 2019, 19:58:14
und dann kommt bei perl /opt/fhem/tv/tv.pl dmy_TV download

pi@raspberrypi:~ $ perl /opt/fhem/tv/tv.pl dmy_TV download
pi@raspberrypi:~ $


der prompt wieder.....

Hm, eigenartig...
Weil es sind ja (theoretisch) schon ein paar Ausgaben eingebaut..


Zitat von: Kusselin am 19 Januar 2019, 19:58:14
kann man mit Notepad++ eine .pl speichern?

Wenn man es richtig macht: bestimmt ;)

Wie machst du es denn?
Wichtig ist halt, dass es mit Linux/Unix Zeilenumbrüchen abgespeichert wird...
Wie kommt die Notepad++ Datei den auf den PI?
Wie bist du verbunden?
WinSCP o.ä.?

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 20:09:38
Ok, die Datei ist schon mal da...

Was bringt denn:


cat /opt/fhem/tv/tv.pl


Und wenn es hier weiterhin NICHT um das eigentliche Code-Schnipsel sondern um LINUX etc. Zeugs geht, sollten wir wohl (mal wieder ;)  ) "auslagern"...

Bevor das hier den ganzen Thread "zerschießt"...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 20:18:10
pi@raspberrypi:~ $ cat /opt/fhem/tv/tv.pl
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Date::Parse;
use Encode qw(encode_utf8 decode_utf8);
use XML::Bare 0.53 qw(forcearray);
use Data::Dumper;

my $channelFilter = qr/^(?:ARD|ZDF|Sat1|RTL|RTL2|Pro7|DMax|Vox|Kabel)/;
my $timeAdjust = 0;
#my $channelFilter = qr/^(?:ARD|ZDF|SAT\.1|RTL$|RTL II|PRO 7|DMAX|VOX|KABEL 1)/;
#my $timeAdjust = 86400;


my $redt = qr/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(?:\s+([+-]\d{4}))?$/;


sub xmltv2epoch($)
{
  my $dt = shift;

  if ($dt =~ $redt)
  {
    if (defined($7))
    {
      return $1.'-'.$2.'-'.$3.' '.$4.':'.$5.':'.$6.' '.$7;
    }
    else
    {
      return $1.'-'.$2.'-'.$3.' '.$4.':'.$5.':'.$6;
    }
  }

  return '2000-01-01 00:00:00';
}

sub FmtDateTime($)
{
  my @t = localtime(shift);
  return sprintf("%04d-%02d-%02d %02d:%02d:%02d", $t[5]+1900, $t[4]+1, $t[3], $t[2], $t[1], $t[0]);
}

sub filterText($)
{
  my $text = shift;

  $text =~ s/["`;'\r]//g;
  $text =~ s/[\n]/<br>/g;

  return $text;
}

sub tvParse($)
{
  my $device = shift;
  my $obj = XML::Bare->new(file => '/opt/fhem/tv/rytecDE_Basic');
  my $xml = $obj->parse();
  my $lastChannel = '';
  my $reading = '';
  my $i = 0;
  my $n = 0;
  my $primeTime = substr(FmtDateTime(time() - $timeAdjust), 0, 11).'20:14:00';
  my $sendTelnet = '';

  if (!$@)
  {
    foreach (@{forcearray($xml->{'tv'}{'programme'})})
    {
      if ($_->{'channel'}{'value'} =~ $channelFilter)
      {
        my $stop = str2time(xmltv2epoch($_->{'stop'}{'value'}));

        # filter old stuff
        if (($stop + $timeAdjust) >= time())
        {
          if ($lastChannel ne $_->{'channel'}{'value'})
          {
            $lastChannel = $_->{'channel'}{'value'};
            $reading = $_->{'channel'}{'value'};
            $reading =~ s/[\.\s]//g;
            $reading =~ s/de$//;
            $i = 0;
            $n = 0;
          }

          if ($i < 3)
          {
            my $fi = sprintf("%03d", $i);
            my $start = str2time(xmltv2epoch($_->{'start'}{'value'}));
            my $readingName;
            my $readingValue;

            $readingName = 'next_'.$reading.'_'.$fi.'_bdate';
            $readingValue = substr(FmtDateTime($start), 0, 10);
            $sendTelnet = "setreading $device $readingName $readingValue";

            $readingName = 'next_'.$reading.'_'.$fi.'_btime';
            $readingValue = substr(FmtDateTime($start), 11, 8);
            $sendTelnet .= ";setreading $device $readingName $readingValue";

            $readingName = 'next_'.$reading.'_'.$fi.'_edate';
            $readingValue = substr(FmtDateTime($stop), 0, 10);
            $sendTelnet .= ";setreading $device $readingName $readingValue";

            $readingName = 'next_'.$reading.'_'.$fi.'_etime';
            $readingValue = substr(FmtDateTime($stop), 11, 8);
            $sendTelnet .= ";setreading $device $readingName $readingValue";

            $readingName = 'next_'.$reading.'_'.$fi.'_title';
            $readingValue = filterText(@{forcearray($_->{'title'})}[0]->{'value'});
            $sendTelnet .= ";setreading $device $readingName $readingValue";

            $readingName = 'next_'.$reading.'_'.$fi.'_stitle';
            if (exists($_->{'sub-title'}{'value'}))
            {
              $readingValue = filterText($_->{'sub-title'}{'value'});
            }
            else
            {
              $readingValue = 'na';
            }
            $sendTelnet .= ";setreading $device $readingName $readingValue";

            $readingName = 'next_'.$reading.'_'.$fi.'_desc';
            if (exists($_->{'desc'}{'value'}))
            {
              $readingValue = filterText($_->{'desc'}{'value'});
            }
            else
            {
              $readingValue = 'na';
            }
            $sendTelnet .= ";setreading $device $readingName $readingValue";

            my $result = `perl /opt/fhem/fhem.pl 7072 "$sendTelnet"`;

            $i++;
          }

          if ($n < 3)
          {
            my $start = str2time(xmltv2epoch($_->{'start'}{'value'}));
            my $fmtStart = FmtDateTime($start);
            my $bdate = substr($fmtStart, 0, 10);
            my $btime = substr($fmtStart, 11, 8);

            if ($bdate.' '.$btime gt $primeTime)
            {
              my $fn = sprintf("%03d", $n);
              my $readingName;
              my $readingValue;

              $readingName = 'prime_'.$reading.'_'.$fn.'_bdate';
              $readingValue = substr(FmtDateTime($start), 0, 10);
              $sendTelnet = "setreading $device $readingName $readingValue";

              $readingName = 'prime_'.$reading.'_'.$fn.'_btime';
              $readingValue = substr(FmtDateTime($start), 11, 8);
              $sendTelnet .= ";setreading $device $readingName $readingValue";

              $readingName = 'prime_'.$reading.'_'.$fn.'_edate';
              $readingValue = substr(FmtDateTime($stop), 0, 10);
              $sendTelnet .= ";setreading $device $readingName $readingValue";

              $readingName = 'prime_'.$reading.'_'.$fn.'_etime';
              $readingValue = substr(FmtDateTime($stop), 11, 8);
              $sendTelnet .= ";setreading $device $readingName $readingValue";

              $readingName = 'prime_'.$reading.'_'.$fn.'_title';
              $readingValue = filterText(@{forcearray($_->{'title'})}[0]->{'value'});
              $sendTelnet .= ";setreading $device $readingName $readingValue";

              #print $readingValue."\n";

              $readingName = 'prime_'.$reading.'_'.$fn.'_stitle';
              if (exists($_->{'sub-title'}{'value'}))
              {
                $readingValue = filterText($_->{'sub-title'}{'value'});
              }
              else
              {
                $readingValue = 'na';
              }
              $sendTelnet .= ";setreading $device $readingName $readingValue";

              $readingName = 'prime_'.$reading.'_'.$fn.'_desc';
              if (exists($_->{'desc'}{'value'}))
              {
                $readingValue = filterText($_->{'desc'}{'value'});
              }
              else
              {
                $readingValue = 'na';
              }
              $sendTelnet .= ";setreading $device $readingName $readingValue";

              my $result = `perl /opt/fhem/fhem.pl 7072 "$sendTelnet"`;

              $n++;
            }
          }
        }
      }
    }

    system('/opt/fhem/fhem.pl 7072 "'.$sendTelnet.'"');
  }
}

sub tvDownload()
{
  # other server
  # 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
  my $output = qx(wget http://www.vuplus-community.net/rytec/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
  $output = qx(xz -df /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
}


my $d = shift || die "Need a device!\n";
my $m = shift || die "Need a mode!\n";

if ('download' eq $m)
{
  tvDownload();
}
elsif ('parse' eq $m)
{
  tvParse($d);
}

exit;pi@raspberrypi:~ $
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 20:28:16
Hmm, eigenartig.

Sieht erst mal ok aus.

Allerdings führst du das Script als User pi aus.
Es darf aber laut Berechtigung nur von fhem ausgeführt werden.
Machst auch Sinn, weil ja auch später die Dateien etc. von fhem gebraucht werden...

Das "perl" vorne dran sollte eigentlich auch unnötig sein, das wird ja schon hierdurch "#!/usr/bin/perl" gefordert...


EDIT: und BITTE! vor dem Absetzen der Befehle mal drüberschauen und auch nachdenken, Verschreibsler nicht ausgeschlossen! ;)


Versuch doch mal:


sudo -su fhem bash


Und dann das Kommando:


cd /opt/fhem/tv


Und dann:


./tv.pl dmy_TV download


Bzw. (aber wie geschrieben eigentlich unnötig):


perl /opt/fhem/tv/tv.pl dmy_TV download


Wenn es dann nicht geht, dann weiß ich auch nicht...

Bzw. dann mal echt auslagern, vielleicht "stolpern" dann noch mal ein paar Linuxer drüber...
...wie letztes Mal ;)

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 20:30:57
Tja Joachim..bei mir läufts nie rund....

schau:
pi@raspberrypi:~ $ sudo -su fhem bash
fhem@raspberrypi:/home/pi$ cd /opt/fhem/tv
fhem@raspberrypi:~/tv$ ./tv.pl
bash: ./tv.pl: /usr/bin/perl^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
fhem@raspberrypi:~/tv$


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 20:35:48
Gut, wieder nicht gemacht: also drüber geschaut und nachgedacht! ;)


Weil der Befehl heißt:


./tv.pl dmy_TV download


Habe ich eben korrigiert...


Hmmm, also doch irgendwas mit der Datei...

Kannst du dich per putty etc. verbinden?

Dann mal einloggen (also als pi) und dann:


sudo -su fhem bash



mv /opt/fhem/tv/tv.pl /opt/fhem/tv/tv.pl.sav



nano /opt/fhem/tv/tv.pl


dann aus dem Wiki den Code kopieren und dann per rechte Maus plus Einfügen in das "nano-Editor-Fenster" einfügen.
dann: "ctrl + o" (oder auch strg + o) und dann "ctrl + x" (strg + x)

Dann:


sudo chown fhem:dialout /opt/fhem/tv/tv.pl

(unnötig eigentlich aber schadet nicht ;)  )


sudo chmod +x /opt/fhem/tv/tv.pl


Und dann noch mal ausführen...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 20:37:57
Ich denke das wir auslagern..is doch besser für den Thread...

Du..ich schau jetzt Handball..sei mir nicht böse...du sollst dich ja am Wochenende auch nicht die ganze Zeit mit mir rumschlagen...

Lass und ein andermal weitermachen bitte....

Vielen Dank


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 20:39:54
Zitat von: MadMax-FHEM am 19 Januar 2019, 20:35:48
Gut, wieder nicht gemacht: also drüber geschaut und nachgedacht! ;)


Weil der Befehl heißt:


./tv.pl dmy_TV download


Habe ich eben korrigiert...


Hmmm, also doch irgendwas mit der Datei...

Kannst du dich per putty etc. verbinden?

Dann mal:
Ja klar kann ich mich mit putty verbinden....

Aber ich bin genau nach wiki vorgegangen!!!


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 20:47:20
Bei dem älteren Script hat alles funktioniert.


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 19 Januar 2019, 20:50:07
Zitat von: Kusselin am 19 Januar 2019, 20:47:20
Bei dem älteren Script hat alles funktioniert.


Gesendet von iPhone mit Tapatalk Pro

Welches ältere Script?

Ja schon nach Wiki vorgegangen aber irgendwie scheint beim Einfügen/Erzeugen der Datei was nicht so gegangen zu sein...

Ok, viel Spaß!

Auslagern ok: poste halt hier den Link...

EDIT: hier ein Grund den ich vermute https://www.perlmonks.org/?node_id=322531 NUR zur Info (bei Interesse) NICHT einfach alles nachmachen was dort steht ;)

EDIT2: du kannst ja diese Schritte (noch mal) machen: https://forum.fhem.de/index.php/topic,28123.msg891278.html#msg891278

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 19 Januar 2019, 21:05:22
Danke Joachim


Gesendet von iPhone mit Tapatalk Pro
Titel: Aktuelles TV-Programm in FHEM
Beitrag von: Kusselin am 20 Januar 2019, 10:42:18
Hat jetzt funktioniert...sollte doch auf nano und internen Linux Editor umsteigen ::)

bin über konsole ins verzeichnis /opt/fhem/ dort den nano geöffnet und dann dort den script reinkopiert....daten gespeichert und nun noch die rechte chmod vergeben und gut war...dann war auch die besagte Datei da !!

Danke mal wieder Joachim für die Geduld!
Gruss

EDIT: Nur zur Info...nachdem die Dateien geladen waren hatte ich kurzzeitig wieder cannot fork  :'(
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 20 Januar 2019, 11:10:19
Tja na dann wie immer: viel Spaß! ;)

Vielleicht mutest du dem PI zuviel zu ;)

1GB RAM ist nicht wirklich viel...
...klar mehr Speicher wäre nur Symptombekämpfung aber dadurch halt längere Laufzeit ;)

Aber ich weiß ich habe auch fhem laufen und alle 14 Tage bzw. 4 Wochen Probleme bzw. mache ich vorher shutdown restart...

Ist ein anderes Thema und es gibt ja auch dafür einen Thread (wo du ja bereits unterwegs bist)...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 20 Januar 2019, 13:15:11
Das neue Script kann sowas nicht mehr hervorrufen. Das läuft bei mir seit Monaten. Falls da bei dir sowas kam, dann starte mal den Pi bitte neu, damit ausgeschlossen ist, dass da noch altes Zeug rum dümpelt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Wolfgang Hochweller am 22 Februar 2019, 09:49:00
Eine Frage am Rande :
Verwendet jemand eine Version, die mir nur ( realtime ) das Info des gerade eingestellten Programms holt und anzeigt ?
Ich moechte kein EPG vorhalten; fuer eine Uebersicht kann ich auch klack oder TV-Movie verlinken.
Ich haette auch kein Problem damit, wenn ich fuer jedes meiner Programme ( <10 ) ein extra Device anlegen muesste.
Also : Ich kenne den Sender und suche ein URL fuer 'jetzt' bzw. 'nachher'
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 11 März 2019, 15:00:10
Hallo howi42,

wenn ich es richtig verfolge ist ja ein Grund für das abholen der EPG, dass die externen Server der Anbieter nicht durch ständige Anfragen durch Smart Home Nutzer belästigt werden. Somit holt man sich jetzt z.B. alle drei Tage einmal alles und verwendet dann die zerlegten readings nur noch lokal.

Von daher solltest Du auch besser die Senderinformation des eingestellten Programms aus dem lokalen EPG bedienen.

Viele Grüße
     Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 11 März 2019, 16:12:58
Hallo zusammen,

gibt es einen Grund, warum tv.pl als externes Perl Skript läuft? Ich denke das ist sicherlich Entwickler Historie ;-)
In der 99_myUtil.pl könnte man es als sub sichelich mit weniger Overhead verwenden, da nicht für jedes update eines readings die Kommunikation über den Portaufruf gemacht werden muss.

my $result = `perl /opt/fhem/fhem.pl 7072 "$sendTelnet"`;         <=====>          fhem "$sendTelnet";


Viele Grüße
     Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 12 März 2019, 00:00:04
Dann ist es aber blockierend. Als externes Script sollte es das nicht sein.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 12 März 2019, 09:00:22
Okay, danke.

Heute Nacht hatte ich leider unendlich viele "parse" prozesse mit den daraus resultierenden fhem updates für die readings. Ich vermute mein raspberry war überlastet mit dem Parsen alle 15 Minuten. Ich gehe mal auf einen längeren Zyklus, oder gibt es da noch einen anderen Tip?

Gruß
    Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 12 März 2019, 09:44:00
Wenn das Parsen bei dir länger als 1min dauert, dann funktioniert bei dir was nicht oder du hast einen extrem langsamen Rechner. In dem Script kannst du dir zur Not ein paar Print Anweisungen einbauen und dann manuell im Terminal aufrufen. Vielleicht hängt da was an irgend einer Stelle.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 12 März 2019, 14:34:35
Hallo nochmal,
ich habe mal auf die Schnelle ein manuelles Parsen angestoßen.

my $channelFilter = qr/^(?:ZDFneo|ARD|ZDF|RTL|Sat1|RTL2|Pro7|WELT|ntv|3sat|Vox|Kabel|Sixx)/;


date;perl /opt/fhem/tv/tv.pl dmy_TV parse;date
Di 12. Mär 14:14:53 CET 2019
einige wenige Sekunden vor der nächsten Zeit Anzeige habe ich mit print die setreadings ausgegeben
Di 12. Mär 14:22:38 CET 2019

Somit ist die Laufzeit ca 8 Minutent.

Die Datei rytecDE_Basic hat rund 10,6 MB und ein kopieren auf die selbe SD Karte braucht nur eine Sekunde.

date;cp rytecDE_Basic rytecDE_Basic.copy;date
Di 12. Mär 14:32:07 CET 2019
Di 12. Mär 14:32:08 CET 2019

Mein Rückschluss ist, dass die meiste Zeit für's Parsen verwendet wird.

Update: Das Parsen ist es nicht!!! Es ist das Aktualisieren im FHEM. Im Skript wir für jedes Update ein FHEM Aufruf generiert, der auf meinem RPi2 leider so seine Zeit benötigt :-)

   my $result = `perl /opt/fhem/fhem.pl 7072 "$sendTelnet"`;

   Dieser call benötigt bei mir ca. 4 Sekunden, bei 6 Aktualisierungen pro Sender und 13 Sendern komme ich dann auf 312 Sekunden,
   was nach Adam Riese schon alleine 5,2 Minuten sind.

   Ich glaube da muss ich mir was einfallen lassen  :'(
Update:
   Die erste Änderung ist, dass ich jetzt sämtliche setreadings in einer Variablen $sendTelnetLarge sammle und ganz am Ende nur noch einen FHEM Aufruf starte.
   Hierdurch hat sich nun bereits folgedes Timing ergeben:

   date;time perl /opt/fhem/tv/tv.pl dmy_TV parse;date
   Di 12. Mär 17:05:46 CET 2019
   real    2m3.942s                                  <============  Das sieht schon besser aus.
   user    0m17.230s
   sys     0m0.880s
   Di 12. Mär 17:07:50 CET 2019

   Als nächstes könnte man dann noch das aktuelle Programm (next) und das Abend Programm (prime) mit einem Parameter steuern.
   Für prime reicht einmal parsen am Tag und next könnte dann regelmäßig laufen.
   Momentan wird immer beides aktualisiert und mit setreding im FHEM gesetzt, was dann natürlich auch Zeit kostet.

Grüße
     Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 12 März 2019, 18:48:08
Sooo, ich mach mal für heute schluss....

$ date;time perl /opt/fhem/tv/tv.pl dmy_TV parse_next;date
Di 12. Mär 18:32:37 CET 2019
real    1m13.801s                        <=== Nur die aktuellen TV Sendungen (parse_next)
user    0m17.130s
sys     0m0.860s
Di 12. Mär 18:33:51 CET 2019

$ date;time perl /opt/fhem/tv/tv.pl dmy_TV parse;date
Di 12. Mär 18:35:04 CET 2019
real    2m2.138s                        <=== Und hier alle TV Sendungen (parse)
user    0m17.370s
sys     0m0.800s
Di 12. Mär 18:37:06 CET 2019

Nun könnte man einmal am Tag alle Sendungen parsen und dazwischen z.B. alle 15 Minuten die aktuellen Sendungen mit dem Parameter parse_next.
Der zeitliche Unterschied auf meinem RPi 2 ist beachtlich, wenn man bedingt dass es zu beginn ca 8 Minuten gedauert hat.

Hier nun der geänderte Code für tv.pl

#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Date::Parse;
use Encode qw(encode_utf8 decode_utf8);
use XML::Bare 0.53 qw(forcearray);
use Data::Dumper;

my $channelFilter = qr/^(?:ZDFneo|ARD|ZDF|RTL|Sat1|RTL2|Pro7|WELT|ntv|3sat|Vox|Kabel|Sixx)/;
my $timeAdjust = 0;

#my $channelFilter = qr/^(?:ARD|ZDF|Sat1|RTL|RTL2|Pro7|DMax|Vox|Kabel)/;
#my $channelFilter = qr/^(?:ARD|ZDF|SAT\.1|RTL$|RTL II|PRO 7|DMAX|VOX|KABEL 1)/;
#my $timeAdjust = 86400;


my $redt = qr/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(?:\s+([+-]\d{4}))?$/;


sub xmltv2epoch($)
{
  my $dt = shift;
 
  if ($dt =~ $redt)
  {
    if (defined($7))
    {
      return $1.'-'.$2.'-'.$3.' '.$4.':'.$5.':'.$6.' '.$7;
    }
    else
    {
      return $1.'-'.$2.'-'.$3.' '.$4.':'.$5.':'.$6;
    }
  }
 
  return '2000-01-01 00:00:00';
}

sub FmtDateTime($)
{
  my @t = localtime(shift);
  return sprintf("%04d-%02d-%02d %02d:%02d:%02d", $t[5]+1900, $t[4]+1, $t[3], $t[2], $t[1], $t[0]);
}

sub filterText($)
{
  my $text = shift;
 
  $text =~ s/["`;'\r]//g;
  $text =~ s/[\n]/<br>/g;
 
  return $text;
}

sub tvParse($$)
{
#  my $device = shift;
  my ($device, $mode) = @_;

  my $obj = XML::Bare->new(file => '/opt/fhem/tv/rytecDE_Basic');
  my $xml = $obj->parse();
  my $lastChannel = '';
  my $reading = '';
  my $i = 0;
  my $n = 0;
  my $primeTime = substr(FmtDateTime(time() - $timeAdjust), 0, 11).'20:14:00';
  my $sendTelnet = '';
  my $sendTelnetLarge = '';

  if (!$@)
  {
    foreach (@{forcearray($xml->{'tv'}{'programme'})})
    {
      if ($_->{'channel'}{'value'} =~ $channelFilter)
      {

        my $stop = str2time(xmltv2epoch($_->{'stop'}{'value'}));

        # filter old stuff
        if (($stop + $timeAdjust) >= time())
        {
          if ($lastChannel ne $_->{'channel'}{'value'})
          {
            $lastChannel = $_->{'channel'}{'value'};
            $reading = $_->{'channel'}{'value'};
            $reading =~ s/[\.\s]//g;
            $reading =~ s/de$//;
            $i = 0;
            $n = 0;
#            print "Sender: ".$reading."\n\n";
          }

          if ($i < 3)
          {
            my $fi = sprintf("%03d", $i);
            my $start = str2time(xmltv2epoch($_->{'start'}{'value'}));
            my $readingName;
            my $readingValue;
         
            $readingName = 'next_'.$reading.'_'.$fi.'_bdate';
            $readingValue = substr(FmtDateTime($start), 0, 10);
            $sendTelnet = "setreading $device $readingName $readingValue";
           
            $readingName = 'next_'.$reading.'_'.$fi.'_btime';
            $readingValue = substr(FmtDateTime($start), 11, 5);
#            $readingValue = substr(FmtDateTime($start), 11, 8);
            $sendTelnet .= ";setreading $device $readingName $readingValue";
           
            $readingName = 'next_'.$reading.'_'.$fi.'_edate';
            $readingValue = substr(FmtDateTime($stop), 0, 10);
            $sendTelnet .= ";setreading $device $readingName $readingValue";
           
            $readingName = 'next_'.$reading.'_'.$fi.'_etime';
            $readingValue = substr(FmtDateTime($stop), 11, 5);
#            $readingValue = substr(FmtDateTime($stop), 11, 8);
            $sendTelnet .= ";setreading $device $readingName $readingValue";
           
            $readingName = 'next_'.$reading.'_'.$fi.'_title';
            $readingValue = filterText(@{forcearray($_->{'title'})}[0]->{'value'});
            $sendTelnet .= ";setreading $device $readingName $readingValue";
           
            $readingName = 'next_'.$reading.'_'.$fi.'_stitle';
            if (exists($_->{'sub-title'}{'value'}))
            {
              $readingValue = filterText($_->{'sub-title'}{'value'});
            }
            else
            {
              $readingValue = 'na';
            }
            $sendTelnet .= ";setreading $device $readingName $readingValue";
         
            $readingName = 'next_'.$reading.'_'.$fi.'_desc';
            if (exists($_->{'desc'}{'value'}))
            {
              $readingValue = filterText($_->{'desc'}{'value'});
            }
            else
            {
              $readingValue = 'na';
            }
            $sendTelnet .= ";setreading $device $readingName $readingValue";

#            print "next: ".$sendTelnet."\n\n";           
#            my $result = `perl /opt/fhem/fhem.pl 7072 "$sendTelnet"`;

            $sendTelnetLarge .= $sendTelnet.";";

            $i++;
          }
         
# If mode parse_next then skip prime time
          if ($n < 3 && $mode ne 'parse_next')
          {
            my $start = str2time(xmltv2epoch($_->{'start'}{'value'}));
            my $fmtStart = FmtDateTime($start);
            my $bdate = substr($fmtStart, 0, 10);
            my $btime = substr($fmtStart, 11, 8);
         
            if ($bdate.' '.$btime gt $primeTime)
            {
              my $fn = sprintf("%03d", $n);
              my $readingName;
              my $readingValue;
                           
              $readingName = 'prime_'.$reading.'_'.$fn.'_bdate';
              $readingValue = substr(FmtDateTime($start), 0, 10);
              $sendTelnet = "setreading $device $readingName $readingValue";
             
              $readingName = 'prime_'.$reading.'_'.$fn.'_btime';
              $readingValue = substr(FmtDateTime($start), 11, 5);
#              $readingValue = substr(FmtDateTime($start), 11, 8);
              $sendTelnet .= ";setreading $device $readingName $readingValue";
             
              $readingName = 'prime_'.$reading.'_'.$fn.'_edate';
              $readingValue = substr(FmtDateTime($stop), 0, 10);
              $sendTelnet .= ";setreading $device $readingName $readingValue";
             
              $readingName = 'prime_'.$reading.'_'.$fn.'_etime';
              $readingValue = substr(FmtDateTime($stop), 11, 5);
#              $readingValue = substr(FmtDateTime($stop), 11, 8);
              $sendTelnet .= ";setreading $device $readingName $readingValue";
             
              $readingName = 'prime_'.$reading.'_'.$fn.'_title';
              $readingValue = filterText(@{forcearray($_->{'title'})}[0]->{'value'});
              $sendTelnet .= ";setreading $device $readingName $readingValue";
             
              #print $readingValue."\n";
             
              $readingName = 'prime_'.$reading.'_'.$fn.'_stitle';
              if (exists($_->{'sub-title'}{'value'}))
              {
                $readingValue = filterText($_->{'sub-title'}{'value'});
              }
              else
              {
                $readingValue = 'na';
              }
              $sendTelnet .= ";setreading $device $readingName $readingValue";
           
              $readingName = 'prime_'.$reading.'_'.$fn.'_desc';
              if (exists($_->{'desc'}{'value'}))
              {
                $readingValue = filterText($_->{'desc'}{'value'});
              }
              else
              {
                $readingValue = 'na';
              }
              $sendTelnet .= ";setreading $device $readingName $readingValue";

#              print "prime: ".$sendTelnet."\n\n";             
#              my $result = `perl /opt/fhem/fhem.pl 7072 "$sendTelnet"`;

              $sendTelnetLarge .= $sendTelnet.";";
                           
              $n++;
            }
          }
        }
      }
    }

#   print "\n\n".$sendTelnetLarge."\n\n";
    system('/opt/fhem/fhem.pl 7072 "'.$sendTelnetLarge.'"');

#    print "\n\n".$sendTelnet."\n\n";             
#    system('/opt/fhem/fhem.pl 7072 "'.$sendTelnet.'"');
  }
}


sub tvDownload()
{
  # other server
  # 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
  my $output = qx(wget http://www.vuplus-community.net/rytec/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
  $output = qx(xz -df /opt/fhem/tv/rytecDE_Basic.xz 2>&1);
  #print $output;
}


my $d = shift || die "Need a device!\n";
my $m = shift || die "Need a mode!\n";

if ('download' eq $m)
{
  tvDownload();
}
elsif ('parse' eq $m || 'parse_next' eq $m)
{
  tvParse($d,$m);
}

exit;


Viele Grüße
     Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 13 März 2019, 11:22:45
Okay ich gucke es mir mal an und lasse es auch bei mir laufen. Wenn alles passt, kann ich es ja ins Wiki übernehmen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 13 März 2019, 16:18:45
Hallo nochmal,

ich hatte dann noch eine blocking Situation mit dem at Kommando.

Die Lösung hierfür ist den tv.pl Prozess mit "&" als eigenständigen Prozess laufen zu lassen.
Mit dem Update vom FHEM durch die setreadings ist dann wieder alles syncron am Ende.

Zu beachten ist jedoch, dass FHEM dann den Prozess nicht überwacht. Einen Fehler würde man dann erst feststellen,
wenn die EPG Informationen im dummy nicht aktuell wären.

Hier kommen dann noch die beiden (mit download drei) at definitionen

# Download zwei mal die Woche kurz nach Mitternacht
defmod at_TV_DOWNLOAD at *00:15:00 {if ((1 == $wday) || (4 == $wday)) {system("perl /opt/fhem/tv/tv.pl dmy_TV download")}}

# Das aktuelle Programm alle 15 Minuten weiter rutschen lassen
defmod at_TV_next at +*00:15:00  {system("perl /opt/fhem/tv/tv.pl dmy_TV parse_next &")}

# Das komplette Programm inklusive Primetime aktualisieren
defmod at_TV_prime at *01:17:00 {system("perl /opt/fhem/tv/tv.pl dmy_TV parse &")}


Viele Grüße
   Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 14 März 2019, 12:06:50
Wenn man die Definitionen genau wie angegeben macht, dann wird das bereits non Blocking ausgeführt und man braucht kein & oder sonstwas (laut Aussage von Fhem Entwickler).

defmod at_TV_UPDATE at +*00:15:00 "perl /opt/fhem/tv/tv.pl dmy_TV parse"
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 15 März 2019, 09:02:43
Ich kann nur von meinen Tests Rückschlüsse schließen.
Seit ich es im Hintergrund (mit &) laufen lasse ist soweit alles okay.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: budy am 15 März 2019, 11:01:37
Ich würde mal sagen, dass es daran liegt, dass du Perl im at über system() aufrufst. Da brauchst du doch gar nicht und dann blockiert es auch nicht.

Gruß,
budy
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 16 März 2019, 09:19:28
Okay,
Ich bin da auch nur Anwender und hatte mich im Original tv.pl auch schon gewundert warum es am Ende mit system und zwischendurch ohne system aufgerufen wurde. Ich werde es später mal testen.

Gruß
     Christian 
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 18 März 2019, 14:30:55
Hallo zusammen,

ich hab's nun getestet.

defmod at_TV_next at +*00:15:00  "perl /opt/fhem/tv/tv.pl dmy_TV parse_next"


Budy hat recht, ohne "{system(....&)}"  läuft es auch.

Vielen Dank
      Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 18 März 2019, 17:18:30
Ich habe im Wiki die Anpassung für den einen Telnet Aufruf übernommen. Das andere muss ich mir noch ansehen, ich hätte das gern abwärtskompatibel.

Warum war diese Änderung notwendig?

$readingValue = substr(FmtDateTime($start), 11, 8 zu 5 geändert);
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 18 März 2019, 17:42:34
Hallo,

das war nur um die Urzeit ein wenig kürzer darzustellen. Bei TV-Sendungen benötigt man in der Regel keine Sekunden.

Gruß
    Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: BillyPbg am 18 März 2019, 19:54:42
Hallo 'mumpitzstuff',
hallo Kommune,

hab da einen kleinen REGEX-Schmerz...

Bei "$channelFilter  = qr/^(?:ARD)" wirft mir das Skript auch die Sendungen vom 'ARD-alpha' mit'rein.
Hat vielleicht jemand eine Lösung für/mit REGEX?

Viele Grüße
BillyPbg
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 18 März 2019, 20:31:55
Versuch mal hinten ein $ ran zu hängen.

my $channelFilter = qr/^(?:ARD|ZDF|Sat1|RTL|RTL2|Pro7|DMax|Vox|Kabel)$/;
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: BillyPbg am 18 März 2019, 22:20:46
Dann kommt gar nichts mehr...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 19 März 2019, 00:39:16
Poste mal die gesamte Zeile von dir, die vorher noch funktioniert hat.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Wolfgang Hochweller am 21 März 2019, 09:30:47
@ch.eick:
Das mit dem Abholen ist mir ja klar; deswegen will ich eigentlich sowas wie TV-Movie , etc. vermeiden.
Ich habe lokal eine DVBViewer/Server Installation laufen ( will ja schliesslich auch im Ausland meine Sender haben ),
dort ist ja alles schon lokal vorhanden.
Aber ich muss mich noch durch das API arbeiten, um gezielt die Informationen zu holen , die ich gerade brauche.
Im allgemeinen ist das das Info zu der Sendung , die jetzt laeuft; auf dem einen Sender,, der gerade eingestellt ist.
Alles andere, wie Info fuer eine bestimmte Zeit, kann ich solange ueber die Standard-EPG-Seite des DVBServers machen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 23 März 2019, 08:56:47
Zitat von: howi42 am 21 März 2019, 09:30:47
@ch.eick:
Das mit dem Abholen ist mir ja klar; deswegen will ich eigentlich sowas wie TV-Movie , etc. vermeiden.
Ich habe lokal eine DVBViewer/Server Installation laufen ( will ja schliesslich auch im Ausland meine Sender haben ),
dort ist ja alles schon lokal vorhanden.
Aber ich muss mich noch durch das API arbeiten, um gezielt die Informationen zu holen , die ich gerade brauche.
Im allgemeinen ist das das Info zu der Sendung , die jetzt laeuft; auf dem einen Sender,, der gerade eingestellt ist.
Alles andere, wie Info fuer eine bestimmte Zeit, kann ich solange ueber die Standard-EPG-Seite des DVBServers machen.

Ich habe auch den DVBviewer mit Lizenz. Hast Du schon etwas mit dem api und FHEM am laufen ? Dann schick mal die Erkenntnise und ich würde mir das mit dem TV Programm auch mal ansehen.
Das würde dann der Weg zu einem DVBviewer ,,Modul", das dann auch den EPG liefert.

Such mal nach DVBviewer im Forum, da gibt es schon was.

Gruß
    Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 26 März 2019, 16:53:18
Hat jemand die Idee, wie ich anderen Programme, z.B. von Sky in FHEM bekomme?
https://www.sky.de/tvguide-7599?wkz=WHPS10&shurl=tvguide%20300 (https://www.sky.de/tvguide-7599?wkz=WHPS10&shurl=tvguide%20300)

Von mir aus auch über eine andere Seite.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 26 März 2019, 18:02:39
Zitat von: TWART016 am 26 März 2019, 16:53:18
Hat jemand die Idee, wie ich anderen Programme, z.B. von Sky in FHEM bekomme?
https://www.sky.de/tvguide-7599?wkz=WHPS10&shurl=tvguide%20300 (https://www.sky.de/tvguide-7599?wkz=WHPS10&shurl=tvguide%20300)

Von mir aus auch über eine andere Seite.

Das sieht übel aus, weil auf der Seite alles in Java versteckt wurde....sorry, ich kenne da keinen Weg.

Und hier noch die Antwort von Sky:

Michael: kann man nicht DOwnloaden
Michael: TV Guide
Michael: ist im Revceiver Intigriert
Sie: Das ist aber nicht schön. Wird es das bald geben, wie bei anderen Anbietern auch?
Michael: Nein.
Michael: TV Guide bleibt dennoch bestehen und steht nicht zum Download bereit
Sie: Besten Dank
Michael: Vielen Dank für Ihre Anfrage, ich wünsche Ihnen noch einen schönen Tag.


Gruß
    Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 27 März 2019, 02:10:37
Im Wiki ist beschrieben wie man sich selbst ein entsprechendes Programm zusammenstellen kann. Damit könnte man sich auch die Vorschau für Sky holen denke ich.

Das ist Variante 3 in Verbindung mit Variante 2.

Oder du verwendest Variante 1 und verwendest ein iFrame.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 27 März 2019, 14:14:56
Auch in den Dateien von Variante 2 und 3 sind kaum Infos zu Sky.

Ich hätte die Werte gerne in den Readings und nicht als iframe.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 27 März 2019, 14:31:50
In Variante 3 kann man sich beliebige Sender zusammen stellen.

http://www.webgrabplus.com/epg-channels#stc_14 (http://www.webgrabplus.com/epg-channels#stc_14)

Ich mache das auch so seit einiger Zeit. In Variante 2 muss man dann nur noch sky in die filterliste mit aufnehmen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 27 März 2019, 15:19:04
Ich habe Schritt 3 soweit gemacht. Wie muss ich den channel definieren? Ist das richtig?
<channel update="i" site="sky.de" site_id="Sky Sport 6" xmltv_id="Sky Sport 6">Sky Sport 6</channel>

Muss ich jeden gewünschten Sender als Channel eintragen?

Anschließend ist Schritt 2 dran. Wo muss ich den Code eintragen? Auf dem OS?
perl /opt/fhem/tv/tv.pl dmy_TV download

Bei mir kommen da einige Fehler:
"my" variable $channelFilter masks earlier declaration in same scope at /opt/fhem/tv/tv.pl line 251.
"my" variable $timeAdjust masks earlier declaration in same scope at /opt/fhem/tv/tv.pl line 252.
"my" variable $redt masks earlier declaration in same scope at /opt/fhem/tv/tv.pl line 257.
Subroutine xmltv2epoch redefined at /opt/fhem/tv/tv.pl line 261.
Subroutine FmtDateTime redefined at /opt/fhem/tv/tv.pl line 280.
Subroutine filterText redefined at /opt/fhem/tv/tv.pl line 286.
Subroutine tvParse redefined at /opt/fhem/tv/tv.pl line 296.
Subroutine tvDownload redefined at /opt/fhem/tv/tv.pl line 453.
"my" variable $d masks earlier declaration in same scope at /opt/fhem/tv/tv.pl line 470.
"my" variable $m masks earlier declaration in same scope at /opt/fhem/tv/tv.pl line 471.


Wie muss ich die channelFilter definieren? Funktioniert es auch ohne Filter, also .* ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 27 März 2019, 17:22:50
Die channels müssen alle separat eingetragen werden. Bei mir sieht die Datei dann insgesamt so aus:

<?xml version="1.0"?>
<settings>

  <!-- for detailed info about the settings see http://webgrabplus.com/documentation/configuration/webgrabconfigxml -->

  <filename>guide.xml</filename>
  <mode>n</mode>
  <postprocess grab="y" run="y">rex</postprocess>
  <user-agent>Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0</user-agent>
  <logging>on</logging>
  <retry time-out="15">5</retry>
  <timespan>6</timespan>
  <update>i</update>

  <!--
            Replace the next dummy channel entry with the channels you want.
                        You can look into the installed siteini.pack folder on your computer

            For the latest version,
            see http://webgrabplus.com/epg-channels for the available sites/channels
  -->

    <channel update="i" site="tvmovie.de" site_id="ard" xmltv_id="ARD">ARD</channel>
    <channel update="i" site="tvmovie.de" site_id="zdf" xmltv_id="ZDF">ZDF</channel>
    <channel update="i" site="tvmovie.de" site_id="rtl" xmltv_id="RTL">RTL</channel>
    <channel update="i" site="tvmovie.de" site_id="sat1" xmltv_id="SAT.1">SAT.1</channel>
    <channel update="i" site="tvmovie.de" site_id="pro-7" xmltv_id="PRO 7">PRO 7</channel>
    <channel update="i" site="tvmovie.de" site_id="rtl-ii" xmltv_id="RTL II">RTL II</channel>
    <channel update="i" site="tvmovie.de" site_id="kabel-1" xmltv_id="KABEL 1">KABEL 1</channel>
    <channel update="i" site="tvmovie.de" site_id="dmax" xmltv_id="DMAX">DMAX</channel>
    <channel update="i" site="tvmovie.de" site_id="vox" xmltv_id="VOX">VOX</channel>
    <channel update="i" site="tvmovie.de" site_id="sixx" xmltv_id="sixx">sixx</channel>
    <channel update="i" site="tvmovie.de" site_id="super-rtl" xmltv_id="Super RTL">Super RTL</channel>
    <channel update="i" site="tvmovie.de" site_id="kika" xmltv_id="KI.KA">KI.KA</channel>
    <channel update="i" site="tvmovie.de" site_id="rtl-nitro" xmltv_id="RTL NITRO">RTL NITRO</channel>
    <channel update="i" site="tvmovie.de" site_id="13th-street" xmltv_id="13TH STREET">13TH STREET</channel>
    <channel update="i" site="tvmovie.de" site_id="animal-planet" xmltv_id="ANIMAL PLANET">ANIMAL PLANET</channel>
    <channel update="i" site="tvmovie.de" site_id="axn" xmltv_id="AXN">AXN</channel>
    <channel update="i" site="tvmovie.de" site_id="discovery-channel" xmltv_id="Discovery Channel">Discovery Channel</channel>
    <channel update="i" site="tvmovie.de" site_id="fox" xmltv_id="FOX">FOX</channel>
    <channel update="i" site="tvmovie.de" site_id="history" xmltv_id="History">History</channel>
    <channel update="i" site="tvmovie.de" site_id="kabel-eins-classics" xmltv_id="kabel eins classics">kabel eins classics</channel>
    <channel update="i" site="tvmovie.de" site_id="kinowelt-tv" xmltv_id="Kinowelt TV">Kinowelt TV</channel>
    <channel update="i" site="tvmovie.de" site_id="n24" xmltv_id="N24">N24</channel>
    <channel update="i" site="tvmovie.de" site_id="nat-geo-wild" xmltv_id="Nat Geo Wild">Nat Geo Wild</channel>
    <channel update="i" site="tvmovie.de" site_id="national-geographic" xmltv_id="National Geographic">National Geographic</channel>
    <channel update="i" site="tvmovie.de" site_id="phoenix" xmltv_id="Phoenix">Phoenix</channel>
    <channel update="i" site="tvmovie.de" site_id="planet" xmltv_id="Planet">Planet</channel>
    <channel update="i" site="tvmovie.de" site_id="prosieben-fun" xmltv_id="ProSieben FUN">ProSieben FUN</channel>
    <channel update="i" site="tvmovie.de" site_id="prosieben-maxx" xmltv_id="ProSieben MAXX">ProSieben MAXX</channel>
    <channel update="i" site="tvmovie.de" site_id="rtl-crime" xmltv_id="RTL Crime">RTL Crime</channel>
    <channel update="i" site="tvmovie.de" site_id="rtl-living" xmltv_id="RTL Living">RTL Living</channel>
    <channel update="i" site="tvmovie.de" site_id="rtl-passion" xmltv_id="RTL Passion">RTL Passion</channel>
    <channel update="i" site="tvmovie.de" site_id="rtlplus" xmltv_id="RTLplus">RTLplus</channel>
    <channel update="i" site="tvmovie.de" site_id="servus-tv" xmltv_id="Servus TV">Servus TV</channel>
    <channel update="i" site="tvmovie.de" site_id="silverline" xmltv_id="Silverline">Silverline</channel>
    <channel update="i" site="tvmovie.de" site_id="spiegel-geschichte" xmltv_id="Spiegel Geschichte">Spiegel Geschichte</channel>
    <channel update="i" site="tvmovie.de" site_id="spiegel-tv-wissen" xmltv_id="Spiegel TV Wissen">Spiegel TV Wissen</channel>
    <channel update="i" site="tvmovie.de" site_id="syfy" xmltv_id="Syfy">Syfy</channel>
    <channel update="i" site="tvmovie.de" site_id="tlc" xmltv_id="TLC">TLC</channel>
    <channel update="i" site="tvmovie.de" site_id="tnt-comedy" xmltv_id="TNT Comedy">TNT Comedy</channel>
    <channel update="i" site="tvmovie.de" site_id="tnt-film" xmltv_id="TNT Film">TNT Film</channel>
    <channel update="i" site="tvmovie.de" site_id="tnt-serie" xmltv_id="TNT SERIE">TNT SERIE</channel>
    <channel update="i" site="tvmovie.de" site_id="zdfinfo" xmltv_id="ZDFinfo">ZDFinfo</channel>
    <channel update="i" site="tvmovie.de" site_id="a-und-e" xmltv_id="AE">A und E</channel>


</settings>


Meine rex.config.xml sieht so aus:
<?xml version="1.0" encoding="utf-8"?>
<!-- Configuration file for the REX (Re-arrange and Edit Xmltv) postprocessor of WebGrab+Plus
by Jan van Straaten, July 2012
WebGrab+Plus Version V1.1.1
-->
<!--  Introduction:
  The purpose of this postprocessor is to re-arrange and edit the xmltv file created by the grabber section of WebGrab+Plus.
  This can be useful or necessary if the EPG viewer of the PVR/Media-Centre used, or the xmltv importer it uses, does not support all the xmltv elements in the xmltv file created by WG++.
  It can:
  - Move the content of xmltv elements to other xmltv elements
  - Merge the content of several xmltv elements
  - Add comments/prefix/postfix text
  - Remove or create xmltv elements
  E.g.: If the PVR doesn't support import of credit elements (actors, directors etc.) it can add the content of them to the description and remove the original credit elements which are useless.
  Or , it can move the episode data to the beginning or end of the subtitle element
  Etc. ..
  Remark: This postprocessor is only fully effective if the xmltv input has a 'clean' xmltv structure in which the data is properly allocated to the elements. If that is the case depends on the EPG source site and the design of the SiteIni file . Some of the (e.g. customized) siteini files produce xmltv data that targets certain PVR/Media-Centre requirements already. In these cases this postprocessor is less effective /useful.-->

<settings>
  <!--xmltv file : The xmltv target file in which the updated data will be merged with the grabbed EPG.
Because of the incremental nature of the grabbing process this file must be different (name and/or path) from the target file of the grabbing as specified in WebGrab++.Config.xml <filename> !!
If omitted here or if by mistake the same file is specified, the file path will be changed to  C:\ProgramData\ServerCare\WebGrab\Rex\-->
  <filename>guide.xml</filename>

  <!-- Configuration of the elements: -->
<!-- Content and Values:-->
  <![CDATA[
  This is best explained in a step by step fashion:
  Suppose you want to move the actors to the end of the desciption. You then specify:
      <desc>'description'\n'actor'</desc>
  The result is the existing 'description' , followed by, on a newline,  the actor(s) separated by the standard WG++ element separator | .
  The result:
      <desc>This is the original description.
  Michael Douglas|Kim Basinger</desc>

  You probably don't like the | as separator between the actors, so you specify anther separator like this:
      <desc>'description'\n'actor(, )'</desc>
  The result:
      <desc>This is the original description.
      Michael Douglas, Kim Basinger</desc>

  You can make this prettier by adding some text to the actors addition:
      <desc>'description'\nActors: 'actor(, )'.</desc>
  The result:
      <desc>This is the original description.
      Actors: Michael Douglas, Kim Basinger.</desc>

  A small problem: Suppose the source xmltv show doesn't have any actors, then the result would be not so pretty:
      <desc>This is the original description.
      Actors: .</desc>
  To avoid that, the added text can be linked to the element it must be added to, like this:
      <desc>'description'{\nActors: 'actor(, )'.}</desc>
  Result with actors:
      <desc>This is the original description.
      Actors: Michael Douglas, Kim Basinger.</desc>
  And without actors:
      <desc>This is the original description.</desc>

  An example with some more elements:
      <desc>'description'{\n\tYear of production: 'productiondate'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor(, )'.}</desc>
  Result:
      <desc>This is the original description.
        Year of production: 2002.
        Producer: Steven Spielberg.
        Actors: Michael Douglas, Kim Basinger.</desc>

  And another one:
      <sub-title>{Episode: 'episode'\t}'subtitle'</sub-title>
  Result:
      <sub-title>Episode: 3.2/12.1    The original subtitle</sub-title>

  You can also remove elements (but not the title!) from the xmltv listing by specifying an empty element, like this:
      <actor></actor>
  This will remove all <actor> elements
  And this:
      <credits></credits>
  Will remove the <credits> element, including all its child elements like <actor> , <producer> etc. ]]>
<![CDATA[
Summary of Content/Values:
1. Syntax
  - the content of the xmltv-target elements can be specified by means of a mixture of text and element-values.
  - the element-values must be entered by their element-name enclosed by ''
  - multiple value elements (like actor) will be converted to single value elements if the xmltv-target element is a single value element, like <desc>. The individual values will be listed with a (standard WG++ internal element separator) | as separator unless another separator is specified as follows:
'element-name(separator-string)' e.g. 'actor(, )'
  - text and element-names can be linked together by enclosing them by {}. This will ensure that, when the element in it is empty, everything between the {} is ignored. E.g. {\nProduced in : ('productiondate')}
- the text in the xmltv-target elements may contain the following simple formatting :
    - \n or \r to force a newline
    - \t to add a tab

2. The allowed xmltv-target elements (the ones in the target file specified above) are :
  <title>
  <sub-title>
  <desc>
  <date> = the xmltv element name containing the productiondate
  <star-rating>
  <review> (=optional new xmltv element)
  <director> e.g to add /substitute the (additional?) mdb-director
  <actor> e.g to add /substitute the (additional?) mdb-actor
- IMPORTANT! : any of the above listed xmltv-target elements that is specified in this allocation specification, replaces the existing xmltv element and its content!

3. Supported element-names (from the existing xmltv listing, name definitions as in Appendix D) :
  - 'title' 'description' 'starrating' 'subtitle' 'productiondate' 'category' 'director' 'actor' 'presenter' 'writer' 'composer' 'producer' 'rating' 'episode' 'review'  'subtitles' 'premiere' 'previously-shown' 'aspect' 'quality'

4. Also supported are the additional elements created by the MDB-postprocessor.
- Important : This MDB-postprocessor automatically makes use of this REX-postprocessor. In that case the REX-postprocessor uses the allocation specification from the MDB config file mdb.config.xml and ignores the specification entered here.
    - 'mdb-title'
(if used in the xmltv-target element <title> it will only be added if different from the existing xmltv title, see for more details mdb.config.xml)
    - 'mdb-starrating' 'mdb-description' 'mdb-plot' 'mdb-commentsummary' 'mdb-review'

5. Attributes (might need completion)
  - for each of the xmltv-elements the following attribute can be specified
          (if not specified, the existing one, if present in the xmltv, will be used) :
      - lang   for <title> and <desc> , default : no attribute
      - system   for <star-rating> , default : no attribute
      - type  for <review> , default: type="text"]]>

<!--An example setting -->
  <title lang="de">'title'</title>
  <sub-title lang="de">{Episode: 'episode' }'subtitle'</sub-title>
  <desc lang="de">'description'{\nProduced in: 'productiondate'. }{\nCategory: 'category(, )'. }{\nActors: 'actor(, )'}{\nDirector: 'director(, )'}{\nPresenter: 'presenter(, )'}</desc>
  <credits></credits>
  <episode-num></episode-num>
  <date></date>
  <category></category>
  <review>{Ratings: 'rating(, )'.}</review>
  <rating></rating>
</settings>




Danach solltest du erst mal prüfen, ob du die xml Datei ordnungsgemäß erzeugen kannst. Ruf dazu das hier auf:
/home/pi/.wg++/run.sh

Dann sollte sich nach langer langer Zeit (das dauert unter Umständen 3h!!!!) die Datei guide.xml in /home/pi/.wg++ erzeugt werden und zusätzlich dazu eine gekürzte guide.xml in  /home/pi/.wg++/rex.

Erst wenn du das hast, kannst du weiter machen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 28 März 2019, 16:00:30
Das Problem war der Channel. Ich musste nur die zip Datei herunterladen und darin die XML öffnen.

Jetzt habe ich 4 Kanäle genommen und das Skript ausgeführt. In der guide.xml stehen wie gewünscht die Sendungen. Das mit der guide.xml könnte man vielleicht ins Wiki schreiben.
Somit ist Schritt 3 abgeschlossen.

Zu Schritt 2. Pakete sind installiert, Sub in 99_myUtils angelegt, dummy angelegt, Skript tv.pl auf Server erstellt

Wo muss ich das nun ausführen?
perl /opt/fhem/tv/tv.pl dmy_TV download


Edit: Woher muss ich die channelFilter nehmen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 28 März 2019, 17:50:00
Nein. Den Download brauchst du nicht mehr. Du erzeugst dir jetzt die XML Datei selbst. Deshalb musst du nur noch das Parsen ausführen und vorher das Script anpassen.

Im sub tvParse findest du einen Pfad. Den passt du so an, das er auf deine erzeugte XML Datei zeigt, aber bitte die bereinigte aus dem rex Ordner. Diese muss für den fhem User natürlich irgendwie lesbar sein.

Außerdem muss diese Zeile angepasst werden:

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

Hier müssen die Sendernamen rein, die du haben möchtest. Theoretisch kannst du da aber alles erst mal durch lassen, da du dir ja die Sender selbst zusammengestellt hast:

my $channelFilter = qr/.*/;
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 29 März 2019, 09:07:23
Die guide.xml liegt hier

/home/user/.wg++/rex
-rw-rw-r-- 1 fhem dialout 295114 Mär 28 15:53 guide.xml


Daher sieht meine tv.pl so aus:
  my $obj = XML::Bare->new(file => '/home/user/.wg++/rex');

Muss bei dem foreach auch noch was geändert werden?
    foreach (@{forcearray($xml->{'tv'}{'programme'})})


Den Filter habe ich auf .* angepasst

Muss ich jetzt das komplette tv.pl ausführen oder nur über fhem das sub tvParse?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 29 März 2019, 11:18:36
Ich glaube nicht das der Pfad zu dieser Datei für fhem zugänglich ist. Es wäre vielleicht besser die Datei in ein Verzeichnis von fhem zu kopieren z.b. /opt/fhem/tv. Ansonsten sollte es passen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 29 März 2019, 11:51:28
Ich habe jetzt beide Dateien in /opt/fhem/tv

-rw-r--r-- 1 fhem dialout 295114 Mär 29 11:41 guide.xml
-rwxr--r-- 1 fhem dialout   7593 Mär 29 11:48 tv.pl


Es genügt, wenn ich im Skript den Pfad mit eingebe?/opt/fhem/tv/guide

guide.xml wird gefunden?

Was muss ich jetzt wo ausführen?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 29 März 2019, 18:22:20
my $obj = XML::Bare->new(file => '/opt/fhem/tv/guide.xml');

Das muss im Script stehen.

Und danach probier mal sowas in der fhem Kommandozeile auszuführen:

{fhem("perl /opt/fhem/tv/tv.pl dmy_TV parse")}
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 29 März 2019, 19:17:13
Zitat von: mumpitzstuff am 29 März 2019, 18:22:20
Und danach probier mal sowas in der fhem Kommandozeile auszuführen:

{fhem("perl /opt/fhem/tv/tv.pl dmy_TV parse")}
Ich bekomme das
Unknown command perl, try help.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 29 März 2019, 21:48:04
Was passiert wenn du auf der Shell diesen Befehl eingibst:

perl /opt/fhem/tv/tv.pl dmy_TV parse

perl sollte ja irgendwie schon bekannt sein, denn fhem läuft ja auch.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 29 März 2019, 21:59:32
Auf der shell läuft alles durch und der dummy füllt sich.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 29 März 2019, 23:33:54
Okay dann war wahrscheinlich was mit meinem Befehl falsch.

Dann leg dir mal das at zum Parsen an:

defmod at_TV_UPDATE at +*00:15:00 "perl /opt/fhem/tv/tv.pl dmy_TV parse"

Und die beiden Readingsgroups die im Wiki beschrieben sind. Diese musst du allerdings so anpassen, das sie zu deinen Sendern passen. Ich denke das ist selbsterklärend. Falls nicht, melde dich noch mal.

Danach sollte in den Readingsgroups dein TV Programm zu sehen sein.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 08 April 2019, 10:28:29
Jedesmal wenn die guide.xml erstellt wird, liegt sie im falschen Pfad under .wg++.  Ziel ist jedoch /opt/fhem/tv/. Wie muss ich das in der config Datei eingeben?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 08 April 2019, 11:15:54
Zitat von: TWART016 am 08 April 2019, 10:28:29
Jedesmal wenn die guide.xml erstellt wird, liegt sie im falschen Pfad under .wg++.  Ziel ist jedoch /opt/fhem/tv/. Wie muss ich das in der config Datei eingeben?
Moin.
Schau Dir im TV.pl Skript mal das eher Kommando an, ob da der Pfad richtig gesetzt wird.

Gruß Christian

Gesendet von meinem SM-G930F mit Tapatalk

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: TWART016 am 08 April 2019, 15:06:08
Bei sub tvParse steht die Zeile
my $obj = XML::Bare->new(file => '/opt/fhem/tv/rytecDE_Basic');

Hat das damit was zu tun? Meine Datei heißt guide.xml

Ansonsten sehe ich kein Pfad wo man das eintragen kann.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: ch.eick am 08 April 2019, 15:40:35
Hallo TWARTO16,

Der download ist an dieser Stelle eingetragen:

my $output = qx(wget http://www.vuplus-community.net/rytec/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);


was dann mit dem Eintrag übereinstimmt

my $obj = XML::Bare->new(file => '/opt/fhem/tv/rytecDE_Basic');


Warum Deine Datei guide.xml heist kann ich nicht sagen.

Ruf einfach auf der Shell diese Kommando auf und die Datei wird unter dem richtigen Namen und Pfad gespeichert.

/opt/fhem/tv/tv.pl dmy_TV download


Gruß
    Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 08 April 2019, 15:43:01
Wenn du z.B. wie im Wiki beschrieben das generieren der xml Datei mit Crontab startest:

30 0 * * 1,4 /usr/bin/screen -dmS webgrab /home/<user z.B. pi>/.wg++/run.sh

Das wird eine guide.xml im Verzeichnis .wg++ abgelegt ABER es wird eine weitere unter .wg++/rex abgelegt. Diese Datei kannst du z.B. durch eine Erweiterung im Script .wg++/run.sh nach /opt/fhem/tv kopieren und fhem die entsprechenden Rechte geben.

cp /home/pi/.wg++/rex/guide.xml /opt/fhem/tv/rytecDE_Basic
chown fhem: /opt/fhem/tv/rytecDE_Basic


In diesem Fall musst du den Pfad im Script tv.pl gar nicht mehr anpassen. Pass aber bitte auf, das du keinen Download mehr ausführst, sondern nur noch das parsen, ansonsten überschreibt dir die Funktion tvDownload() deine mühsam erstellte Datei wieder.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 08 April 2019, 15:44:11
TWARTO16 erstellt sich sein Tv Programm mit wg++ selbst. Aus diesem Grund braucht er kein Download mehr.

Zitat von: ch.eick am 08 April 2019, 15:40:35
Hallo TWARTO16,

Der download ist an dieser Stelle eingetragen:

my $output = qx(wget http://www.vuplus-community.net/rytec/rytecDE_Basic.xz -O /opt/fhem/tv/rytecDE_Basic.xz 2>&1);


was dann mit dem Eintrag übereinstimmt

my $obj = XML::Bare->new(file => '/opt/fhem/tv/rytecDE_Basic');


Warum Deine Datei guide.xml heist kann ich nicht sagen.

Ruf einfach auf der Shell diese Kommando auf und die Datei wird unter dem richtigen Namen und Pfad gespeichert.

/opt/fhem/tv/tv.pl dmy_TV download


Gruß
    Christian
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 29 April 2019, 15:46:09
Habe noch mal eine Frage zu der Variante 2.
habe alles am laufen, nur der dummy dmy_TV   wird nicht befüllt.
wenn ich    perl /opt/fhem/tv/tv.pl dmy_TV parse                 eingebe, bekomme ich folgende Fehlermeldung
                 sh: 1: /opt/fhem/fhem.pl: Permission denied     

vermute es liegt an irgendwelchen Rechten, aber an welchen?  evtl. telnet?
die Rechte der fhem.pl sind    -rw-rw-rw- 1 fhem dialout 156888 Apr 29 13:36 /opt/fhem/fhem.pl
Hat jemand einen Tip für mich?       
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 30 April 2019, 01:39:05
x für ausführen fehlt.

-rwxr-xr-x  1 fhem dialout 156879 Apr  9 00:19 fhem.pl

drwxr-xr-x  2 fhem dialout   4096 Apr 14 02:29 tv

-rwxr--r--  1 fhem dialout    7519 Apr 14 02:29 tv.pl

So sieht es bei mir aus.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 30 April 2019, 10:31:20
hmmm,  seltsam,  okay, das wars, funktioniert alles super
Danke schön für die Hilfe
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 30 April 2019, 12:44:31
doch zu früh gefreut
habe alle gewünschten Sender hinzugefügt und bekomme jetzt die Fehlermeldung:

Can't exec "/bin/sh": Die Argumentliste ist zu lang at /opt/fhem/tv/tv.pl line 207.

line 207 ist:
system('/opt/fhem/fhem.pl 7073 "'.$sendTelnet.'"');

es funktioniert mit 13 Sender im channelfilter
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 30 April 2019, 14:11:32
hmm das muss dann wohl auf die Optimierung zurückzuführen sein, die ich vor kurzem übernommen habe. Ich denke mal drüber nach, wie ich das vielleicht mit einem Parameter in dem Script steuerbar mache, so das man alle x Sender ein Telnet command los schickt und nicht immer alle sammelt.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 30 April 2019, 14:15:07
Okay,  dann muß ich warten bis es soweit ist, hatte keine Vorstellung woran es liegen könnte

vielleicht geht ja mit einem zweiten script und dummy
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 10 Mai 2019, 13:07:53
der Aufruf aus FHEM heraus funktioniert bei mir auch nicht, geht wohl mehreren so, wie ich auf einigen Seiten zuvor gelesen habe

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

es kommt die Fehlermeldung :  Unknown command perl, try help.
habe ein DOIF draus gemacht, so funktionirt es

defmod at_TV_DOWNLOAD ([00:15|1] or [00:15|4]) ("perl /opt/fhem/tv/tv.pl dmy_TV download")
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 16 Mai 2019, 18:46:24
Ich hatte ganz vergessen hier noch eine Version zu posten, die das Telnet Problem hoffentlich behebt.

Falls es funktioniert oder auch nicht, bitte Bescheid geben.

Bei der Version wird alle 5 Schleifendurchläufe ein telnet befehl abgesetzt, so das dann hoffentlich nicht mehr das Maximum überschritten wird.

PS: Nicht vergessen den Filter oben anzupassen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 26 Mai 2019, 16:33:00
folgende Fehlermeldung erscheint:
Global symbol "$result" requires explicit package name (did you forget to declare "my $result"?) at /opt/fhem/tv/tv.pl line 210.
Global symbol "$result" requires explicit package name (did you forget to declare "my $result"?) at /opt/fhem/tv/tv.pl line 222.
Execution of /opt/fhem/tv/tv.pl aborted due to compilation errors.

habe my $result definiert aber es passiert einfach nix
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 04 Juli 2019, 16:46:55
keine Kommentare?  keine Rückmeldung?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 04 Juli 2019, 17:50:28
Oh sry ist völlig untergegangen. Du hast recht, da fehlt ein my in den beiden Zeilen. An der Stelle ist die Behandlung auch noch suboptimal, funktionieren sollte es erst einmal trotzdem.

In einem vorherigen Beitrag hattest du anscheinend den Port 7073 verwendet anstatt 7072. Könnte das die Ursache bei dir sein?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: pfeffi am 05 Juli 2019, 14:04:33
nein geht so auch nicht
mir fiel auf das das Zeichen  `  und das Zeichen '  gemischt verwendet werden
ich weiß jetzt leider nich wo es richtig und wo falsch ist
okay  habe die tv_kopie.pl nochmal runtergeladen
jetzt funktioniert es anscheinend
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 05 Juli 2019, 17:09:05
Okay super. Ich muss da aber noch mal nachbessern, habe im Moment aber nur wenig Zeit...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: Hardlife am 03 November 2019, 13:12:02
Hi Com,


Da ich aus dem Forum schon soooo viel gelernt habe, möchte ich auch mal wieder ein bisschen was zurückgeben...

Für alle, die noch Interesse an der ursprünglichen HTTPMOD-Variante des TV-Programms haben...
Ich habe meine Config aus aktuellem Anlass mal wieder entstaubt und korrigiert.

Im Anhang:

Oberste Priorität liegt auf Übersichtlichkeit.
So kann man sich auch als Laie schnell ein paar Sender integrieren...
(RegEx-Match einfach im Seitenquellcode der jeweilige Seite suchen - Beispiel "ORF 1")


LG,
Hardlife


edit: Anhang logo.zip von Moderator entfernt
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: HomeAuto_User am 03 November 2019, 13:17:26
Als Hinweis, ich habe im Ankündigungsfaden mal eine Alternative vorgestellt wo ihr gern auch mal schauen könnt.


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 30 Dezember 2019, 15:18:54
Ich habe jetzt die Scripte noch einmal überarbeitet und konnte die Performance extrem verbessern. Außerdem kann man jetzt mehrere tvxml Quellen miteinander mergen, also z.B. rytecDE_Basic mit rytecDE_Common. In den Beispielscripten auf der unten verlinkten Seite wird das bereits so gemacht.

Details findet ihr hier:
https://wiki.fhem.de/wiki/TV_Programm (https://wiki.fhem.de/wiki/TV_Programm)

Falls es jemand ausprobiert hat, wäre ich für eine kurze Rückmeldung über den Erfolg/Misserfolg dankbar.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 15 Februar 2020, 15:23:51
Vielen Dank für die neuen Skripte.

Ich bin endlich dazu gekommen sie auszuprobieren.

Bis jetzt sieht es sehr gut aus. Zuerst funktionierte es nicht, da meine telnetPort Instanz passwortgeschützt war. Ohne Passwort und Einschränkung allowedDevices den Dummy klappt es.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 17 Februar 2020, 22:03:23
Stimmt. Das mit dem Telnet Port sollte ich eventuell mal aufnehmen.

In der Funktion xmltv2epoch() musste ich noch ein paar Zeilen auskommentieren, da ansonsten manchmal die Sendungen 1h zu früh auf die Nächste umgeschaltet haben. Das solltest du vielleicht noch übernehmen, dann sollte es perfekt sein.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 29 Februar 2020, 18:41:34
Danke für den Hinweis. Ich habe das Script aus dem Wiki neu übernommen.

Danke auch für die Veröffentlichung Deiner Arbeit, damit ich davon auch profitieren kann  :)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 26 April 2020, 13:16:04
Ich bin mal wieder dazu gekommen, mir die EPG-Daten aus der XML anzusehen. Dabei ist mir aufgefallen, dass die enthaltenen Zeiten aus verschiedenen Zeitzonen stammen (+0200 oder +0000).

Z. B.:
ZDF 20200426121000 +0000 - Duell der Gartenprofis wird um 14:10 MESZ ausgestrahlt.
Kabel 1 20200426121000 +0200 - Wir kochen zusammen wird um 12:10 MESZ ausgestrahlt.

Beide Sendungen werden als zur gleichen Zeit laufend in den Dummy und die Readingsgroup übernommen.

Leider habe ich keine Ahnung, wie man die Skripte anpassen könnte, damit diese Zeiten auf die lokalen Zeiten angepasst werden.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: HomeAuto_User am 26 April 2020, 13:48:11
Hallo,
ich habe mir in meinem EPG Modul die Mühe gemacht, die Differenzen zu vergleichen mit der localen Differenz.

- errechne deine lokale Diff zur Normalzeit
- vergleiche das Ergebnis mit der Diff der Daten
- daraus kannst du reagieren und errechnen das alles in der richtigen Zeit angezeigt wird.

Mfg


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 26 April 2020, 14:44:29
Hallo HomeAuto_User,

vielen Dank für Deine Tipps.

Mein Problem ist die Umsetzung in Perl, da ich mich damit überhaupt nicht auskenne. Ich konnte das Ganze nur soweit durchschauen, um herauszufinden, warum Sendungen angezeigt werden, die ich dort nicht erwarten würde.

MfG

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 27 April 2020, 10:27:42
Muss ich mir ansehen. Ist mir bisher nicht aufgefallen, das die Zeiten an der Stelle unterschiedlich sind. Eigentlich hatte ich da was im Code vorgesehen, aber das hatte die Zeit bei +000 um eine Stunde verschoben, was irgendwie auch falsch war. Deshalb hatte ich den Teil erst mal auskommentiert. Ich kann's aber wieder rein nehmen und eventuell nur für +000 eine Sonderbehandlung machen.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 29 April 2020, 11:03:44
Ich habe mir das jetzt mal angesehen und grundsätzlich ist der Code vorhanden, der die Umrechnung zumindest in meinem Beispiel auch ordentlich durchführt. Ich hatte diesen Teil aber auskommentiert, da ich damit irgendwie Probleme hatte und die Zeiten dadurch verschoben waren. Jetzt bin ich etwas unschlüssig was ich jetzt machen soll. Das was von dem Perl Code generiert wird ist:

20200503133000 +0000
1588512600
2020-05-03 15:30:00

20200430094000 +0200
1588232400
2020-04-30 09:40:00


Man kann hier sehen, das +0200 die Zeiten nicht verändert, +0000 aber 2 Stunden dazu rechnet (13:30 -> 15:30).

Um das im Perl wieder zu aktivieren, kannst du einfach in der Funktion sub xmltv2epoch($) die Gartenzäune (#) entfernen, dann ist der Code für die Umrechnung wieder aktiv.
Kannst du mir dann bitte berichten, ob du damit bessere Ergebnisse erzielst? Ich hatte wie gesagt damit dann verschobene Anfangszeiten.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 29 April 2020, 18:43:07
Hallo mumpitzstuff,

die Darstellung der Zeiten sieht nach dem Einkommentieren jetzt richtig aus.

Ich vermute, was Dich dazu gebracht hatte, es auszukommentieren war, dass nicht nur die reine Darstellung der Zeit nicht passt.

Eine Sendung, die in der XML mit 20200503133000 +0000 (13:30 UTC +0 ?) dargestellt wird, wird um 20200503153000 +0200 (15:30 UTC +2 = MESZ) gesendet. Wenn jetzt nur die Darstellung angepasst ist, wird der Beginn korrekt mit 15:30 dargestellt.

Für die Entscheidung, ob die Sendung als aktuelle Sendung in den Dummy geschrieben wird, wird nur die Zeit und nicht die Zeitzone berücksichtigt.

D.h. eine Sendung mit xxxxxxxx133000 +0000 (Ausstrahlung um 15:30) wird als zur gleichen Zeit beginnend wie eine Sendung dargestellt, die um xxxxxxxx133000 +0200 (Ausstrahlung um 13:30) beginnt.

Ich weiß nicht, ob es möglich/sinnvoll wäre, die Zeiten in der XML nach dem Download anzupassen oder ob das Skript, dass den Dummy befüllt das (besser) auffangen kann.

So oder so finde ich Deine Umsetzung großartig. Vielen Dank dafür. Ich habe mir mit den Readings des Dummys in FTUI einen EPG schaffen können, der genauso ist, wie es mir gefällt (Wen es interessiert: siehe Anhang. Tippen auf Icons wechselt zu den Sendern. Allerdings viel manuelle Arbeit.)


Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 29 April 2020, 19:37:46
Hmm ich glaube langsam geht mir ein Licht auf. In den Readings tauchen die richtigen Daten auf, denn hier rechne ich das alles richtig um. Deshalb passt dann auch die Anzeige zu den Readings. Aber die Erkennung wann eine Sendung beendet ist und wann nicht, ist anscheinend falsch.

Hier vergleiche ich die localtime (also mit Zeitzone einberechnet) mit der stop Zeit der Sendungen, berechne hier aber nicht die Zeitzone mit ein (wollte hier ursprünglich Laufzeit optimieren). Letztendlich bedeutet das dann aber, das ich teilweise eine Sendung rauswerfe, da hier z.b. 13:00 Uhr drin steht, die aufgrund der Zeitzone aber erst um 15 Uhr wirklich beendet ist. Dadurch verschieben sich dann die Sendungen in den Readings und die Ausgabe ist dann zwangsläufig ebenfalls verschoben. Das passiert anscheinend auch nur bei einigen Sendern und nicht bei allen.

Ich versuche das heute Abend noch zu berichtigen. Sollte nicht so schwer sein, nachdem ich jetzt ungefähr weiss, wo ich hinlangen muss.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 29 April 2020, 22:52:47
Könntest du bitte das angehängte Script bei dir verwenden und mir sagen, ob jetzt alles funktioniert? Falls du eine Version vor 5.8 von Perl bei dir laufen hast, kannst du zusätzlich auch noch Time::Piece installieren. Ab Perl 5.8 ist das im Core integriert und muss nicht mehr separat installiert werden. Das ist aber kein Muss, das Script ist mit dem Modul aber etwas schneller. Ansonsten wird einfach ein anderer Code verwendet, der etwas langsamer ist.

sudo apt install libtime-piece-perl

PS: Falls du etwas am Channelfilter im Script verändert hast, dann vergiss nicht die Änderung zu übertragen!
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 30 April 2020, 19:59:48
Vielen Dank für die schnelle Anpassung des Scripts.

Leider passiert mit dem angehängten Script gar nichts. Ich bekomme auch keine Fehlermeldung o. ä. angezeigt. Da ich bereit Perl 5.20 installiert habe, habe ich das von Dir für Perl < 5.8 empfohlene Time::Piece nicht installiert.

Die Rechte der neuen tv.pl habe ich, wie von Dir im Wiki beschrieben gesetzt. Ich habe das Update über ein execNow im at angestoßen und auch über die Kommandozeile. Einen erneuten Download konnte ich nicht anstoßen, weil das Script die Prozedur downloadMerge nicht mehr enthält. Die Prozedur tvDownload hat keine Aktion ausgeführt.

Mir ist aufgefallen, dass das angehängte Script deutlich kleiner ist, als das Script, dass ich aktuell verwende (7477 zu 11500). Wobei meine aktuelle Version deutlich mehr Sender im Channelfilter hat und ich drei Dateien herunterladen und mergen lasse.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 01 Mai 2020, 02:06:44
Ups das war irgendwas ganz altes. Ich bitte um Entschuldigung.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 01 Mai 2020, 08:59:52
Perfekt! Vielen Dank. Jetzt werden auch bei den Sendern (z. B. ARD, ZDF, SyFy) die aktuell ausgestrahlten Sendungen angezeigt und auch mit der richtigen Uhrzeit :D
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 06 Mai 2020, 22:55:55
Ich habe mich noch mal ran gesetzt und jetzt die Performance massiv optimiert. Beim Download können jetzt alle nicht verwendeten Sender einfach aus der xml Datei entfernt werden. In meinem Fall wird aus der ehemals 20MB großen Datei eine rund 4MB große Datei. Das kostet zwar etwas mehr Laufzeit beim Download (passiert nur 1x alle 3 Tage), spart aber enorm Laufzeit beim Parsen alle 15min.

Könnte das bitte noch mal jemand testen und mir sagen, ob bei ihm alles reibungslos funktioniert? Das Script muss lediglich ersetzt werden, alles andere passiert intern. Umschalten kann man das Verhalten mit der Variable:

my $filterChannels = 1;

Zu beachten ist dabei, das der Effekt erst nach einem Download zu spüren ist. Wenn man das AT aus dem Wiki verwendet, dann passiert das nur alle 3 Tage 1x. Alternativ löst man es über die Kommandozeile aus, dann steht die geänderte Datei sofort zur Verfügung:

{fhem("\"perl /opt/fhem/tv/tv.pl dmy_TV downloadMerge\"")}

PS: Ganz vergessen die Datei anzuhängen...
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 07 Mai 2020, 12:05:46
Der Download und die Verarbeitung dauert auf meinem Raspberry Pi im laufenden Betrieb etwas über 1 Minute. Für FHEM bleibt immer noch mehr als genug Kapazität übrig. Da ich Basic, Common und SportMovies herunterladen und mergen lasse ändert sich die Größe der XML von ca. 24 MB auf ca 7,5 MB.

Das Aktualisieren der Readings scheint mir deutlich schneller zu erfolgen.

Ich würde sagen, dass die Änderungen ein voller Erfolg sind. Danke!.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 12 Mai 2020, 21:46:29
Ich habe jetzt das Script noch einmal überarbeitet und die letzten Optimierungen rausgeholt, die mir noch eingefallen sind. Könnte sich das bitte jemand ansehen, ob es auch bei ihm funktioniert?

Folgende Änderungen habe ich vorgenommen:

1.) Das Filtern der XML Datei wurde noch einmal überarbeitet und sollte jetzt wesentlich schneller gehen. Die 1 Minute aus einem vorhergehenden Post sollte damit der Vergangenheit angehören, auch wenn der Vorgang selbst natürlich immer noch Zeit in Anspruch nehmen wird. Die Regular Expression für den Senderfilter wurde ebenfalls überarbeitet.

2.) Das Parsen nach geänderten Sendungen wurde beschleunigt, falls die Senderliste bereits gefiltert ist. Hier war eine aufwendige Regular Expression überflüssig.

3.) Wenn die Option $updateBasedOnStarttimes eingeschaltet ist, dann merkt sich das Script einige Zeiten in einer separaten Datei und führt das Update der Daten in FHEM nur noch für Sender durch, bei denen das Update wirklich notwendig ist. Dadurch wird das Update enorm schnell bzw. ist kaum messbar, falls gar kein Update notwendig ist. Die separate Datei führt allerdings dazu, das in meinem Fall 631 Byte bei allen Updates geschrieben werden, bei denen wenigstens ein Sender geupdatet werden musste.

3. wirkt sich nur aus, wenn man als Mode in den AT Befehlen "next" und "prime" verwendet, nicht jedoch, wenn man das Script mit "parse" verwendet.
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MartinaM am 16 Mai 2020, 15:37:14
Bin leider jetzt erst dazu gekommen, das neue Skript zu testen.

Download und Merge ist jetzt auch bei mir deutlichst schneller. Unter 10 Sekunden.

Ob das Update der Sendungen durch das at schneller ist, kann ich nicht prüfen. Gefühlt geht es schneller. Ich konnte zumindest nachvollziehen, dass Sender ausgelassen wurden. Ob das konsequent geschah habe ich mir nicht angeschaut. Das neue Skript läuft auf jeden Fall noch besser.

Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 12 Juni 2020, 21:58:17
Ich habe das gesamte Script + at + readingsgroup + myutils in ein einziges DOIF gegossen. Wenn der Telnet Port 7072 ohne Passwort eingerichtet ist und XML::Bare installiert ist, dann läuft alles in wenigen Sekunden.

https://forum.fhem.de/index.php/topic,112081.0.html (https://forum.fhem.de/index.php/topic,112081.0.html)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: en-trust am 10 Dezember 2020, 16:44:49
Ich habe Variante 2 aus dem wiki genommen und die tv.pl erstellt bzw. die letzte hier genommen. Aber mit  perl /opt/fhem/tv/tv.pl dmy_TV downloadMerge erhalte ich

Can't open file No such file or directory at /opt/fhem/tv/tv.pl line 282.

woran liegt das ?
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: mumpitzstuff am 10 Dezember 2020, 17:49:10
Bist du sicher das du die tv.pl genau in dem angegebenen Verzeichnis erstellt hast?

Aber wie auch immer, ich würde dir empfehlen, das DOIF von mir zu verwenden. Das sollte Copy/Paste sein.

https://forum.fhem.de/index.php/topic,112081.0.html (https://forum.fhem.de/index.php/topic,112081.0.html)
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MarioS1969 am 29 Dezember 2020, 23:59:29
Hallo zusammen,
ich habe folgenden Code bei mir implementiert. Dieser basiert auf dem Code TV-Programm.cfg von Hardlife vom 3.11.2019.
Ich habe nur die Readingsgroup etwas gekürzt und umsortiert.
Leider erscheinen nicht alle Sender. Aber auch bein o.g. Original haben die Sender gefehlt.  So fehlen Sat1, Kabel1,SWR und SIXX.

Hat jemand ähniche Erfahrungen gemacht und weiss was die Ursache dafür ist?
Vielen Dank schon mal im Voraus


###################
### TV-Programm ###
###################


### Aktuelles Programm ###

### HTTPMOD - Aktuelles Programm ###
#
define TV_Programme HTTPMOD http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html 900
attr TV_Programme userattr reading001Name reading001Regex reading002Name reading002Regex reading003Name reading003Regex reading004Name reading004Regex reading005Name reading005Regex reading006Name reading006Regex reading007Name reading007Regex reading008Name reading008Regex reading009Name reading009Regex reading010Name reading010Regex reading011Name reading011Regex reading012Name reading012Regex reading013Name reading013Regex reading014Name reading014Regex reading015Name reading015Regex reading016Name reading016Regex reading017Name reading017Regex reading018Name reading018Regex reading019Name reading019Regex reading020Name reading020Regex reading021Name reading021Regex reading022Name reading022Regex reading023Name reading023Regex reading024Name reading024Regex reading025Name reading025Regex reading026Name reading026Regex reading027Name reading027Regex reading028Name reading028Regex reading029Name reading029Regex reading030Name reading030Regex reading031Name reading031Regex reading032Name reading032Regex reading033Name reading033Regex reading034Name reading034Regex reading035Name reading035Regex reading036Name reading036Regex reading037Name reading037Regex reading038Name reading038Regex reading039Name reading039Regex reading040Name reading040Regex reading041Name reading041Regex reading042Name reading042Regex reading043Name reading043Regex reading044Name reading044Regex reading045Name reading045Regex reading046Name reading046Regex reading047Name reading047Regex reading048Name reading048Regex reading049Name reading049Regex reading050Name reading050Regex reading051Name reading051Regex reading052Name reading052Regex reading053Name reading053Regex reading054Name reading054Regex reading055Name reading055Regex reading056Name reading056Regex reading057Name reading057Regex reading058Name reading058Regex reading059Name reading059Regex reading060Name reading060Regex reading061Name reading061Regex reading062Name reading062Regex reading063Name reading063Regex reading064Name reading064Regex reading065Name reading065Regex reading066Name reading066Regex reading067Name reading067Regex reading068Name reading068Regex reading069Name reading069Regex reading070Name reading070Regex reading071Name reading071Regex reading072Name reading072Regex reading073Name reading073Regex reading074Name reading074Regex reading075Name reading075Regex reading076Name reading076Regex reading077Name reading077Regex reading078Name reading078Regex reading079Name reading079Regex reading080Name reading080Regex reading081Name reading081Regex reading082Name reading082Regex reading083Name reading083Regex reading084Name reading084Regex reading085Name reading085Regex reading086Name reading086Regex reading087Name reading087Regex reading088Name reading088Regex reading089Name reading089Regex reading090Name reading090Regex reading091Name reading091Regex reading092Name reading092Regex reading093Name reading093Regex reading094Name reading094Regex reading095Name reading095Regex reading096Name reading096Regex reading097Name reading097Regex reading098Name reading098Regex reading099Name reading099Regex reading100Name reading100Regex reading101Name reading101Regex reading102Name reading102Regex reading103Name reading103Regex reading104Name reading104Regex reading105Name reading105Regex reading106Name reading106Regex reading107Name reading107Regex reading108Name reading108Regex reading109Name reading109Regex reading110Name reading110Regex reading111Name reading111Regex reading112Name reading112Regex reading113Name reading113Regex reading114Name reading114Regex stateFormat timeout verbose
attr TV_Programme enableControlSet 1
attr TV_Programme timeout 20
attr TV_Programme verbose 1
#
attr TV_Programme reading001Name ORF1
attr TV_Programme reading001Regex title="ORF 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading002Name ORF1_Nexttime
attr TV_Programme reading002Regex title="ORF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading003Name ORF1_Next
attr TV_Programme reading003Regex title="ORF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading004Name ORF2
attr TV_Programme reading004Regex title="ORF 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading005Name ORF2_Nexttime
attr TV_Programme reading005Regex title="ORF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading006Name ORF2_Next
attr TV_Programme reading006Regex title="ORF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading007Name ORF3
attr TV_Programme reading007Regex title="ORF 3"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading008Name ORF3_Nexttime
attr TV_Programme reading008Regex title="ORF 3"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading009Name ORF3_Next
attr TV_Programme reading009Regex title="ORF 3"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading010Name ATV
attr TV_Programme reading010Regex title="ATV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading011Name ATV_Nexttime
attr TV_Programme reading011Regex title="ATV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading012Name ATV_Next
attr TV_Programme reading012Regex title="ATV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading013Name ATV2
attr TV_Programme reading013Regex title="ATV 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading014Name ATV2_Nexttime
attr TV_Programme reading014Regex title="ATV 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading015Name ATV2_Next
attr TV_Programme reading015Regex title="ATV 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading016Name PULS4
attr TV_Programme reading016Regex title="Puls 4"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading017Name PULS4_Nexttime
attr TV_Programme reading017Regex title="Puls 4"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading018Name PULS4_Next
attr TV_Programme reading018Regex title="Puls 4"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading019Name SERVUSTV
attr TV_Programme reading019Regex title="Servus TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading020Name SERVUSTV_Nexttime
attr TV_Programme reading020Regex title="Servus TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading021Name SERVUSTV_Next
attr TV_Programme reading021Regex title="Servus TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading022Name SRF1
attr TV_Programme reading022Regex title="SRF 1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading023Name SRF1_Nexttime
attr TV_Programme reading023Regex title="SRF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading024Name SRF1_Next
attr TV_Programme reading024Regex title="SRF 1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading025Name SRF2
attr TV_Programme reading025Regex title="SRF 2"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading026Name SRF2_Nexttime
attr TV_Programme reading026Regex title="SRF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading027Name SRF2_Next
attr TV_Programme reading027Regex title="SRF 2"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading028Name ARD
attr TV_Programme reading028Regex title="Das Erste"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading029Name ARD_Nexttime
attr TV_Programme reading029Regex title="Das Erste"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading030Name ARD_Next
attr TV_Programme reading030Regex title="Das Erste"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading031Name ZDF
attr TV_Programme reading031Regex title="ZDF"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading032Name ZDF_Nexttime
attr TV_Programme reading032Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading033Name ZDF_Next
attr TV_Programme reading033Regex title="ZDF"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading034Name BR
attr TV_Programme reading034Regex title="BR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading035Name BR_Nexttime
attr TV_Programme reading035Regex title="BR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading036Name BR_Next
attr TV_Programme reading036Regex title="BR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading037Name DREISAT
attr TV_Programme reading037Regex title="3sat"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading038Name DREISAT_Nexttime
attr TV_Programme reading038Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading039Name DREISAT_Next
attr TV_Programme reading039Regex title="3sat"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading040Name Pro7
attr TV_Programme reading040Regex title="ProSieben"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading041Name Pro7_Nexttime
attr TV_Programme reading041Regex title="ProSieben"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading042Name Pro7_Next
attr TV_Programme reading042Regex title="ProSieben"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading043Name Pro7Maxx
attr TV_Programme reading043Regex title="ProSieben Maxx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading044Name Pro7Maxx_Nexttime
attr TV_Programme reading044Regex title="ProSieben Maxx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading045Name Pro7Maxx_Next
attr TV_Programme reading045Regex title="ProSieben Maxx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading046Name VOX
attr TV_Programme reading046Regex title="VOX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading047Name VOX_Nexttime
attr TV_Programme reading047Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading048Name VOX_Next
attr TV_Programme reading048Regex title="VOX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading049Name Sat1
attr TV_Programme reading049Regex title="SAT.1"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading050Name Sat1_Nexttime
attr TV_Programme reading050Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading051Name Sat1_Next
attr TV_Programme reading051Regex title="SAT.1"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading052Name RTL
attr TV_Programme reading052Regex title="RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading053Name RTL_Nexttime
attr TV_Programme reading053Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading054Name RTL_Next
attr TV_Programme reading054Regex title="RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading055Name RTL2
attr TV_Programme reading055Regex title="RTL Zwei"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading056Name RTL2_Nexttime
attr TV_Programme reading056Regex title="RTL Zwei"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading057Name RTL2_Next
attr TV_Programme reading057Regex title="RTL Zwei"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading058Name RTLNITRO
attr TV_Programme reading058Regex title="NITRO"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading059Name RTLNITRO_Nexttime
attr TV_Programme reading059Regex title="NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading060Name RTLNITRO_Next
attr TV_Programme reading060Regex title="NITRO"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading061Name SUPERRTL
attr TV_Programme reading061Regex title="Super RTL"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading062Name SUPERRTL_Nexttime
attr TV_Programme reading062Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading063Name SUPERRTL_Next
attr TV_Programme reading063Regex title="Super RTL"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading064Name Kabel1
attr TV_Programme reading064Regex title="Kabel eins"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading065Name Kabel1_Nexttime
attr TV_Programme reading065Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading066Name Kabel1_Next
attr TV_Programme reading066Regex title="Kabel eins"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading067Name HR
attr TV_Programme reading067Regex title="HR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading068Name HR_Nexttime
attr TV_Programme reading068Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading069Name HR_Next
attr TV_Programme reading069Regex title="HR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading070Name EINSFESTIVAL
attr TV_Programme reading070Regex title="ONE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading071Name EINSFESTIVAL_Nexttime
attr TV_Programme reading071Regex title="ONE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading072Name EINSFESTIVAL_Next
attr TV_Programme reading072Regex title="ONE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading073Name NDR
attr TV_Programme reading073Regex title="NDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading074Name NDR_Nexttime
attr TV_Programme reading074Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading075Name NDR_Next
attr TV_Programme reading075Regex title="NDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading076Name MDR
attr TV_Programme reading076Regex title="MDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading077Name MDR_Nexttime
attr TV_Programme reading077Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading078Name MDR_Next
attr TV_Programme reading078Regex title="MDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading079Name WDR
attr TV_Programme reading079Regex title="WDR"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading080Name WDR_Nexttime
attr TV_Programme reading080Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading081Name WDR_Next
attr TV_Programme reading081Regex title="WDR"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading082Name SWR
attr TV_Programme reading082Regex title="SWR RP"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading083Name SWR_Nexttime
attr TV_Programme reading083Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading084Name SWR_Next
attr TV_Programme reading084Regex title="SWR RP"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading085Name RBB
attr TV_Programme reading085Regex title="RBB"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading086Name RBB_Nexttime
attr TV_Programme reading086Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading087Name RBB_Next
attr TV_Programme reading087Regex title="RBB"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading088Name ARDALPHA
attr TV_Programme reading088Regex title="ARD ALPHA"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading089Name ARDALPHA_Nexttime
attr TV_Programme reading089Regex title="ARD ALPHA"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading090Name ARDALPHA_Next
attr TV_Programme reading090Regex title="ARD ALPHA"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading091Name ARTE
attr TV_Programme reading091Regex title="ARTE"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading092Name ARTE_Nexttime
attr TV_Programme reading092Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading093Name ARTE_Next
attr TV_Programme reading093Regex title="ARTE"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading094Name PHOENIX
attr TV_Programme reading094Regex title="Phoenix"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading095Name PHOENIX_Nexttime
attr TV_Programme reading095Regex title="Phoenix"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading096Name PHOENIX_Next
attr TV_Programme reading096Regex title="Phoenix"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading097Name ZDFINFO
attr TV_Programme reading097Regex title="ZDFinfo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading098Name ZDFINFO_Nexttime
attr TV_Programme reading098Regex title="ZDFinfo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading099Name ZDFINFO_Next
attr TV_Programme reading099Regex title="ZDFinfo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading100Name DMAX
attr TV_Programme reading100Regex title="DMAX"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading101Name DMAX_Nexttime
attr TV_Programme reading101Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading102Name DMAX_Next
attr TV_Programme reading102Regex title="DMAX"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading103Name SIXX
attr TV_Programme reading103Regex title="sixx"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading104Name SIXX_Nexttime
attr TV_Programme reading104Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading105Name SIXX_Next
attr TV_Programme reading105Regex title="sixx"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading106Name ZDFNEO
attr TV_Programme reading106Regex title="ZDFneo"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading107Name ZDFNEO_Nexttime
attr TV_Programme reading107Regex title="ZDFneo"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading108Name ZDFNEO_Next
attr TV_Programme reading108Regex title="ZDFneo"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading109Name NTV
attr TV_Programme reading109Regex title="N-TV"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading110Name NTV_Nexttime
attr TV_Programme reading110Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading111Name NTV_Next
attr TV_Programme reading111Regex title="N-TV"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
#
attr TV_Programme reading112Name N24
attr TV_Programme reading112Regex title="N24 Doku"><img[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
attr TV_Programme reading113Name N24_Nexttime
attr TV_Programme reading113Regex title="N24 Doku"><img[\w\W]*?<td class="time[\w\W]*?Row">\s*(.*?)\s*<div
attr TV_Programme reading114Name N24_Next
attr TV_Programme reading114Regex title="N24 Doku"><img[\w\W]*?<td class="time[\w\W]*?Row">[\w\W]*?<div[\w\W]*?<div class="content">\s*<a[\w\W]*?>\s*(.*?)\s*<\/a>
### ENDE ####### HTTPMOD - Aktuelles Programm ###

### ReadingsGroup - Aktuelles Programm ###
#
define TV_Programm_Jetzt readingsGroup <Sender>,<Aktuelle Sendung>,<Ab>,<Nachfolgende Sendung> \
TV_Programme:ARD,ARD_Nexttime,ARD_Next \
TV_Programme:ZDF,ZDF_Nexttime,ZDF_Next \
TV_Programme:RTL,RTL_Nexttime,RTL_Next \
TV_Programme:RTL2,RTL2_Nexttime,RTL2_Next \
TV_Programme:Pro7,Pro7_Nexttime,Pro7_Next \
TV_Programme:Sat1,Sat1_Nexttime,Sat1_Next \
TV_Programme:Kabel1,Kabel1_Nexttime,Kabel1_Next \
TV_Programme:VOX,VOX_Nexttime,VOX_Next \
TV_Programme:RBB,RBB_Nexttime,RBB_Next \
TV_Programme:SWR,SWR_Nexttime,SWR_Next \
TV_Programme:Pro7Maxx,Pro7Maxx_Nexttime,Pro7Maxx_Next \
TV_Programme:RTLNITRO,RTLNITRO_Nexttime,RTLNITRO_Next \
TV_Programme:SUPERRTL,SUPERRTL_Nexttime,SUPERRTL_Next \
TV_Programme:DMAX,DMAX_Nexttime,DMAX_Next \
TV_Programme:SIXX,SIXX_Nexttime,SIXX_Next

attr TV_Programm_Jetzt alias Aktuelles&nbspTV-Programm
attr TV_Programm_Jetzt group TV-Programm
attr TV_Programm_Jetzt nameIcon {ORF1 => 'tvmovie/orf-1', ORF2 => 'tvmovie/orf-2', ORF3 => 'tvmovie/orf3', ATV => 'tvmovie/atv', ATV2 => 'tvmovie/atv2_1', PULS4 => 'tvmovie/puls-4', SERVUSTV => 'tvmovie/servus-tv', SRF1 => 'tvmovie/schweiz-1', SRF2 => 'tvmovie/sf2', ARD => 'tvmovie/ard', ZDF => 'tvmovie/zdf', BR => 'tvmovie/bayern', DREISAT => 'tvmovie/3sat', Pro7 => 'tvmovie/pro7', Pro7Maxx => 'tvmovie/pro7maxx', VOX => 'tvmovie/vox', Sat1 => 'tvmovie/sat1', RTL => 'tvmovie/rtl', RTL2 => 'tvmovie/rtl2', RTLNITRO => 'tvmovie/rtln', SUPERRTL => 'tvmovie/super-rtl', Kabel1 => 'tvmovie/kabel-eins', HR => 'tvmovie/hr', EINSFESTIVAL => 'tvmovie/einsfestival', NDR => 'tvmovie/ndr', MDR => 'tvmovie/mdr', WDR => 'tvmovie/wdr', SWR => 'tvmovie/swr-bw', RBB => 'tvmovie/rbb', ARDALPHA => 'tvmovie/br-alpha', ARTE => 'tvmovie/arte', PHOENIX => 'tvmovie/phoenix', ZDFINFO => 'tvmovie/zdf-infokanal', DMAX => 'tvmovie/dmax', SIXX => 'tvmovie/sixx', ZDFNEO => 'tvmovie/zdf-neo', NTV => 'tvmovie/n-tv', N24 => 'tvmovie/n24'}
attr TV_Programm_Jetzt nameStyle style="color:yellow"
attr TV_Programm_Jetzt room Multimedia
attr TV_Programm_Jetzt sortby 1
attr TV_Programm_Jetzt style style="font-size:12px"
attr TV_Programm_Jetzt valueFormat {wrapLine($VALUE, 50)}

### ENDE ####### ReadingsGroup - Aktuelles Programm ###
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 30 Dezember 2020, 00:38:11
Wenn du dir die Seite mal im Browser ansiehst (view Source) oder auch mal über Links "hoverst", dann siehst du, dass sich der Text geändert hat (Vermutung) und also das jeweilige Regex nicht mehr passt...

Für sat1 kann ich liefern, Kabel1 denke ich auch. Sixx nutze ich nicht, daher kann ich da nicht so schnell liefern...

Allerdings gibt es eine (oder auch mehrere) "neue" Varianten von TV-Programm für fhem.
Die auch deutlich weniger Ressourcen "verschwenden" und auch bzgl. Abfragen "besser" sind...

Klack hat sich wohl schon mal "beschwert" bzw. irgendwie "gesperrt" oder so...

EDIT: deinen Post kann keiner lesen... Besser für solche Posts/Inhalte "code-Tags" verwenden! Das ist das '#' im "Menü"...

EDIT: also bei SAT1 hat sich "title" von "SAT.1" nach "Sat.1" geändert. Und bei Kabel1 von "Kabel eins" nach "kabel eins". Zumindest funktioniert das bei mir im Test so. Bzgl. Sixx denke ich von "sixx" nach "Sixx".

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MarioS1969 am 30 Dezember 2020, 13:19:05
Hallo Joachim,
vielen Dank für deine Antwort.
Wäre toll wenn du mir Sat1 und Kabel1 liefern könntest. Ich weiss nicht, ob ich die Analyse bei Klack hinbekomme.
Hatte mit dieser Version gehofft, schnell zum Ergebnis zu kommen. Was ist denn die neueste Version fürs TV. Ich hatte einiges probiert, abrt erfolglos. Nach 4 Jahren Pause mit FHEM fällt der Wiedereinstieg nicht so leicht  :).

Gruß Mario
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 30 Dezember 2020, 13:26:25
Zitat von: MarioS1969 am 30 Dezember 2020, 13:19:05
Wäre toll wenn du mir Sat1 und Kabel1 liefern könntest. Ich weiss nicht, ob ich die Analyse bei Klack hinbekomme.

Habe ich doch gemacht!

Einfach in den jeweiligen Attribut-RegEx-Einträgen wo title="SENDER" steht halt die neue Schreibweise (siehe mein EDIT) einfügen und dann sollte das gehen...
...wenn nicht, wurde mehr geändert oder du nutzt Dinge die ich nicht nutze/genutzt habe...

Das Tauschen musst du schon selbst bei dir vornehmen ;)
EDIT: entweder auf das jeweilige Attribut klicken und dann anpassen, erneut vorne auf attr und dann save (am Ende). Oder in der "RawDef" bearbeiten, execute und dann save...

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MarioS1969 am 30 Dezember 2020, 16:09:03
Hallo Joachim,
sorry, aber ich kann deine Änderung für Sat1 und KKabel1 nicht finden. Hast du sie in dem von mir geposteten Code geändert? Den habe ich leider wie von dir vorgeschlagen als Code gepostet. Dann wären deine Änderungen überschrieben.
Könntest du mir das bitte noch mal schicken? Sorry für die Unannehmlichkeiten.

Mario
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 30 Dezember 2020, 16:12:49
Nein, ich habe das (natürlich) NICHT in DEINEM Post geändert (kann ich ja gar nicht)!

Ich habe es doch hier geschrieben:

Zitat
EDIT: also bei SAT1 hat sich "title" von "SAT.1" nach "Sat.1" geändert. Und bei Kabel1 von "Kabel eins" nach "kabel eins". Zumindest funktioniert das bei mir im Test so. Bzgl. Sixx denke ich von "sixx" nach "Sixx".

Und hier erläutert wie es geht:
Zitat
Einfach in den jeweiligen Attribut-RegEx-Einträgen wo title="SENDER" steht halt die neue Schreibweise (siehe mein EDIT) einfügen und dann sollte das gehen...
...wenn nicht, wurde mehr geändert oder du nutzt Dinge die ich nicht nutze/genutzt habe...

EDIT:
oder so:
Zitat
EDIT: entweder auf das jeweilige Attribut klicken und dann anpassen, erneut vorne auf attr und dann save (am Ende). Oder in der "RawDef" bearbeiten, execute und dann save...

Mehr kann ich nicht tun, außer nat. deinen Post kopieren und für dich suchen und ändern...
...aber ehrlich: dazu hab ich keine Lust, sei mir nicht böse!

EDIT: wie man Attribute anpasst, ändert oder einfügt sollte man ja schon kennen/können...

EDIT: außerdem was du da so gepostet hast sieht nach "ich editiere selber in der fhem.cfg rum"... Wenn dem so ist: lass es! Nur ein gut gemeinter Rat.

Gruß, Joachim
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MarioS1969 am 01 Januar 2021, 14:09:01
Hi Joachim,
jetzt habe ich es. TV Programm funktioniert wie gewünscht.
Vielen Dank für deinen Support und ein Frohes neues Jahr
Mario
Titel: Antw:Aktuelles TV-Programm in FHEM
Beitrag von: MadMax-FHEM am 01 Januar 2021, 14:26:03
Hi Mario,

gerne.

Viel Spaß und ebenfalls ein gutes neues Jahr, Joachim