Serial Port $ Senden?

Hallo zusammen,

Ich möchte über einen USB to Serial Port eine „OpenEVSE“ (Wallbox) ansteuern.

Leider bekomme ich das über Symcon nicht hin…
Ich hatte es im ersten Schritt direkt am PC per Putty versucht, da ging alles. (Parameter Setzen, Variablen abrufen, Funktionen aktivieren/deaktivieren). alles bestens, ich bekam immer Antworten.

Eigenheit dieser Wallbox ist, dass vor jedem Kommando oder auch Respose ein $ Zeichen Steht. Im Format:
„$Sx xxxx" für Parameter Setzen,
"$Fx xx
xx“ für Funktionen,
„$Gx xx*xx“ für Variablenabruf.

Wenn ich aber in Symcon mein Test-skript mit der Funktion:

SPRT_SendText(59399 /*[Serial Port WB Test]*/,'$FR*BC';

ausführe, steht zwar Im Debug des Serial Portes mit „Transmit“ genau das, was ich sende, aber ich bekomme keine Rückmeldung.

es ist der gleiche USB to serial Transmitter, welchen ich zum Versuch am Windows-PC als auch am IPS-Server bei mir ein RPI3 genutzt habe. Er wurde nur umgesteckt.

Ich vermute ja stark, dass Symcon das $ Zeichen nicht richtig versendet. Denn bei den Antworten in Putty stand immer der * , bei Symcon kommt, wenn ich die Wallbox mit Spannung versorge, bei der Statusmeldung ein ^. das lässt vermuten, dass Sonderzeichen nicht richtig gesendet werden.

Nach einem weiteren Versuch wieder über Putty, kommen keine Antworten, wenn kein $ versendet wurde. sollte ein $, aber sonst nichts versendet worden sein, Antwortet die Wallbox mit $NK… für „Not OK“, ansonsten mit $OK.

Auch das Wechseln des Kommandos zu „RegVar_SendText…“ hat nichts ergeben.

Versucht wurde es mit zwei verschiedenen Adaptern: FT232RL und einem CP2102. leider gleiches Bild bei beiden. Am PC, wie am Raspi.

Hat jemand eine Idee was ich falsch mache?

Wird eventuell ein Zeilenumbruch oder Vorschub als Abschluss eines Befehls erwartet?
$ wird bei ’ genau so gesendet.
Anders wäre es bei " .
Michael

Hi,

Kann gut sein, dass da was erwartet wird. Ich würde es gerne testen.

Wie muss ich vorgehen, dass ein solcher Vorschub oder Zeilenumbruch gesendet wird?

Lg

Gesendet von meinem Z Pro mit Tapatalk

Einfach anschließend noch das hier senden, probier aus womit es funktioniert.
RegVar_SendText(12345,"
„);
Oder
RegVar_SendText(12345,“\r");
Oder
RegVar_SendText(12345,"
");
Michael

Hi Miachel,

SUPER! Danke,

Ich glaube langsam komm ich der Sache näher.

Allerding musste ich den Befehl so schreiben:

RegVar_SendText(20856 /*[Tests\Wallbox\Register Variable]*/,'$GG'."\r");

Ist zwar etwas aufwendiger, aber nur mit ’ wird das $ richtig gesendet, und nur mit " wird \r bzw
richtig gesendet.

Vielen Dank für den Hinweis!

Lg

Deswegen sagte ich ja anschließend das senden.
Also nachdem du den eigentlich Befehl mit ’ gesendet hast :wink:
Michael