NEWS
[Experimentell] JS-Controller compact mode
-
Super, vielen Dank für diese Erweiterung!
In diesem Modus startet js-controller alle Adapter (die diesen Modus unterstützen) in dem selben Prozess wie js-controller. `
Aus "Systemoptimierungs-Sicht" stellt sich mir hier noch die Frage, ob es zukünftig auch angedacht ist, einzelne Adapter auszuschließen zu können, also in separaten Prozessen zu betreiben, während man die "stabilen" Adapter im selben Prozess wie der JS-Controller laufen lässt…Dann wäre das nämlich auch eine tolle Option für User, deren Raspi an der Speicherobergrenze von 1 GB ist. Sie könnten dann die stabilen Adapter alle im selben Prozess halten, und die paar problematischen (falls es die gibt), die mal abschmieren, ausschließen...
Nur so eine Idee...
-
-
Erst einmal muss man den compact Mode für den JS:Controller einschalten. Wenn er aus ist werden alle Adapter gestartet wie bisher auch. Also alle die VMs und genug RAM haben werden wohl das weiter so nutzen wie jetzt.
Mit dem oben verlinkten Admin-Issue und der Erweiterung darin könnte man dann pro Instanz auch bei aktiviertem compact-Mode entscheiden welche Instanz wie läuft. Und wenn man https://github.com/ioBroker/ioBroker.js … issues/303 noch macht wirds noch flexibler :-)
Auf Low-Memory Systemen kann der compact Mode genutzt werden
-
Koordiniering der Implementierung in alle Adapter: https://docs.google.com/spreadsheets/d/ … sp=sharing
-
Hallo zusammen,
ich würde auch gern meine Adapter (lgtv, lgtv11, hp-ilo, enet) ändern.
Allerdings habe ich den zu ändern Code
const adapter = new utils.Adapter({ name: ..., stateChange: function () {...}, ... });So in keinen meiner Adapter drin. Alle meine Adapter sind vom Aufbau im Prinzip gleich. Kann da mal jemand schauen und mir sagen was ich wo ändern muss? Den Eintrag in der JSON sehe ich nicht als Problem.
-
… er geschrieben dann überlegt :oops:
-
Hallo zusammen,
ich würde auch gern meine Adapter (lgtv, lgtv11, hp-ilo, enet) ändern.
Allerdings habe ich den zu ändern Code
const adapter = new utils.Adapter({ name: ..., stateChange: function () {...}, ... });So in keinen meiner Adapter drin. Alle meine Adapter sind vom Aufbau im Prinzip gleich. Kann da mal jemand schauen und mir sagen was ich wo ändern muss? Den Eintrag in der JSON sehe ich nicht als Problem. `
Kann dir gerne im Laufe des Tages mal deinen ioBroker.lgtv anpassen und dir einen PR schicken?
Dort hast du z.B. in Zeile 161 sowas wie ..
adapter.on('stateChange', function (id, state) { ... }.. und das müsste u.a. halt ersetzt werden. 8-)
-
Kann dir gerne im Laufe des Tages mal deinen ioBroker.lgtv anpassen und dir einen PR schicken? `
Das wäre super. Dann würde ich das für die anderen Adapter übernehmen wollen.
Vielen Dank schon mal im Voraus!
-
Danke BasGo :)
Funktioniert prima. Habe die anderen jetzt ach angepasst.
Geht doch einfacher als es aussieht :)
Einer noch :)
-
Kann ich so leider nicht nachvollziehen.
Habe bei mir extra den eNet-Adapter komplett deinstalliert, aus dem Github neu installiert und er läuft.
-
Bei mir leider nicht mehr! nach dem Update vom Adapter Enet, stellt er keine Verbindung mehr her.
Im Log steht: instance system.adapter.enet.0 terminated with code 10 (Cannot find start file of adapter)
Warum? `
Versuch mal „iobroker upload enet“ und dann neu startenGesendet vom Handy …