FHEM Forum

FHEM => Frontends => Thema gestartet von: hess am 06 Oktober 2014, 20:22:01

Titel: FHEMJQWEB
Beitrag von: hess am 06 Oktober 2014, 20:22:01
Hallo erstmal, ist mein erster Beitrag, man möge mir gnädig sein.
Weder mit Floorplan noch mit den anderen WebGuis wurde ich glücklich.
Daher schnitze ich gerade an was sehr eigenem.

Ich hab mich von der Idee hier inspirieren lassen:
http://fhem.webmanufactur.net/ (http://fhem.webmanufactur.net/)

Da möchte jemand FHEM auf jQuery Mobile setzen, das finde ich eine ganz feine Idee und erhoffe mir davon,
dass die zukünftige Anzeige damit sich auch nach Kunst des responsive Designs auf allen erdenklichen Display-Auflösungen sehen lassen kann.

Ich bin da schon mal am basteln, das heißt ich gehe vom FHEMWEB aus und mache ein FHEMJQWEB draus ...
Ich hinterlasse hiermit der öffentlichen Kritik meinen GitHub-Link:
https://github.com/re4jh/fhemjqweb (https://github.com/re4jh/fhemjqweb)

Achso... ich meine natülich konstruktive Kritik, Mithilfe und Pull-Requests  :D

Herzliche Grüße
Jonas Hess

Titel: Antw:FHEMJQWEB
Beitrag von: hexenmeister am 06 Oktober 2014, 21:36:08
Und noch ein Frontend  ;D
Aber warum auch nicht. Die Idee ist ja grundsätzlich nicht schlecht.
Im Allgemeinen hat es bei mir funktioniert. Alle Gruppen lassen sich aufklappen, alle Icons leider weg.
Aber etwas mehr Info zu den (evtl. vorhandenen) Einstellmöglichkeiten wäre nicht verkehrt. Die vorhandenen Commandref-Texte scheinen ja nur aus FHEMWEB-Modul kopiert zu sein.

Es wäre schön, wenn es eine Möglichkeit gäbe vorzugeben, ob bestimmte Gruppen initial auf- oder zugeklappt sind. Am besten auch mit Speicherung des letzten Zustandes.
Die Portangabe im Define scheint nicht zu funktionieren, bei mir wurde Port der Default-Web-Instanz 'gekappert' ;)

Grüße,

Alexander
Titel: Antw:FHEMJQWEB
Beitrag von: HolyMoly am 07 Oktober 2014, 09:43:02
 Ein Screenshot für die Faulen?  ;)
Titel: Antw:FHEMJQWEB
Beitrag von: Pjg am 07 Oktober 2014, 16:14:05
Ich hab keine Ahung wie man das ausprobieren kann, aber ich finde jede Initiative bzgl. Front-End gut.
Evtl. kommt ja mal einer durch...
Titel: Antw:FHEMJQWEB
Beitrag von: olli84 am 07 Oktober 2014, 16:40:38
Ich habe die Dateien im www Ordner ersetzt sowie die 99_xxx.pm auch richtig reinkopiert. Was muss man noch tun damit es funktioniert?
Titel: Antw:FHEMJQWEB
Beitrag von: HolyMoly am 07 Oktober 2014, 16:47:13
Modul gereloadet oder besser neu gestartet?
Titel: Antw:FHEMJQWEB
Beitrag von: T.ihmann am 07 Oktober 2014, 17:03:56
Ein paar Screenshots wären wirklich nett...
Titel: Antw:FHEMJQWEB
Beitrag von: HolyMoly am 07 Oktober 2014, 17:49:14
Und natürlich muss man das neue fhemweb vorher auch noch definieren:

define jqFrontend FHEMJQWEB 8090 global

definitiv snappier ;)
Titel: Antw:FHEMJQWEB
Beitrag von: karl0123 am 07 Oktober 2014, 18:06:58
Zitat von: HolyMoly am 07 Oktober 2014, 17:49:14
Und natürlich muss man das neue fhemweb vorher auch noch definieren:

define jqFrontend FHEMJQWEB 8090 global

definitiv snappier ;)

Habe ich. Aber wenn ich es aufrufe (mit dem neuen Port), bekomme ich nur ein "normales" FHEMWEB angezeigt.
Titel: Antw:FHEMJQWEB
Beitrag von: olli84 am 07 Oktober 2014, 23:25:06
Zitat von: karl0123 am 07 Oktober 2014, 18:06:58
Habe ich. Aber wenn ich es aufrufe (mit dem neuen Port), bekomme ich nur ein "normales" FHEMWEB angezeigt.

Das gleiche habe ich hier.

Grüße
Titel: Antw:FHEMJQWEB
Beitrag von: HolyMoly am 08 Oktober 2014, 04:39:03
Achso stimmt, bei mir wurde das $FW_dir irgendwie immer wieder überschrieben...
ging erst nachdem ich $FW_dir nach $FW_dir_jq umbenannt hatte und das Modul neu geladen hatte.
Titel: Antw:FHEMJQWEB
Beitrag von: olli84 am 08 Oktober 2014, 05:05:51
Korrekt. Nach der Änderung in Zeile 50 funktioniert es!
Titel: Antw:FHEMJQWEB
Beitrag von: hess am 08 Oktober 2014, 23:40:59
Zitat von: HolyMoly am 08 Oktober 2014, 04:39:03
Achso stimmt, bei mir wurde das $FW_dir irgendwie immer wieder überschrieben...
ging erst nachdem ich $FW_dir nach $FW_dir_jq umbenannt hatte und das Modul neu geladen hatte.

Gute Idee! Danke.

Die ist mit Commit e78f45c (https://github.com/re4jh/fhemjqweb/commit/e78f45c14fc902597aa42b2467c9a60bbb2f6f06) gleich mal ins GitHub Repository gewandert.

Edit:
Inzwischen sind wir ein paar Commits weiter.
Ich hab noch an ner aussagekräftigeren Readme gebaut.

Folgendes globaleres Problem beschäftigt mich gedanklich:
Leider entdecke ich in bestehenden Modulen altbackene und nicht mobilefähige Tabellenstrukturen, die zu ersetzen wären.
Also bringt hier das eine oder andere Modul schon seinen Happen HTML mit ins Boot und der ist nicht mehr nach den Regeln der Kunst,
die ich für ein responsives Design brauche. Schreib ich jetzt lauter regex-Replacements um aus table/tr/td divs zu kriegen, oder könnte man da auch mal an bestehende Module und das HTML, dass die ausgeben auf ein anderes Niveau heben?



Titel: Antw:FHEMJQWEB
Beitrag von: HolyMoly am 09 Oktober 2014, 09:49:58
Hallo Hess,

ich glaube html per regex parsen ist keine so gute Idee.
Vielleicht nimmst du einen javascript html parser wie z.B. https://www.npmjs.org/package/htmlparser (https://www.npmjs.org/package/htmlparser)?
Titel: Antw:FHEMJQWEB
Beitrag von: Mitch am 09 Oktober 2014, 10:17:18
Könnte man das ganze auch so "einrichten", dass altes und neues GUI parallel läuft?

Also z.B. www für die original GUI und www2 für Deine neue GUI?
Sollte doch nur eine Pfandangabee im Modul sein, oder?
Titel: Antw:FHEMJQWEB
Beitrag von: fidel am 09 Oktober 2014, 11:07:58
Zitat von: HolyMoly am 07 Oktober 2014, 17:49:14
Und natürlich muss man das neue fhemweb vorher auch noch definieren:

define jqFrontend FHEMJQWEB 8090 global

definitiv snappier ;)
Wenn du nicht gerade deine normalen fhemweb Instanzen damit unterschreibst, vermute ich ganz stark, dass es parallel läuft...[emoji6]
Titel: Antw:FHEMJQWEB
Beitrag von: karl0123 am 09 Oktober 2014, 11:14:55
Leider nicht wirklich. Auf den anderen Ports bekommt man dann auch die JQuery Oberfläche.
Titel: Antw:FHEMJQWEB
Beitrag von: HolyMoly am 09 Oktober 2014, 11:17:36
Es sollte eigentlich parallel laufen, tatsächlich scheint es aber auch das bestehende FHEMWEB zu kapern (vermutlich wegen der vielen damit gesharten Variablen).
Aber soll ja denk ich momentan eher ein Proof of concept sein.

Mein erste Priorität wäre es erstmal die fehlenden Icons zu fixen :)

Titel: Antw:FHEMJQWEB
Beitrag von: Mitch am 09 Oktober 2014, 14:01:58
Hab es jetzt mal schnell unter Windows getestet und komme erst gar nicht zur Definition.

Wenn ich jetzt die Definition anlegen will, stürzt FHEM komplett ab und ich bekomme noch folgende Fehlermeldungen in der Konsole:

Subroutine FHEMJQWEB_Initialize redefined at ./FHEM/99_FHEMJQWEB.pm line 116.
Subroutine FW_SecurityCheck redefined at ./FHEM/99_FHEMJQWEB.pm line 198.
Subroutine FW_Define redefined at ./FHEM/99_FHEMJQWEB.pm line 217.
Subroutine FW_Undef redefined at ./FHEM/99_FHEMJQWEB.pm line 241.
Subroutine FW_Read redefined at ./FHEM/99_FHEMJQWEB.pm line 251.
Subroutine FW_closeConn redefined at ./FHEM/99_FHEMJQWEB.pm line 421.
Subroutine FW_serveSpecial redefined at ./FHEM/99_FHEMJQWEB.pm line 434.
Undefined subroutine &main::FW_visibleDevices called at ./FHEM/99_FHEMJQWEB.pm line 244.
Titel: Antw:FHEMJQWEB
Beitrag von: Blackcat am 09 Oktober 2014, 17:45:46
Hi,
Nette Idee,
ich frage mich nur immer warum es dann immer extern sein muss, geht nicht auch ein style und ggf. ein Modul das die fehlenden jquery Befehle zum auf und zu läd. Fhemweb kann doch auch jquery ;)

Wäre viel besser für alle nutzbar, aber just my 2 Cents
Titel: Antw:FHEMJQWEB
Beitrag von: hess am 09 Oktober 2014, 19:09:25
Zitat von: HolyMoly am 09 Oktober 2014, 09:49:58
Hallo Hess,

ich glaube html per regex parsen ist keine so gute Idee.
Vielleicht nimmst du einen javascript html parser wie z.B. https://www.npmjs.org/package/htmlparser (https://www.npmjs.org/package/htmlparser)?

Danke für den Tipp/Link, den kann ich sicher noch gebrauchen, aber responsive zu Denken heißt für mich eigentlich nicht,
die Rechenlast für unpassende Teile des DOM-Trees dem Client aufzubürden, zumal bei invaliden Teilen des Trees manchmal auch gleich das JS mit Streik reagiert, wesegen ich mir das schon aus Konsistenzgründen nicht leisten sollte.

Zitat von: Mitch am 09 Oktober 2014, 10:17:18
Könnte man das ganze auch so "einrichten", dass altes und neues GUI parallel läuft?

Also z.B. www für die original GUI und www2 für Deine neue GUI?
Sollte doch nur eine Pfandangabee im Modul sein, oder?

Das ist doch schon so... im Modul wird www2 verwendet.
Titel: Antw:FHEMJQWEB
Beitrag von: marko67 am 09 Oktober 2014, 19:33:33
Zitat von: hexenmeister am 06 Oktober 2014, 21:36:08
Und noch ein Frontend  ;D
Aber warum auch nicht. Die Idee ist ja grundsätzlich nicht schlecht.
Im Allgemeinen hat es bei mir funktioniert. Alle Gruppen lassen sich aufklappen, alle Icons leider weg.
Aber etwas mehr Info zu den (evtl. vorhandenen) Einstellmöglichkeiten wäre nicht verkehrt. Die vorhandenen Commandref-Texte scheinen ja nur aus FHEMWEB-Modul kopiert zu sein.

Es wäre schön, wenn es eine Möglichkeit gäbe vorzugeben, ob bestimmte Gruppen initial auf- oder zugeklappt sind. Am besten auch mit Speicherung des letzten Zustandes.
Die Portangabe im Define scheint nicht zu funktionieren, bei mir wurde Port der Default-Web-Instanz 'gekappert' ;)

Grüße,

Alexander

Liebe Nutzer,

es gibt einen in diesem Forum der ständig immer wieder auffällt und der mir langsam so was von auf den  **** geht, das kann man sich nicht vorstellen. Einen Beitrag hat er schon kaputt gemacht nun nölt er auch hier wieder rum.

## Hexenmeister## warum gehst Du nicht dort hin wo DU DEINE Erfüllung findest. Laß doch bitte die Leute in Ruhe und trage dort was bei wo Du was beitragen kannst. Aber bitte nicht mit dummen Beiträgen sondern konstruktiv... so wie es Dir bereits an anderer Stelle geraten wurde.

Ich habe mir Linux und Fhem ausgesucht weil ich basteln will. Weil ich Programmieren will. Weil ich was Lernen will. Es gibt so viele Leute hier die helfen das hier alles zu entwickeln, die helfen wenn Anfänger Probleme haben. Wenn es Dich stört dann geh doch und stören nicht solche Beiträge mit "schon wieder" " find ich net gut " usw.

Entschuldigung für die deutlichen Worte. Ich bin 1 Jahr dabei, habe mit einer Intertechno Dose angefangen, habe nun mein 1/2 Haus am rennen mit einem tollen RSS Panel und denke dass ich nun auch mal was in Richtung Dauernörgler sagen darf.

Ich wünsche allen einen schönen Abend und weiter viel Spass beim Entwickeln und Entdecken!
Titel: Antw:FHEMJQWEB
Beitrag von: fidel am 09 Oktober 2014, 20:04:42
@marko67
Der Post ist vom Anfang des Threads und ich empfinde ihn nicht wirklich als negativ. Man beachte das Smiley.
Klar ist es schade um den Hoanoho Thread, aber Hexenmeister konnte ich dort schon verstehen. Andererseits hätte man sich in dem Thread mal wieder eher dem Thema widmen können und Dansch s bitte folgen können.
Mit solch einem Text entfachst du nur im nächsten Thread das Feuer... Ich möchte hier nicht weiter darauf eingehen denn es gehört nicht zum Thema...
Titel: Antw:FHEMJQWEB
Beitrag von: Blackcat am 09 Oktober 2014, 20:15:40
Ich glaube Hexenmeister probiert gerne die neuen frondends aus.

Ich finde es nur schade, dass viele dann einzellösungen anfangen, meist in Php .. Also 2. Server auf dem pi -> langsam
Dann sind sie meist nicht aktuell mit den fhem Modul Änderungen und da fällt mir selbst auch nur "schon wieder ein frontend", dass viel Potential hat aber nicht zu Ende geführt wird.. Da wäre natürlich eine liste gut, da Anfängern die meisten frondends auch nicht bekannt sind

Das hat Jonas schon wesentlich verbessert, da er es direkt in fhem macht, schade finde ich nur das man aber denn www Ordner anpassen muss,
ein Modul mit z.b. einer Funktion, die dann das fhemweb umstellt auf fhemjqweb fände ich schöner. Dann kann man hin und her wechseln ohne etwas kaputt zu machen, da die Idee denke ich vielen FHEM Nutzern gefällt (so wie mir), aber ggf. der Eingriff zu groß ist

Vielleicht sollte man Entwicklern hierfür den Einstieg leichter machen für richtige Layoutthemes.
Titel: Antw:FHEMJQWEB
Beitrag von: hexenmeister am 09 Oktober 2014, 20:23:26
Zitat von: marko67 am 09 Oktober 2014, 19:33:33
es gibt einen in diesem Forum der ständig immer wieder auffällt und der mir langsam so was von auf den  **** geht, das kann man sich nicht vorstellen. Einen Beitrag hat er schon kaputt gemacht nun nölt er auch hier wieder rum.
Wenn ich so genau nachdenke... Stimmt, nölen tust hier Du, ich schreibe. ;)
Und... den Streit damals habe ich nicht angefangen. Bedanke Dich voanders.

Zitat## Hexenmeister## warum gehst Du nicht dort hin wo DU DEINE Erfüllung findest. Laß doch bitte die Leute in Ruhe und trage dort was bei wo Du was beitragen kannst. Aber bitte nicht mit dummen Beiträgen sondern konstruktiv... so wie es Dir bereits an anderer Stelle geraten wurde.
Bin schon. Tue ich schon.  ;D

ZitatIch habe mir Linux und Fhem ausgesucht weil ich basteln will. Weil ich Programmieren will. Weil ich was Lernen will. Es gibt so viele Leute hier die helfen das hier alles zu entwickeln, die helfen wenn Anfänger Probleme haben. Wenn es Dich stört dann geh doch und stören nicht solche Beiträge mit "schon wieder" " find ich net gut " usw.
Stört nicht, aber das scheinst Du nicht zu verstehen.

ZitatEntschuldigung für die deutlichen Worte. Ich bin 1 Jahr dabei, habe mit einer Intertechno Dose angefangen, habe nun mein 1/2 Haus am rennen mit einem tollen RSS Panel und denke dass ich nun auch mal was in Richtung Dauernörgler sagen darf.
Herzlichen Glühstrumpf!
Entschuldige auch Du meine deutliche Worte, aber mein Modul ist aktuell 541 Mal installiert, laut Statistik. Ich habe Hunderte Fragen im Forum beantwortet. Und was hast Du zu FHEM beigetragen?
Ich lasse in jedem Fall so nicht mit mir reden, wie es damals lief. Punkt. Ich hoffe, damit ist die Diskussion hier beendet.

Titel: Antw:FHEMJQWEB
Beitrag von: karl0123 am 09 Oktober 2014, 20:27:36
Der vielversprechendste Ansatz für ein Frontend ist hier zu finden:

http://forum.fhem.de/index.php/topic,27291.0.html (http://forum.fhem.de/index.php/topic,27291.0.html)

Und so, wie ich das sehe, wird das auch durchgezogen.

Der Pi ist für eine wirklich ernsthaft eingesetzte Produktivumgebung, meiner Ansicht nach, ohnehin nicht geeignet um den Argument der Performance mal den Wind aus den Segeln zu nehmen. Auf dem aktuellen Frontend lässt sich nichts vernünftiges bauen. Ein Grund dafür steht sogar in diesem Thread (die elenden Tabellen). Ein externen Frontend ist, auch in Sachen Performance, der einzig sinnvolle Ansatz.

Damit will ich doch die Arbeit hier nicht schlecht reden. Für viele ist sicher auch das sehr sinnvoll.
Titel: Antw:FHEMJQWEB
Beitrag von: hexenmeister am 09 Oktober 2014, 20:27:49
Zitat von: fidel am 09 Oktober 2014, 20:04:42
@marko67
Der Post ist vom Anfang des Threads und ich empfinde ihn nicht wirklich als negativ. Man beachte das Smiley.
Klar ist es schade um den Hoanoho Thread, aber Hexenmeister konnte ich dort schon verstehen. Andererseits hätte man sich in dem Thread mal wieder eher dem Thema widmen können und Dansch s bitte folgen können.
Mit solch einem Text entfachst du nur im nächsten Thread das Feuer... Ich möchte hier nicht weiter darauf eingehen denn es gehört nicht zum Thema...

Jo, Du hast völlig Recht. Es tut mir auch leid und ich habe mich beim Dansch entschuldigt. Aber der Umgang dort ging gar nicht. Es musste also sein. Dabei eine einfache sachliche Klarstellung über eine bestimmte falsche Behauptung hätte ausgereicht. Kamm aber nie. Schade.

Titel: Antw:FHEMJQWEB
Beitrag von: karl0123 am 09 Oktober 2014, 20:29:57
Layout Themes auf FHEMWEB zu setzen ist nicht wirklich sinnvoll. Ich kenne dein Theme IOS6 @Blackcat. Schöne Arbeit aber am Ende doch sehr hässlich, nicht responsive etc. Dazu kannst du nichts aber das aktuelle Frontend pgm2 ist eben nicht wirklich geeignet.
Titel: Antw:FHEMJQWEB
Beitrag von: Blackcat am 09 Oktober 2014, 20:52:20
Deshalb fände ich ja eben ein umschaltmodul für themes sinnvoll, dass man dann reponsive Elemente hinzuschlagen kann, gerade der Ansatz hier ist sehr gut dafür geeignet

Das hat mich selbst auch stark eingeschränkt da so ein style eben nur css ist und für responsive design und nette Effekte braucht man eben JavaScript, aber mir war wichtig alle Funktionen von fhem abbilden zu können, den Aufwand möglich klein zu halten (für alle) und iPad optimiert. Die Tabellen macht es aber deshalb nicht schöner, die sind eben mal 3 mal 5 Spalten und verschoben... für die Plattformen gibt es ja zum Glück verschiedene Ports (ist aber eben für Einsteiger nicht immer gleich ersichtlich, dass man für sein Handy einen anderen link brauch als am Desktop)
Titel: Antw:FHEMJQWEB
Beitrag von: karl0123 am 09 Oktober 2014, 20:54:25
Das Tabellendesign von pgm2 bekommst du nicht wirklich responsive.

Deshalb kann der Weg zu einem modernen Design nur über ein neues Frontend gehen. Meine Meinung.
Titel: Antw:FHEMJQWEB
Beitrag von: Blackcat am 09 Oktober 2014, 21:04:37
Da sag ich ja nix gegen aber bitte ein Fhem internes oder wenigstens zusammen ausgeliefert.
Ich finde dass es den Einstieg in fhem noch mehr erschwert wenn man dann noch ein externes GUI aufsetzen muss. Zudem hat man dann immer Schnittstellen  ???

Die Tabellen kann man auch intern loswerden, man brauch nur eben ein gutes Konzept zur Migration
Titel: Antw:FHEMJQWEB
Beitrag von: karl0123 am 09 Oktober 2014, 21:08:36
Meine persönliche Meinung ist ja, dass FHEM gar nicht so einfach werden sollte. Ich bin immer froh gewesen, dass es ein Bastlersystem ist.

Und wenn ein neues Frontend eine gute Installationsanleitung hat, ist das doch super. FHEM wird nie ein System für Klicki Bunti Liebhaber und das ist auch gut so.

Und warum sollte ein neues Frontend nicht irgendwann pgm2 ersetzen?

Aber wir werden hier doch langsam leicht OT.
Titel: Antw:FHEMJQWEB
Beitrag von: HolyMoly am 09 Oktober 2014, 21:46:02
Zitatresponsive zu Denken heißt für mich eigentlich nicht, die Rechenlast für unpassende Teile des DOM-Trees dem Client aufzubürden
Probiers einfach mal, du wirst überrascht sein wie fix/optimiert javascript mittlerweile ist und darüber wieviel mehr rechenleistung ein 150 € supermarkt tablet besitzt als ein raspberrypi.
Klar javascript ist butt ugly, aber läuft halt auch wirklich fast überall ;)
Titel: Antw:FHEMJQWEB
Beitrag von: hess am 11 Oktober 2014, 01:37:51
Zitat von: HolyMoly am 09 Oktober 2014, 21:46:02
Probiers einfach mal, du wirst überrascht sein wie fix/optimiert javascript mittlerweile ist [...]

Hab's probiert... ging wirklich recht fix...
Hab mich überzeugen lassen.
Ist im Repository drin.
Titel: Antw:FHEMJQWEB
Beitrag von: P.A.Trick am 17 Oktober 2014, 21:50:16
Hey Jonas,
ich habe das mal ausprobiert und ich muss sagen das es schon "fett" aussieht! Ich glaube das könnte ein würdiger Nachfolger werden!
Ich bin gespannt wie es weiter geht!?