FUIP - Fhem User Interface Painter

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

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

Zitat von: rabehd am 21 März 2018, 07:37:54
Auch bei mir erscheinen die Bearbeitungsfenster transparent. Das ist etwas unübersichtlich.
So soll das natürlich nicht sein (siehe Video). Fix kommt hoffentlich bald.
Gruß,
  Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
mit der aktuellen Version im Git sollte es jetzt gehen.
Das Problem ist, dass ein paar Dateien von JQuery-UI mit FTUI ausgeliefert werden, aber nicht alle. Ich hoffe, dass der Rest jetzt mit FUIP mitgeliefert wird, habe das aber nicht mit einer "sauberen" Neuinstallation getestet. D.h. es kann noch kleine Problemchen geben.
Gruß,
   Thorsten 
FUIP

rabehd

bei mir keine Änderung.
Habe auch gesehen, dass das Logfile bei den Aufrufen mit Einträgen des Code gefüllt wird. (aber auch schon gestern)
Auch funktionierende Lösungen kann man hinterfragen.

Thorsten Pferdekaemper

Zitat von: rabehd am 21 März 2018, 11:32:00
bei mir keine Änderung.
Ok, was hast Du gemacht? Sowas wie "update all fuip"? Das müsste es tun.

EDIT: Ich habe gerade gesehen, dass das update abbricht. Da muss ich nochmal schauen.

Ansonsten: kannst Du mal nachschauen, was im Verzeichnis /opt/fhem/FHEM/lib/FUIP drinsteckt?

Zitat
Habe auch gesehen, dass das Logfile bei den Aufrufen mit Einträgen des Code gefüllt wird. (aber auch schon gestern)
Was sind denn "Einträge des Code"? Könntest Du mir mal einen Auszug davon zeigen?
Gruß,
   Thorsten
FUIP

marvin78

Aktuell scheint das update von fuip nicht zu funktionieren:

2018.03.21 11:38:38 1 : UPD FHEM/lib/FUIP/jquery-ui/images/ui-icons_444444_256x240.png
2018.03.21 11:38:38 1 : Got 7006 bytes for FHEM/lib/FUIP/jquery-ui/images/ui-icons_444444_256x240.png, expected 7005

Die controls Datei passt nicht ganz.

Thorsten Pferdekaemper

Hi,
update all fuip
...sollte jetzt wieder gehen. Ich hatte da bei der Größenermittlung ein Problem mit Binärdateien.
Gruß,
   Thorsten
FUIP

rabehd

funktioniert jetzt auch bei mir.

Im Log steht u.a.
Zitat},\u000a {\u000a \u0022name\u0022 : \u0022192.168.178.50\u0022,\u000a \u0022type\u0022 : \u00221\u0022\u000a }\u000a ],\u000a \u0022is_double_wlan\u0022: \u00221\u0022,\u000a \u0022box_wlan_24GHz\u0022: \u00221\u0022,\u000a \u0022box_wlan_5GHz\u0022: \u00221\u0022,\u000a \u0022box_guestWlan\u0022: \u00221\u0022,\u000a \u0022box_guestWlanRemain\u0022: \u0022-1\u0022,\u000a \u0022TodayBytesReceivedHigh\u0022: \u00221\u0022,\u000a \u0022TodayBytesReceivedLow\u0022: \u00221423860862\u0022,\u000a \u0022TodayBytesSentHigh\u0022: \u00220\u0022,\u000a \u0022TodayBytesSentLow\u0022: \u0022387188569\u0022,\u000a \u0022GSM_RSSI\u0022: \u00220\u0022,\u000a \u0022GSM_NetworkState\u0022: \u00220\u0022,\u000a \u0022GSM_AcT\u0022: \u0022\u0022,\u000a \u0022UMTS_enabled\u0022: \u00220\u0022,\u000a \u0022userTicket\u0022 : [\u000a {\u000a \u0022id\u0022 : \u0022739487\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022274279\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022326900\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022623575\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022336434\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022452500\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022968087\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022609490\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022622731\u0022\u000a },\u000a {\u000a \u0022id\u0022 : \u0022303363\u0022\u000a }\u000a ]\u000a}\u000a)", "Time":"2018-03-21 13:00:47" } },
    "Attributes": { }
  }  ],
  "totalResultsReturned":1
}

2018.03.21 13:01:20 3: jsonlist2 Nachrichten model state chanNo subType TYPE : {
  "Arg":"Nachrichten model state chanNo subType TYPE",
  "Results": [
  {
    "Name":"Nachrichten",
    "Internals": {      "TYPE": "TelegramBot" },
    "Readings": { },
    "Attributes": { }
  }  ],
  "totalResultsReturned":1
}

2018.03.21 13:01:20 3: jsonlist2 PageUI chanNo TYPE subType state model : {
  "Arg":"PageUI chanNo TYPE subType state model",
  "Results": [
  {
    "Name":"PageUI",
    "Internals": {      "TYPE": "HTTPSRV" },
    "Readings": { },
    "Attributes": { }
  }  ],
  "totalResultsReturned":1
}

2018.03.21 13:01:20 3: jsonlist2 Raspberry model state chanNo subType TYPE : {
  "Arg":"Raspberry model state chanNo subType TYPE",
  "Results": [
  {
    "Name":"Raspberry",
    "Internals": {      "TYPE": "SYSMON" },
    "Readings": { },
    "Attributes": { }
  }  ],
  "totalResultsReturned":1
}
Auch funktionierende Lösungen kann man hinterfragen.

Thorsten Pferdekaemper

Hi,
das mit dem zugemüllten Log sollte sich mit der neusten Version geben.
Gruß,
   Thorsten
FUIP

trinitywhm

Hi Thorsten,
konnte es nicht lassen und habe es gleich noch ausprobiert.

Bei einem Neustart von FHEM gibt es diese Einträge im Log
2018.03.21 23:36:19 1: PERL WARNING: FUIP::View::serializeRef() called too early to check prototype at FHEM/lib/FUIP/View.pm line 56.
2018.03.21 23:36:19 1: PERL WARNING: FUIP::View::serializeRef() called too early to check prototype at FHEM/lib/FUIP/View.pm line 72.
2018.03.21 23:36:19 1: PERL WARNING: FUIP::View::reconstructRec() called too early to check prototype at FHEM/lib/FUIP/View.pm line 106.
2018.03.21 23:36:19 1: PERL WARNING: FUIP::View::reconstructRec() called too early to check prototype at FHEM/lib/FUIP/View.pm line 118.
2018.03.21 23:36:19 1: PERL WARNING: FUIP::setViewSettings() called too early to check prototype at ./FHEM/42_FUIP.pm line 973.


FUIP habe ich auf einem Testsystem definiert und das passende Attribut mit der URL meiner produktiven URL gefüllt. Die Verbindung scheint auch zu funktionieren, denn ein "get DeviceList" liefert korrekte Ergebnisse, aber dennoch hagelt es Error-Meldungen in der FUIP-Oberfläche ("FHEM command failed error:" und "ShortPoll_Request_Failed, will retry in 30 s error,") Wenn ich mir dann ein view zusammenklicke, führt er den Befehl auf dem produktiven FHEM auch aus, also auch das funktioniert.

Im Log gibt es außerdem noch folgende Einträge
2018.03.21 23:59:03 1: PERL WARNING: Use of uninitialized value $pageId in hash element at ./FHEM/42_FUIP.pm line 1310.
2018.03.21 23:59:19 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/42_FUIP.pm line 1087.


Und was hast du nochmal genau gemacht, um zu Beginn auf Basis der Räume automatisch eine Struktur zu bauen?

Gruß Vera

rabehd

Hallo Thorsten,

ich habe mich gerade noch mal mit FUIP befasst. Mein Logfile beginnt heute mit
Zitat2018.03.22 00:00:03 2: FRITZBOX FritzBox: Readout_Run_Web.1372 Error: no json string returned ({
"radio" : [
{
"Name" :
Also habe ich mal in die Update-Liste gesehen und das dort vermerkte Update über ein Gesamtupdate ausgeführt.
Auch in meinem Log steht beim Starten
Zitat2018.03.22 07:27:42 1: PERL WARNING: FUIP::View::serializeRef() called too early to check prototype at FHEM/lib/FUIP/View.pm line 56, <$fh> line 476.
2018.03.22 07:27:42 1: PERL WARNING: FUIP::View::serializeRef() called too early to check prototype at FHEM/lib/FUIP/View.pm line 72, <$fh> line 476.
2018.03.22 07:27:42 1: PERL WARNING: FUIP::View::reconstructRec() called too early to check prototype at FHEM/lib/FUIP/View.pm line 106, <$fh> line 476.
2018.03.22 07:27:42 1: PERL WARNING: FUIP::View::reconstructRec() called too early to check prototype at FHEM/lib/FUIP/View.pm line 118, <$fh> line 476.
2018.03.22 07:27:42 1: PERL WARNING: FUIP::setViewSettings() called too early to check prototype at ./FHEM/42_FUIP.pm line 973, <$fh> line 476.
2018.03.22 07:27:42 3: ui: new ext defined infix:ui/: dir:./www/tablet:
2018.03.22 07:27:42 3: Registering FUIP ui for URL /ui   and assigned link ui/ ...

Der Start von FUIP baut die Seite auf und im Log erschreint wieder
Zitat2018.03.22 07:28:12 2: FRITZBOX FritzBox: Readout_Run_Web.1372 Error: no json string returned ({
"radio" : [
{
"Name"
Ich bin den Eintrag komplett durch. Das scheint ein vollständiger Auszug meines Device Fritzbox zu sein, sonst nichts.
Auch funktionierende Lösungen kann man hinterfragen.

rabehd

#40
Vermutlich ist die Ursache die Person vor dem Bildschirm.

Ich habe mal meine Thermostate/Heizübersicht bearbeitet.
Irgendwie kriege ich das nicht so hin wie bisher bei TabletUI.
Wie kann ich die Größe ändern? Wie bekomme ich ein Reading als Listbox dazu?

(Edit: Bilder korrigert)
Auch funktionierende Lösungen kann man hinterfragen.

Thorsten Pferdekaemper

Zitat von: trinitywhm am 22 März 2018, 00:25:15Bei einem Neustart von FHEM gibt es diese Einträge im Log
Das sind alles nur Warnungen, die aber harmlos sind. Trotzdem werde ich mir das mal genauer anschauen.
Siehe hier:
https://github.com/ThorstenPferdekaemper/FHEM-FUIP/issues/1

ZitatFUIP habe ich auf einem Testsystem definiert und das passende Attribut mit der URL meiner produktiven URL gefüllt. Die Verbindung scheint auch zu funktionieren, denn ein "get DeviceList" liefert korrekte Ergebnisse, aber dennoch hagelt es Error-Meldungen in der FUIP-Oberfläche ("FHEM command failed error:" und "ShortPoll_Request_Failed, will retry in 30 s error,")
Das sieht mir nach Tablet UI Fehlermeldungen aus. Das hat mit FUIP direkt u.U. gar nichts zu tun. Möglicherweise ist da aber auch irgendwas an der Verbindung doch noch faul. Kannst Du versuchen, das ganze irgendwie einzugrenzen? D.h. wann genau kommen diese Meldungen?

Zitat
Im Log gibt es außerdem noch folgende Einträge
2018.03.21 23:59:03 1: PERL WARNING: Use of uninitialized value $pageId in hash element at ./FHEM/42_FUIP.pm line 1310.
2018.03.21 23:59:19 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/42_FUIP.pm line 1087.

Wahrscheinlich ist das harmlos, aber ich werde es mir trotzdem mal genauer anschauen.
Siehe hier: https://github.com/ThorstenPferdekaemper/FHEM-FUIP/issues/2

Zitat
Und was hast du nochmal genau gemacht, um zu Beginn auf Basis der Räume automatisch eine Struktur zu bauen?
Einfach nach dem define den neu entstandenen Link oben Links klicken. Den Rest macht FUIP. Möglicherweise hast Du das schon einmal gemacht bevor Du das Attribut fhemebUrl gefüllt hast. Dann existiert die Seite schon, aber basierend auf dem lokalen FHEM. Es gibt ein "set ... pagedelete" oder so. Versuch das mal und dann klick den Link nochmal.
Es kann sein, dass das pagedelete nicht für die "home" Seite funktioniert. In dem Fall müsstest Du das FUIP Device komplett nochmal löschen, neu anlegen und dann als erstes das Attribut setzen.
Auch dazu werde ich zumindest ein bisschen nachdenken:
https://github.com/ThorstenPferdekaemper/FHEM-FUIP/issues/3


FUIP

Thorsten Pferdekaemper

Zitat von: rabehd am 22 März 2018, 07:48:43Mein Logfile beginnt heute mit
(Kann es sein, dass Du "quote" mit "code" verwechselt hast?)
Die Meldung kommt vom FRITZBOX Modul. Allerdings kann ich nicht sagen, inwiefern das jetzt mit FUIP zusammenhängt. Kann es sein, dass Du per FUIP irgendwas angelegt hast, dass irgendwas vom Fitzbox Device lesen will, was es nicht gibt? Kannst Du ein bisschen einschränken, wann genau diese Meldung kommt?

ZitatAuch in meinem Log steht beim Starten
Sie meinen Beitrag vorher.

Zitat von: rabehd am 22 März 2018, 08:43:19Ich habe mal meine Thermostate/Heizübersicht bearbeitet.
Irgendwie kriege ich das nicht so hin wie bisher bei TabletUI.
Wie kann ich die Größe ändern?
Wenn Du "meine" Views verwendest dann gar nicht. Die Views sind so gebaut, dass sie immer gleich ankommen, also immer eine ganz bestimmte Größe haben. Ich könnte das ändern, habe aber keine Lust, das jetzt selbst herauszusuchen. Kannst Du mir einen Link dazu geben oder mir sagen, die Du das im FTUI normalerweise machst. Am besten zeigst Du auch mal Deinen HTML-Code von "bisher". 

Zitat
Wie bekomme ich ein Reading als Listbox dazu?
Dafür gibt es momentan keinen vorgefertigten View. Du kannst aber den HTML-View nehmen (FUIP::View::HTML oder so) und Dein "altes" Coding reinschreiben. Wenn Du mir Dein "altes" Coding dazu hier reinhängst, dann kann ich ggf. dafür auch ein "Standard" View bauen.

Gruß,
   Thorsten

FUIP

rabehd

Das Logfile wird wohl von der Fritzbox gefüllt. https://forum.fhem.de/index.php/topic,84981.msg784994.html#msg784994.
Sorry, das ich es pauschal FUIP zugeordnet habe. Hätte mir nicht passieren dürfen. :(

ZitatDafür gibt es momentan keinen vorgefertigten View. Du kannst aber den HTML-View nehmen (FUIP::View::HTML oder so) und Dein "altes" Coding reinschreiben.
So klappt es.
<div data-type="select" data-device="Bad.Thermo_Clima"
data-items='["auto","manual","boost","day","night"]'
data-get="controlMode"></div>
Ist ein Homantic Thermostat.

Mit dem View:HTML kann man einiges lösen. :D

Was mich etwas nervt, dass ist das das Ziehen und Ablegen (Verschieben einer View in eine ander Zelle) zig Versuche braucht.

Aktuelle Wünsche:

  • leichteres Finden des Anfasspunktes eines Elementes
  • Ventilstellung bei HeatingControl zentiert
  • Anzeige des Devicenamens oder Alias als Beschriftung
  • Abschaltbare zusätzliche Temperaturanzeige
Das ist alles keine wichtigen Wünsche...

Kann man FUIP gegen das Editieren sperren oder wie rufe ich es für die Anwender auf?
Auch funktionierende Lösungen kann man hinterfragen.

Thorsten Pferdekaemper

Zitat von: rabehd am 22 März 2018, 12:06:05So klappt es.
<div data-type="select" data-device="Bad.Thermo_Clima"
data-items='["auto","manual","boost","day","night"]'
data-get="controlMode"></div>
Ist ein Homantic Thermostat.
Ich werd's mir mal anschauen. Mal sehen, wie man das mit der Liste der Optionen schön hinbekommt.
Siehe auch hier:
https://github.com/ThorstenPferdekaemper/FHEM-FUIP/issues/4

Zitat
Was mich etwas nervt, dass ist das das Ziehen und Ablegen (Verschieben einer View in eine ander Zelle) zig Versuche braucht.
Ist das so? Bei mir geht das normalerweise ganz einfach. Klicke mal im Editier-Popup unten rechts auf "Toggle editOnly". Die grauen Rechtecke sind der Bereich, in dem man ziehen kann. Beim HTML-View musst Du dafür allerdings die Größe (unter dem HTML-Text) einigermaßen korrekt setzen.

Zitat
Aktuelle Wünsche:

  • leichteres Finden des Anfasspunktes eines Elementes
Siehe oben.

Zitat
  • Ventilstellung bei HeatingControl zentiert
Siehe https://github.com/ThorstenPferdekaemper/FHEM-FUIP/issues/5

Zitat
  • Anzeige des Devicenamens oder Alias als Beschriftung
Ein paar der Views machen das. Meinst Du beim HeatingControl im Speziellen?

Zitat
  • Abschaltbare zusätzliche Temperaturanzeige
Meinst Du jetzt beim HeatingControl im Speziellen?

Zitat
Kann man FUIP gegen das Editieren sperren oder wie rufe ich es für die Anwender auf?

attr <fuip-devicename> locked 1

Ich glaube, dass das auch im Video gezeigt wird.
Gruß,
  Thorsten
FUIP