suche gerade einen Fehler in einem Script, aber finde ihn einfach nicht. Vielleicht habt ihr Ideen?
Es geht um das Schalten von Beleuchtung abhängig von der Außenhelligkeit und abhängig von einem Taster. Der Taster wird entweder kurz gedrückt, dann wird die Szene hell oder dunkel eingestellt je nach Außenhelligkeit, oder der Taster wird langgedrückt, dann wird die entsprechend andere Szene eingestellt.
Also: Kurzer Tastdruck: Draußen hell, Beleuchtung wenig, aber hell. Draußen dunkel, viel Ambientelicht und Hauptbeleuchtung dunkler.
Langer Tastendruck: Draußen hell, viel Ambienetelicht und Hauptbeleuchtung dunkler. Draußen dunkel, Beleuchtung wenig, aber hell.
Irgendwo in den Bedingungen mache ich anscheinend einen Fehler, finde ihn aber einfach nicht:
Code: Alles auswählen
if ((helligkeit > 180 && (source == null || source == "BidCos-RF.OEQ0163326:3.PRESS_SHORT")) || (helligkeit <=180 && source == "BidCos-RF.OEQ0163326:3.PRESS_LONG") ) {
!Draußen hell
}
if ((helligkeit <= 180 && (source == null || source == "BidCos-RF.OEQ0163326:3.PRESS_SHORT")) || (helligkeit > 180 && source == "BidCos-RF.OEQ0163326:3.PRESS_LONG") ) {
!draußen dunkel
}
Das ist bisher mein gesamtes Script zur Info:
Code: Alles auswählen
!Entscheidungsparameter
integer helligkeit = dom.GetObject("BidCos-RF.LEQ1245224:1.BRIGHTNESS").Value();
!Programmauslöser
string source = dom.GetObject("$src$").Name();
!Variablen für Aktoren
var esszimmerDeckenleuchte = dom.GetObject("BidCos-RF.MEQ0402311:1.LEVEL");
var indirektEsszimmer = dom.GetObject("BidCos-RF.JEQ0734218:1.LEVEL");
var indirektKueche = dom.GetObject("BidCos-RF.JEQ0733842:1.LEVEL");
var indirektWohnzimmer = dom.GetObject("BidCos-RF.OEQ0196131:1.LEVEL");
var ecksteckdoseWohnzimmer = dom.GetObject("BidCos-RF.OEQ0379629:1.STATE");
var downlightsKueche = dom.GetObject("BidCos-RF.OEQ0104875:1.LEVEL");
var deckenleuchteErker = dom.GetObject("BidCos-RF.MEQ0402390:1.LEVEL");
var wohnzimmerDecke = dom.GetObject("BidCos-RF.MEQ0401335:1.LEVEL");
if ((helligkeit > 180 && (source == null || source == "BidCos-RF.OEQ0163326:3.PRESS_SHORT")) || (helligkeit <=180 && source == "BidCos-RF.OEQ0163326:3.PRESS_LONG") ) {
!Draußen hell
if (esszimmerDeckenleuchte.Value() != 80) { esszimmerDeckenleuchte.State(80); }
if (indirektEsszimmer.Value() != 0) { indirektEsszimmer.State(0); }
if (indirektKueche.Value() != 0){ indirektKueche.State(0); }
if (indirektWohnzimmer.Value() != 0) { indirektWohnzimmer.State(0); }
if (ecksteckdoseWohnzimmer.Value() != false) { ecksteckdoseWohnzimmer.State(false); }
if (downlightsKueche.Value() != 0) { downlightsKueche.State(0); }
if (deckenleuchteErker.Value() != 0) { deckenleuchteErker.State(0); }
if (wohnzimmerDecke.Value() != 0) { wohnzimmerDecke.State(0); }
}
if ((helligkeit <= 180 && (source == null || source == "BidCos-RF.OEQ0163326:3.PRESS_SHORT")) || (helligkeit > 180 && source == "BidCos-RF.OEQ0163326:3.PRESS_LONG") ) {
!draußen dunkel
if (esszimmerDeckenleuchte.Value() != 65) { esszimmerDeckenleuchte.State(65); }
if (indirektEsszimmer.Value() != 22) { indirektEsszimmer.State(22); }
if (indirektKueche.Value() != 15){ indirektKueche.State(15); }
if (indirektWohnzimmer.Value() != 10) { indirektWohnzimmer.State(10); }
if (ecksteckdoseWohnzimmer.Value() != true) { ecksteckdoseWohnzimmer.State(true); }
if (downlightsKueche.Value() != 12) { downlightsKueche.State(12); }
if (deckenleuchteErker.Value() != 0) { deckenleuchteErker.State(0); }
if (wohnzimmerDecke.Value() != 0) { wohnzimmerDecke.State(0); }
}