Runden der Temperatur im Email Versand TCL Skript

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
AudiA4-Razer
Beiträge: 24
Registriert: 26.09.2017, 22:16

Runden der Temperatur im Email Versand TCL Skript

Beitrag von AudiA4-Razer » 06.12.2018, 23:09

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!

AudiA4-Razer
Beiträge: 24
Registriert: 26.09.2017, 22:16

Re: Runden der Temperatur im Email Versand TCL Skript

Beitrag von AudiA4-Razer » 06.12.2018, 23:21

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);

Antworten

Zurück zu „HomeMatic allgemein“