ich habe ein MQTT Server Device und möchte in einem PHP-Script das Thema von diesem abfragen. Dieses Script wird vom Webfront aufgerufen, wenn ich einen Relais-Ausgang schalten möchte.
Ich finde dazu aber leider keine Funktion. Bitte um eine Info, wie ich diesen Wert in eine Variable bekomme.
Mir ist nicht ganz klar, was du hast. Wenn du ein MQTT Server Device, z.B. über den MQTT Configurator angelegt hast, dann ist der Wert dort bereits in einer Variablen.
Z.B.
Die Variable kannst du mit den Standardfunktionen (GetValue…) im Script nutzen.
ich habe einen RaspberryPi 3 mit PiFaceDigital2 IOs (derzeit 8 Eingänge + 8 Ausgänge, aber auf bis zu 32 + 32 erweiterbar) + 3 Stk 1-Wire DS18B20 Sensoren, die ich mit MQTT an das Symcon angebunden habe.
Das Empfangen im Symcon funktioniert schon wunderbar. Die Digital- und Analogwerte sende ich als JSON Wert an das Symcon mit einem C# Programm.
Alle IOs und Sensoren schicken pro Rapsi an das gleiche Thema (siehe Bild unten).
Dadurch werden alle IOs, die lokal am Raspi vorhanden sind, automatisch im Symcon als Variable angelegt und ich muss nicht zig Variablen extra abonnieren.
Da ich im Endausbau von diesem Gerät mind. 4 Stk. im Einsatz habe, möchte ich aber gerne nur 1 ActionScript für das Webfront für alle Relais-Ausgänge Erstellen.
Dazu brauche ich das Thema vom Mqtt Server Device , damit ich den Schaltbefehl an das richtige Gerät senden kann.
Hallo Ralf,
ja, das hab ich leider auch schon alles ohne Erfolg ausprobiert.
Wäre super, wenn das zumindest beim IPS_GetObject mitgeliefert werden würde. ich werde das halt vorerst mal als fixen string in mein Script eintragen.
lg
Wolfgang
Du könntest ein Array in deinem Script pflegen, in dem du die InstanzID und das Thema manuell pflegst und dir das Thema dann aus dem Array holst . Das wäre ja EInmalaufwand, da die Topics sich nicht ändern sollten.
So mache ich das für ein paar andere/ähnliche Aktivitäten.
Wobei ich gerade sehe, das der Variablenname „Adr_0_DigitalIO_Input3“ doch den wichtigsten Teil von Topic enthält, eventuell kannst du den mit verwenden.
Hallo Ralf,
das ist eine gute Idee. Ich werde aber das Thema einfach als weiteren Datenpunkt vom Client ans Symcon schicken. Dann hab ich das immer aktuell und muss auf nichts aufpassen.
Vielen Dank für deine Hilfe und Ideen.
lg
Wolfgang