NEWS
Bewegungsmelder script
- 
					
					
					
					
 @paul53 tadaaaaa es geht. Ich werde da mal so laufen lassen und schauen was passiert. 
- 
					
					
					
					
 Hallo, mußte noch das linke "stop timeout" versetzen, auch da ging das Licht nicht aus. 
  Vielen Dank an alle  
- 
					
					
					
					
 @michael-schmitt sagte: mußte noch das linke "stop timeout" versetzen Aber dort besser in den mache-Zweig, damit der Ausschalt-Timer bei erneuter Bewegung gestoppt wird. 
- 
					
					
					
					
 @paul53 gesagt getan 
  
- 
					
					
					
					
 Hallo Soweit funktioniert alles. Ich habe nur eine Frage: ist es normal das im Log das Licht immer wieder und wieder ausgeschalten wird, auch wenn niemand da ist ? 
  
- 
					
					
					
					
 @michael-schmitt sagte: ist es normal das im Log das Licht immer wieder und wieder ausgeschalten wird Nein. Anscheinend laufen noch gepufferte Timer. Starte mal die Javascript-Instanz neu und/oder poste den erzeugten Javascript-Code ohne die letzte Zeile in Code tags. 
- 
					
					
					
					
 @paul53 hab mal javascript neu gestartet. Ich hoffe das ist es was du meinst (bin newbie) 
  
- 
					
					
					
					
 @michael-schmitt sagte: Ich hoffe das ist es was du meinst Nein, Code der Javascript-Ansicht (oben rechts) mit Copy & Paste in das Forum kopieren (Code tags: </>). Vielleicht ist noch ein Fehler enthalten, den man in Blockly nicht sieht? 
- 
					
					
					
					
 var timeout; on({id: new RegExp('deconz\\.0\\.Sensors\\.10\\.presence' + "$|" + 'deconz\\.0\\.Sensors\\.12\\.presence' + "$"), change: "ne"}, async function (obj) { if ((getState("deconz.0.Sensors.10.presence").val == true || getState("deconz.0.Sensors.12.presence").val == true) && compareTime('16:00', '09:00', "between", null)) { setState("deconz.0.Lights.17.on"/*Flurlicht Telefon on*/, true); setState("deconz.0.Lights.17.level"/*Flurlicht Telefon level*/, 85); console.log('Bewegung im Flur erkannt und Licht ein'); (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } else { timeout = setTimeout(async function () { setState("deconz.0.Lights.17.on"/*Flurlicht Telefon on*/, false); console.log('Keine Bewegung im Flur erkannt und Licht aus'); }, 180000); } });
- 
					
					
					
					
 @michael-schmitt 
 Das sollte so funktionieren.
- 
					
					
					
					
 @paul53 seit dem Neustart kommen auch nur noch "normale" Meldungen. Kann/soll man einen einen Neustart des Javascriptadapters per Cronjob machen (täglich einmal) ? 
- 
					
					
					
					
 @michael-schmitt sagte: Kann/soll man einen einen Neustart des Javascriptadapters per Cronjob machen (täglich einmal) ? Nein! 
 Einen Instanz-Start sollte man machen, nachdem man ein fehlerhaftes Skript korrigiert hat, um evtl. vorhandene Timer-Puffer zu löschen.
- 
					
					
					
					
 @paul53 dann wird das der Fehler gewesen sein, hoffe ich. Glaube nicht das ich das gemacht habe. 
- 
					
					
					
					
 Hallo, 
 das Script läuft nun gut. Jetzt wollte ich noch daß die Lichter nicht an geschalten werden (zweite Lampe & Lüftung ist nicht Smart) wenn der Lux Wert über einen bestimmten Bereich ist, also wenn die Lampe&Lüftung schon an ist. Dann braucht man ja die anderen Lichter nicht.so läuft es jetzt 
  und ich dachte mit Lux so (funktioniert aber nicht) 
  Wo ist der Fehler ? 
- 
					
					
					
					
 @michael-schmitt sagte: wenn der Lux Wert über einen bestimmten Bereich ist, also wenn die Lampe&Lüftung schon an ist. Ist der Lux-Wert über 30, wenn die nicht smarte Lampe leuchtet? 
- 
					
					
					
					
 @paul53 Ja der Wert ist auf über 80 
- 
					
					
					
					
 @michael-schmitt sagte: der Wert ist auf über 80 Trotzdem schaltet die smarte Lampe bei Bewegung mit 60 % ein? 
- 
					
					
					
					
 @paul53 ja 
- 
					
					
					
					
 @michael-schmitt 
 Das kann laut Skript nicht sein, wenn der richtige Datenpunkt verglichen wird. Bau mal eine Debug-Ausgabe des Lux-Wertes ein.Damit das Licht nicht bei Bewegung ausgeschaltet wird, wenn die smarte Lampe > 30 Lux erzeugt, mache es besser so:  
- 
					
					
					
					
 @paul53 So hab das mal umgebaut und anstatt der Luxwerte den Wert "daylight" genommen, der ändert sich bei Licht von false auf true. Scheint zu funktionieren 
  
 
		
	 
		
	 
			
		