NEWS

Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x



  • @wendy2702 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    @AxelF1977 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    System.Updates

    Das Script auch bearbeitet?

    In dem Script habe ich diese stellen bearbeitet, wie von @J-A-R-V-I-S empfohlen

    @AxelF1977 ersetz im ersten Skript mal bitte alle var out = stdout.toString(); durch var out = stdout ? stdout.toString() : '';

    Im Script selber gibt es folgenden error

    21:47:25.279	error	javascript.0 (30954) script.js.System.Updates: TypeError: Cannot read property 'toString' of null
    21:47:25.279	error	javascript.0 (30954) at script.js.System.Updates:381:59
    21:47:25.323	error	host.ioBrokerPC Caught by controller[0]: at script.js.System.Updates:381:59
    

    01ef1a01-9700-4a4b-a08f-50b61e07f445-image.png

    ÜBRIGENS: sobald dieses Script Updates deaktiviert ist, läuft alles. Wahnsinn, nur wegen diesem einen Script.

    Das kam hier aus dem Forum


  • Developer

    @AxelF1977 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    stdout.match(/^online: (.+)/gm).toString()

    Dann ändere diese Stelle bitte auch noch ab

    var aktivRepoUrl = stdout.match(/^online: (.+)/gm).toString().replace(aktivRepo+": ","");
    

    in

    var aktivRepoUrl = (stdout.match(/^online: (.+)/gm) || '').toString().replace(aktivRepo+": ","");
    


  • @J-A-R-V-I-S sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    @AxelF1977 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    stdout.match(/^online: (.+)/gm).toString()

    Dann ändere diese Stelle bitte auch noch ab

    var aktivRepoUrl = stdout.match(/^online: (.+)/gm).toString().replace(aktivRepo+": ","");
    

    in

    var aktivRepoUrl = (stdout.match(/^online: (.+)/gm) || '').toString().replace(aktivRepo+": ","");
    

    Hab ich gemacht, aber Fehler bleiben immer noch bestehen. Das ist ja zum verrückt werden mit dem Script. Ich finde es nur gerade nicht auf die Schnelle im Forum wieder.

    22:11:24.239	error	javascript.0 (12632) script.js.System.Updates: TypeError: Cannot read property '1' of null
    22:11:24.239	error	javascript.0 (12632) at script.js.System.Updates:412:39
    22:11:24.288	error	host.ioBrokerPC Caught by controller[0]: at script.js.System.Updates:412:39
    

  • Developer

    @AxelF1977 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    script.js.System.Updates:412:39

    Hier steht auch immer die Zeile, in der der Fehler auftritt, in diesem Fall Zeile 412.

    Setz da mal folgendes hin, um den Fehler abzufangen:

    var arrInstall = /: (\S+) +- (\d+\.\d+\.\d+)/g.exec(arrAdapter[i]);
     
    if (arrInstall && arrInstall.length >= 3) {
                installJSON.push({
                    adapter:    arrInstall[1],
                    version:    arrInstall[2]
                });
    } 
    

    Mir scheint als hätte da jemand ein Skript geschrieben, im guten Glauben, dass er immer die richtigen Werte erhält und deshalb nicht prüft.

    Naja, im Js-controller 3 werden die Fehler nicht mehr ignoriert.



  • @J-A-R-V-I-S sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    @AxelF1977 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    script.js.System.Updates:412:39

    Hier steht auch immer die Zeile, in der der Fehler auftritt, in diesem Fall Zeile 412.

    Setz da mal folgendes hin, um den Fehler abzufangen:

    var arrInstall = /: (\S+) +- (\d+\.\d+\.\d+)/g.exec(arrAdapter[i]);
     
    if (arrInstall && arrInstall.length >= 3) {
                installJSON.push({
                    adapter:    arrInstall[1],
                    version:    arrInstall[2]
                });
    } 
    

    Mir scheint als hätte da jemand ein Skript geschrieben, im guten Glauben, dass er immer die richtigen Werte erhält und deshalb nicht prüft.

    Naja, im Js-controller 3 werden die Fehler nicht mehr ignoriert.

    Das hat auf jeden Fall was verändert. Mein anderen Scripte gehen jetzt, auch mit js-controller 3. Wie als wenn ich das Script deaktiviert habe. Top, Danke.

    Eine kleine Ausgabe hat das Script noch. Nicht mehr im Log, "nur noch" im Script selber

    22:24:15.728	warn	javascript.0 (28978) script.js.System.Updates: []
    22:24:15.729	warn	javascript.0 (28978) script.js.System.Updates: keine Daten für Adapter in der Installation vorhanden
    22:24:15.730	warn	javascript.0 (28978) at script.js.System.Updates:354:9
    22:24:15.730	error	javascript.0 (28978) script.js.System.Updates: setForeignState: undefined is not a valid state value
    22:24:15.730	warn	javascript.0 (28978) script.js.System.Updates: Anzahl Adapter mit Fehler (Cannot read or parse): 0
    


  • Ich verneige mich an dieser Stelle vor dem unglaublichen Wissen das hier versammelt ist.

    Danke für Eure Hilfe.

    Echt der Wahnsinn


  • Starter

    @AxelF1977 Ich habe auch ein Problem mit meinen Scripten. Keine Benachrichtung durch Telegram. Ich habe allerdings noch die 10ner Version von node und nodejs. Telegram hat das neueste Update.


  • Developer

    @AxelF1977 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    22:24:15.730 warn javascript.0 (28978) at script.js.System.Updates:354:9
    22:24:15.730 error javascript.0 (28978) script.js.System.Updates: setForeignState: undefined is not a valid state value

    Dort wird versucht ein undefined in einen State zu schreiben, aus diesem Grund wird der Fehler geworfen.

    Je nachdem, ob du den Wert ersetzen möchtest, oder einfach bei dem lässt, der er derzeit ist, hast du zwei Möglichkeiten.

    Wert auch bei undefined (allerdings dann leer) neu schreiben:

    setState(idAdapterNotInRepoJSON,writeJson(notInRepoJson || {}));
    

    Wert bei Fehler beim alten Wert lassen:

    notInRepoJson && setState(idAdapterNotInRepoJSON,writeJson(notInRepoJson));
    

  • Developer

    @AxelF1977
    Irgendwie ist mir nicht ganz klar, warum deine Probleme mit dem js-controller Update zu tun haben sollten... 😞 In deinen Logs ist kein Crash des javascript Adapters zu sehen, nur, dass er die Fehler in deinen Skripten moniert. Das sollte aber unabhängig von der js-controller Version sein (die Fehler in deinen Skripten müssen in jeder Versionskonstellation zu Problemen geführt haben).
    Könntest du da nochmal in deine alten Logs gucken, ob der javascript adapter tatsächlich einmal abgestürzt ist? (Gerne kannst du mir das Log auch als Datei schicken, dann guck ich es mir an).



  • @Garfonso sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:

    @AxelF1977
    Irgendwie ist mir nicht ganz klar, warum deine Probleme mit dem js-controller Update zu tun haben sollten... 😞 In deinen Logs ist kein Crash des javascript Adapters zu sehen, nur, dass er die Fehler in deinen Skripten moniert. Das sollte aber unabhängig von der js-controller Version sein (die Fehler in deinen Skripten müssen in jeder Versionskonstellation zu Problemen geführt haben).
    Könntest du da nochmal in deine alten Logs gucken, ob der javascript adapter tatsächlich einmal abgestürzt ist? (Gerne kannst du mir das Log auch als Datei schicken, dann guck ich es mir an).

    Vielen Dank.

    Der aktuelle Log ist jetzt sauber. Die Veränderungen an den Scripten, bei denen mir @J-A-R-V-I-S geholfen hat, haben am Ende der erhofften Erfolg gebracht. @Thomas-Braun hat mir geholfen das System zu bereinigen.
    Am Ende werden es alle Maßnahmen gewesen sein.

    Du hattest mir das auch logisch erklärt, wie der neue Controller mit Fehlern umgeht.

    jedenfalls läuft gerade alles wie es soll



Suggested Topics

1.3k
Online

32.4k
Users

39.0k
Topics

528.7k
Posts