Seite 1 von 3

Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:20
von Commander1971
Hallo zusammen, habe leider keine Lösung hier gefunden. Die Ausgabe vom Stromzähler EM24, lasse ich per Skript über Modbus auslesen, das funktioniert soweit auch gut, nur die Anzeige erscheint nur so: 12345, hätte aber gern 1234,5 Watt als Ausgabe.
Hat jemand eine Lösung dafür?
Hier mal das Skript, welches in eine SV geschrieben wird.


! Lesen des Wertes
dom.GetObject("CUxD.CUX2801001:16.CMD_SETS").State("tclsh /usr/local/addons/modbus/modbus_interface.tcl xxx.xxx.xxx.xxx 502 1 04 40 1");
dom.GetObject("CUxD.CUX2801001:16.CMD_QUERY_RET").State(1);
! Zuweisen in Variable
tst1 = dom.GetObject("CUxD.CUX2801001:16.CMD_RETS").State();
! Schreiben in Systemvariable formatiert (lGetOut ist ein Sting)
dom.GetObject('E3DC_Haus').State(tst1);
! Ausgabe
WriteLine("E3DC_Haus: " + tst1);

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:35
von Matsch
Durch 10.0 dividieren vielleicht?

Aber ist das bei Testausgaben per WriteLine() wirklich so wichtig?

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:37
von Commander1971
Das habe ich schon versucht, leider ohne Erfolg, meine Skript Kenntnisse reichen nicht so weit.
Kannst du mir bitte sagen wie?

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:39
von Commander1971
Ob WriteLine() wirklich wichtig ist, weiß ich nicht, bin froh das ich das Skript so verändern konnte das es bei mir passt, es funktioniert aber.

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:40
von Matsch

Code: Alles auswählen

WriteLine("E3DC_Haus: " # (tst1/10.0));
Oder die SV generell behandeln (vor WriteLine)

Code: Alles auswählen

tst1 = tst1/10.0;
WriteLine erzeugt doch nur Testausgaben während des Scripttest und ist völlig unwirksam im Normalbetrieb

Vielleicht mal die Dokumentation der Scriptsprache vor Anwendung lesen?

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:52
von Commander1971
Danke, leider ist die Ausgabe im Skript immer noch die gleiche.
skript.jpg

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:53
von Commander1971
Matsch hat geschrieben:
24.11.2023, 12:40

Code: Alles auswählen

WriteLine("E3DC_Haus: " # (tst1/10.0));
Oder die SV generell behandeln (vor WriteLine)

Code: Alles auswählen

tst1 = tst1/10.0;
WriteLine erzeugt doch nur Testausgaben während des Scripttest und ist völlig unwirksam im Normalbetrieb

Vielleicht mal die Dokumentation der Scriptsprache vor Anwendung lesen?
Also kann ich Sie weglassen, sorry Skripte sind nicht meine Welt, sind alles böhmische Dörfer für mich.

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:57
von Matsch
Ja du kannst mich weglassen, ist ok.

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 12:58
von Commander1971
Matsch hat geschrieben:
24.11.2023, 12:57
Ja du kannst mich weglassen, ist ok.
Sorry, habe ich was falsches geschrieben? :shock:

Re: Ausgabewert vom Skript, komma hinzufügen

Verfasst: 24.11.2023, 13:06
von Matsch
Nicht? 🤣