Sitemap Erweiterung des Benutzerzugriffs - Harveg/hiag GitHub Wiki
Aufbau von Sitemaps
Sitemaps sind Textdateien mit der Erweiterung .sitemap und werden im Verzeichnis $OPENHAB_CONF/sitemaps gespeichert. Sitemaps folgen der in diesem Artikel beschriebenen Syntax.
Zur einfachen Bearbeitung von Sitemap-Definitionsdateien empfehlen wir die Verwendung eines der openHAB-unterstützenden Editoren. Diese bieten volle IDE-Unterstützung für Sitemap-Dateien, einschließlich Syntaxprüfung und Autovervollständigung.
Die openHAB-Laufzeit-Distribution wird mit einem Demo-Konfigurationspaket geliefert, das eine Sitemap-Datei namens demo.sitemap enthält.
. Vielleicht finden Sie es nützlich, diese Datei als Ausgangspunkt für die Erstellung einer Sitemap zu verwenden, die zu Ihrer persönlichen Heimeinrichtung passt.
Das folgende Beispiel veranschaulicht, wie eine typische Sitemap-Definition aussehen könnte:
`sitemap demo label="My home automation" { Frame label="Date" {
Text item=Date
}
Frame label="Demo" {
Switch item=Lights icon="light"
Text item=LR_Temperature label="Livingroom [%.1f °C]"
Group item=Heating
Text item=LR_Multimedia_Summary label="Multimedia [%s]" icon="video" {
Selection item=LR_TV_Channel mappings=[0="off", 1="DasErste", 2="BBC One", 3="Cartoon Network"]
Slider item=LR_TV_Volume
}
}
} `
Sitemaps werden grunsätzlich mittels Home-Builder vom Hauptbenutzer konfiguriert.
Mehrbenutzerkonzept
Zukünftige Erweiterungen von Controller für interne Benutzer werden wie folgt realisiert: Für jeden zusätzlichen Benutzer wird ein separaten OH-Servers für jede Sitemap erstellt. Dann wird MQTT verwendet zum Proxy/Spiegeln der Things, mit denen Benutzer auf diesem einen OH-Server interagieren dürfen. Anschliessend wird ein Reverse-Proxy proxy eingesetzt, um den Zugriff auf jeden separaten OH-Server zu kontrollieren. Die Benutzer können immer noch auf die vollständige REST-API für dieses OH zugreifen, aber alles auf dieser OH-Instanz ist ein Proxy für den Haupt-Controller "echte Instanz"", somit ist der Schaden, den die Benutzer anrichten können, begrenzt.