NEWS
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. -
@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 } } }
-
@bahnuhr Danke!
Der Unterschied zu meinem Script ist, dass ihr prüft ob das Licht bereits brennt, während ich bei jeder erkannten Bewegung einen Einschalt-Befehl schicke.
macht das so einen Unterschied? -
@orpheus1977
Na ja, man sollte halt Befehle nur senden, wenn sie notwendig sind.
Bei HM geht dann auch der DC nach oben. -
@bahnuhr OK, ich werde es mal so umbauen und testen. Was ist HM und DC?
-
@orpheus1977 sagte in Bewegungsmelder mit Timer:
@bahnuhr OK, ich werde es mal so umbauen und testen. Was ist HM und DC?
Homematic
Duty Cycle -
@orpheus1977 sagte: Was macht das "falls Wert" im Gegensatz zu dem was ich gemacht habe?
Es wird der Ausschalt-Timer nur gestartet, wenn keine Bewegung erkannt wird.
Wenn der BWM eine interne Ausschaltverzögerung hat, bleibt er true solange Bewegungen erkannt werden. -
@orpheus1977 sagte in Bewegungsmelder mit Timer:
@d4ve Ja genau das will ich. Ich will aber auch verstehen was an meinem Script falsch ist und daraus lernen.
ah verstehe, ja ich kenn mich selber nicht so gut damit aus, aber @paul53 hat es ja gut erklärt
hoffe du hast alles hin bekommen blockly etc ist schon seine eigene Welt es führen viele Wege nach Rom
aber ob der weg der richtige ist oder ob es ein weg gibt der schneller ist ist immer so eine Sache
-
Erstmal Danke für die Lösungsansätze.
Noch eine Frage: Bei mir werden ja nicht eine sondern bis zu 20 Lampen gleichzeitig ein- und ausgeschaltet. Für die Prüfung nehme ich aber dann eine als Referenz, oder? Und nicht alle 20. -
@orpheus1977 sagte: Für die Prüfung nehme ich aber dann eine als Referenz, oder?
Ja.