ich arbeite seit vielen Jahren mit homematic und wollte jetzt alte Sachen aufarbeiten .
Ich kenne ein paar Bugs und habe jetzt 2 Tage gesucht, getestet und gelesen.
Aber ich glaube ich sehe einfach den Fehler nicht.
Ziel: einen Wert eines Gerätes in eine Systemvariable schreiben, wenn sie sich ändert.
Resultat: meine Skript läuft beim Testen, wenn ich das Programm ausführe bei Ausführen (Nur 1.DANN),
aber dann nie wieder - es wird also nicht getriggert - Was übersehe ich?
Die Unterschiede zwischen prüfen/bei Aktualisierung/bei Änderuung kenn ich.
Um all diesen Problemen aus dem Weg zu gehen, habe ich eine periodische Skriptausführung in Betracht gezogen (alle 3 Minuten).
Das Programm läuft periodisch solange ich nur eine Standard Mail verschicke
Code: Alles auswählen
! Einfach ein Testmail raus ob das Programm korrekt periodisch ausgeführt wird
string stdout;
string stderr;
system.Exec("/etc/config/addons/email/email 50", &stdout, &stderr);
Code: Alles auswählen
! Solar_Druck auslesen und setzen
var srcobj = dom.GetObject("BidCos-Wired.IEQ0024089:26.VALUE");
var dstobj = dom.GetObject("Solar_Druck");
var srcval = srcobj.Value()/100;
if (srcval != dstobj.Value()) {
dstobj.State(srcval);
}
! -----------------
! Boiler_Temperatur auslesen und setzen
var srcobj2 = dom.GetObject("BidCos-Wired.IEQ0024089:25.VALUE");
var dstobj2 = dom.GetObject("Boiler_Temperatur");
var srcval2 = srcobj2.Value()/10;
if (srcval2 != dstobj2.Value()) {
dstobj2.State(srcval2);
}
Vielen Dank!
Antonio