Fernsehprogramm DOIF (aktuell und primetime | non blocking | minimaler traffic)

Begonnen von mumpitzstuff, 12 Juni 2020, 21:47:48

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Ich habe aktuell keine Möglichkeit gefunden aus dem DOIF heraus festzustellen, ob das DOIF über FHEMWEB oder FTUI angezeigt wird. Damit steht und fällt aber alles in Hinsicht auf FTUI. Am Ende wird es vermutlich darauf hinauslaufen, das du die uiTable nur in FHEMWEB verwenden kannst und dir aus den Readings eine komplett eigene Anzeige für FTUI basteln musst. So schwierig sollte das ja eigentlich nicht sein.

amenomade

Zitat von: mumpitzstuff am 22 Juni 2020, 01:21:32
Ich habe aktuell keine Möglichkeit gefunden aus dem DOIF heraus festzustellen, ob das DOIF über FHEMWEB oder FTUI angezeigt wird.
Das kann nicht gehen, da FTUI eigentlich FHEMWEB mittels jsonlist2 und inform verbunden ist. Für FHEMWEB ist so zu sagen FTUI nur ein zusätzlicher Benutzer.

Zitat von: mumpitzstuff am 22 Juni 2020, 01:21:32
Damit steht und fällt aber alles in Hinsicht auf FTUI. Am Ende wird es vermutlich darauf hinauslaufen, das du die uiTable nur in FHEMWEB verwenden kannst und dir aus den Readings eine komplett eigene Anzeige für FTUI basteln musst. So schwierig sollte das ja eigentlich nicht sein.
Ja, so ist es, es sei denn, jemand entwickelt ein Widget für DOIFs mit uiTables. Aber die Komplexität von uiTables ist so hoch, dass vermutlich niemand es versuchen wird.
Fazit... wer das in FTUI will, muss eine FTUI Html Seite selbst bauen.

Was vielleicht möglich wäre: vom DOIF eine Datei mit passendem Code für FTUI generieren lassen, so dass der Benutzer nur ein copy/paste noch braucht. Das ist aber auch grosse Aufwand.



Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

mumpitzstuff

Ah vielen Dank für die Klärung, dann kann ich mir weitere Sucherei ersparen!

Damian

uiTable hatte ursprünglich TabletUI als Schnittstelle drin, funktionierte aber nicht zuverlässig, deswegen ist sie wieder rausgeflogen: siehe: https://forum.fhem.de/index.php/topic,77690.msg729851.html#msg729851
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

robishawn

Hallo zusammen,

Vielen Dank für Eure Mühe und die schnelle Hilfe.

Schade daß es keine Lösung für FTUI gibt, zumal die Darstellung als Readingsgroup out of the BOX funktioniert, bis auf die Popups mit den Detailinfos und dem Umschalten.  :'(

Um aus den Readings eine eigene FTUI-Anzeige zu bauen bin ich leider zu doof.  :)

Das Fernsehprogramm macht sich in FTUI nämlich sehr gut.

Vielleicht hat ja noch jemand Lust das zu bauen.

Ellert

ZitatSchade daß es keine Lösung für FTUI gibt, zumal die Darstellung als Readingsgroup out of the BOX funktioniert, bis auf die Popups mit den Detailinfos und dem Umschalten. 
Das FTUI Readingsgroup-Widget funktioniert in gleicher Weise mit DOIF.

mumpitzstuff

Zitat von: robishawn am 22 Juni 2020, 14:25:06
Hallo zusammen,

Vielen Dank für Eure Mühe und die schnelle Hilfe.

Schade daß es keine Lösung für FTUI gibt, zumal die Darstellung als Readingsgroup out of the BOX funktioniert, bis auf die Popups mit den Detailinfos und dem Umschalten.  :'(

Um aus den Readings eine eigene FTUI-Anzeige zu bauen bin ich leider zu doof.  :)

Das Fernsehprogramm macht sich in FTUI nämlich sehr gut.

Vielleicht hat ja noch jemand Lust das zu bauen.

Ellert hat mir noch einen Tipp gegeben, der dich vielleicht weiter bringt. Du könntest mal versuchen dir ein separates FHEMWEB Device anzulegen. Hier stellst du einfach alles ab. Menüs, Input Zeile usw. usw. Wenn du jetzt das TV DOIF als einziges Device in einen separaten Raum legst, dann kannst du dir das defaultRoom Attribut setzen. Danach wird dir über einen bestimmten Port eine Seite NUR mit dem TV DOIF gerendert. Diese Seite könntest du dann als iframe in deine FTUI Umgebung einbetten und alles sollte funktionieren.

Hier mal ein Beispiel für die FHEMWEB Instanz (ich habe einfach mal WEBphone missbraucht, das ich vorher noch nie verwendet habe und das auf Port 8084 zu finden ist (mein doif befindet sich im Raum TEST):

defmod WEBphone FHEMWEB 8084 global
attr WEBphone Css body,input,select,textarea { font-family:Arial, sans-serif;; font-size:16px;;}\
body.touch a { font-size: 16px;; }\
body.touch #menu { font-size: 16px;; } /* for the menuTree icon */\
td {padding-left: 6px;; padding-right: 6px;; padding-top: 3px;; padding-bottom: 3px;;}\
input[type="submit"] { background-color: #353535;; border-style:outset;; border-width:2px }
attr WEBphone defaultRoom TEST
attr WEBphone styleData {\
"f18": {\
  "Pinned.menu": "true",\
  "hidePin": "true",\
  "cols.bg": "444444",\
  "cols.fg": "CCCCCC",\
  "cols.link": "a5becc",\
  "cols.evenrow": "333333",\
  "cols.oddrow": "111111",\
  "cols.header": "222222",\
  "cols.menu": "111111",\
  "cols.sel": "333333",\
  "cols.inpBack": "444444",\
  "savePinChanges": true,\
  "hideLogo": true,\
  "hideInput": true,\
  "hideTextInput": true,\
  "hideMenu": true\
}\
}
attr WEBphone stylesheetPrefix f18


Willst du das am Layout anpassen, dann setzt du einfach in deiner normalen WEB Instanz für die WEBphone Instanz hideMenu wieder auf false und speicherst ab. Dann ist das Menü wieder in deiner WEBphone Instanz sichtbar.

mumpitzstuff

Im ersten Beitrag habe ich ein separates Template für ein set command bei Klick auf das Programmlogo hinzugefügt. Die Erklärung dazu ist unter Punkt 5 zu finden. Hiermit kann aus FHEM heraus der Sender direkt umgeschaltet werden, wenn ein entsprechendes Device dazu existiert (z.B. irblaster).

robishawn

Hallo mumpitzstuff,

ich habe versucht nochmal ein neues Device anzulegen um die aktuelle Version zu nutzen, bekomme aber die Fehlermeldung :

doif_TV_Programm DOIF: no right bracket: {\ use utf8;\ use Date::Parse;\ #use Time::Piece;\ # sudo apt-get install libxml-bare-perl\ use XML::Bare 0.53 qw(forcearray);\ use Blocking;\ #use Encode qw(encode_utf8 decode_utf8);\ \


Da hat sich wohl ein Tippfehler eingeschlichen.

Den Tipp mit dem separaten FHEMWEB Device habe ich noch nicht probiert.

mumpitzstuff

Ich habs noch mal rein kopiert, konnte aber auch keinen Fehler sehen. Bei mir konnte ich das Gerät genau so anlegen.

mumpitzstuff

Im ersten Beitrag habe ich mal ein ganz simples Beispiel für FTUI dran gehangen. Hübsch machen muss das jeder bitte selbst.

mumpitzstuff

Das DOIF aus dem ersten Beitrag wurde um folgende Dinge erweitert:

1.) Die Angabe eines Telnet Ports ist jetzt optional. Wenn einer angegeben ist, dann wird dieser als Backup verwendet, falls das automatische Erstellen des Ports schief geht. Ansonsten wird selbst einer erstellt und verwendet.

2.) Next und Prime initialisieren sich jetzt zeitversetzt. Zuerst wird ein Download ausgeführt, 5min später wird Next aktualisiert und 10min später Prime. Dadurch bleibt die Tabelle nicht teilweise bis zum nächsten Tag leer.

3.) Der Download wird nur noch ausgeführt, wenn die Datei nicht vorhanden oder mindestens älter als 1 Tag ist. Damit soll Download spamming vermieden werden, wenn man am Anfang noch viel an den Sendern editiert.

fhemfreund

Habe mal das DOIF probiert ... es funktioniert soweit und EPG Daten bekomme ich angezeigt. Allerdings bekomme ich folgende Fehlermeldung in der Senderspalte für alle Sender:


error Undefined subroutine &ui_Table::ICON called at (eval 334352) line 23. in expression: showIcon("<Sendername>",undef,undef)


Müssen in jedem Fall doch SenderLogos installiert werden?

Update: habe mal testweise das ard logo kopiert - Fehler ist immer noch da ...

Andreas

Damian

Zitat von: fhemfreund am 29 Juni 2020, 19:10:20
Habe mal das DOIF probiert ... es funktioniert soweit und EPG Daten bekomme ich angezeigt. Allerdings bekomme ich folgende Fehlermeldung in der Senderspalte für alle Sender:


error Undefined subroutine &ui_Table::ICON called at (eval 334352) line 23. in expression: showIcon("<Sendername>",undef,undef)


Müssen in jedem Fall doch SenderLogos installiert werden?

Update: habe mal testweise das ard logo kopiert - Fehler ist immer noch da ...

Andreas

Du musst dein DOIF updaten
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

fhemfreund