NEWS
Adapterzustand, welcher Datenpunkt?
-
Verstehe ich das richtig, dein System fährt hoch, dann bricht es zusammen und fährt wieder hoch, bricht wieder zusammen und so weiter und so fort?
Was passiert wenn du den Javascript-Adapter ausschaltest?
-
iob selbst läuft
nur der js adapter startet jede minute neuinstalliere ich einen zweiten adapter, dann startet auch der jede minute neu
Somit gehe ich davon aus, dass es nicht an irgendwelchen (meinen) schlechten, selbstgebastelten skripten liegt
-
Und was passiert wenn du den Javascript adapter deaktivierst?
-
@ticaki sagte in Adapterzustand, welcher Datenpunkt?:
Und was passiert wenn du den Javascript adapter deaktivierst?
Wenn ich den js Adapter deaktiviere, dann startet der natürlich nicht neu.
Problem ist ja, das der js-adapter jeden Minute neu startet ohne das ein crownjob aktiv ist im adapter. -
Wenn ein Adapter laufend neu startet gehe ich nicht mehr davon aus, das was natürlich ist Ich hab echt keine Idee - Ich hab meinen Adapter auch mal durch ein Script abgeschossen so das er keine Fehlermeldungen von sich gegeben hat, aber ich weiß nciht mehr wie. Hast du mal alle Skript auf pause gestellt? So hab ichs damals gemacht.
-
@ticaki sagte in Adapterzustand, welcher Datenpunkt?:
Wenn ein Adapter laufend neu startet gehe ich nicht mehr davon aus, das was natürlich ist Ich hab echt keine Idee - Ich hab meinen Adapter auch mal durch ein Script abgeschossen so das er keine Fehlermeldungen von sich gegeben hat, aber ich weiß nciht mehr wie. Hast du mal alle Skript auf pause gestellt? So hab ichs damals gemacht.
Alle Skripte auf Pause hab ich auch probiert. Hat nicht geholfen.
Hat gefühlt ne Stunde gedauert und ich hab erstmal überall ne „1“ hingeschrieben bei den Skriptnamen die normalerweise immer aktiv sein sollen.
Dann hat mich mein Linux-Kumpel belehrt und gesagt ich soll mal in die Bibliothek gehen und ein Buch über programmieren nehmen und Seite 1 aufschlagen, da steht das debugmeldungen gut sind.Jetzt hab ich gegrübelt wie man‘s denn richtig macht.
Meine Idee:
Debug-Blockly am Anfang vom Script. Damit nich ins log geschrieben wird das es gestartet wurde.
Debugmodus aus „debug“ und nicht auf „info“ damit das log nicht zugemüllt wird.
Dann hoffe ich im Problemfall den js adapter auf debug stellen zu können um dann ablesen zu können welches script gestartet und das Problem ausgelöst hat.Hab herausgefunden das man auch die anzahl der Skripte beschränken kann. Wenn also ein Script 3000x ausgeführt wird, dann stoppt der adapter und sagt welches script das Problem ist. (wenn man glück hat)
Einmal hatte ich aber ein Problem mit dem js adapter. Und das Problem war dee Device-watcher adapter der einen bug hatte. Bin ich nicht drauf gekommen. Moritz hat mir helfen müssen.
Ich gehe im moment davon aus, das es immernoch ein bug im iobroker selbst ist. Denn das der js adapter jede minute neustartet, das ist ja bewiesenermaßen ein bug im admin adapter. Dachte das wäre weg, nachdem ich den adminadapter geupdatet habe.
Lustig: Im Moment startet der js adapter nicht mehr jede Minute! Ich hab NIX verändert.
-
@roelli
Dann hoffe ich mal das es so bleibt. -
@ticaki sagte in Adapterzustand, welcher Datenpunkt?:
@roelli
Dann hoffe ich mal das es so bleibt.Ist garnicht jede Minute. Mal funktioniert der js adapter fast eine Stunde ohne neustart.
0:29 down 0:30 up 0:45 down 0:47 up 1:01 down 01:08 up 1:43 down 1:48 up 1:53 down 1:55 up 2:00 down 2:01 up 2:26 down 2:29 up 3:49 down 3:55 up 4:00 down 4:06 up 4:11 down 4:12 up 4:17 down 4:17 up 4:22 down 4:28 up 4:33 down 4:39 up 5:34 down 5:36 up 6:06 down 06:15 up 06:20 down 06:21 up 06:51 down 06:53 up 07:03 down 07:06 up 07:46 downm 07:47 up 08:22 down 08:23 up 08:28 down 08:31 up 08:56 down 08:57 up 09:52 down 09:56 up 10:01 down 01:02 up 10:12 down 10:12 up
-
@roelli startet da jedesmal ein Skript und läuft dann amok?
-
@homoran sagte in Adapterzustand, welcher Datenpunkt?:
@roelli startet da jedesmal ein Skript und läuft dann amok?
Fühlt sich so an.
Kann aber theoretisch nicht sein, denn:
Ich habe alle Skripte schon pausiert. Problem besteht weiterhin.
Ich habe einen zweiten JS Adapter installiert und den ersten deaktiviert, zweiter JS Adapter schmiert auch ab.
Liegt also gefühlt nicht an den Skripten und nicht am JS Adapter.Ich kann mir mal die mühe machen und per debug-Blockly den Skriptnamen in jedes der 200 Skripte einfügen in der Hoffnung das dann zuerst geloggt wird und DANN das Skript ausgeführt wird. Aber wenn alle Skripte ja ausgeschaltet sind und das Problem weiterhin auftritt, dann kann es ja nicht daran liegen?
Ich probiere mal alle anderen Adapter abzuschalten.
Da hatte ich auch schonmal schlechte Erfahrungen. (der device manager Adapter hat den JS Adapter lahm gelegt damals) -
@roelli sagte in Adapterzustand, welcher Datenpunkt?:
Kann aber theoretisch nicht sein,
dann versuche herauszufinden was zu diesen Zeiten startet.
-
@homoran sagte in Adapterzustand, welcher Datenpunkt?:
dann versuche herauszufinden was zu diesen Zeiten startet.
Alle Adapter ausschalten außer admin und javascript hilft nicht.
Aber so wie es aussieht ist das Problem weg wenn man den admin-Adapter stoppt. -
mal mit htop oder so geguckt was der javascript adapter so verbraucht?
-
@ticaki sagte in Adapterzustand, welcher Datenpunkt?:
mal mit htop oder so geguckt was der javascript adapter so verbraucht?
Oh...
javascript.0 100%
javascript.1 100%
redis ab und zu 100%
-
@roelli
vermutung ist das du eine zirkulär Referenze drin hast. Also etwas das sich selbst wieder aufruft und vom skript abgekoppelt ist.Lösungsmöglichkeit:
- alle Skript beenden
- Javascript adapter besser iobroker neustarten
- Skripte aktivieren und htop im Blick behalten.
- Wenns spinnt wieder 1. und 2 dann
- Von dem Skript bei dem du warst rückwärts die Skripte aktivieren.
- Wenns wieder spinnt 4. nochmal
- sehr sehr sehr sehr langsam die Skripte die in frage kommen aktivieren.
Hab das erst letztens wieder hinbekommen - websocket erzeugt und mich nach ein paar starts gewundert wo den all die Loginfos herkommen :D.
-
Das ist aber gefühlt trotzdem schwierig das schlechte Skript zu finden, weil es zwar gestartet wird, aber erst ausfgeführt wird - wenn es getriggert wird? (glaube ich)
Mir ist vermutlich noch ein iobroker system bug aufgefallen:
Wenn ich einen Cronjob im Blockly anlege und dann das Skript stoppe, dann wird der Cronjob TROTZDEM weiterhin ausgeführt.
Ich vermute das liegt an dem "anerkannten" iobroker bug vom admin-adapter wo man auch den cronjob jeder Instanz nicht mehr ändern kann und immer auf 1 Minute gestellt wird. -
@roelli said in Adapterzustand, welcher Datenpunkt?:
Ich vermute das liegt an dem "anerkannten" iobroker bug vom admin-adapter wo man auch den cronjob jeder Instanz nicht mehr ändern kann und immer auf 1 Minute gestellt wird.
Sicher nicht. Bei dem Bug geht es nur darum, dass der Cron String fälschlicherweise mit '* n ...' statt mit '0 n ...'befüllt wird. Das betrifft nur das Restarten eines Adapters.
Admin hat mit dem eigentlichen Starten irgendeines Scripts nichts zu tun und noch weniger mit dem Beenden desselben.
Wenn ich einen Cronjob im Blockly anlege und dann das Skript stoppe, dann wird der Cronjob TROTZDEM weiterhin ausgeführt.
So ganz verstehe ich diese Aussage nicht.
Due hast ein Blockly xxx das einen Cronjob um z.B. 7:0:0 anlegt der um diese Zeit ein Script yyy startet. Oder? Wenn du nun das Blockly disableds warum sollte sich das Script dann beenden? Das Script muss je eh nach getaner Arbeit sich selbst beenden.Oder meinst du dass der Cronjob (z.B. alle 5 Minuten das Script x starten) weiterhin alle 5 MInuten das Script startet?
Aber so ganz ist mir nicht klar was du nun hast - ein Blockly? Ein Script? Wo ist da ein Cronjob?
Ev erklär das mal genauer. -
@mcm1957 sagte in Adapterzustand, welcher Datenpunkt?:
Ev erklär das mal genauer.
Wenn ich ein Blockly mache mit einem 1-Minuten-cronjob als Trigger und damit dann z.B. per Alexa Sprachausgabe etwas sagen lasse und dann das Skript stoppe, dann stoppt es nicht. Es läuft unendlich weiter.
Und scheinbar läuft es teilweise auch mehrmals parallel. Habe gerade das hier gefunden wo jemand das gleiche Problem beschreibt:
https://github.com/ioBroker/ioBroker.javascript/issues/1756Ich habe nun ein altes VM Backup mit 10GB wieder aktiviert. Da geht noch alles. Ich weis allerdings nicht genau was das Problem ausgelöst hatte. Ich glaube es hat mit dem update des JS-Controllers angefangen. Ich hatte 7.0.3 und hab dann auf 7.0.6 ge-updated und dann auch den admin adapter geupdated. Danach... Probleme.
-
Und... seit ein paar Monaten ist es bei mir so, dass bei einem iobroker neustart der javascript-adapter niemals automatisch auf grün geht.
Man muss ihn immer zuerst neustartet oder stoppt und starten. -
@roelli said in Adapterzustand, welcher Datenpunkt?:
Wenn ich ein Blockly mache mit einem 1-Minuten-cronjob als Trigger und damit dann z.B. per Alexa Sprachausgabe etwas sagen lasse und dann das Skript stoppe, dann stoppt es nicht. Es läuft unendlich weiter.
Nun wenn du ein Blockly alle Minnuten starten lässt dann musst du natürlich sicherstellen, dass das Blockly nie länger als eine Minute laufen kann.
Wie stoppst du das Blockly?