NEWS
[Vorlage] Variable Zeitsteuerung mit VIS Editor
- 
					
					
					
					
 @Glasfaser 
 Ich kann die Variable einbauen. Würde sie "logPraefix" taufen und in die Log-Ausgabe einbinden.
 Da sich die Variable im Bereich der erweiterten Optionen befinden wird, sehe ich keine Probleme für Nutzer der Script-Kategorie "Anfänger".
 Werde ich nachher schnell einbinden...@Mic 
 Kann die netten Worte nur zurückgeben. Habe selbst des öfteren von deinem Script gehört und werde es auch demnächst einsetzen 
- 
					
					
					
					
 @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor: @Glasfaser 
 Ich kann die Variable einbauen. Würde sie "logPraefix" taufen und in die Log-Ausgabe einbinden.
 Da sich die Variable im Bereich der erweiterten Optionen befinden wird, sehe ich keine Probleme für Nutzer der Script-Kategorie "Anfänger".
 Werde ich nachher schnell einbinden...Ja danke … muß nicht sofort sein , kannst Du demnächst mal in einem Update mit einbinden ! @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor: @Mic 
 Kann die netten Worte nur zurückgeben. Habe selbst des öfteren von deinem Script gehört und werde es auch demnächst einsetzen Dito …..., deshalb mache ich hier Werbung  
- 
					
					
					
					
 @Glasfaser 
 Danke Ich will diesen Thread nicht übernehmen, falls mehr Austausch notwendig, dann besser im Log-Script-Thread. Ich will diesen Thread nicht übernehmen, falls mehr Austausch notwendig, dann besser im Log-Script-Thread.
 Aber wie sieht es aus, wenn du unter "filter_all" statt+++einfachscript.js.Timer.eingibst? Oder nimmst du das+++für alles, was du loggen willst? Dann macht es das natürlich einfacher...
 Alternativ könntest du alle Anfangs-Bestandteile der zu loggenden Scripte unter "filter_any" hinzufügen, alsoscript.js.Timer.,script.js.Synology.etc.
- 
					
					
					
					
 @Mic sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor: @Glasfaser 
 Aber wie sieht es aus, wenn du unter "filter_all" statt+++einfachscript.js.Timer.eingibst?Nee … lass mal …. Danke  , für mich ist es kein Problem es so zu lassen  , es sind nicht nur die Rollladen hinterlegt …. sonst funktionieren die anderen Meldungen nicht . , für mich ist es kein Problem es so zu lassen  , es sind nicht nur die Rollladen hinterlegt …. sonst funktionieren die anderen Meldungen nicht .PS: Lese auch deine Änderung …. Trotzdem Danke für die Tips 
- 
					
					
					
					
 Passt  Habe oben meine Nachricht noch korrigiert und ergänzt... Habe oben meine Nachricht noch korrigiert und ergänzt...
- 
					
					
					
					
 Danke für die Tipps , kann man immer gebrauchen  
- 
					
					
					
					
 Update ist raus: 15.09.2019 v2 - Log-Ausgabe wird über Variable "logPraefix" manipuliert. Default-Wert = "Timer: ", was somit der aktuellen Ausgabe entspricht.
 
- 
					
					
					
					
 Ich möchte nochmal zu dem Thema „Anwesenheitssimulation“ nachhaken. 
 Ich habe beispielsweise einen Timer, der an Wochentagen um 06:05 +- 3 Min (Zufall) das Licht im Bad einschaltet. Ein zweiter Timer schaltet es dann gegen 06:25 (wieder +- ein paar Minuten) aus.
 Das funktioniert soweit problemlos und passt auch für viele Monate im Jahr. Allerdings gibt es eine Zeit im Sommer, da ist der Sonnenaufgang so früh, da würde man gar kein Licht anschalten. Hat jemand einen Ansatz, wie man ggf. Bedingungen gestalten kann, die z.B. Die aktuelle Zeit und Astro-Zeiten berücksichtigen?
 Möglicherweise denke ich ja auch viel zu kompliziert.VG 
 ak1
- 
					
					
					
					
 @ak1 
 Ich würde ein Object namens Daylight erstellen, dass true bzw false in Abhängigkeit der Astro Zeit aufweist.
 Wenn Uhrzeit zwischen sunrise und sunset = true
 Ansonsten false.
 Dieses Object dann als weitere Bedingung in Timer einbinden.
- 
					
					
					
					
 @GiuseppeS 
 Das klingt gut und logisch. Ein Skript würde dann den Wert dieses Objektes setzen. Was wäre ein geeigneter Trigger, um so ein Skript auszulösen? Oder müsste das Skript einfach zyklisch alle paar Minuten laufen lassen?
- 
					
					
					
					
 @ak1 
 Würde selbst alle 5 Minuten triggern. Dadurch hat man zwar eine größere Abweichung zwischen Object und Realität aber mir würde es genügen.Edit: 
 Hatte hier alternativ eine weitere Lösung beschrieben. Aber war eher unnötig kompliziert. Falls schon gelesen, bitte ignorieren.
- 
					
					
					
					
 @ak1 sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor: ….Hat jemand einen Ansatz, wie man ggf. Bedingungen gestalten kann, die z.B. Die aktuelle Zeit und Astro-Zeiten berücksichtigen? 
 ….Ganz einfach …. nimm dieses Skript/Datenpunkte , als Bedingung : 
 .
  . 
 Skript:
 
- 
					
					
					
					
 
- 
					
					
					
					
 Hallo zusammen, wie bekomme ich das repariert? 2019-10-02 21:03:00.011 warn at Timer.processTimers (timers.js:223:10) javascript.1 2019-10-02 21:03:00.011 warn at listOnTimeout (timers.js:263:5) javascript.1 2019-10-02 21:03:00.011 warn at tryOnTimeout (timers.js:300:5) javascript.1 2019-10-02 21:03:00.011 warn at ontimeout (timers.js:438:13) javascript.1 2019-10-02 21:03:00.011 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1856:34) javascript.1 2019-10-02 21:03:00.011 warn at Object.<anonymous> (script.js.common.Anwesenheitssimulation.AS_Bad:54:11) javascript.1 2019-10-02 21:03:00.011 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.1 2019-10-02 21:03:00.009 warn State "control.0.presence_abscence.AS_Bad_2" not foundEs gibt den State/das Objekt "AS_Bad_2" nicht mehr. Es gibt auch keinen Timer mehr dazu und auch kein Überbleibsel in der Aufzählung "Timers". 
 Allerdings hatte ich den Fehler gemacht, entsprechende Timer zu löschen, dann das Objekt zu entfernen und anschließend das Zeitsteuerungsskript neu zu starten. Erst dann ist mir aufgefallen, dass ich noch eine "AS_Bad_2"-Leiche in der Aufzählung habe.Ich dachte ich hätte nun alles korrigiert, aber diese Warnung taucht immer wieder auf. Kann ich das irgendwo bereinigen? Danke und Gruß 
 ak1
- 
					
					
					
					
 
- 
					
					
					
					
 @sigi234 
 Ja, habe ich. Auf dem Adapter .0 läuft normalerweise alles, was schon "produktiv" ist. Auf .1 laufen die Skripte, an denen ich noch am Basteln bin.
- 
					
					
					
					
 @ak1 sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor: @sigi234 
 Ja, habe ich. Auf dem Adapter .0 läuft normalerweise alles, was schon "produktiv" ist. Auf .1 laufen die Skripte, an denen ich noch am Basteln bin.Leg den DP noch mal an. control.0.presence_abscence.AS_Bad_2 
- 
					
					
					
					
 @sigi234 
 Habe ich jetzt nochmal gemacht. Ich habe ihn auch in "Timers" Aufzählung aufgenommen.
 Mal sehen, ob sich die Warnung irgendwann wiederholt. Ich meine, sie kam bislang nur einmal täglich.Noch als Hintergrundinformation: Ich benutze die Zeitsteuerung ja für eine Anwesenheitssimulation. Und ich möchte da durch die Timer nicht unmittelbar Lampen schalten. Vielmehr schalte ich von mir angelegte Objekte/States, die dann wieder mein Skripte für Küche, Bad, ... triggern. Das gibt mir mehr Flexibilität und funktioniert eigentlich sehr gut. 
- 
					
					
					
					
 @ak1 
 Wenn Du ein Gerät über die Vis löschst (d.h. alle Timer löschen), dann wird das Gerät auch aus dem Haupt JSON gelöscht.
 Beim jedem Neustart des Scripts wird die hinterlegte Aufzählung durchlaufen, wenn vermeintlich neue Geräte in der Aufzählung vorhanden sind, werden diese Geräte mit den beiden Default Timer erstellt. War das bei dir auch der Fall oder wurde aufgrund der Leiche schon mit Fehlern abgebrochen? Hätte mMn noch stattfinden müssen.
 Ansonsten mal TimerJSON hier anfügen. Dann kann man da noch rein schauen.Nachdem du den Fehlerfall hattest, hast du mal den PC neu gestartet? Würde ich empfehlen, manchmal laufen irgendwelche alten fehlerhaften Codes im JS wenn nicht neu gestartet wird. Liegt vllt an der JS Sandbox Funktionalität. Der User Glasfaser hatte zumindest auch schonmal merkwürdiges Verhalten, was mit Neustart behoben wurde. 
- 
					
					
					
					
 @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor: Nachdem du den Fehlerfall hattest, hast du mal den PC neu gestartet? Würde ich empfehlen, manchmal laufen irgendwelche alten fehlerhaften Codes im JS wenn nicht neu gestartet wird. Liegt vllt an der JS Sandbox Funktionalität. Da kann ich ein Liedchen von singen …. Link Text Der User Glasfaser hatte zumindest auch schonmal merkwürdiges Verhalten, was mit Neustart behoben wurde. Jipp … der Tip war  
 
		
	 
		
	 
			
			 
			
		