ich habe lange Zeit mit nachfolgendem TLC-Script mir tägliche Messwerte meiner Sensoren per Mail schicken lassen. Dies hat immer super funktioniert. Seit Herbst 2024 bekomme ich immer nur noch den Wert von v1 angezeigt. Bei allen Anderen Variablen steht nur null.
Hier der Mail Inhalt:
Code: Alles auswählen
****************************************************************
Aquarium Wassertemp.: $v1 Grad
+++++++++++++++++++++++++
Wetterstation:
Temperatur: $v10 Grad
Luftfeuchtigkeit: $v11
Windgeschwindigkeit: $v16 km/h
aktuell Regen (truth/false): $v14
Regenmenge gesamt: $v15 mm
Sonnenscheindauer: $v13 min
++++++++++++++++++++++++++
Trockenzeit: $v4 Stunde(n) Beregnung (1/0): $v5
++++++++++++++++++++++++++
Stromverbrauch:
Leistung: EG $v7 W // Garten: $v9 W
******************************************************************
*******************************************************************
Code: Alles auswählen
set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]
load tclrega.so
# Mit tclrega.so wird der Zugriff auf den HomeMatic Script Interpreter ermöglicht.
array set values [rega_script {
var v1 = dom.GetObject("BidCos-RF.xxxxxxxxxx:x.TEMPERATURE").Value().ToString(1);
var v2 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x1.ACTUAL_TEMPERATURE").Value().ToString(1);
var v3 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x1.HUMIDITY").Value().ToString(1);
var v4 = dom.GetObject("Trockentage").Value().ToString(1);
var v5 = dom.GetObject("Wasser").Value().ToString(1);
var v6 = dom.GetObject("BidCos-RF.xxxxxxxxxx:x.ENERGY_COUNTER").Value().ToString(1);
var v7 = dom.GetObject("BidCos-RF.xxxxxxxxxx:x.POWER").Value().ToString(1);
var v8 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.ENERGY_COUNTER").Value().ToString(1);
var v9 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.POWER").Value().ToString(1);
var v10 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.ACTUAL_TEMPERATURE").Value().ToString(1);
var v11 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.HUMIDITY").Value().ToString(1);
var v12 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.ILLUMINATION").Value().ToString(1);
var v13 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.SUNSHINEDURATION").Value().ToString(1);
var v14 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.RAINING").Value().ToString(1);
var v15 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.RAIN_COUNTER").Value().ToString(1);
var v16 = dom.GetObject("HmIP-RF.xxxxxxxxxx:x.WIND_SPEED").Value().ToString(1);
} ]
# Mittels dieser drei Zeilen werden die Werte (Value) des Geräts ausgelesen und an die
# Variablen (v1/v2) übergeben. Mittels ToString werden in diesem Fall die überflüssigen
# Dezimalstellen der Werte abgeschnitten, damit keine Wert mit fünf Nachkommastellen
# übergeben werden, (ToString(1) = z.B. 10.5°C und ToString(0) = z.B. 70% Luftfeuchte).
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)
set v9 $values(v9)
set v10 $values(v10)
set v11 $values(v11)
set v12 $values(v12)
set v13 $values(v13)
set v14 $values(v14)
set v15 $values(v15)
set v16 $values(v16)
# Mittels set wird der übergebene Wert in der Variable (v1/v2) gespeichert
Vielen Dank für die Unterstützung!