LoxBerry XL stellt beim Starten des Scripts automatisch die Verbindung zu deinem MQTT-Broker her. Dafür muss das MQTT Gateway Plugin auf deinem LoxBerry installiert sein.
In deinem Script hast du damit automatisch Zugriff mit der Variable $mqtt
. Beim Starten des Scripts wird angezeigt, ob MQTT verfügbar ist:
Wenn die Zeile mit $mqtt
nicht angezeigt wird, hast du das MQTT Gateway Plugin nicht installiert, oder die Verbindung ist gescheitert.
Mit $mqtt
hast du dann direkten Zugriff auf die Daten deines MQTT-Brokers.
<?php require_once "loxberry_XL.php"; // Topic lesen echo "keepaliveepoch: " . $mqtt->get ( "loxberry/mqttgateway/keepaliveepoch" ); // Topic schreiben $mqtt->set("shellies/shellyplug-s-267E3C/relay/0/turn", "off");
$mqtt->get ( "lese/dieses/topic" );
Beim Lesen des Topics ist es wichtig, das Topic ohne die MQTT-Joker zu verwenden.
$mqtt->get( "lese/dieses/topic/#" );
Dies wird dazu führen, dass du irgendeinen Datensatz dieses Topics erhältst.
$mqtt->get( "lese/dieses/topic/daten" );
Du bekommst genau diesen einen Datensatz.
Ist das von dir abgefragte Topic nicht vorhanden, liefert die Funktion nichts zurück.
Mögliche Syntaxen:
$mqtt->set( "schreibe/meine/daten", "On" ); $mqtt->publish( "schreibe/meine/daten", "On" ); // Publish ohne Retain $mqtt->set( "schreibe/meine/daten", "On", true ); $mqtt->retain( "schreibe/meine/daten", "On" ); // Publish MIT Retain