Frontend zum Eigengebrauch umgestalten

Begonnen von dorf, 20 Oktober 2013, 00:30:30

Vorheriges Thema - Nächstes Thema

molnitza

Die Frage ist ja erstmal was man wirklich will. Entweder man möchte ein paralleles System aufbauen oder aber man versucht die Kompatibilität zu anderen Modulen zu wahren. Ich denke letztere Möglichkeit dürfte zielführender sein, da etliche Module mit den subs von FHEMWEB arbeiten.

reichi

#46
die schreiben direkt in den FD, das ist mit templates praktisch unvereinbar...
Genau DAS ist das größte aller Probleme.
Wenn wieder jeder direkt html in den Filedescriptor schreibt kann man das ganze auch direkt wieder lassen...

Ich hab nicht den vollständigen überblick. Aber ich sehe das SEHR kritisch wenn irgendwer von extern direkt in den FD schreibt.

reichi

Ich hab mir nochmal Gedanken gemacht.
Im Wesentlichen gibt es da mehrere Probleme...

1. Doppelte definition der selben Funktion, FW_pO ist ja bereits in 01_FHEMWEB.pm definiert, man wird also auf jedenfall irgendwas "zaubern müssen
2. Grundsätzlich kann man das Ding auch in Verbindung mit templates nutzen. soweit ich das gesehen habe nutzen die externen Funktionen ja webCmds. D.h. man kann die FWA_pO so gestalten das externe plugins uns ihren html code geben und wir diesen dann dem template übergeben (mark_raw wird ja auch so schon an einigen stellen benutzt).

vom Prinzip her:

Webcommand -> FW_pO -> tempvar -> template hash/array

Ich denke das erste Ziel sollte aber sein die Standardfunktionen der FHEMWEB neu abzubilden. Die Problematik mit den webcommands und der FW_pO muss man dann nochmal getrennt betrachten. Es im Kopf zu haben und sich nicht direkt alles verbauen ist aber sicher sinnvoll.

fkhm

Da möchte ich mal nach Fragen, wie das ganze denn jetzt aussieht?
Ich habe mir mal die Oberfläche angesehen und momentan wird das ganze ja in Tabellenlayouts gelöst, was ist da für die Zukunft angedacht?

Persönlich würde es mir gefallen wenn man wie bei einem CMS ein Frontend und ein Backend (wurde hier schonmal geschrieben) hat. Im Backend also alle Einstellungen tätigen und im Frontend wird die Möglichkeit der Übersicht (Floorplan/Dashboard) gegeben und die einzelnen Räume zum ansteuern. Leider habe ich noch nie mit Perl gearbeitet, weiß also nicht wie die Ausgabe bisher geregelt wird, aber vielleicht könnte man ja für die Version 5.6 andenken, dass man die Ausgabe grundsätzlich mit php realisiert, also einen Header-Bereich, linke Spalte, Content, Footer.

Gruß

strauch

Zitat von: fkhm am 10 Februar 2014, 11:59:22
Leider habe ich noch nie mit Perl gearbeitet, weiß also nicht wie die Ausgabe bisher geregelt wird, aber vielleicht könnte man ja für die Version 5.6 andenken, dass man die Ausgabe grundsätzlich mit php realisiert, also einen Header-Bereich, linke Spalte, Content, Footer.

Ob du das mit php oder perl machst ist egal. Ein Umstieg von php auf perl nur für das Webfrontend ist nicht notwendig.

Bisher ist auch nicht geplant ein Backend oder Frontend zu machen, sondern überhaupt die "Webausgabe" von FHEM auf ein anderes System umzustellen, so das es sich leichter umgestalten lässt. Ganz unabhängig davon was damit dargestellt wird.

Ein Backend oder Frontend wäre eine ganz andere Baustelle und auch unabhängig davon. Und benötigt vielleicht auch noch ganz andere Baustellen.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

reichi

#50
Ich habe gestern Abend mal wieder ein bisschen gebastelt.
Man kann jetzt immerhin Dateien bearbeiten (und natürlich auch die liste Anzeigen).
Außerdem gibt's werden fehler beim Rendern von templates nun eingefangen und im Browser ausgegeben.

Da mir bei Perl nach wie vor etwas die Übung fehlt geht das alles leider nicht so schnell wie ich das gerne hätte ;).
Bzgl Plots und Co. bin ich aktuell noch nicht sicher wie ich das am Ende angehen soll, aber irgendwas wird mir da sicher einfallen.

Im Vordergrund steht für mich momentan aber eine gewisse Grundfunktionalität bereitzustellen.
Grundfunktionalität ist aus meiner sicht vor allem eines:

-> Aktoren schalten und ihren aktuellen Status anzeigen (Schalter, Dimmer, Thermostate, Jalousien)

"Luxusfeatures" wie Plots & Co. kann man sich dann später ansehen :).
Die Änderungen sind im git, Anmerkungen, Anregungen und Kritik sind jederzeit willkommen.

Hier nochmal der Link zum git: https://github.com/sreichholf/fhem-webapp

strauch

Toll zu sehen das du da dran bist ich schau mal ob ich am we eine test Installation mache um das anzuschauen

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

reichi

Bei der wirst du dann sogar SVGs sehen können ;).
Ich habs eben so weit hinbekommen... denke ich... irgendwie ists ein hack, aber hey... es funktioniert ohne "alles kaputt" zu machen. So gesehen kann ich das ganz gut vertreten :).

HolyMoly

Hi Reichi,

dh FHEMWEBAPP und FHEMWEB können nun in friedlicher Koexistenz laufen?
Wie komme ich dann aufs interface von FHEMWEBAPP?

Werde am WE mal versuchen Text::Xslate auf die fritzbox zu bringen und deine WEBAPP testen ;)

lg HolyMoly
FHEM auf Raspi2 & Radxa Rock

reichi

#54
man kann über webapp aber nichts einstellen gell ;). Und es kann nach wie vor zu harten abstürzen von FHEM kommen (bis wir die Phase verlassen haben wird ncoh etwas Zeit vergehen).

Man konfiguriert sie einfach auf nem anderen port über das übliche define (mit FHEMWEBAPP statt FHEMWEB).
Wie gesagt kann derzeit aber nur Entwicklungsinteressierten dazu raten.
Und wovon ich absolut abrate ist es das ding auf einer produktiven fhem instanz zu installlieren (hier läuft fhem derzeit noch auf der Fritz, wird aber auf den PI umziehen auf dem ich grad entwickle).

Nachtrag:
Ich hab mal nen screenshot gemacht: https://reichholf.net/cloud/public.php?service=files&t=b132ad5d96d2015a619eef7260caf46a
Die Graphen sind leer weil die logs veraltet sind!

nabbl

Ich bin recht neu hier und lese mich gerade erst in die Thematik ein.

Sobald ich die eigentliche Installation von FHEM bei mir gemacht habe, werde ich mir das GIT Repo mal reinziehen. Ich kann absolut kein Perl (eher JS, PHP, C#) von daher bin ich gespannt wie das ausgeht ;-)

Wie sieht es mit Fortschritt aus? Die letzten Commits im GIT Repo sind ja ne Weile her (no offense). Allerdings habe ich das deutliche Gefühl, dass das "the way2go" ist. Du machst hier super Arbeit Reichi und ich hoffe du findest die Zeit da kontinuierlich weiterzuentwickeln!

Das ist ein TOP Projekt und für viele Leute, die sich für ein Hausautomations-System entscheiden müssen, ist ein ansprechendes UI ein ENTSCHEIDENDES Kriterium. Im Sinne der Verbreitung (und dementsprechend der Langlebigkeit) von FHEM wird das immer wichtiger!
Ich will nicht wissen, wieviele Leute auf Loxone oder IPS nur wegen der schön anzusehenden UI setzen (und das obwohl so ein Miniserver evtl. nicht mal notwendig wäre...)

reichi

Hi,

bei mir ist das immer so ne "schubweise" sache. D.h. ich werde immer wieder mal spontan 1-2 tage richtig was machen und dann liegts wieder ne Zeit.
Und als Info: ich hab vorher noch nie auch nur eine Zeile Perl geschrieben (allerdings sind mir diverse andere Sprachen durchaus geläufig).

d.schoen

Ich beteilige mich mal an dieser Stelle. Der Ansatz, das FHEMWEB Template-basiert zu gestalten gefällt mir sehr gut.

Mein Fork findet sich hier: https://github.com/dsgrafiniert/fhem-webapp
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

Grimm80

Hi @all,

hat sich hier eigentlich noch irgendwas getan in Sachen Bootstrap etc?
Es ist sehr lange hier schon ruhig  :-[

Würde mich freuen wenn man da noch wieder was zu hört