DevelopmentFHEMWEB-API: Unterschied zwischen den Versionen

Aus FHEMWiki
(neu)
 
Zeile 149: Zeile 149:


== Links ==
== Links ==
[[DevelopmentFHEMWEB|Developement FHEMWEB(englischsprachig)]]
 
* [[DevelopmentFHEMWEB|Developement FHEMWEB(englischsprachig)]]
 
[[Kategorie:Development]]
[[Kategorie:Development]]

Version vom 22. Dezember 2017, 07:41 Uhr

X mark.svgBitte beachten: Diese Auflistung von Funktionen wird nicht aktiv durch alle Entwickler gepflegt. Es kann daher keine Garantie auf Vollständigkeit und Korrektheit gegeben werden, entscheidend ist immer der aktuelle Programm-Code.
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

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 '<iconname@color>', wird das Icon entsprechend eingefärbt. Entspricht die Zeichenkette keinem Iconnamen, wird die Zeichenkette zurückgegeben.

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

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:

  • FW_cmd(FW_root+'?cmd={FW_makeImage("fts_shutter_10")}&XHR=1', function(data){FW_okDialog(data)});
    
    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_makeImage("fts_shutter_10")}. An die Callback-Funktion function(data){FW_okDialog(data)} wird der Rückgabewert vom Server als Parameter übergeben und steht als Variable data zur Verfügung.

Links