Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • AxelF1977
      AxelF1977 @J.A.R.V.I.S. last edited by AxelF1977

      @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

      1 Reply Last reply Reply Quote 0
      • J.A.R.V.I.S.
        J.A.R.V.I.S. Developer @AxelF1977 last edited by

        @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+": ","");
        
        AxelF1977 1 Reply Last reply Reply Quote 1
        • AxelF1977
          AxelF1977 @J.A.R.V.I.S. last edited by

          @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
          
          J.A.R.V.I.S. 1 Reply Last reply Reply Quote 0
          • J.A.R.V.I.S.
            J.A.R.V.I.S. Developer @AxelF1977 last edited by J.A.R.V.I.S.

            @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.

            AxelF1977 1 Reply Last reply Reply Quote 2
            • AxelF1977
              AxelF1977 @J.A.R.V.I.S. last edited by

              @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
              
              AxelF1977 J.A.R.V.I.S. 2 Replies Last reply Reply Quote 0
              • AxelF1977
                AxelF1977 @AxelF1977 last edited by

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

                Danke für Eure Hilfe.

                Echt der Wahnsinn

                Garfonso 1 Reply Last reply Reply Quote 0
                • joergfrde
                  joergfrde @AxelF1977 last edited by

                  @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.

                  1 Reply Last reply Reply Quote 0
                  • J.A.R.V.I.S.
                    J.A.R.V.I.S. Developer @AxelF1977 last edited by J.A.R.V.I.S.

                    @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));
                    
                    1 Reply Last reply Reply Quote 0
                    • Garfonso
                      Garfonso Developer @AxelF1977 last edited by

                      @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).

                      AxelF1977 1 Reply Last reply Reply Quote 0
                      • AxelF1977
                        AxelF1977 @Garfonso last edited by

                        @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

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        724
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        blockly javascript javascript adapter js-controler 3.0x skripte update
                        14
                        126
                        8625
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo