NEWS
Skipte werden mehrfach ausgeführt?
-
Bei mir laufen die Scripte auch mehrfach, allerdings in einem zeitlichen Abstand von 2 Sekunden. Das führt bei mir z.B. dazu das meine Jalousien beim Ansteuern durch ein Skript verrückt spielen und die Lamellen mehrfach auf und zu gehen.
Weiterer negativer Nebeneffekt ist, dass der Dutycycle der CCU unnötig in die Höhe getrieben wird wenn Rolläden und Jalousien Abends schließen bzw. Morgens öffnen, da die Steuerbefehle tatsächlich mehrfach gesendet werden.
Wundere mich ein wenig, dass das Problem schon so lange besteht und es noch immer keine Lösung zu geben scheint. Das macht für mich die Script-Engine geradezu unbrauchbar.
-
@MarkusP sagte in Skipte werden mehrfach ausgeführt?:
Wundere mich ein wenig, dass das Problem schon so lange besteht
"Das Problem" existiert aber nicht generell.
Wie soll irgendjemand das fixen, der dieses "Problem" nicht reproduzieren kann?Dann nutzt es auch nicht in mehreren Threads zu posten
-
Das Mehrfach-Loggen sieht man häufiger bei Leuten, die ihre Skripte über den
scriptEnabled
-Datenpunkt starten. Macht ihr das möglicherweise auch? -
Bei mir werden keine Skripte über "scriptEnabled" gestartet.
Ich habe z.B. ein einfaches Skript, welches bei Golden-Hour die Lamellen meiner Jalousie ein Stück schließt.
Dieses Skript starte ich nach dem Editieren einmal. Am ersten Abend läuft es normal, am nächsten Tag doppelt, am übernächsten dreimal. Das merke ich dann daran, dass meine Jalousie anfängt zu spinnen (ständig auf-zu-auf-zu-auf-zu, abhängig davon wie oft das Skript läuft).Hier noch der zugehörige Logauszug von gerade eben:
-
@MarkusP sagte in Skipte werden mehrfach ausgeführt?:
Am ersten Abend läuft es normal, am nächsten Tag doppelt, am übernächsten dreimal.
Startest du täglich (automatisiert) den Adapter neu? Eventuell werden da die Schedules nicht sauber aufgeräumt.
-
@AlCalzone
Ja, ich starte täglich manuell neu, da mir sonst zu viel durcheinander gerät. Habe auch schon den kompletten ioBroker-Host neu gestartet, was aber am Verhalten nichts ändert.Starte ich kurze Zeit vor Ausführung des obigen Skrips neu, läuft es richtig. Starte ich mehrere Stunden vorher neu, läuft es gleich beim ersten mal doppelt.
Es sieht so aus als würden die Skripte 1x gestartet und nach rund 15 Stunden dann ein zweites Mal.
-
@MarkusP sagte in Skipte werden mehrfach ausgeführt?:
@AlCalzone
Ja, ich starte täglich manuell neu, da mir sonst zu viel durcheinander gerät.Ich denke, da solltest Du ansetzen um ohne automatisierte Neustarts auszukommen. Wenn alles sauber konfiguriert ist, läuft ioBroker (bei mir und anderen) über Monate ohne das kleinste Zucken.
Was genau gerät alles durcheinander?
Gruss, Jürgen
-
@Wildbill
Das "zuviel durcheinander" habe ich auf die Skripte bezogen. Ich meine damit, dass mir vor allem die Jalousien zu sehr spinnen und der DutyCycle der CCU in die Höhe schnellt wenn die Skripte die Jalousien/Rolläden zigmal ansteuern.Ansonsten läuft ioBroker bei mir auch relativ problemlos und stabil. Die Skripte sind eben bei mir das große Problem.
-
Da sehe ich es aber wie @Homoran :
"Das Problem" existiert aber nicht generell.
Ein Problem, dass nur bei einigen wenigen auftritt nachzuverfolgen oder gar zu lösen ist schon schwer bis nahezu unmöglich. Vielleicht sollten, die, die das Problem haben, hier einfach mal zusätzliche Daten liefern, vielleicht findet man ja eine gemeinsame Auffälligkeit:
- Verwendete Hardware
- Verwendetes Betriebssystem
- Eingestelltes Repo im iobroker
- Verwendete Versionen (Admin, Javascript, ...)
- Multihost ja/nein
- iobroker-Host mit LAN oder WLAN im Netz
- Laufen alle Skripte mehrfach oder nur bestimmte (zum Beispiel nur die, die per Cron gestartet werden oder nur mit bestimmten Triggern)
- und und und
Gruss, Jürgen
-
@MarkusP sagte in Skipte werden mehrfach ausgeführt?:
Das "zuviel durcheinander" habe ich auf die Skripte bezogen. Ich meine damit, dass mir vor allem die Jalousien zu sehr spinnen und der DutyCycle der CCU in die Höhe schnellt wenn die Skripte die Jalousien/Rolläden zigmal ansteuern.
Für mich scheint es aktuell aber eher so (auch wenn es nicht sein sollte), dass die Neustarts dein Problem erst hervorrufen.
-
Hier mal die Daten zu meinem System:
Host ist ein MacMini Late 2013 mit osX High Sierra
RAM: 16 GB
Node.js: v8.11.3
NPM: 4.6.1
Admin: 3.6.0
JS-Engine: 4.1.12 (Problem bestand aber schon mit älteren Versionen)
Multihost nein
Host ist mit LAN verbunden
Repo: 1 default, 2 latestEs laufen alle Skripte mit Triggern mehfach (auch Skripte, welche auf Werteänderungen triggern z.B. true nach false und umgekehrt).
-
@AlCalzone sagte in Skipte werden mehrfach ausgeführt?:
Für mich scheint es aktuell aber eher so (auch wenn es nicht sein sollte), dass die Neustarts dein Problem erst hervorrufen.
Weshalb scheint es für dich so, dass die Neustarts das Problem hervorrufen?
Nach einem Neustart läuft ja alles erstmal normal wie es soll, es sei denn der Neustart liegt zu lange zurück.Beispiel: Golden Hour beginnt heute um 18:05 Uhr. Neustart habe ich gestern Abend gemacht. Das Skript wird also gleich doppelt laufen.
Hätte ich den Neustart sagen wir mal heute gegen 14 Uhr gemacht, dann würde es nur einmal laufen. Bin, wie schon erwähnt, auf rund 15 Stunden gekommen, ab dem ein Skipt beginnt sich zu verdoppeln. -
Jetzt ist mir was merkwürdiges im Log aufgefallen:
undefined2019-03-26 18:05:02.815 - info: javascript.0 script.js.Jalousiesteuerung_Abend.JalousiesteuerungGoldenHour: Jalousie bei Golden Hour 2019-03-26 18:05:04.924 - info: javascript.0 script.js.Jalousiesteuerung_Abend.JalousiesteuerungGoldenHour: Jalousie bei Golden Hour
Was hat "undefined" zu bedeuten?
-
Das könnte genau das sein, was wir meinen, wenn wir schreiben, daß die Neustarts evtl. das Problem mit verursachen. Ich hatte solche Meldungen nach dem Update des Javascript Adapter weil alle Cron-Jobs, so wie Astro auch, nicht gelöscht wurden. Da half mir ein kompletter Reboot.
Und genau das könnte bei Dir passieren. Das durch iobroker Neustart eben was im System bleibt.
Wenn Du in die komplett einen Reboot machst und die iobroker Neustart stoppst, wie sieht es dann aus?Gruß, Jürgen
-
@Wildbill
Wenn ich einen kompletten Reboot mache verhalten sich die Skripte leider genauso. Beginnen auch wieder nach ca 15 Stunden zu doppeln. -
Hallo zusammen,
bei mir ist es der RFLink Adapter der die Probleme verursacht. Steht dieser auf Start und ich reboote den Rechner, dann laufen alle Scripte 3 mal.
Pausiere ich den RFLink Adapter, dann laufen alle Scripte nur ein mal nach einem Reboot.
Wegendiesem Häckmäch hab ich sogar meinen ganzen IOBroker neu aufgesetzt. Und beim neu aufgesetzten IOBroker (neuer Rechner, neue Installation) konnte ich dass dann feststellen. RFLink Adaper an: Dreifach Scripte. RFLink Adapter aus: alles normal.
Über einen Hinweis wie man das beenden könnte wär ich echt dankbar, weil das schon mächtig nervt mit den 3fach Scripten.
Danke und Grüße, Bernd
-
@bernd33-1 sagte in Skipte werden mehrfach ausgeführt?:
Steht dieser auf Start und ich reboote den Rechner, dann laufen alle Scripte 3 mal.
Poste am besten mal einen Log, der den ioBroker-Start zeigt. Vielleicht erkennt man daran etwas.