kann ich mich irgendwie aus einer eigenen PHP Funktion an ReceiveData hängen?
Als Beispiel:
In dem Tasmota Modul sende ich per Funktion (Tasmota_sendMQTTCommand) einen Befehl ab.
Nun würde ich gerne als Rückgabewert eine Antwort mit dem Ergebnis erhalten, das Ergebnis bekomme ich aber in der ReceiveData Funktion.
Gibt es eine Möglichkeit darauf zuzugreifen?
Ich hoffe die Frage ist verständlich.
Du schreibst in ForwardData in einen Buffer, dann must Du warten bis von RecieveData der Buffer ausgelesen wurde und mit der Antwort ergänzt wurde. Wenn sich der Buffer verändert hat gibst Du die Daten als return von Foward Data zurück. Wie der Buffer strukturiert ist hängt individuell davon ab was Du für Daten schickst bzw. wie das Protokoll aussieht. Du brauchst halt einen Indentifier mit dem Du im Buffer das Result zuordnen kannst.
Ja aber ForwardData wurde ja von Deiner Instanz aufgerufen also must Du auch aus der Methode mit return die Antwort an die aufrufende Instanz zurück geben. Das heist Du must mit Foward Data so lange warten bis der Response von RecieveData in den Buffer geschrieben worden ist.
In der Instanz IPS-Tasmota gibt es die Funktion: Tasmota_sendMQTTCommand
Von dort wird an den MQTT Client (Splitter) ein MQTT Command gesendet.
Das Ergebnis davon kommt in IPS-Tasmota in ReceiveData ja wieder an. Ich will also nicht im Splitter auf irgendwas reagieren sondern möchte in IPS-Tasmota im ReceiveData das Ergebnis abfangen und bei Tasmota_sendMQTTCommand als Rückgabewert ausgeben.
Ich glaube aber das mein Vorhaben so überhaupt nicht funktioniert.
Ich hoffe ich habe es verständlich erklärt. Bzw. hoffe ich dein Beispiel nicht falsch verstanden zu haben.