habe folgendes Skript schon lange laufen, aber es geht nicht so wie es soll. Es geht mir um die Jahresregenmenge die einfach addiert werden soll.Ich hatte erst eine! Variable "Jahresregenmenge" vom Typ "Zahl" angelegt. Dort wurde dann auch die Menge addiert, allerdings mit ewig vielen Nachkommastellen.
Durch das Forum legte ich mir eine Variable "Jahresregenmenge_string" vom Typ "Zeichenkette" an mit folgendem Skript:
Code: Alles auswählen
var rainToday = dom.GetObject(13866);
var rainYesterday = dom.GetObject(13867);
var rainCounter = dom.GetObject(13860);
var rain_year = dom.GetObject("Jahresregenmenge");
var rain_year_string = dom.GetObject("Jahresregenmenge_string");
if ( (rainToday) && (rainYesterday) && (rainCounter) )
{
if (rainCounter.LastTimestamp())
{
var diff = rainCounter.Value() - rainCounter.LastValue();
if ( diff < 0.00)
{
diff = diff + rainCounter.ValueMax();
}
rainToday.State(rainToday.State() + diff);
rain_year.State(rain_year.State() + diff);
rain_year_string.State((rain_year.State() + diff).ToString(2)) "l/qm";
}
else
{
rainToday.State(0.00);
rainYesterday.State(0.00);
}
}
als ich allerdings die SV Zeichenkette "Jahresregenmenge_string" auf "Jahresregenmenge" änderte, die SV Zahl"Jahresregenmenge" löschte und den Skript auf folgendes änderte ging es nicht mehr
Code: Alles auswählen
var rainToday = dom.GetObject(13866);
var rainYesterday = dom.GetObject(13867);
var rainCounter = dom.GetObject(13860);
var rain_year_string = dom.GetObject("Jahresregenmenge");
if ( (rainToday) && (rainYesterday) && (rainCounter) )
{
if (rainCounter.LastTimestamp())
{
var diff = rainCounter.Value() - rainCounter.LastValue();
if ( diff < 0.00)
{
diff = diff + rainCounter.ValueMax();
}
rainToday.State(rainToday.State() + diff);
rain_year_string.State((rain_year.State() + diff).ToString(2)) "l/qm";
}
else
{
rainToday.State(0.00);
rainYesterday.State(0.00);
}
}