UDP Transformer - php_execute (custom)

Mit dem php_execute Transformer ist es möglich, PHP-Code im Virtuellen Ausgangs-Befehl zu übergeben, dieser PHP-Code wird im Transformer ausgeführt. Im übergebenen PHP-Code werden die Daten angegeben, die an an das Eingangstopic zurückübergeben werden.

Im verwendeten PHP-Code sind die Funktionen und Befehle von LoxBerry XL möglich. 

Sicherheit

Dieser Transformer erlaubt ohne Authentifizierung die Code-Ausführung auf dem LoxBerry im Kontext des loxberry-Benutzers. Es ist damit möglich, sensible Daten auszulesen, die auf dem LoxBerry gespeichert sind (z.B. Miniserver-Zugangsdaten). 


Transformer downloaden: php_execute.php

Den Transformer ins custom/udpin-Verzeichnis ablegen.

Beim Virtuellen Ausgang zum MQTT Gateway muss das Trennzeichen ; (Semikolon) entfernt werden, andernfalls wird der PHP-Code beim Übertragen abgeschnitten. 

Rückgabedaten

Im PHP-Code im Virtuellen Ausgangsbefehl muss die Variable $data befüllt werden. Dessen Inhalt wird an das übergebene Topic gesendet. Die Loxone-Variable <v> ist ebenfalls möglich, um diese im PHP-Code in eine Variable zu speichern.

Es ist möglich, weitere Daten in einem Zug zu übergeben. Dafür können im PHP-Code im VO-Befehl die Variablen $topic1 bis $topic9, sowie $data1 bis $data9 verwendet werden.  

Achtung: Der Transformer-Code muss dafür nicht angepasst werden! Der PHP-Code steht im virtuellen Ausgangsbefehl!

Beachte, dass das Rückgabe-Topic im MQTT Gateway als Subscription hinterlegt sein muss, damit die Daten zurück zum Miniserver gelangen.

Anwendungs-Beispiel 1

Befehl bei EIN: publish php_execute daten/currenttime $data=$xl->date.' '.$xl->time;

Liefert ein formatiertes Datum und Zeit in den Virtuellen Texteingang daten_currenttime zurück (Aufruf zweier LoxBerry XL Zeit-Funktionen).