DevelopmentFHEMWEB-API
Please note: This list of functions is not official maintained by all developers. So there is no guarantee for completeness and correctness, at least the program code itself is relevant.
Dieses Seite soll die verfügbaren Funktionen zugänglicher machen, um das Beisteuern von Funktionalität zu erleichtern.
Natürlich hat diese Seite keinen Anspruch auf Vollständigkeit und jeder ist aufgefordert mitzuarbeiten, sobald er beim Stöbern über eine Funktion stolpert, die auch andere interessieren könnte.
FHEMWEB-Server (pgm2) Perl-Funktionen
Globale Variablen
Globale Variablen:
Variablenname | Bedeutung |
---|---|
$FW_dir
|
Basisverzeichnis des FHEMWEB-Servers. |
$FW_CSRF
|
Enthält das CSRF-Token oder bleibt leer. |
$FW_detail
|
Enthält den Gerätenamen der aktuell erzeugten Detailansicht. |
$FW_room
|
Enthält den Raumnamen der aktuell erzeugten Raumansicht. |
$FW_wname
|
Enthält den Gerätenamen der aktuellen FHEMWEB-Instanz. |
FW_makeImage
$html = FW_makeImage($icon, $text, $class);
FW_makeImage gibt HTML-Code zurück, der ein Icon aus dem dem FHEMWEB-Iconpool beschreibt.
Parameter:
Parameter | Bedeutung |
---|---|
$icon
mandatory |
Eine Zeichenkette, mit optionaler Farbangabe '<iconname>[@color>]'
|
$text
optional |
Eine Zeichenkette, die einen alternativen Text angibt. |
$class
optional |
Eine Zeichenkette, die eine CSS-Klasse angibt. |
Rückgabewerte:
Rückgabewert | Bedeutung |
---|---|
$html
|
Wenn $icon mit einem Iconnamen aus dem FHEMWEB-Iconpool übereinstimmt, wird der HTML-Code zum Einbinden des Icons zurückgegeben.
Mit nachgestellter Farbangabe |
Beispiel:
$html = FW_makeImage('fts_shutter_10@red');
FW_directNotify
FW_directNotify($filter, $fhemweb_instance, $javascript, "");
FW_directNotify führt Javascript auf einer longpoll FHEMWEB-Instanz aus, ohne Events zu erzeugen.
Parameter:
Parameter | Bedeutung |
---|---|
$filter
optional |
Eine Zeichenkette, die mit "FILTER=" beginnt "FILTER=<filter expression>" .
|
$fhemweb_instance
mandatory |
Eine Zeichenkette, die eine longpoll FHEMWEB-Instanz "#FHEMWEB:<FHEMWEB devicename>" angibt. |
$javascript
mandatory |
Eine Zeichenkette, die ein Javascript angibt. |
""
mandatory |
Eine Zeichenkette, leer oder (noch zu präzisieren). |
Beispiele:
FW_directNotify("FILTER=room=XXX", "#FHEMWEB:WEB", "FW_okDialog('Hello world!')", "");
FW_directNotify("FILTER=room=XXX", "#FHEMWEB:WEB", "location.reload('true')", "");
- siehe auch Forenthread
FHEMWEB-Client (pgm2) Javascript-Funktionen
Globale Variablen
Globale Variablen:
Variablenname | Bedeutung |
---|---|
FW_root
|
FHEM-Ursprungsverzeichnis, steht auch im head-Element als Attribut root zur Verfügung.
|
FW_version
|
Ein assoziatives Array, das die Versionszeichenketten der geladenen Javascript-Dateien enthält. |
FW_okDialog
FW_okDialog(txt, parent, removeFn);
FW_okDialog öffnet im FHEMWEB-Client (Browser) ein modales Popup-Fenster.
Parameter:
Parameter | Bedeutung |
---|---|
text
mandatory |
Eine Zeichenkette, die im Popup-Fenster angezeigt wird. HTML-Code wird interpretiert. |
parent
optional |
Ein Objekt zur Verankerung des Popup-Fensters, default ist das body-Element. Eine FHEM-Widget-Schnittstelle wird interpretiert |
returnFn
optional |
Eine Javascript-Funktion, die beim Schliessen des Popup-Fensters ausgeführt wird. |
Beispiel:
FW_okDialog('Hello world!');
FW_cmd
FW_cmd(arg, callback);
FW_cmd führt einen Befehl auf dem FHEMWEB-Server aus.
Parameter:
Parameter | Bedeutung |
---|---|
arg
mandatory |
Eine Zeichenkette, die einem Befehl an den Server entspricht. |
callback
optional |
Eine Javascript-Funktion, die ausgaführt wird, wenn der auf dem FHEM-Server ausgeführte Befehl einen Rückgabewert enthält, der weiter verarbeitet werden soll. |
Beispiel:
- Das Beispiel holt sich vom Server den HTML-Code des Icon "fts_shutter_10" und zeigt das Icon in einem Popup-Fenster an. Der vom Server auszuführende Befehl lautet
FW_cmd(FW_root+'?cmd={FW_makeImage("fts_shutter_10")}&XHR=1', function(data){FW_okDialog(data)});
{FW_makeImage("fts_shutter_10")}
. An die Callback-Funktionfunction(data){FW_okDialog(data)}
wird der Rückgabewert vom Server als Parameter übergeben und steht als Variabledata
zur Verfügung.