FHEMWEB: Unterschied zwischen den Versionen

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 44: Zeile 44:
=== CSRF Token ===
=== CSRF Token ===
siehe [[srfToken-HowTo]]
siehe [[srfToken-HowTo]]
=== apiWeb Instanz ===
Die apiWeb Instanz dient dazu externe Zugriffe auf das FHEM System kontrolliert zu steuern.
Im Grunde wird nichts anderes gemacht wie eine zweite FHEM Webinstanz ein zu richten, welche dann gesondert abgesichert wird.
Man legt sich hierfür eine FHEMWEB Instanz an:
<pre>
define apiWEB FHEMWEB 8088 global
attr apiWEB column Alarms: Apartment: Living: Bedroom: Kitchen: Sonos: Residents: Weather: Bathroom: Logs: Statistics: DashboardRoom: System: hidden: all:
attr apiWEB hiddenroom input,detail,save,Unsorted,Everything,CUL_HM,FS20,Commandref,style,Edit files,Select style,Logfile,Floorplans,Remote doc,FileLogs,Apartment,Bathroom,Bedroom,Kitchen,Living,Residents,System,Weather,Event monitor,NEW
attr apiWEB room hidden
attr apiWEB webname webhook
</pre>
Diese wird dann weiter mit Hilfe eines [http://fhem.de/commandref.html#allowed allowed]-Devices abgesichert, indem nur die tatsächlich benötigten Kommandos erlaubt werden und damit alle anderen nicht erlaubten (attr,define,get,set,...) automatisch nicht mehr zur Verfügung stehen:
<pre>
define allowedApiWEB allowed
attr allowedApiWEB allowedCommands set
attr allowedApiWEB allowedDevices Lampe1
attr allowedApiWEB validFor apiWEB
</pre>
Desweiteren ist dringend an zu raten, den Zugriff über TLS/SSL und HTTP Basic-Authentication weiter abzusichern. Nähere Informationen findet man hierzu in der [http://fhem.de/commandref.html#FHEMWEB Commandref] unter dem Punkt HTTPS. Letztlich fehlt noch das entsprechende Attribut:
<pre>
attr WEBhook HTTPS
</pre>
Als nächstes aktivieren wir Benutzername+Passwort für den Zugriff. Die commandref für allowed gibt auch hier unter dem Punkt basicAuth entsprechende Hinweise.


== Links ==
== Links ==

Version vom 6. März 2017, 14:43 Uhr

FHEMWEB
Zweck / Funktion
Standard Fhem-Webfrontend
Allgemein
Typ Hilfsmodul
Details
Dokumentation EN / DE
Support (Forum) Frontends
Modulname 01_FHEMWEB.pm
Ersteller Rudolf König/rudolfkoenig (Forum /Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


FHEMWEB ist das Standard Webfrontend von Fhem, es implementiert auch einen einfachen Webserver (optional mit Basic-Auth und HTTPS). Aus historischen Gründen wird es auch als PGM2 bezeichnet.

Voraussetzungen

keine.

Anwendung

Define

siehe commandref.

Attribute

siehe commandref.

Anwendungsbeispiele

devStateIcon

siehe devStateIcon

sortby

title

  • Titel der Seite. Überschreibt das globale Attribut "title", das ansonsten für alle FHEMWEB Instanzen gilt
  • Beispiel für einen dynamischen Seiten-Titel: Beitrag

menuEntries

webCmd

siehe webCmd

widgetOverride

Mit dem Attribut widgetOverride kann ein anderes als das vom Modulautor vorgegebene Bedienelement für einen Parameter (set/get/Attribut) festgelegt werden. Beispiele:

Sicherheit

CSRF Token

siehe srfToken-HowTo

apiWeb Instanz

Die apiWeb Instanz dient dazu externe Zugriffe auf das FHEM System kontrolliert zu steuern. Im Grunde wird nichts anderes gemacht wie eine zweite FHEM Webinstanz ein zu richten, welche dann gesondert abgesichert wird.

Man legt sich hierfür eine FHEMWEB Instanz an:

define apiWEB FHEMWEB 8088 global
attr apiWEB column Alarms: Apartment: Living: Bedroom: Kitchen: Sonos: Residents: Weather: Bathroom: Logs: Statistics: DashboardRoom: System: hidden: all:
attr apiWEB hiddenroom input,detail,save,Unsorted,Everything,CUL_HM,FS20,Commandref,style,Edit files,Select style,Logfile,Floorplans,Remote doc,FileLogs,Apartment,Bathroom,Bedroom,Kitchen,Living,Residents,System,Weather,Event monitor,NEW
attr apiWEB room hidden
attr apiWEB webname webhook

Diese wird dann weiter mit Hilfe eines allowed-Devices abgesichert, indem nur die tatsächlich benötigten Kommandos erlaubt werden und damit alle anderen nicht erlaubten (attr,define,get,set,...) automatisch nicht mehr zur Verfügung stehen:

define allowedApiWEB allowed
attr allowedApiWEB allowedCommands set
attr allowedApiWEB allowedDevices Lampe1
attr allowedApiWEB validFor apiWEB

Desweiteren ist dringend an zu raten, den Zugriff über TLS/SSL und HTTP Basic-Authentication weiter abzusichern. Nähere Informationen findet man hierzu in der Commandref unter dem Punkt HTTPS. Letztlich fehlt noch das entsprechende Attribut:

attr WEBhook HTTPS

Als nächstes aktivieren wir Benutzername+Passwort für den Zugriff. Die commandref für allowed gibt auch hier unter dem Punkt basicAuth entsprechende Hinweise.

Links