[FUIP] Konfiguration kann nicht geladen werden

Begonnen von greenstone, 15 März 2019, 15:51:52

Vorheriges Thema - Nächstes Thema

greenstone


Hallo zusammen,

ich habe am Montag das Webinar zum FUIP gesehen und war sehr begeistert. Thorsten hat wirklich sehr gute Arbeit geleistet.
Ich hab die FUIP Komponenten noch waehrend das Webinar lief installiert. Anschliessend habe ich fast zwei Tage an den Oberflaechen gearbeitet.
Die Moeglichkeit mit Templates zu arbeiten ist wirklich sehr schoen.

Waehrend der Arbeit mit FUIP ist mir aufgefallen, dass man Templates nicht kopieren kann. Fuer meine Oberflaeche waere solch eine Funktion hilfreich gewesen.
Vielleicht gibt es ja die Moeglichkeit die Funktion noch hinzu zufuegen.

Nach zwei Tagen Arbeit an der Oberflaeche des FHEM ist waehrend der Arbeit leider mein FHEM haengen geblieben (zumindest reagierte er nicht mehr). Zum Glueck
hatte ich immer wieder zwischen durch mit "set ui save" die Aenderungen gesichert. Nach dem Neustart des FHEM Dienstes sehe ich aber nur die initial generierte Ansicht von
FUIP. Die Konfigurationsdatei meiner 2 Tage Arbeit habe ich erstmal aus dem config Verzeichnis gesichert.

Egal, was ich bisher versucht habe, es gelingt mir nicht meine urspruengliche Konfiguration mit den 2 Tagen Aufwand wieder zur Anzeige zu bringen.
Ich habe auch schon versucht die Konfigurationsdatei von Hand zu aendern. Als Beispiel habe ich die View-Templates in eine neu erstellte Konfigurationsdatei einzufuegen versucht.
Leider ohne Erfolg. Meine Manuellen Aenderungen sind nicht sichbar und auch nicht in der Template-Uebersicht sichtbar.

Heute habe ich mich erneut einieg Stunden an die Arbeit genḿacht und das gleiche Problem nochmal bekommen.
Waehrend ich einige Objekte von einer Page auf eine andere kopiert habe (Objekt oeffnen Menüpunkt Copy auswaehlen und eine andere Seite als Ziel angeben) ist erneut der FHEM abgestuertzt. Wie bereits in den Tagen vorher, ist nach einem Neustart von FHEM wieder die initiale Startseite zu sehen und alle meine Aenderungen sind weg. Die Konfigurationsdatei wurde ist noch vorhanden. Sie wird aber nicht geladen.
Im FHEM-Log finde ich folgende Eintraege:


2019.03.02 23:39:43 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/42_FUIP.pm line 2951.
2019.03.02 23:39:43 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/42_FUIP.pm line 2954.
2019.03.02 23:39:43 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/42_FUIP.pm line 2961.
2019.03.02 23:39:43 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/42_FUIP.pm line 2965.
2019.03.02 23:39:43 1: PERL WARNING: Use of uninitialized value $type in string eq at ./FHEM/42_FUIP.pm line 2968.
....
2019.03.02 23:48:01 1: PERL WARNING: Use of uninitialized value $device in hash element at FHEM/lib/FUIP/Model.pm line 191.
2019.03.02 23:48:05 1: PERL WARNING: Use of uninitialized value $devName in hash element at FHEM/lib/FUIP/Model.pm line 296.
2019.03.02 23:48:05 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 2704.
2019.03.02 23:48:05 1: PERL WARNING: Use of uninitialized value $devName in hash element at FHEM/lib/FUIP/Model.pm line 316.
2019.03.02 23:50:08 1: PERL WARNING: Use of uninitialized value $off in numeric gt (>) at ./FHEM/98_SVG.pm line 592.
2019.03.02 23:50:08 1: PERL WARNING: Use of uninitialized value $off in concatenation (.) or string at ./FHEM/98_SVG.pm line 596.


Gibts es Logs, die auf Fehler beim laden der FUIP-Konfiguration hinweisen?

Ich hoffe mir kann jemand helfen, damit ich nicht nochmal ganz von vorne anfangen muss. Danke im voraus.

Cheers, Greenstone


Thorsten Pferdekaemper

#1
Hi,
kannst Du mal die .cfg-Datei hier dranhängen?
EDIT: ...und ein "list" Deines FUIP-Device. Außerdem wäre es ggf. eine gute Idee, wenn Du mal "set global stacktrace 1" machst. Dann sieht man bei den Perl-Warnungen, wo sie tatsächlich herkommen.
Den Inhalt der FHEM-Logdatei kurz vor dem Absturz wäre auch interessant.
Bei den letzten beiden Warnungen glaube ich übrigens nicht, dass das was mit FUIP zu tun hat. Das sieht eher nach Zoomen in einer Grafik in FHEMWEB aus.

Kann es sein, dass Du irgendwelche Bezeichner, z.B. von View Templates oder Pages mit Sonder- oder Leerzeichen angelegt hast? Sonderzeichen ist in dem Fall alles außer a-z,A-Z,0-9 und _.

Gruß,
   Thorsten
FUIP

greenstone

Hallo Thorsten,

Danke fuer Deine Hilfe.

Du hast Recht, die beiden letzten Zeilen in dem Auszug aus den Logfiles gehoeren nicht zum beschriebenen Problem.

Ich haenge Dir alle meine gescheiterten Versuche als Anhang an. Die View oder Page Namen sollten zumindestens beim letzten Versuch keine Sonderzeichen, Leerzeichen oder aehnliches enthalten. Wenn ich mich richtig erinnere haben ich dies Zeichen nur in beschreibenden Texten verwand.

Im FHEM Log file finde ich bei einem Neustart nur das hier:
<code>
FUIP: Registering ui for URL /ui
</code>
Ok, ist ziemlich duenn ...

Das "list ui" Kommando  sieht wie folgt aus:
<code>
Internals:
   FUUID      5c8d9c4e-f33f-0620-7e2e-591da81bce97f71d
   NAME       ui
   NR         3429
   STATE      ui
   TYPE       FUIP
   editOnly   0
   fhem:
     directory  ./www/tablet
     friendlyname ui
     infix      ui/
   pages:
Attributes:
   baseHeight 100
   baseWidth  150
   layout     gridster
   locked     1
</code>
Wenn ich den UI Link aufrufe, bekomme ich nur "FUIP page home does not exist".
Die Datei "/opt/fhem/FHEM/lib/FUIP/config/FUIP_ui.cfg" ist natuerlich vorhanden und auch die Zugriffsrechte und Owner-Rechte sind gesetzt. Ich werde morgen nochmal versuchen, FHEM zu aktualisieren. Allerdings ist meine Version erst ca. 2 Wochen alt. Ich glaube nicht, dass das viel an dem Problem aendern wird.

Ich habe versucht das Problem mit dem Befehl "set global stacktrace 1" nochmal nach zu bauen.
Allerdings ist es mir nicht gelungen. Der Befehl selbst funktioniert aber. Ich werde morgen nochmal Zeit da rein stecken.

Danke fuer Deine Hilfe. Ich wuerde das FUIP echt gerne zu fliegen kriegen.
Das war wirklich gut Arbeit.

Viele Gruesse, Ralf



Thorsten Pferdekaemper

Hi,
ich habe jetzt mal die erste Datei (FUIP_ui.cfg.20190304) analysiert. Das Problem ist, dass Du in Namen von View Template Variablen das Zeichen "-" verwendet hast. Das geht nicht, was Du aber wahrscheinlich nicht wissen konntest. Ich werde das in Zukunft irgendwie abfangen, aber das hilft Dir jetzt wohl auch erstmal nicht. Daher habe ich Dir mal die erste Datei repariert, siehe Anhang. Du musst sie nur noch für Dich umbenennen in FUIP_ui.cfg.
Es tut mir leid, dass das für Dich so viel Aufwand ist, aber ich kann das leider nicht automatisieren.
Bitte in Zukunft bei View Template Variablen nur Namen nach folgendem Schema verwenden:

  • Nur Buchstaben (a..z,A..Z), Ziffern (0..9) und den Unterstrich (_).
  • Insbesondere keine Leerzeichen oder irgendwas, was als Operator "missverstanden" werden kann.
  • Das erste Zeichen darf keine Ziffer sein.
Wie gesagt, es wird in Zukunft schwieriger sein, diesen Fehler zu machen. Könntest Du aber trotzdem schonmal ausprobieren, ob es das war?
Gruß,
   Thorsten
FUIP

greenstone

Hi Thorsten,

vielen Danke fuer die Info, wo der Fehler liegt.
Es ist wirklich sehr nett von Dir mein Konfig-File zu reparieren.
Ich habe es heute Nacht ausprobiert und es hat funktioniert.

Ich werde in Zukunft darauf achten, keine "-" mehr zu verwenden.
Gibt es irgendwo ein ein Logfile, in dem ich diesen Fehler haette sehen koennen,
oder Du es beim debuggen gesehen?

Vielen Dank nochmals fuer die Hilfe. So war meine Arbeit nicht umsonst.

Cheers, Ralf

Thorsten Pferdekaemper

Zitat von: greenstone am 18 März 2019, 11:58:21
Gibt es irgendwo ein ein Logfile, in dem ich diesen Fehler haette sehen koennen,
oder Du es beim debuggen gesehen?
In dem Fall hattest Du tatsächlich keine Chance, das irgendwo zu sehen. Die Routine, die die cfg-Datei einliest, hat in dem Fall einfach die ganze Datei "ignoriert" und hat dann mit einem leeren FUIP-Device weitergemacht. In meiner lokalen Version gibt es jetzt etwas dazu im FHEM-Log, aber das ist noch nicht hochgeladen. Ich habe aber wie gesagt vor, das zu verbessern, so dass man solche Namen gar nicht mehr anlegen kann. ...und dass es eine Meldung bei Fehlern in der cfg-Datei gibt.
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
um die Sache hoffentlich abzuschließen: Ich habe gerade eine neue Version hochgeladen. Jetzt wird in solchen Fällen eine Fehlermeldung bzw. Einträge im FHEM-Logfile erzeugt. Außerdem bekommt man frühzeitig auf die Finger, wenn man versucht, "problematische" Variablen- bzw. Feldnamen (in HTML-Views) zu verwenden.
...Details in den "FUIP News".
Gruß,
   Thorsten
FUIP

greenstone

Hi Thorsten,

danke fuer die Infos.
Ich habe die von Dir reparierte Konfiguration getestet und funktioniert.
Vielen Dank dafuer. Ich habe auch die Konfiguration erweitert und auch keine weiteren
Probleme gefunden.

Vielen Dank fuer Deine Hilfe und auch fuer Deine Arbeit am FUIP.


Ich werde heute Abend ein Update machen und Deine Aenderungen testen.

Cheers, Ralf