NEWS
Javascript Adapter stürtzt ohne Fehlermeldung ab
-
Hallo Bluefox,
müsste es zum downgraden von 1.2.0 auf 1.1.3 nicht
npm i iobroker.js-controller@1.1.3 --production
heissen?
Bei mir hat er mit Deinem Befehl die 1.2.0 installiert. `
Und 1.1.3 installiert? -
Hallo,
ich habe meinen j-controller vorerst nicht downgegradet und inzwischen herausgefunden, dass die Javaskriptinstanz bei mir nur abstürzt, wenn Lichter- und/oder Fensterskript aktiv sind/ist.
Allerdings läuft das jeweilige Skript eine Zeit lang problemlos, um dann irgendwann die ganze Instanz in die Knie zu zwingen.
Die Skripte habe ich hier aus dem Forum übernommen, das Lichterskript als Beispiel sie so aus:
! ` > /* System Zahl Lichter
zählt die Lichter in allen Räumen und meldet die Eingeschalteten namentlich
Daten kommen vom Gewerk "Licht"
*/
createState('zählen_Lichter.anzahlLichter', 0); // wenn benötigt: Anzahl der vorhandenen Lichter
createState('zählen_Lichter.anzahlLichterAn', 0); // Anzahl der Lichter, die an sind als Variable unter Javascript.0 anlegen
var cacheSelector = $('channelstate.id=*.STATE');
var cacheSelectorState = $('channelstate.id=*.STATE');
var cacheSelectorDimmer = $('channelstate.id=*.LEVEL');
function countLamps(obj) {
// Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0
var anzahlLichterAn = 0;
var anzahlLichter = 0;
var textLichterAn = [];
log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val); // Info im Log, welcher Zustand sich geändert hat
cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Licht
var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
var obj = getObject(id);
if (status === true) { // wenn Zustand = true, dann wird die ANzahl der Lichter hochgezählt
textLichterAn.push(obj.common.name); // Zu Array hinzufügen
}
log("Licht Nr. " + i + ": " + getObject(id).common.name + ": " + status);
++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
});
cacheSelectorDimmer.each(function (id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
var status = getState(id).val; // Zustand *.LEVEL abfragen (jedes Element)
if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
textLichterAn.push(obj.common.name); // Zu Array hinzufügen
}
log("Licht Nr. " + i + ": " + id + ": " + status); // gibt alle Elemente *.LEVEL im Gewerk Licht mit dem aktuelle Status im Log aus
++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
});
// Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
log("Text: " + textLichterAn);
log("Anzahl Lichter: " + anzahlLichter + " # davon Lichter an: " + anzahlLichterAn);
// die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
setState("zählen_Lichter.textLichterAn", textLichterAn.join(',
')); // Schreibt die aktuelle Namen der eingeschalteten LichtersetState("zählen_Lichter.anzahlLichterAn", textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
setState("zählen_Lichter.anzahlLichter", anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
}
cacheSelectorState.on(function(obj) { // bei Zustandänderung *. STATE im Gewerk Lichter
countLamps(obj);
});
cacheSelectorDimmer.on(function(obj) { // bei Zustandänderung *. LEVEL im Gewerk Licht
countLamps(obj);
}); `
Vielleicht hilft die Info ja bei der Lösung des Problems.
Grüße, Rob
-
Ich bin gestern Abend zurück zum js-controller@1.1.3.
Seitdem geht's wieder.
-
So, also mit der 1.1.3 läuft mein Script jetzt bereits mehrere Tage durchgehend. Liegt also an der 1.2.0
-
So, also mit der 1.1.3 läuft mein Script jetzt bereits mehrere Tage durchgehend. Liegt also an der 1.2.0 `
Ich habe schon die schuldige Zeile gefunden. Jetzt wird die Lösung gesucht. -
gerade noch gesehen, ich wollte am WE updaten.
Da bleib ich mal lieber bei der 1.1.3
-
So, also mit der 1.1.3 läuft mein Script jetzt bereits mehrere Tage durchgehend. Liegt also an der 1.2.0 `
Ich habe eine Frage an die, die das Problem haben:Welche Node.js Version und was für ein OS?
-
Also bei mir Node 6.11.1 auf einem Windows Server 2012 R2.
-
bei mir läuft node 6.11.2 auf Windows 7 professional SP1
-
Hallo,
meine Einstellungen bei Windows 7 pro
node 6.9.4
js controller 1.2
admin 2.07
Javascript 3.4.0
und habe damit keine Probleme mit Javascript
-
Ok. Das bestätigt die Vermutung, dass nur Windows dieses Problem hat.
-
Ok. Das bestätigt die Vermutung, dass nur Windows dieses Problem hat. `
Er hat doch keine Probleme.
Bei mir läuft auch alles gut (Win10)
Grüße
-
Es sind 3 Instanzen Javescript unter Win7 installiert und es ist KEIN der oben beschriebenen Probleme aufgetreten.
-
Ok. Das bestätigt die Vermutung, dass nur Windows dieses Problem hat. `
Er hat doch keine Probleme.
Bei mir läuft auch alles gut (Win10)
Grüße `
Controller 1.2.0 und Node.js 6.11.4 oder neuer? -
node 6.10.0
js-controler 1.2.0
npm 3.10.10
JavaScript 3.4.5
-
Hallo,
ich bitte um Entschuldigung, aber, da ich auch dieses Problem mit Javascript habe…
Wie bekomme ich die aktuell installierte Version von Node.js raus (Win 8.1 Pro)?
Wenn ich npm --version abfrage zeigt er mir 2.15.9 an.
Wie update ich auf die aktuellste Node.js Version und mit welche Version ist für ioBroker zu empfehlen?
-
Hallo,
ich bitte um Entschuldigung, aber, da ich auch dieses Problem mit Javascript habe…
Wie bekomme ich die aktuell installierte Version von Node.js raus (Win 8.1 Pro)?
Wenn ich npm --version abfrage zeigt er mir 2.15.9 an.
Wie update ich auf die aktuellste Node.js Version und mit welche Version ist für ioBroker zu empfehlen? `
Für node ist der Befehl
node -v oder node --version
Für iObroker ist Version 4 & 6 zu empfehlen, manche Adapter (Ikea zB) benötigen node 6
–-----------------------
Send from mobile device
-
So ich habe jetzt mehrer Tage lang den Javascript Adapter in der Windows Eingabeaufforderung am laufen ohne das er abstürtzt.
Wenn ich das beende und die Javascript Instanz mit dem iobroker Admin starte stürzt diese innerhalb eines Tages ab.
Eventuell hilf das ja den Fehlere zu finden.
Gruß Norbert
-
Ich muss berichten, dass Workaround gefunden wurde und die Version 1.2.1 das beinhalten wird.
-
gibt es einen Workaround, welchen man bis zum Erscheinen der Version 1.2.1 machen kann?
Bei mir stürzen unter Windows 10 64Bit 2 javascript-Instanzen alle 1-3 Stunden ab