NEWS
Bewegungsmelder mit Timer
-
@homoran Passt - habs schon rausgefunden! Vielen Dank für die prompte und tolle Hilfe!
-
-
@orpheus1977 sagte in Bewegungsmelder mit Timer:
Erkennt der Bewegungsmelder eine Bewegung so solle er die Lampen einschalten und nach 15 Minuten wieder ausschalten. Wird innerhalb der 15 Minuten eine neue Bewegung erkannt, so soll der der Timer neu starten.
https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/9
-
Hallo zusammen,
prinzipiell funktioniert das Script
Nur manchmal geht das Licht nach ein paar Minuten wieder aus. Das passiert oft mehrmals hintereinander und dann läuft es wieder wie es soll.
Wie kann ich das am besten debuggen?
-
Kann mir bitte nochmal wer helfen - das System zeigt ein Verhalten, das ich mir nicht erklären kann.
Wenn einzelne Personen durch den Raum gehen funktioniert alles wunderbar. Befinden sich mehrere Personen im Raum geht das Licht plötzlich nach ein paar Sekunden aus und reagiert auch nicht mehr.
Im Log finde ich keinen Fehler. -
@orpheus1977 sagte in Bewegungsmelder mit Timer:
Kann mir bitte nochmal wer helfen - das System zeigt ein Verhalten, das ich mir nicht erklären kann.
Wenn einzelne Personen durch den Raum gehen funktioniert alles wunderbar. Befinden sich mehrere Personen im Raum geht das Licht plötzlich nach ein paar Sekunden aus und reagiert auch nicht mehr.
Im Log finde ich keinen Fehler. -
@d4ve Das Beispiel kenne ich - ich sehe aber den Fehler nicht. Was macht das "falls Wert" im Gegensatz zu dem was ich gemacht habe?
-
-
@orpheus1977 sagte in Bewegungsmelder mit Timer:
@d4ve Das Beispiel kenne ich - ich sehe aber den Fehler nicht. Was macht das "falls Wert" im Gegensatz zu dem was ich gemacht habe?
versteh nicht genau was du meinst? du wolltest doch ein Blockly das wenn beweg. ist licht an geht. und nach x zeit wieder aus?!
und wenn einer nochmal lang läuft und die zeit noch nicht abgelaufen ist bleibt das licht an etc -
@d4ve Ja genau das will ich. Ich will aber auch verstehen was an meinem Script falsch ist und daraus lernen.
-
@reese1 Naja, es laufen ja auch selten 11 Leute durch deine Küche nehme ich an
Mit Einzelpersonen läuft mein Script auch problemlos.
-
Anbei ein Script per JS, Blockly nehm ich nicht.
Du willst ja lernen!
// Bewegung: Vorratsraum -> Licht einschalten on('alias.0.HM.Bewegung.Vorratsraum.MOTION', function (obj) { // Bewegung erkannt var Status_auto = getState('javascript.0.System.Automatik.Licht.Vorratsraum').val; // Automatik Licht true? var Licht_level = getState('alias.0.HM.Licht.Vorratsraum.STATE').val; // Licht level aktuell var Hell = getState('alias.0.HM.Bewegung.Vorratsraum.BRIGHTNESS').val; // Helligkeit if(Status_auto == true && Licht_level == false) { // Automatik Licht auf true und Licht ist aus if (Hell < 100) { setState('alias.0.HM.Licht.Vorratsraum.STATE',true); log("Helligkeit = " + Hell + "; Licht Vorratsraum eingeschaltet."); setTimeout(function() { pruef_aus(); }, 120000); // nach 2 min. Prüfung } } }); function pruef_aus() { var level = getState('alias.0.HM.Licht.Vorratsraum.STATE').val; // Licht level aktuell if (level == true) { if (getState('alias.0.HM.Bewegung.Vorratsraum.MOTION').val == false){ setState('alias.0.HM.Licht.Vorratsraum.STATE', false); log("Licht Vorratsraum ausgeschaltet."); } else { log("Licht Vorratsraum nicht ausgeschaltet. Erneute Prüfung nach 2 min."); setTimeout(function() { pruef_aus (); }, 120000); // nach 2 min. erneute Prüfung } } }