[FUIP] Frontend-Integration: Mehrere FHEMs auf einer FUIP-Seite

Begonnen von Thorsten Pferdekaemper, 06 März 2021, 22:19:51

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

...und wieder was neues:
Man kann jetzt ein bisschen weniger Blödsinn mit den backend-Attributen machen. Außerdem wird der Geräte-Cache zurückgesetzt, wenn ein backend-Attribut geändert wird. (Also ein automatisches "set fuip refreshBuffer".) Ansonsten wird es komisch, wenn man einem backend-System eine andere URL zuordnet.
Gruß,
   Thorsten
FUIP

KK

Hallo,
bin nun endlich dazu gekommen auf einem Testsystem die Multi-FHEM-Version zu testen. Nach einiger Verwirrung beim Eingeben der Backend-Attribute läuft es nun vernünftig. Die automatisch erzeugten Seiten des Hostsystems waren aber nicht mehr ansprechbar. Nach Löschung dieser Seiten aus dem Menü und händisch erzeugten neuen Seiten funktioniert es so wie beschrieben.
Meine genannte Anwendung (Anzeige von Systemdaten mehrer Raspis mit jeweils einer FHEM Installation) läuft. Nun muß ich das nur noch auf mein Dashboard an der Wand transportieren.

Zwei Fragen:
- Thorsten würdest Du nun raten, die Multi-FHEM-Version über ein laufendes Single-System zu installieren - auch bei einem Produktivsystem?

- Wieso habe ich bei meinem Testsystem zwei verschiedene Schriftarten auf den Seiten: Auf der Homepage, die automatisch erzeugt wurde, eine Serifenschrift (Das Host-FHEM ist auf das Design von Matthias Kleine eingestellt) und auf den händisch erzeugten Seiten eine Serifenlose Schrift? (siehe Screenshot)

Viele Grüsse
Kurt

Thorsten Pferdekaemper

Zitat von: KK am 20 April 2021, 22:33:08
bin nun endlich dazu gekommen auf einem Testsystem die Multi-FHEM-Version zu testen. Nach einiger Verwirrung beim Eingeben der Backend-Attribute
Was genau war da die Verwirrung? Könnte man da was einfacher machen oder besser erklären?

Zitat
Die automatisch erzeugten Seiten des Hostsystems waren aber nicht mehr ansprechbar.
Kannst Du beschreiben, wie Du vorgegangen bist? ...und auch was "nicht mehr ansprechbar" genau bedeutet?
Kannst Du das nachvollziehen? D.h. wenn Du es noch einmal genauso machst, passiert das dann wieder? (Du solltest gefahrlos eine neue FUIP-Instanz neben der anderen anlegen können, ohne was kaputt zu machen.)

Zitat
- Thorsten würdest Du nun raten, die Multi-FHEM-Version über ein laufendes Single-System zu installieren - auch bei einem Produktivsystem?
Naja, mit den Problemen, die Du beschreibst, vielleicht noch nicht. Du könntest aber zumindest mal ausprobieren, ob Du in Deinem Testsystem eine FHEM-Instanz anlegen kannst, die die zwei produktiven FHEMs darstellt. Dazu kannst Du die fuip_<name>.cfg-Datei aus Deinem produktiven FUIP ins Testsystem kopieren und dann im Testsystem eine FUIP-Instanz mit demselben Namen anlegen. Dann noch die URLs entsprechend eintragen und es müsste gehen.

Zitat
- Wieso habe ich bei meinem Testsystem zwei verschiedene Schriftarten auf den Seiten: Auf der Homepage, die automatisch erzeugt wurde, eine Serifenschrift (Das Host-FHEM ist auf das Design von Matthias Kleine eingestellt) und auf den händisch erzeugten Seiten eine Serifenlose Schrift? (siehe Screenshot)
So ganz genau habe ich das nicht im Kopf, aber ich glaube, dass die Chart-View sich unter Umständen CSS-Dateien aus dem Backend holt. Das liegt daran, dass man da relativ viel einstellen kann und ich versuche, das in FUIP möglichst so darzustellen, wie es in FHEM konfiguriert ist.
Könntest Du mal das Chart rauswerfen. Sind die Serifen dann immer noch da?

Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,

also bei der Sache mit der Schrift bin ich mir ziemlich sicher, dass es am Chart zusammen mit einer "besonderen" Gestaltung liegt. Wahrscheinlich ist irgendwo das Attribut styleSheetPrefix gesetzt. Die Chart View in FHEM lädt zu zugehörigen Dateien, aber eigentlich nur die, die für die SVG-Grafiken wichtig sind. Die sollten aber eigentlich nur einen Einfluss auf die Charts haben und nicht auf die ganze Seite.
...aaaaber: Auch wenn die Dinger nur Einfluss auf die Charts haben, kann das natürlich seltsame Effekte haben. Wenn ein Chart aus einem System kommt und ein anderes aus einem anderen, dann ist das u.U. nicht so ganz eindeutig. Dazu muss ich mir tatsächlich noch was überlegen.

Wie gesagt: Könntest Du mal ausprobieren, ob das verschwindet, wenn Du das Chart runterwirfst? Ansonsten ist meine Vermutung ja eher Blödsinn.

Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Zitat von: KK am 20 April 2021, 22:33:08Die automatisch erzeugten Seiten des Hostsystems waren aber nicht mehr ansprechbar.
Ich habe dazu eine Vermutung. Kann es sein, dass diese Seiten vor dem "Upgrade" auf multifhem schon da waren? Außerdem vermute ich mal, dass das defaultBackend nicht auf das bisher einzige System gezeigt hat?
Das Problem ist dann wahrscheinlich, dass in den Seiten noch keine System-Id eingetragen ist und deshalb das defaultBackend gezogen wird. Wenn das jetzt aber ein anderes System ist, dann gibt es dort die entsprechenden Devices natürlich nicht.

Kann das die Erklärung sein?

Gruß,
   Thorsten

FUIP

Thorsten Pferdekaemper

Hi,
es geht weiter mit multifhem:

- Die Home-Seite wird jetzt ein bisschen anders generiert, so dass das auch wieder richtig funktioniert, wenn es nur ein System gibt. In dem Fall wird keine eigene Home-Seite generiert, sondern die Übersichtsseite des Systems ist die Home-Seite. Es müsste auch etwas einigermaßen sinnvolles passieren, wenn man dann noch ein System hinzufügt.

- Der Home-Button wird jetzt ohne Target generiert. Vorher war das "home", aber die Home-Seite kann jetzt auch die URL des Systems haben. ...also den Namen aus dem backend_-Attribut in der URL.

- Charts werden jetzt mit einer festen Größe generiert. (Sonst wird es seltsam, wenn man kleine Basisgrößen wählt) Ich versuche momentan die Standard-Einstellungen und andere Automatismen etwas Handy-freundlicher zu machen. Das gehört dazu.

- Templates mit HTML Views bzw. Colorwheels (und vielleicht ein paar anderen) funktionieren wieder.

- ReadingsList geht jetzt auch mit multifhem. ...leider gehen keine Listen über mehrere Systeme, aber die Darstellung ist sowieso nicht so extrem schön.

Mit den Änderungen funktioniert jetzt zumindest mal mein produktives FUIP auch mit multifhem. D.h. die cfg-Datei in ein System mit multifhem geladen, fhemwebUrl und andere Attribute in FUIP entsprechend gesetzt und es sieht aus wie vorher.

Gruß,
   Thorsten
FUIP

KK

Hallo Thorsten,
Du hattest recht:
- Bei dem Schriftenproblem habe ich das Simplechart gelöscht und die Schrift war wieder in Ordnung. Werde also nun immer die Charts in FUI? direkt mit HTML/Chart bauen. Ist auch flexibler, da dann mehr Einstellmöglichkeiten zur Verfügung stehen (z.B. Legende dauernd anzeigen).
- Auch bei deiner Vermutung, dass beim Überbügeln mit multifhem die Seiten eines Host bereits exitierten und dann nicht mehr ansprechbar waren, lagst Du richtig.
Danke für deine schnelle Reaktion.
Viele Grüße
Kurt

KK

Hallo,
nochmal zum Überbügeln auf einem Produktivsystem...
ZitatDu könntest aber zumindest mal ausprobieren, ob Du in Deinem Testsystem eine FHEM-Instanz anlegen kannst, die die zwei produktiven FHEMs darstellt. Dazu kannst Du die fuip_<name>.cfg-Datei aus Deinem produktiven FUIP ins Testsystem kopieren und dann im Testsystem eine FUIP-Instanz mit demselben Namen anlegen. Dann noch die URLs entsprechend eintragen und es müsste gehen.
Im Prinzig läuft dies mit dem Fremdsystem und der entsprechenden Einstellung beim fhemwebUrl-Attribut auf dem Testsystem. Wenn ich dann aber backend-Attribute setze kann ich nicht mehr unlock setzen, so dass ich keine Änderungen mehr an den Seiten durchführen kann.
Außerdem läuft dies Verfahren nicht bei der FUIP-Instanz, die ursprünglich auf dem Host entwickelt wurde.
Auch mit deinen letzten Änderungen habe ich dieselben Effekte!
Gruß
Kurt

Thorsten Pferdekaemper

Zitat von: KK am 22 April 2021, 16:59:41
- Bei dem Schriftenproblem habe ich das Simplechart gelöscht und die Schrift war wieder in Ordnung. Werde also nun immer die Charts in FUI? direkt mit HTML/Chart bauen. Ist auch flexibler, da dann mehr Einstellmöglichkeiten zur Verfügung stehen (z.B. Legende dauernd anzeigen).
Gut, wenn das für Dich eine Lösung ist. Ich würde das lieber irgendwie anders machen. Vielleicht in dem Fall irgendwie wählbar oder das CSS vom defaultBackend nehmen. Mal sehen.

Zitat von: KK am 22 April 2021, 22:22:29
nochmal zum Überbügeln auf einem Produktivsystem...Im Prinzig läuft dies mit dem Fremdsystem und der entsprechenden Einstellung beim fhemwebUrl-Attribut auf dem Testsystem. Wenn ich dann aber backend-Attribute setze kann ich nicht mehr unlock setzen, so dass ich keine Änderungen mehr an den Seiten durchführen kann.
Sehr seltsam, genau so habe ich das bei mir gemacht. Also sowas wie...

attr ui backend_home http://server:8086/fhem
attr ui defaultBackend home

...und dann fhemwebUrl sogar gelöscht, da es sowieso nicht mehr beachtet wird.
Damit ging dann alles.

Zitat
Außerdem läuft dies Verfahren nicht bei der FUIP-Instanz, die ursprünglich auf dem Host entwickelt wurde.
Auch mit deinen letzten Änderungen habe ich dieselben Effekte!
Was meinst Du genau damit? D.h. wenn Du die "alte" cfg-Datei auf das neue Frontend-FHEM kopierst (also das Testsystem?), dann bekommst Du das nicht zum Laufen? Was genau funktioniert denn da nicht?

Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

FUIP