Einzelnes Device ohne Raumliste, Inputzeile usw. über URL rendern lassen?

Begonnen von mumpitzstuff, 22 Juni 2020, 21:32:54

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Gibt es vielleicht die Möglichkeit ein einzelnes Device durch FHEMWEB rendern zu lassen bzw. besteht die Möglichkeit so etwas vorzusehen? Sämtliche Menüs (Räume), Eingabezeilen usw. sollten dabei ausgeblendet sein und es soll nicht die Detailansicht, sondern die normale Ansicht des Gerätes angezeigt werden. Der Aufruf zum Rendern eines einzelnen Devices könnte z.B so erfolgen:

ip:8083/fhem?device=doif_TEST

Der Hintergrund ist, das sich damit einzelne Devices mittels iFrame in andere Oberflächen integrieren lassen würden wie z.b. FTUI oder auch in Handy Apps wie FhemNative. Komplizierte Widgets oder andere aufwendige Dinge könnten so oft umgangen werden.

Mir ist bewusst, das ich die Raumansicht ausblenden kann, aber diese Dinge gehen alle nur dauerhaft und das ist nicht das was ich will. Ich möchte die normale FHEMWEB Ansicht sehen und in anderen Oberflächen nur einzelne spezielle Geräte anzeigen lassen und steuern können.

rudolfkoenig

Meines Wissens gibt es keine solche Moeglichkeit.

Bin auch unsicher, ob ich damit anfangen soll, da bei den Anwenderprogrammen unterschiedlichste Wuensche gibt, von Style, Groesse, Anordnung der einzelnen Komponenten, usw. das sieht man an dem veralteten FLOORPLAN.
Weiterhin besteht damit eine enge Verzahnung zwischen den beiden Komponenten (was, wie im Falle von FLOORPLAN zu sehen ist) langfristig zu Problemen fuehrt.

mumpitzstuff

Hmm schade. Ich hatte mir das relativ einfach vorgestellt, da man ja beim rendern der Seite nur die Raumliste bzw. alles außer dem einen Device selbst, einfach nur weglassen müsste. Das Aussehen würde dann selbstverständlich den Standard Einstellungen von FHEMWEB entsprechen. Aber das würde ja ausreichen für das einbetten eines Einzeldevices in eine anderen Oberfläche per iFrame. Irgendwelche Verzahnungen dürfte es doch hierbei gar nicht geben. Innerhalb des iFrames befindet sich doch dann eine völlig normale FHEMWEB Instanz.
Wenn ich mir z.b. eine Readingsgroup gebastelt habe zur Steuerung der Temperatur, dann muss ich in einer anderen Oberfläche wie z.B. FhemNative tausend Dinge tun, um das irgendwie nachzumodellieren. Stattdessen könnte man dann die Readingsgroup in einem iFrame anzeigen lassen und würde die gesamte FHEMWEB Steuerung für diese Readingsgroup frei Haus bekommen. Oder man könnte eine DOIF uiTable in FTUI integrieren.
Aber ich stecke natürlich nicht so drin und kann den Aufwand dafür und auch potenzielle Probleme nicht abschätzen. Nichtsdestotrotz fand ich die Idee auf den ersten Blick nicht so schlecht, deshalb habe ich zumindest mal nachfragen wollen.

Ellert

Zitat von: mumpitzstuff am 22 Juni 2020, 21:32:54
Gibt es vielleicht die Möglichkeit ein einzelnes Device durch FHEMWEB rendern zu lassen bzw. besteht die Möglichkeit so etwas vorzusehen? Sämtliche Menüs (Räume), Eingabezeilen usw. sollten dabei ausgeblendet sein und es soll nicht die Detailansicht, sondern die normale Ansicht des Gerätes angezeigt werden. Der Aufruf zum Rendern eines einzelnen Devices könnte z.B so erfolgen:

ip:8083/fhem?device=doif_TEST

Der Hintergrund ist, das sich damit einzelne Devices mittels iFrame in andere Oberflächen integrieren lassen würden wie z.b. FTUI oder auch in Handy Apps wie FhemNative. Komplizierte Widgets oder andere aufwendige Dinge könnten so oft umgangen werden.

Mir ist bewusst, das ich die Raumansicht ausblenden kann, aber diese Dinge gehen alle nur dauerhaft und das ist nicht das was ich will. Ich möchte die normale FHEMWEB Ansicht sehen und in anderen Oberflächen nur einzelne spezielle Geräte anzeigen lassen und steuern können.
Funktioniert das nicht auch in einer eigenen FHEMWEB-Instanz in der nur Das betreffende DOIF angezeigt wird und die dann im IFrame angezeigt wird?

mumpitzstuff

Okay das ist für ein Device machbar das stimmt wahrscheinlich (werde ich spaßeshalber auch mal ausprobieren ob man in dieser Instanz dann wirklich alles außer dem Device ausblenden kann). Wenn man aber ein paar Charts usw. haben möchte, ist das auch wieder ein wenig umständlich, wenn man für 5-10 Devices separate FHEMWEB Instanzen bilden müsste.

PS: Das geht soweit ganz gut. Über den f18 Style kann man sogar direkt das Menü und alles andere abschalten und einen default room mit einem Device einstellen. Dann wird das einzelne Device angezeigt. Und genau sowas wäre halt super als URL command. Die Elemente dazu scheinen eigentlich schon allesamt vorhanden zu sein.

Auf jeden Fall vielen Dank für den Tipp! Das hilft schon mal etwas weiter.

Damian

Ich hatte bereits schon die Idee gehabt ein eigenes Modul zu entwickeln, das wie TabletUI einen eigenen Bildschirm aufbaut und statt einer Tabelle wie beim Attribut uiTable mit HTML-Grid arbeitet, aber zuerst kommen ein interessantes Features im DOIF, welches die Generalisierung von Steuerungsaufgaben und deren Visualisierung über ein und dieselbe Parametrisierung erlaubt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF