ich hatte im August eine Frage gepostet und wollte jetzt mal eine Lösung zeigen. Mit den Tipps aus dem Forum hat es dann doch noch geklappt. Das Schreiben eines Mittelwertes für den Lichtsensor HM-Sen-LI-O in die Systemvariable "hell_mittel" hat bei mir mit diesem Code funktioniert:
Code: Alles auswählen
! Programm zur Ermittlung der mittleren Helligkeit und Schreiben in Systemvariable
var source = dom.GetObject("$src$");
! Wird das Programm durch eingehende Wetterdaten angestoßen, so ist dessen Quelle ($src$) definiert.
var mittelHell = dom.GetObject("hell_mittel");
! Die Systemvariable "hell_mittel" wird geladen
n = 6;
! Faktor für Gewichtung Altwerte
if (source)
! Wenn keine Quelle aufruft, wird $src$ nicht ersetzt, Aufruf von „dom.GetObject“ liefert „null“.
{
var curHell = source.Value();
! Aktueller Helligkeitswert
var Alt = mittelHell.Value();
! Vorheriger Mittelwert
curHell = (curHell + ((n-1)*Alt))/n;
! Gewichtung Aktueller und Vorheriger Werte
mittelHell.State(curHell);
! Schreiben in SV
}
else
! Keine Quelle, sondern manueller Aufruf
{
var lichtsensor = dom.GetObject("Terrasse(A4).Helligkeit");
! Sensor direkt ansprechen
var curHell = lichtsensor.DPByHssDP("LUX");
! Sensor direkt ansprechen
mittelHell.State(curHell.Value());
! Schreiben in SV
}
Nochmal Danke an alle die Tipps gegeben haben.