Inhaltsverzeichnis

Floorplan

Mit Floorplans lassen sich Haussteuerungen visualisieren und somit einfacher steuern.

Plan erstellen

define fp_<NAME> FLOORPLAN

Beim erstellen des Floorplans erstellt Fhem automatisch Benutzer-Attribute („userattr“).

attr global userattr fm_fav fm_groups fm_name fm_order room structexclude webCmd fp_Grundriss

Wenn man nun in Fhem den Floorplan aufruft, sieht man nur eine leere Seite mit einem anderen Seitenmenu.
Hintergrundbild als „fp_<NAME>.png“ (Case-Sensitive) in /opt/fhem/www/images/default speichern (Beispiel: fp_Grundriss.png).
Wenn nun der folgende Befehl ausgeführt wird und danach die Webseite neu geladen wird, sollte die Grafik dargestellt werden.

set WEB rereadicons

Wenn sich der Name der Hintergrundbildgrafik nicht mit dem Namen des Floorplans gleicht, kann man auch folgendes Attribut verwenden:

attr fp_<NAME> fp_backgroundimg <NAME_HINTERGRUNDBILD>.png

CSS

Die Position des Hintergrundbildes kann mit CSS-Dateien gesteuert werden.
Standard-CSS-Dateien in Fhem sind „floorplanstyle.css“ bzw. „darkfloorplanstyle.css“.
Eine Positionsbestimmung kann man mittels dieser Zeile steuern.

#backimg {position:absolute; top:15px; left:190px;}

Wenn eine Tabelle zum Setzen der Devices im Floorplan angezeigt werden soll, muss diese Zeile in die CSS Datei eingefügt werden.

.fp_Grundriss {border:1px solid gray;}

Man sollte sich ggf. eine eigene Stylesheet Datei erstellen.

sudo -u fhem cp www/pgm2/floorplanstyle.css www/pgm2/mywohnungstylesheet.css

Damit Fhem dann diese nutzt, folgenden Befehl verwenden.

attr fp_<NAME> stylesheet my<NAME>stylesheet.css

Weitere Beispiele zu CSS in der Fhem-Wiki

Zeitgesteuertes Hintergrundbild

Weiterhin könnte man auch zu bestimmten Zeiten ein anderes Hintergrundbild verwenden, ähnlich bei Navigationssystemen.
Hier ein Beispile aus der Fhem-Wiki:

define a_fpbackimg at +*01:00 { \
     if ( isday() ) {fhem "attr Grundriss fp_backgroundimg Tag.png"} \
     else {fhem "attr Grundriss fp_backgroundimg Nacht.png"} }

SVG-Grafiken

Wenn man anstatt von PNG-Grafiken SVG-Grafiken verwenden möchte, so kann man diese auch mittels CSS-Dateien einbinden.

body { background-color:#ffffff;
	  background-image: url(/fhem/icons/lcars/background.svg);
	  background-size: 1920px 1080px;
	  overflow:hidden;
	  background-position: 0px 0px}

Devices anordnen

Damit man die einzelnen Devices in der Floorplan-Ansicht hinzufügen und diese nach belieben anordnen kann, muss die Funktion dafür eingeschaltet und wenn man fertig ist wieder ausgeschaltet werden.

Den einzelnen Devices kann man mittels des 7 Stile in unterschiedlicher Weise anzeigen lassen.

Stil Beschreibung
0 nur Symbol (devicestate)
1 Name und Symbol/Status (devicename und devicestate)
2 Name, Symbol/Status und Befehle (devicename, devicestate und devicecommands)
3 Geräte-Messwert und optional Name (devicename und reading)
4 S300TH Temperatur & Feuchtigkeit
5 Symbol/Status und Befehle
6 Geräte-Messwert inkl. Zeitstempel und optional Name
7 Nur Kommandos

Eigene Readinglisten

Bei manchen Devices möchte man vielleicht noch mehr Werte anzeigen lassen, als sie standardmäßig zeigen.
Datei /opt/fhem/contrib/95_FLOORPLAN/99_myFloorplanList.pm als eigene Datei kopieren und in der Datei, bei „Change this list as needed“, nach eigenen Vorstellungen anpassen.
Nach dem Erstellen und Anpassen noch diesen Befehl ausführen.

reload 99_my<NAME>List.pm

Nun die Readings einbinden mit

define w_WerteListe1 weblink htmlcode {doWertListe1()}

Jetzt kann man diese Liste in dem Floorplan als Device einfügen.

Zusätzlich können noch andere Informationen z.B. aus anderen Quellen im Floorplan angezeigt werden.
Hier einige Beispiele: