FHEM User Interface Painter

Aus FHEMWiki

Der FHEM User Interface Painter (FUIP) ist ein FHEM-Modul, mit dem man FHEM Tablet UI (FTUI) Seiten graphisch ("klickibunti") erstellen kann. D.h. man kann sich ein UI zusammenklicken, welches die Tablet UI Technik verwendet, aber ohne sich selbst unbedingt mit HTML und CSS herumschlagen zu müssen. Hier ist ein kurzes Video, welches FUIP in Aktion zeigt:

Einführungsvideo

(Das Video zeigt nicht unbedingt den neusten Stand, aber es dürfte klar werden, wofür FUIP gut sein soll.)

Installation und Upgrade in FHEM

Genau wie FTUI ist auch FUIP nicht automatisch Teil von FHEM. Es muss explizit installiert bzw. hinzugefügt werden. Die Installation funktioniert folgendermaßen:

  • FUIP verwendet FTUI. D.h. man sollte zuerst einmal FTUI installieren, falls noch nicht passiert. Wie das geht steht bei FHEM Tablet UI. Dabei reicht der erste Schritt aus, da lediglich die FTUI-Dateien von FUIP benötigt werden.
  • FUIP benötigt die Perl-Module URI::Escape::XS und JSON::Parse. Oft fehlt mindestens eins dieser Module in einer normalen FHEM-Installation. Unter Debian (inklusive normaler Raspberry-Installationen) sind diese Module in den Paketen liburi-escape-xs-perl und libjson-pp-perl enthalten, sie können also mittels apt-get install liburi-escape-xs-perl libjson-pp-perl (auf Betriebssystemebene als root) installiert werden. Ansonsten können die Module z.B. über Cpan installiert werden, also etwa cpan URI::Escape::XS sowie cpan JSON::Parse.
  • Dann das FUIP-Repository zum FHEM Update hinzufügen:
  • Jetzt update all fuip und shutdown restart. FUIP sollte jetzt installiert sein.

Zum Upgrade reicht ein update, wenn man FUIP wie oben beschrieben installiert hat. Will man nur den FUIP-Teil aktualisieren und nicht alles in FHEM, dann geht das mit update all fuip.

Falls es insbesondere beim Upgrade oder nach einem Upgrade Probleme gibt (welcher Art auch immer), sollten die folgenden Punkte geprüft werden:

  • Wird das richtige Repository benutzt? Man kann das mit update list überprüfen. Wenn der Eintrag für fuip nicht genau so aussieht wie oben beschrieben, dann sollte er per update delete gelöscht werden und dann genau so eingetragen werden wie oben beschrieben.
  • Sind die Abhängigkeiten (Perl Module) installiert? Siehe die Installationanleitung weiter oben für Details.
  • FHEM braucht Schreibrechte im Verzeichnis <fhem>/FHEM/lib/FUIP/config (<fhem> steht meistens für /opt/fhem) und allen enthaltenen Dateien. Auf Betriebssystemebene (Linux) kann man das mit ls -ls überprüfen. Meistens kann es mit folgendem Befehl repariert werden: chown -R fhem:dialout /opt/fhem/FHEM/lib/FUIP/config. (Dieser Punkt gilt nicht bzw. nicht genau so, wenn man die configDB benutzt.)

Erste Schritte

Zuerst legt man ein "FUIP Device" an, also etwa define ui FUIP. Dieses Device meldet sich sozusagen als Webserver bei FHEM an (wie z.B. auch HTTPSRV), d.h. es erscheint im Menu oben links (über den Räumen) ein Link "ui". Beim Klick auf diesen Link generiert FUIP eine FTUI Übersichtsseite aus den Räumen im FHEM System. Nun kann man durch Verschieben und größer/kleiner-Ziehen der einzelnen Zellen bzw. durch Verschieben des Zelleninhalts die Gestaltung ändern. Außerdem kann man über das Zahnrad rechts oben in den Zellen neuen Inhalt hinzufügen, den bestehenden Inhalt ändern und vieles mehr. Durch Klicken auf die Räume im Menu der Übersichtsseite werden einzelne Raum-Seiten generiert. Diese kann man ebenfalls entsprechend bearbeiten. Natürlich können auch eigene Seiten hinzugefügt werden. Wie das geht sieht man im Video, welches oben verlinkt ist.

Nachdem man die Seiten entsprechend bearbeitet hat sollte man ein set ui save machen. Ansonsten gehen die Änderungen beim nächsten FHEM-Neustart verloren. Ein normales save config reicht nicht aus!