FUIP - Fhem User Interface Painter

Begonnen von Thorsten Pferdekaemper, 17 März 2018, 23:08:43

Vorheriges Thema - Nächstes Thema

TNT0068

Ich bin wirklich begeistert ohne HTML Kenntnisse"mal eben" eine Oberfläche einzurichten. Das ganze hat nun ca. 1 Std gedauert. Bei FTUI habe ich das irgendwann auchmal geschafft. Aber wenn man nicht die Zeit hat sich stundenlang mit einem Button zubeschäftigen ist das hier genau das richtige.


Was mir noch gefallen würde wäre ein Simple Switch den man mit Set befehlen selber befüllen kann. Eine Mischung aus Simple Switch und view Select. Neben der Volume anzeige in meiner Grafik ist für den Verstärker Mute on oder off. Ein Button wäre da hilfreicher.

Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Thorsten Pferdekaemper

Hi,
danke für die positive Rückmeldung!
Für Deinen "Mute"-Button könnte es reichen, wenn man beim SimpleSwitch das Attribut data-set steuern könnte.
In Deinem fhem-Verzeichnis (also z.B. /opt/fhem) müsste es eine Datei mit einem Namen wie "FUIP_....cfg" geben. Könntest Du die mal hier dranhängen?
Gruß,
   Thorsten
FUIP

TNT0068

Man sollte auch mal positives erwähnen ;) Meckern kann jeder  ;D

Anbei meine CFG
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Ranseyer

Hallo Thorsten, Danke für deinen Einsatz.
Genau sowas hab ich mir immer gewünscht !


Ob das Problem bei mir liegt weiss ich nicht (bei "update all fuip"):
Zitat2018.06.01 14:18:40.186 1 : UPD FHEM/lib/FUIP/js/jquery.tablesorter.widgets.js
2018.06.01 14:18:40.396 1 : saving fhem.cfg
2018.06.01 14:18:40.400 1 : saving ./log/fhem.save
2018.06.01 14:18:40.400 1 :
2018.06.01 14:18:40.403 1 : New entries in the CHANGED file:
2018.06.01 14:18:40.403 1 : 404: Not Found
2018.06.01 14:18:40.404 1 : Calling /usr/bin/perl ./contrib/commandref_join.pl -noWarnings, this may take a while

Dann hab ich noch ausgeführt:
attr WEB.* csrfToken none  #Das schmeckt mir zwas nicht aber nehme ich mal in Kauf

apt install libjson-pp-perl und liburi-escape-xs-perl
cpan URI::Escape::XS
cpan JSON::Parse


Nach "get ui pagesettting" ist FHEM abgeschmiert.
2018.06.01 14:50:39.034 1: PERL WARNING: Use of uninitialized value $devName in hash element at FHEM/lib/FUIP/Model.pm line 227.
2018.06.01 14:50:39.034 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 2585.
2018.06.01 14:50:39.034 1: PERL WARNING: Use of uninitialized value $devName in hash element at FHEM/lib/FUIP/Model.pm line 247.
2018.06.01 14:50:43.342 1: PERL WARNING: Use of uninitialized value $pageId in hash element at ./FHEM/42_FUIP.pm line 1303.
Can't call method "getConfigFields" on an undefined value at ./FHEM/42_FUIP.pm line 1304.



Fragen:
-Wie wärs mit nem Wiki Artikel. Falls gewünscht starte ich den "FUIP-Fhem-User-Interface-Painter"
-sehe ich das richtig dass die Config ausschliesslich hier gespeichert wird ? > FUIP_ui.cfg

Das würde bedeuten ich kann nicht das bestehende UI mit Deinem mischen ? (Meins ist zwar nicht doll, aber ich dachte der UI-Painter generiert HTML-Code und ich kopiere mir diesen in meine Files hinein)

PS: Danke nochmals dass du das teilst !
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Thorsten Pferdekaemper

Zitat von: Ranseyer am 01 Juni 2018, 15:07:11
Hallo Thorsten, Danke für deinen Einsatz.
Genau sowas hab ich mir immer gewünscht !
Danke für die positive Rückmeldung!

Zitatattr WEB.* csrfToken none  #Das schmeckt mir zwas nicht aber nehme ich mal in Kauf
Ja, ich weiß. Das ist ein bisschen unschön.
ZitatNach "get ui pagesettting" ist FHEM abgeschmiert.
Ja, da fehlt die ID der page. Ich muss mal die internen Befehle irgendwie verstecken. Anders gesagt: Es ist gar nicht so gedacht, dass Du das aufrufst. Das ist für die Klickibunti-Oberfläche da.
...oder denkst Du, dass Du das für irgend etwas brauchst?

Zitat
-Wie wärs mit nem Wiki Artikel. Falls gewünscht starte ich den "FUIP-Fhem-User-Interface-Painter"
Das kannst Du gerne machen. Ich bin sowieso nicht so der Wiki-Profi.
Mein Plan ist, dass FUIP gar nicht so viel Doku braucht bzw. dass das in FUIP selbst integriert wird. D.h. ein Wiki-Artikel ist ok, aber er sollte sich auf die ersten Schritte konzentrieren. Wenn nachher irgend etwas nicht intuitiv ist, dann sollten wir eher daran arbeiten, das zu verbessern.

Zitat
-sehe ich das richtig dass die Config ausschliesslich hier gespeichert wird ? > FUIP_ui.cfg
Ein FUIP-Device wird wie jedes andere auch in der fhem.cfg gespeichert. Das betrifft die Definition selbst und die Attribute. Der Aufbau der Seiten wird aber tatsächlich in der FUIP_....cfg gespeichert.

Zitat
Das würde bedeuten ich kann nicht das bestehende UI mit Deinem mischen ? (Meins ist zwar nicht doll, aber ich dachte der UI-Painter generiert HTML-Code und ich kopiere mir diesen in meine Files hinein)
Doch, das kannst Du machen. Am einfachsten im Browser mit rechter Maustaste den Sourcecode anzeigen lassen.
...ob das eine gute Idee ist, ist ein anderes Thema. Ich würde eher versuchen, das umgekehrt zu machen. D.h. mit dem HTML-View die fehlenden Sachen bauen. Zusätzlich kannst Du ja mal hier posten, was Dir im FUIP zu Deinem Glück fehlt.
Gruß,
  Thorsten
FUIP

Ranseyer

Zitat...oder denkst Du, dass Du das für irgend etwas brauchst?
Ich denke ich soll alles anklicken was da ist  8), Grund ich hab es nicht geschafft das Video ganz anzuschauen, weil ich ohne Ton schwierig finde zu folgen.


Danke. den Rest schau ich mir in Ruhe an...

PS: Was für mich ein K.O. Kriterium wäre wenn ich mit dem Painter weniger machen kann als von Hand. (da ich den Painter aber noch zu wenig kenne, kann ich wenig dazu sagen oder gar schon Vorschläge machen)
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!

Thorsten Pferdekaemper

Zitat von: Ranseyer am 02 Juni 2018, 17:47:13PS: Was für mich ein K.O. Kriterium wäre wenn ich mit dem Painter weniger machen kann als von Hand.
Dann kannst Du im Prinzip gleich aufhören. Meiner Meinung nach ist das gezwungenermaßen bei solchen Tools immer der Fall. Wenn Du FTUI per Hand machst, dann hast Du die volle "Macht" von HTML, CSS und JavaScript. Das kann ein Klickibunti-Tool natürlich nie bieten (außer mit einem absolut nicht mehr vertretbarem Aufwand).
Ich würde Dir aber trotzdem vorschlagen, mal eine Stunde lang damit rumzuspielen. Vielleicht fehlt ja nur ein bisschen zu Deinem Glück und ich kann das noch einbauen.
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
ich habe gerade eine neue Version (13) eingecheckt.

Zitat von: Ranseyer am 01 Juni 2018, 15:07:11
Nach "get ui pagesettting" ist FHEM abgeschmiert.
Das sollte jetzt stabiler sein.

Zitat von: TNT0068 am 29 Mai 2018, 09:44:45
Was mir noch gefallen würde wäre ein Simple Switch den man mit Set befehlen selber befüllen kann. Eine Mischung aus Simple Switch und view Select.
Das ist jetzt auch erledigt. Könntest Du es mal ausprobieren und hier einen Screenshot davon zeigen?

Gruß,
    Thorsten
FUIP

TNT0068

wow es klappt so wie gewünscht

DANKE
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

rcaspar

Hi Torsten

Hab FUIP letztendlich nun auch zum Laufen gebracht - toller Job von dir, DANKE.

Nun meine Frage - entweder hab ich es wirklich übersehen oder es ist nirgens dokumentiert....

Wie binde ich einen Plot ein - also eine Grafik z.B. des Temperaturverlaufes?

René

Thorsten Pferdekaemper

Zitat von: rcaspar am 04 Juni 2018, 20:44:11Wie binde ich einen Plot ein - also eine Grafik z.B. des Temperaturverlaufes?
Ich wollte dazu mal einen View bauen, aber da gibt es so viele Möglichkeiten, dass ich das zurückgestellt habe. Momentan geht das nur mit dem HTML-View.
Bei mir hat z.B. folgendes funktioniert:

<div data-type="chart"
data-device="og_wg_Heizung_Clima"
data-logdevice="FileLog_og_wg_Heizung"
data-logfile="-"
data-columnspec='["4:T","6:T","8:T"]'
         data-style='["ftui l2","ftui l4","ftui l6"]'
data-uaxis='["primary","primary","secondary"]'
data-legend='["Soll-Temperatur","Ist-Temperatur","Ventil"]'
data-minvalue="10" data-maxvalue="30"
data-minvalue_sec="0", data-maxvalue_sec="100"
data-width="580" data-height="310">
</div>

Ein Problem bei der Sache ist auch noch, dass jeder sich seine FileLogs ziemlich frei konfigurieren kann. Dadurch wird es ziemlich schwierig, dazu eine gute Konfigurationsoberfläche zu bauen, die nicht noch schwieriger wird als das HTML selbst.
...aber vielleicht hat ja jemand eine paar gute Ideen.
Gruß,
   Thorsten
FUIP

TNT0068

Hallo zusammen,
ich hatte eben mein FHEM von fhem.cfg auf configDB umgestellt. Das klappte auch ohne große Probleme.
Aber FUIP wollte nicht mehr nachdem aufruf bekam ich die Meldung das die fuip.cfg nicht aus der Datenbank geladen werden konnte. Ich habe sie dann zu der DB hinzugefügt aber leider auch nicht mit erfolg gekrönt alle Seiten waren weg.
Ich bin jetzt erstmal wieder zurück auf fhem.cfg.

Ich hatte dann auch nochmal ein neues define fuip gemacht das klappte wunderbar.

Ich kann mich damit anfreunden wenn ich das fuip neuanlegen muss aber wollte gerne meine alten HTML Seiten dann gleich haben.
Wie gehe ich da am besten vor?
1. Seiten sichern aber wo sind sie?
2. FUIP define löschen
3. Migration auf configDB
4. define ui fuip
5. zurück spielen der html seiten?

Gruß
Micha

 
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

Thorsten Pferdekaemper

Zitat von: TNT0068 am 07 Juni 2018, 21:01:30Aber FUIP wollte nicht mehr nachdem aufruf bekam ich die Meldung das die fuip.cfg nicht aus der Datenbank geladen werden konnte.
Eine Datei "fuip.cfg" gibt es nicht, außer Du hast sie selbst angelegt. Könntest Du mal genau zeigen, wie die Fehlermeldung aussieht und beschreiben, wann genau sie kommt?

Zitat
Wie gehe ich da am besten vor?
1. Seiten sichern aber wo sind sie?
Nirgends! Die HTML-Seiten werden jeweils erst beim Aufruf generiert. Die Daten dazu befinden sich in einer Datei namens FUIP_<deviceName>.cfg im FHEM-Stammverzeichnis. Also bei Dir wahrscheinlich /opt/fhem/FUIP_ui.cfg. Möglicherweise kannst Du diese Datei in die configDB schieben.

Bemerkungen dazu:

  • Ich kenne mich mit der configDB überhaupt nicht aus. Bisher weiß ich nicht, warum ich das brauchen sollte. Daher kann das, was ich geschrieben habe, auch kompletter Blödsinn sein.
  • Es kann sein, dass sich der Ort oder das Format der Datei in Zukunft noch ändert. Ich werde aber versuchen, das ganze kompatibel zu halten.

Gruß,
   Thorsten
FUIP

TNT0068

#133
So ich habe jetzt nochmal meine fhem.cfg zur ConfigDB migriert. Nach dem neustart von FHEM und aufruf von FUIP kommt:
FUIP page home does not exist

Wenn ich dann im Fuip Device ein Load mache kommt folgendes: Error on reading FUIP_ui.cfg from database!

Habe dann die FUIP_ui.cfg mittels configdb fileimport in die Datenbank gepackt
iles found in database:
------------------------------------------------------------
./FHEM/FhemUtils/uniqueID
./FHEM/template.layout
./FUIP_ui.cfg
./configDB.conf
./log/eventTypes.txt
./www/gplot/Plot_Bad.gplot
./www/gplot/Plot_Flower_Test.gplot
./www/gplot/Plot_Heizung_Ventile.gplot
./www/gplot/Plot_PF_Bambus.gplot
./www/gplot/Plot_PF_Benjamin.gplot
./www/gplot/Plot_Temp.gplot
./www/gplot/Plot_WZ_Onkyo_Temp.gplot
./www/gplot/SVG_DbLog_1.gplot
./www/gplot/SVG_DbLog_2.gplot
./www/gplot/SZ_Plot_Wasserbett_Temp.gplot
./www/gplot/template.gplot
./www/gplot/templateDB.gplot
Dann ein FHEM restart
Leider das selbe Bild.

*****Edit****
Wenn ich FUIP neu anlege habe es als device ui1 angelegt wird die neue Cfg direkt in der Datenbank nach einem Save von FUIP gespeichert FUIP_ui1.cfg.
Die Seiten lassen sich dann auch laden :(
In der Filelist ist bei den Namen ein Unterschied.
./FUIP_ui.cfg   <<<in die DB kopiert
FUIP_ui.cfg  <<<automatisch beim define angelegt

Somit ist es ein Problem vom File Import :(
Homematic HMLAN HMUSB Heizung, Strom und Licht , Vuduo2, Kodi, Hue, Logitech Harmony Hub, Alexa

b4r7

Hallo Thorsten,

Vielen Dank. Du hast den WAF meiner FHEM Anlage hier gerade um einiges angehoben!

Weiter So!
FHEM auf Debian VM (FreeNAS bhyve)
HMUart + ZME-UZB1 über RPi2/ser2net