Ich habe ein Problem mit einem Script.
In einem Programm werden alle Fensterkontakte abgefragt und damit die entsprechenden Heizungsaktoren per Script gesteuert.
Beim Öffnen wird der Modus und die SET-Temperatur abgefragt und in einer Variable gespeichert.
Nach dem Schließen werden die Variablen ausgelesen und wieder in den entsprechenden Aktor geschrieben.
Das funktioniert nur beim ersten Aktor/Zimmer. Bei den anderen leider nicht
Sieht jemand evtl. den Fehler?
Vielen Dank euch.
Bad funktioniert:
Auslesen und Heizung aus stellen.
Code: Alles auswählen
!Badezimmerfenster offen;
var set_temp = dom.GetObject("BidCos-RF.NEQ0876022:4.SET_TEMPERATURE").Value();
var mode = dom.GetObject("BidCos-RF.NEQ0876022:4.CONTROL_MODE").Value();
dom.GetObject("aktBadT").State(set_temp);
dom.GetObject("aktBadS").State(mode);
dom.GetObject("BidCos-RF.NEQ0876022:4.MANU_MODE").State(4.5);
Code: Alles auswählen
!Badezimmerfenster gechlossen;
var set_temp = dom.GetObject("aktBadT");
var mode = dom.GetObject("aktBadS");
if (mode == 0) {
dom.GetObject("BidCos-RF.NEQ0876022:4.AUTO_MODE").State(true);
dom.GetObject("BidCos-RF.NEQ0876022:4.SET_TEMPERATURE").State(set_temp);
}
if (mode == 1) {
dom.GetObject("BidCos-RF.NEQ0876022:4.MANU_MODE").State(set_temp);
}
if (mode == 2) {
dom.GetObject("BidCos-RF.NEQ0876022:4.AUTO_MODE").State(true);
dom.GetObject("BidCos-RF.NEQ0876022:4.SET_TEMPERATURE").State(set_temp);
}
if (mode == 3) {
dom.GetObject("BidCos-RF.NEQ0876022:4.BOOST_MODE").State(true);
}
Auslesen und Heizung aus.
Code: Alles auswählen
!Fenster Pia offen;
var set_tempp = dom.GetObject("BidCos-RF.PEQ1629412:4.SET_TEMPERATURE").Value();
var modep = dom.GetObject("BidCos-RF.PEQ1629412:4.CONTROL_MODE").Value();
dom.GetObject("aktPiaT").State(set_tempp);
dom.GetObject("aktPiaS").State(modep);
dom.GetObject("BidCos-RF.PEQ1629412:4.MANU_MODE").State(4.5);
Code: Alles auswählen
!Fenster Pia geschlossen;
var set_tempp = dom.GetObject("aktPiaT");
var modep = dom.GetObject("aktPiaS");
if (modep == 0) {
dom.GetObject("BidCos-RF.PEQ1629412:4.AUTO_MODE").State(true);
dom.GetObject("BidCos-RF.PEQ1629412:4.SET_TEMPERATURE").State(set_tempp);
}
if (modep == 1) {
dom.GetObject("BidCos-RF.PEQ1629412:4.MANU_MODE").State(set_tempp);
}
if (modep == 2) {
dom.GetObject("BidCos-RF.PEQ1629412:4.AUTO_MODE").State(true);
dom.GetObject("BidCos-RF.PEQ1629412:4.SET_TEMPERATURE").State(set_tempp);
}
if (modep == 3) {
dom.GetObject("BidCos-RF.PEQ1629412:4.BOOST_MODE").State(true);
}