Schreiben in Systemvariablen klappt nicht

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Rollaktor
Beiträge: 6
Registriert: 06.08.2017, 13:13
Hat sich bedankt: 1 Mal

Re: Schreiben in Systemvariablen klappt nicht

Beitrag von Rollaktor » 11.10.2017, 21:16

Hallo Forum,
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
}
Die Kommentare musste ich entfernen, die wurden immer angemeckert.
Nochmal Danke an alle die Tipps gegeben haben.

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“