Esera 1wire-Controller über Befehle steuern

Ich habe eine Esera Station200, welche ja einen 1wire-Controller beinhaltet. Dieser ist in IPS als serial port verbunden und liefert die 1wire-Daten zur weiteren Verarbeitung.
Nun war es mein Gedanke, dass ich über ein Skript und den Befehl „SPRT_SendText“ auch Befehle senden und die entsprechenden Antworten erhalte.

Als Beispiel die Systeminformationen auslesen:

SPRT_SendText(34253, "GET,SYS,INFO");

Im Debug des serial port wird das auch als Transmit angezeigt, es kommt jedoch keine Antwort.
Wo ist mein Denkfehler? Funktioniert das überhaupt so?

Da muss - glaube ich - dann noch CR und LF am Ende gesendet werden.

Gibt doch ein fertiges Modul.
Kannst du nicht über die darin enthaltenen Instanzen deine Befehle senden?
Michael

DerStandart

Da muss - glaube ich - dann noch CR und LF am Ende gesendet werden.

Blöde Frage, aber wie kann ich die ASCII-Zeichen CR und LF schreiben? Wie müsste dann mein Text aussehen oder zusammengesetzt sein?

Nall-chan

Gibt doch ein fertiges Modul.
Kannst du nicht über die darin enthaltenen Instanzen deine Befehle senden?
Michael

Es gibt viele Instanzen, die ich auch nutze. Ich brauche aber mindestens einen Befehl, den ich sonst über das Configtool des Controllers absetze. Und das wollte ich gerne direkt in IPS machen.

Es ist keine gute Idee in die Kommunikation einzugreifen, wenn da hinter andere Instanzen hängen.
Sicher das deine Befehle nicht auch z.b. über den Splitter gesendet werden können; es also dort passende PHP-Befehle gibt?
Michael

Ein Splitter hängt dazwischen, das ist richtig. Dort könnte der Befehl auch eingespielt werden. Wenn ich das mit einem vergleichbaren Befehl aus einer Instanz tue, dann erscheinen dort die Nachrichten FWD, Bufferin, Bufferout, Data, Sendtodevice…

Wie würde dann ein php-Befehl lauten?

Keine Ahnung :slight_smile:
Gibt doch bestimmt eine Doku zum Modul.
Michael

Auch wenn es dem Profi vielleicht kühn erscheint, ich habe doch direkt auf dem serial port den Befehl gesetzt. Dabei war nur noch der CR als \r notwendig.

SPRT_SendText(34253, "GET,SYS,INFO\r");