@paul53 sauber stimmt mal wieder.
Mal wieder vielen DANK und großes Lob an dich !!
... nix zu sehen - @paul53,s Feld
@Asgothian sagte in Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern:
@mguenther Dumme Frage: kannst du die Taster betätigen ohne den BM auszulösen ? Wenn nein, dann setzt der BM den timer wieder nachdem du den Taster gedrückt hast.
wenn das so ist, brauchst du:
Pro Taster eine Variable “licht_mit_diesem_taster_eingeschaltet”
Die setzt du auf wahr wenn man mit dem Schalter das Licht an macht, und auf false wenn das Licht aus geht (entweder per Event am Licht oder im Schalter-Event.
Und im timer, bevor du das Licht ausschaltest fragst du sie ab.. bei true - nix tun.A.
Ich bin gerade unterwegs und kann dir das nicht sauber in js en - ich hoffe der Hinweis reicht aber.
hab ich ja.
const idTasterWestSued = 'javascript.0.Bewegungsmelder.Bewegung_WestSued_Taster'/*Bewegung WestSued Taster*/;
const idTasterWestNord = 'javascript.0.Bewegungsmelder.Bewegung_WestNord_Taster'/*Bewegung WestNord Taster*/;
werden entsprechend auf true/false gesetzt. Ich habe aber irgendwo oben nen Denkfehler drin bei dem Vorschlag von Paul
... nix zu sehen - @paul53,s Feld
... nix zu sehen...
Bitte nicht wild rumprobieren !
habs - danke an Asgothian
//Licht durch Bewegungsmelder
on([idBewegung1, idBewegung2], function(dp) {
tasterWestNord=getState(idTasterWestNord).val;
tasterWestSued=getState(idTasterWestSued).val;
if (!taster_virtu && dp.state.val) {
if(!licht1) setState(idLicht1, true);
if(!licht2) setState(idLicht2, true);
if(timer1) clearTimeout(timer1);
timer1 = setTimeout(function() {
if (!tasterWestSued) setState(idLicht1, false); //Wandtaster
timer1 = null;
}, 1000 * dauer);
if(timer2) clearTimeout(timer2);
timer2 = setTimeout(function() {
if (!tasterWestNord) setState(idLicht2, false); //Wandtaster
timer2 = null;
}, 1000 * dauer);
}
});
@mguenther
Fein. Sorry für die gelöschten Posts, ich wollte Paul nicht auf ie Füße treten.
@paul53 sagte in Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern:
Bitte nicht wild rumprobieren !
Paul, ich habe mir 2 Variablen gesetzt, um die Betätigung des Wandtasters abzufangen.
Hatte die beiden nur falsch eingesetzt.
Danke euch beiden an der Stelle!
//Wandtaster WestNord
on({id: [idTaster2_1, idTaster2_2]}, function() {
if (licht2) tasterWestNord = false;
else tasterWestNord = true;
if(timer2) { // Timer läuft --> Licht bleibt an
tasterWestNord = true;
clearTimeout(timer2);
timer2 = null;
}
else setState(idLicht2, !licht2); // Toggle
});
@paul53, habe ich nochmal angepasst