Danke
Ich habe da mal etwas zum testen und spielen.
Vielleicht in Zukunft für euch LCN Nutzer brauchbar.
Hängt sich an das LCN Gateway, somit wird es sauber in den Datenstrom zum LCN integriert (und nicht mit direktes Senden auf den Socket irgendwo zwischengeschoben).
Hoffe ich habe den Datenaustausch soweit korrekt interpretiert.
$SendData = [
'DataID' => '{C5755489-1880-4968-9894-F8028FE1020A}',
'Address' => 0, // 0 => M, 1 => G
'Segment' => $this->ReadPropertyInteger('Segment'),
'Target' => $this->ReadPropertyInteger('Modul'),
'Function' => $Function,
'Data' => $Data
];
$Address gibt wohl den Typ der Adresse an. Ist ein interger. 0 für ‚M‘, 1 für ‚G‘.
$Function ist dann z.B. ‚STX‘
Und $Data wäre der eigentliche Payload (oder hier leer).
Das hier erzeugt dann das gewünschte Telegramm:
$id = 12345; // $id von der Instanz 'LCN Test Modul'
LCNTest_SendTest($id,'STX','');
ReceiveFilter ist aktuell wie folgt; wobei Segment und Target aus den Einstellungen kommen.
.*"Message":2,"Segment":0,"Target":161,"Function":"TX".*
Ansonsten ist der Code sehr überschaubar.
Und gibt alles im Debug aus, Filter, SendData, Result von SendData (sofern vorhanden) und ReceiveData.
Hoffe es hilft
Code liegt auf GitHub:
GitHub - Nall-chan/LCNTest: Testmodule
https://github.com/Nall-chan/LCNTest
Michael
PS: Könnte es sein, das Target abhängig von Address eine Modul oder Gruppen-Adresse ist? (Ich nix LCN, aber ist das eine logische Erklärung?)