Aktuelles Radio- und TV-Programm - RTVhelper 2.06

Begonnen von Elektrolurch, 28 April 2018, 11:53:19

Vorheriges Thema - Nächstes Thema

Elektrolurch

Da sollte eigentlich in der Ausgabe eine vernünftige Webseite  stehen.... aber das sieht nicht nach einem html - Code aus.
Ich benutze die httpUtlis von fhem. Vielleicht hast Du eine ältere Version. Mach mal ein fhem update.
Und starte danach neu.
Kannst Du die Seite von Klack-TV in Deinem Browser überhaupt aufrufen?

Mach mal ein "displayattr RTVhelper" und poste das hier. Vielleicht hast Du die eingebaute UrL für die Klackseite mit einem flaschen Wert überschrieben und daher kann das Modul die Seite nicht laden.

Elektrolurch
configDB und Windows befreite Zone!

ChHerrm

Klasse, irgendwie geht's jetzt bei mir 8) Ich mache jeden Sonntag ein Update von FHEM, aber da gab's wohl die Tage nochmal ne Änderung.
Danke für deine Hilfe, super Arbeit! :D Vor allem die Umschaltmöglichkeit zwischen den Zeiten gefällt mir richtig gut.
2 letzte Probleme habe ich jetzt damit: Das erste Problem ist wahrscheinlich recht klein. Ich wollte die Farben umstellen, was mir jedoch nicht gelang. Im Anhang habe ich mal einen Screenshot hinterlegt, egal ob ich kein Semikolon, eins oder zwei setze - nichts tut sich ???

Mein zweites Problem ist das mangelnde Verständnis des Codes bzgl. der Icon-Einbindung - kannst du mir diesbezüglich bitte nochmal einen Hinweis mit einem konkreten Beispiel geben? Was muss ich tun um den ZDF-Text durch ein Icon zu ersetzen. Das wäre top :) :) :)

Wzut

Zitat von: ChHerrm am 01 Juni 2018, 20:03:01
Was muss ich tun um den ZDF-Text durch ein Icon zu ersetzen.
Elektrolurch hat im ersten Post auch eine .zip angehängt mit Icons. Leider sind die nicht zu gebrauchen, aber dafür kann er nichts !
Es müsste sich jemand die Arbeit machen und die einzeln bei Klack runterladen und ggf. etwas nachbearbeiten und auf eine einheitliche Größe bringen.
Im Anhang mal ein Beispiel für ARD und ZDF. Mal schauen wenn ich die nächsten drei Wochen in meinem Urlaub Langeweile habe kann ich mal damit anfangen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ChHerrm

Danke, aber mein erstes Problem ist eher dass ich nicht weiß wie ich das Logo eingebunden bekomme :-[
Wie genau kriege ich nun ein Logo anstatt des Textes hin? Kannst du mir vlt ein konkretes Beispiel schicken? Die Festlegungen sind in der 99_myUtilsRTVhelper.pm zu tätigen oder wo?

Elektrolurch

Zitat @ChHerrn:
Mein zweites Problem ist das mangelnde Verständnis des Codes bzgl. der Icon-Einbindung - kannst du mir diesbezüglich bitte nochmal einen Hinweis mit einem konkreten Beispiel geben? Was muss ich tun um den ZDF-Text durch ein Icon zu ersetzen. Das wäre top :) :) :)

<channel> = Kanal-Name, mit dem der Receiver umgeschaltet werden soll.
Wichtig: Dieser Name wird auch für die Anzeige des Logos verwendet.

Du kannst die Logos aus Beitrag #1 extrahieren und in einen eigenen Unterordner in fhem/www/images kopieren, z.B. TVLogos.
Dann musst Du für die fhem-Webg Instanz das Attribut iconpath um den neuen Ornder ergänzen.
Nicht vergessen:

setWEB.* rereadicons

eingeben, damit fhem die neuen Icons auch verwendet.

Leider kann ich Dir bei dem Farbproblem nicht weiterhelfen, da Farben für mich leider bedeutungslos sind (Screenreader).

Wenn Du Deinen Receiver dann noch richtig eingebunden hast und die Kanalnamen dort mit den  <channel> vom RTVhelper übereinstimmen, bekommst Du erst richtig Spaß, dann kannst Du Dir nämlich Dein (Abend)programm per Zeitsteuerung zusammenklicken. Das ist eigentlich die wichtigste Funktion, die ich ständig nutze....

@Wzut:
Zitat:
Leider sind die nicht zu gebrauchen, aber dafür kann er nichts !

zu den Logos: (Auszug aus Beitrag #1)
und die Senderlogos zusätzlich mit Logo gestaltet.
Hier ein Beispiel für eine css - Datei:


.Logo.icon {width:72px;}
.Logo svg {width:72px; height:72px; horizontal-align:center; vertical-align:middle;}
.IconwithLabel {
width:64px;
vertical-align:middle;
horizontal-align:center;
text-align: center;
margin:4px;
}

Hinweis:
Die Logos stammen von wikipedia und sind SVGs. Laut fhem - Wiki werden die Größen der Logos wie oben beschrieben über eine CSS-Anweisung gesetzt.
Soweit WAF, sind die meisten dann ok von der Größe.

Ich habe die auch noch als .png. Aber da haben einige einen festen weißen Hintergrund, was auf small darkscreen nicht so gut aussieht. Und manche skalieren auch nicht so vernünftig.

Eelektrolurch

configDB und Windows befreite Zone!

ChHerrm

Hm danke für den Hinweis und vor allem für eure hohe Geduld :) Aber so richtig kriege ich mein Problem bisher wohl nicht ausgedrückt befürchte ich :-\
Also Logos habe ich, die findet FHEM auch, kein Problem. Aber ist der Zusammenhang nun, dass das Logo-File so heißen muss wie <channel>? Und der css-Code wird genauso wie er bei dir steht in eine ganz neue .css-Datei geworfen und die dann zusätzlich integriert? Hab ich das so weit richtig verstanden?


Und dann habe ich es noch nicht geschafft, SAT.1 einzubinden. Bei Klack trägt der Sender den title "SAT.1". Der Aufruf /SAT.1:SAT.1:SAT_1/ war jedoch nicht von erfolgt gekrönt. Hat das schon jemand eingebunden bekommen?

Elektrolurch

Zitat:
Logo-File so heißen muss wie <channel>? Und der css-Code wird genauso wie er bei dir steht in eine ganz neue .css-Datei geworfen und die dann zusätzlich integriert? Hab ich das so weit richtig verstanden?

ja, das dritte Feld <channel> ist der Name, mit dem der Receiver (bei mir Enigma) umgeschaltet wird und auch so muss die Datei für das Logo heißen. Das von mir veröffentlichte Muster passt also für Klack -> Enitma Receiver -> und die Logoanzeige.


get RTVhelper showKlacklist


Gibt es da ein SAT1?

Elektrolurch

configDB und Windows befreite Zone!

ChHerrm

Da hast du Recht, SAT.1 ist gar nicht dabei. Ich könnte mir vorstellen, dass es dabei Probleme mit dem Punkt im Namen gibt. Aber das ist für mich nicht so tragisch.
Ich habe jetzt den <channel>-Eintrag so benannt wie meine Logos ohne Endung. Weil ich keinen Receiver dahinter habe, sollte das für mich passen. Die Icons sind eingebunden, da ich sie mir auch an jeder anderen Stelle als Icons auswählen kann.

Und dann habe ich eine neue .css-Datei angelegt, die nur folgenden Inhalt hat:

.Logo.icon {width:72px;}
.Logo svg {width:72px; height:72px; horizontal-align:center; vertical-align:middle;}
.IconwithLabel {
width:64px;
vertical-align:middle;
horizontal-align:center;
text-align: center;
margin:4px;
}

.LabelText {
font-size:12px;
text-align: center;
color:#ffffff;
}


Anschließend ein

attr WEB CssFiles pgm2/TVIcons.css

und nichts passiert. Die Datei liegt an der richtigen Stelle. Ist das mit der css-Datei so richtig? Einfach den Code reinwerfen und nichts weiter dazuschreiben?
FHEM hab ich zur Sicherheit nochmal neu gestartet, aber keine Änderungen.

Elektrolurch

Ja, so sollte es richtig sein.
Ist es auch wirklich die WEB - Instanze und nicht WEBphone oder ss?

Und was heißt: nichts passiert?
Das css setzt nur die korrekte Größe der Logos und das Label unter dem Logo in zentriert.
Werden die Logos überhaupt angezeigt? Bitte also etwas präziser, wenn man Dir helfen soll.
configDB und Windows befreite Zone!

ChHerrm

Ich habe es für alle FHEM-Instanzen gemacht, aber in nirgendwo ist ein Logo aufgetaucht. Überall steht der Name der Bilddatei.
Beispiel

Das Erste:Das Erste:MeinLogo --> somit steht dann "MeinLogo" an der Stelle wo eigentlich das Icon auftauchen sollte. Das Format ist .png von meinen Icons. Ich habe aber auch testweise eines als .svg geändert. Es wird so oder so nur der eigentliche Name der Datei und kein Icon angezeigt

Wzut

Zitat von: ChHerrm am 02 Juni 2018, 12:22:39

attr WEB CssFiles pgm2/TVIcons.css

IMHO ohne pgm2 -> attr WEB CssFiles TVIcons.css , wenn die TVIcons..css da liegt wo auch ihre anderen .css Brüder sind.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Elektrolurch

Zitat:
Ich habe es für alle FHEM-Instanzen gemacht, aber in nirgendwo ist ein Logo aufgetaucht. Überall steht der Name der Bilddatei.
Beispiel

Das Erste:Das Erste:MeinLogo --> somit steht dann "MeinLogo" an der Stelle wo eigentlich das Icon auftauchen sollte. Das Format ist .png von meinen Icons. Ich habe aber auch testweise eines als .svg geändert. Es wird so oder so nur der eigentliche Name der Datei und kein Icon angezeigt


Noch Mal ganz langsam zum Mitdenken:
Das dritte Feld <channel> ist der Name des Senders, mit dem der Receiver umgeschaltet wird und gleichzeitig auch der Name des Logos, z.B. Das_Erste_Hd. Wobei intern die FW_MakeImage aufgerufen wird, die sucht in allen Verzeichnissen, die mit dem iconpath - Attribut fhem bekannt gemacht wurde, nach .svg und .png - Dateien.

Das zweite Feld <sender> ist der Name, der unter dem Logo angezeigt wird, denn Das_Erste_HD sieht ja als Name für einen Sender etwas blöd aus. :-) (WAF)
Wenn also da als Text Dat_Erste_HD angezeigt wird, so findet fhem die Ikonen nicht, denn, die FW_MakeImage liefert den Namen des gesuchten Logos als Text zurück, wenn der nicht in den angegebenen Verzeichnissen gefunden wird.
 
Die css - Datei hat keinen Einfluß auf die Namen, noch auf den Ort der Logos. Sie dient ausschließlich dazu, die Größe des Logos (falls es denn endlich mal angezeigt wird) einheitlich festzulegen und Farbe und Größe des angezeigten Sendernamens unter dem Logo frei zu bestimmen.

Also erst einmal komm mit Deinen Logos klar.
   
configDB und Windows befreite Zone!

ChHerrm

Perfekt, ich hab's 8) Ich hatte einen Unterordner in /opt/fhem/www/images/default/TVLogos. Diesen Ordner habe ich nun auf die gleiche Ebene wie default hochgezogen und dann lief es auch. Warum mir die Icons aber angezeigt wurden wenn ich zB irgendwo "select icon" wähle, hat mir nicht eingeleuchtet. Aber scheinbar ist das eine andere Herangehensweise. Wie auch immer, das war auf jeden Fall die Lösung.
Danke für eure Hilfe! :)

my-engel

Hallo,
ich wollte auch einmal probieren und es scheint auch zu funktionieren.
Habe nun aber das Problem, wenn ich auf die Uhr oder auf "aufklappen/zuklappen" bzw. auf die Vorschauliste klicke,
sich der Browser nicht selbst aktualisiert um den geänderten Zustand anzuzeigen.
Wenn ich dann den Browser von Hand die Seite neu laden lasse ( F5 ), zeigt es die gewünschte Seite dann aber an.
Ich habe nun schon an den Attributen longpoll in FHEMWEB gespielt aber leider ohne Erfolg.
Hat jemand eine Idee???

MfG

Elektrolurch

Hallo,

intern wird folgende Funktion aufgerufen:


sub  RTVhelper_RefreshScreen($)
{
my ($name) = @_;
return undef if(AttrVal($name,'disable',0) == 3);

my $room = AttrVal($name,'room','');
foreach my $rr (split(',',$room)) # multiroom
{
map { FW_directNotify("FILTER=room=$rr", "#FHEMWEB:$_", "location.reload('true')", "") } devspec2array("WEB.*");
} # foreach multiroom
return undef;
} # end sub RTVhelper_RefreshScreen

Also, es wird das Attribut "room" ausgewertet und die Webinstanz, auf der der "Refresh" durchgeführt werden soll heißt irgendwas mit "WEB....".
Man könnte allerdings, falls jemand seine Web-Instanzen anders benannt hat (?) auch die devspec2array mit "TYPE=WEB" aufrufen.

Elektrolurch
configDB und Windows befreite Zone!