Aktuelles TV-Programm in FHEM

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

Vorheriges Thema - Nächstes Thema

RoBra81

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...

Franz Tenbrock

#526
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.


cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

hartenthaler

#527
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.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

hartenthaler

... 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
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

kvo1

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
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

RoBra81

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

SL85

#531
Hallo zusammen,

bin grad etwas am verzweifeln.  :'(
Ich versuche anhand dieser Seite das HTTPMOD aufzubauen:
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

rasti

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



gloob

Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Tommy82

Hab das heute auch, ich warte mal bis morgen, wenn es dann nicht besser ist guck ich es mir nochmal an
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

gloob

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.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Kuzl

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.

Tommy82

Bekomms grad auch nicht hin, ist anscheint etwas mehr aufwand.....
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Kuzl

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.

Tommy82

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)
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI