Hallo Leute,
Ich bin kurz vorm verzweifeln. Ich bekomme die Gesendete Temparatur einfach nicht auf 2 Stellen nach dem Komma Gerundet.
Ich habe ein email TCL Script dies sieht so aus:
load tclrega.so
array set values [rega_script {
var v1 = dom.GetObject("BidCos-RF.MEQ0476880:1.TEMPERATURE").Value();
var v2 = dom.GetObject("BidCos-RF.MEQ0476880:1.HUMIDITY").Value();
var v3 = dom.GetObject("Strom Zaehlerstand").Value();
var v4 = dom.GetObject("Jahresverbrauch").Value();
var v5 = dom.GetObject("Monatsverbrauch").Value();
var v6 = dom.GetObject("BidCos-RF.NEQ0122590:1.TEMPERATURE").Value();
var v7 = dom.GetObject("BidCos-RF.NEQ0122590:1.HUMIDITY").Value();
if
(dom.GetObject("Licht Wohnzimmer Johannes").Value() == 'false') {
var v8 = "Eingeschaltet";
}else {
var v8 = "Ausgeschaltet";
}
} ]
set v1 $values(v1)
set v2 $values(v2)
set v3 $values(v3)
set v4 $values(v4)
set v5 $values(v5)
set v6 $values(v6)
set v7 $values(v7)
set v8 $values(v8)
So wie es ist Funktioniert auch alles. Jetzt habe ich versucht den Befehl .Round(2); einzubauen an zich stellen. -> Es Funktioniert nicht. Fehler im Script oder es wird als Temperatur das BidCos-RF.NEQ0122590:1.TEMPERATURE angezeigt statt den Wert. Wo muss der Befehlt richtig hin damit er in der Mail als z.B. 20.54 Grad angezeigt wird.
Bin für jeden Tipp Dankbar
diese Varianten habe ich Ohne Erfolg getestet:
var v6 = dom.GetObject("BidCos-RF.NEQ0122590:1.TEMPERATURE").Value().Round(2);
var v6 = dom.GetObject("BidCos-RF.NEQ0122590:1.TEMPERATURE".Round(2)).Value();
var v6 = dom.GetObject("BidCos-RF.NEQ0122590:1.TEMPERATURE").Value(.Round(2));
var v6 = dom.GetObject("BidCos-RF.NEQ0122590:1.TEMPERATURE").Value();.Round(2);
Ohne Erfolg ich hoffe es kann mir wer helfen!
Runden der Temperatur im Email Versand TCL Skript
Moderator: Co-Administratoren
-
- Beiträge: 24
- Registriert: 26.09.2017, 22:16
-
- Beiträge: 24
- Registriert: 26.09.2017, 22:16
Re: Runden der Temperatur im Email Versand TCL Skript
Fehler gefunden .Round(2) geht NICHT!!
es muss .ToString(1) heißen!!
also so: var v6 = dom.GetObject("BidCos-RF.NEQ0122590:1.TEMPERATURE").Value().ToString(1);
es muss .ToString(1) heißen!!
also so: var v6 = dom.GetObject("BidCos-RF.NEQ0122590:1.TEMPERATURE").Value().ToString(1);