Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst Blockly] Javascript Adapter hängt sich bei Skript auf

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Gelöst Blockly] Javascript Adapter hängt sich bei Skript auf

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      @RappiRN

      Hat du logs wen der Fehler Auftritt?

      @Stefan

      Ich habe da eine Vermutung, nämlich das die url nicht erreichbar ist und dadurch die Instanz crasht.

      In javascript könnte man das mit einen try/Catch abfangen.

      Poste Mal bitte den Code der durch dieses blockly generiert wird

      –-----------------------

      Send from mobile device

      Das schöne ios hat Auto Korrektur zum k****

      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindestens Umsatz 10% für die community

      1 Reply Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        @Dutchman:

        @RappiRN

        Hat du logs wen der Fehler Auftritt? `

        Na klar 😄 :

        ! ```
        2017-12-19 08:19:51.574 - [31merror[39m: Caught by controller[0]: ReferenceError: e is not defined 2017-12-19 08:19:51.580 - [31merror[39m: Caught by controller[0]: at Request. <anonymous>(script.js.Komfort-Steuerungen.Display_Tablets:24:113) 2017-12-19 08:19:51.581 - [31merror[39m: Caught by controller[0]: at emitOne (events.js:96:13) 2017-12-19 08:19:51.581 - [31merror[39m: Caught by controller[0]: at Request.emit (events.js:188:7) 2017-12-19 08:19:51.582 - [31merror[39m: Caught by controller[0]: at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:884:8) 2017-12-19 08:19:51.582 - [31merror[39m: Caught by controller[0]: at emitOne (events.js:96:13) 2017-12-19 08:19:51.582 - [31merror[39m: Caught by controller[0]: at ClientRequest.emit (events.js:188:7) 2017-12-19 08:19:51.582 - [31merror[39m: Caught by controller[0]: at Socket.socketErrorListener (_http_client.js:310:9) 2017-12-19 08:19:51.583 - [31merror[39m: Caught by controller[0]: at emitOne (events.js:96:13) 2017-12-19 08:19:51.583 - [31merror[39m: Caught by controller[0]: at Socket.emit (events.js:188:7) 2017-12-19 08:19:51.583 - [31merror[39m: Caught by controller[0]: at emitErrorNT (net.js:1281:8) 2017-12-19 08:19:51.583 - [31merror[39m: Caught by controller[1]: ReferenceError: e is not defined 2017-12-19 08:19:51.584 - [31merror[39m: Caught by controller[1]: at Request. <anonymous>(script.js.Komfort-Steuerungen.Display_Tablets:24:113) 2017-12-19 08:19:51.584 - [31merror[39m: Caught by controller[1]: at emitOne (events.js:96:13) 2017-12-19 08:19:51.584 - [31merror[39m: Caught by controller[1]: at Request.emit (events.js:188:7) 2017-12-19 08:19:51.584 - [31merror[39m: Caught by controller[1]: at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:884:8) 2017-12-19 08:19:51.584 - [31merror[39m: Caught by controller[1]: at emitOne (events.js:96:13) 2017-12-19 08:19:51.584 - [31merror[39m: Caught by controller[1]: at ClientRequest.emit (events.js:188:7) 2017-12-19 08:19:51.585 - [31merror[39m: Caught by controller[1]: at Socket.socketCloseListener (_http_client.js:286:9) 2017-12-19 08:19:51.585 - [31merror[39m: Caught by controller[1]: at emitOne (events.js:101:20) 2017-12-19 08:19:51.585 - [31merror[39m: Caught by controller[1]: at Socket.emit (events.js:188:7) 2017-12-19 08:19:51.585 - [31merror[39m: Caught by controller[1]: at TCP._handle.close [as _onclose] (net.js:497:12) 2017-12-19 08:19:51.585 - [31merror[39m: host.SMARTHOME-PC instance system.adapter.javascript.1 terminated with code 0 (OK) 2017-12-19 08:19:51.585 - [32minfo[39m: host.SMARTHOME-PC Restart adapter system.adapter.javascript.1 because enabled 2017-12-19 08:20:21.631 - [32minfo[39m: host.SMARTHOME-PC instance system.adapter.javascript.1 started with pid 16524 2017-12-19 08:20:23.753 - [32minfo[39m: javascript.1 starting. Version 3.4.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v6.12.0 2017-12-19 08:20:23.770 - [32minfo[39m: javascript.1 requesting all states 2017-12-19 08:20:23.774 - [32minfo[39m: javascript.1 requesting all objects 2017-12-19 08:20:26.281 - [32minfo[39m: javascript.1 received all states 2017-12-19 08:20:28.070 - [32minfo[39m: javascript.1 received all objects 2017-12-19 08:20:28.357 - [32minfo[39m: javascript.1 Start javascript script.js.Anwesenheit.Anwesenheit_Familie/Zustaende 2017-12-19 08:20:28.428 - [32minfo[39m: javascript.1 script.js.Anwesenheit.Anwesenheit_Familie/Zustaende: registered 9 subscriptions and 1 schedule 2017-12-19 08:20:28.430 - [32minfo[39m: javascript.1 Start javascript script.js.Komfort-Steuerungen.Display_Tablets 2017-12-19 08:20:28.448 - [32minfo[39m: javascript.1 script.js.Komfort-Steuerungen.Display_Tablets: registered 1 subscription and 2 schedules[/code]</anonymous></anonymous>
        ! Und hier noch das Script:
        ! 2216_tasker.jpg
        ! Den Javascript-Absturz habe ich erst seitdem ich diesen Teil aus der CCU2 in ein Script übernommen habe.
        ! Enrico
        ! Edit: Das wäre der Code-Teil zu diesem Blockly-Abschnitt:
        ! >! [spoiler]~~[code]~~}); // Anwesenheit Tasker on({id: "hm-rega.0.4879"/*Anwesenheit_allgemein_neu_Var*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rega.0.4879").val == true) { try { require("request")('http://192.168.178.46:50000/tasker=Anwesenheit').on("error", function () {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.168.178.46:50000/tasker=Anwesenheit'); } else { try { require("request")('http://192.168.178.46:50000/tasker=Abwesenheit').on("error", function () {console.error(e);}); } catch (e) { console.error(e); } console.log("request: " + 'http://192.168.178.46:50000/tasker=Abwesenheit'); } }); [/code][/spoiler]

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          Poste das Script Mal bitte als Java Code (Knopf oben rechts) ich möchte gerne wissen wie der Code aussieht der generiert wird nicht die Blöcke 😉

          –-----------------------

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

          1 Reply Last reply Reply Quote 0
          • R
            RappiRN Most Active last edited by

            Is das nicht das im Edit??

            Enrico

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              @RappiRN:

              Is das nicht das im Edit??

              Enrico `
              Nope Lehrer Spoiler oder mein tapatalk v Spinnt

              –-----------------------

              Send from mobile device

              Das schöne ios hat Auto Korrektur zum k****

              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

              1 Reply Last reply Reply Quote 0
              • R
                RappiRN Most Active last edited by

                Dann spinnt dein Tapatalk leider, is ja nicht das erste Mal, das es damit Probleme gibt, Da ist auf jeden Fall was drin! 😄

                Enrico

                1 Reply Last reply Reply Quote 0
                • R
                  RappiRN Most Active last edited by

                  Hier nochmal ohne Spoiler:

                  });
                  // Anwesenheit Tasker
                  on({id: "hm-rega.0.4879"/*Anwesenheit_allgemein_neu_Var*/, change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if (getState("hm-rega.0.4879").val == true) {
                      try {
                        require("request")('http://192.168.178.46:50000/tasker=Anwesenheit').on("error", function () {console.error(e);});
                      } catch (e) { console.error(e); }
                      console.log("request: " + 'http://192.168.178.46:50000/tasker=Anwesenheit');
                    } else {
                      try {
                        require("request")('http://192.168.178.46:50000/tasker=Abwesenheit').on("error", function () {console.error(e);});
                      } catch (e) { console.error(e); }
                      console.log("request: " + 'http://192.168.178.46:50000/tasker=Abwesenheit');
                    }
                  });
                  

                  Enrico

                  1 Reply Last reply Reply Quote 0
                  • Dutchman
                    Dutchman Developer Most Active Administrators last edited by

                    @RappiRN:

                    Dann spinnt dein Tapatalk leider, is ja nicht das erste Mal, das es damit Probleme gibt, Da ist auf jeden Fall was drin! 😄

                    Enrico `

                    Grrr ja hab jetzt in Web geschaut und es ist da…

                    Ok meine Vermutung ist wieder legt, blockly erstellt einen "try" und "Catch Error" wie es sein soll also daran liegt es nicht.

                    Da muss dan jemand anders ran mit mehr Ahnung 😕


                    Send from mobile device

                    Das schöne ios hat Auto Korrektur zum k****

                    Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                    1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer last edited by

                      Da ist das Problem:

                      .on("error", function () {console.error(e);});
                      

                      e ist hier nicht definiert.

                      Ist dein JS-Adapter aktuell? Ich dachte das Problem wäre bereits behoben.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Stefan1984 last edited by

                        @Dutchman:

                        @Stefan

                        Ich habe da eine Vermutung, nämlich das die url nicht erreichbar ist und dadurch die Instanz crasht.

                        In javascript könnte man das mit einen try/Catch abfangen.

                        Poste Mal bitte den Code der durch dieses blockly generiert wird `

                        Da ist er:

                        ! ````
                        // Bewegung erkennen
                        on({id: 'hm-rpc.0.LEQ023XXXX.1.MOTION', change: "any"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        // URL Befehl senden
                        try {
                        require("request")('http://192.168.178.29:50000/tasker=Einschalten').on("error", function () {console.error(e);});
                        } catch (e) { console.error(e); }
                        });

                        
                        Javascript Adapter läuft mit Version 3.5.1, ist also leider aktuell.
                        
                        ****"e ist hier nicht definiert."**** Das passt also auch bei mir.
                        
                        Jemand eine Idee, wie ich das umgehen kann?
                        
                        Grüße,
                        
                        Stefan
                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          Probier Mal eine Variable die e heißt im Script ein zu führen üppigen, der Fehler selber muss im Adapter gefixed werden, zur Erklärung:

                          Die Funktion try/Catch mit dem (e) tritt auf wenn irgendwas schief geht mir den http Befehl und sollte Dan einen Absturz des Adapters vermeiden ( try / cach = versuche und fange fehler ab wen einer auftritt) durch die fehlende definition sorgt er jetzt für einen Absturz

                          –-----------------------

                          Send from mobile device

                          Das schöne ios hat Auto Korrektur zum k****

                          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                          1 Reply Last reply Reply Quote 0
                          • S
                            Stefan1984 last edited by

                            @Dutchman:

                            Probier Mal eine Variable die e heißt im Script ein zu führen üppigen, der Fehler selber muss im Adapter gefixed werden, `

                            Meinst Du so?

                            2044_blockly.jpg

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              Nope, nicht als object sondern Variable 😉

                              –-----------------------

                              Send from mobile device

                              Das schöne ios hat Auto Korrektur zum k****

                              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                              1 Reply Last reply Reply Quote 0
                              • S
                                Stefan1984 last edited by

                                @Dutchman:

                                Nope, nicht als object sondern Variable 😉 `

                                So? Stehe wahrscheinlich auf dem Schlauch.
                                2044_bildschirmfoto_2017-12-20_um_22.10.50.png

                                Hier noch der Code zur einfacheren Hilfe. 🙂

                                ! var e;
                                ! // Bewegung erkennen
                                ! on({id: 'hm-rpc.0.LEQ023XXXX.1.MOTION', change: "any"}, function (obj) {
                                ! var value = obj.state.val;
                                ! var oldValue = obj.oldState.val;
                                ! // URL Befehl senden
                                ! try {
                                ! require("request")('http://192.168.178.29:50000/tasker=Einschalten').on("error", function () {console.error(e);});
                                ! } catch (e) { console.error(e); }
                                ! e = 0;
                                ! });
                                ! //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMnklNDA0KU8wQ0YlMjUlN0N6KEolN0J5JTNBJTdDdCg2JTIyJTIweCUzRCUyMi0zMTIlMjIlMjB5JTNEJTIyLTIzNyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VCZXdlZ3VuZyUyMGVya2VubmVuJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJ5Z0xvLkoufmIlNDAyJTJCalJydVItTEYlMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFYW55JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyRCUyQyU0MFolNUQlM0YlN0QlN0JqJTNBJTdEeSU1QktfQWIzTXAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VobS1ycGMuMC5MRVEwMjM5NzEwLjEuTU9USU9OJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIlMkIlNURwKCUzRigyJTVEbktKJTIzY3d1JTYwUiklN0NRJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRVVSTCUyMEJlZmVobCUyMHNlbmRlbiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnJlcXVlc3QlMjIlMjBpZCUzRCUyMmklNjAlM0FtRyU1QmdTMUUqVnNXLipySkE1JTIyJTNFJTNDbXV0YXRpb24lMjB3aXRoX3N0YXRlbWVudCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX1NUQVRFTUVOVCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJMT0clMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlVSTCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ6QXpqUSU0MCUyRiUyQjAlNUVXcCUyQiU3Q3olMkNjdChjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRWh0dHAlM0ElMkYlMkYxOTIuMTY4LjE3OC4yOSUzQTUwMDAwJTJGdGFza2VyJTNERWluc2NoYWx0ZW4lM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnVST0ozRyU3QlFsUy0lNDBqbjlPc3cqWSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUzRWUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=

                                Danke.

                                1 Reply Last reply Reply Quote 0
                                • Dutchman
                                  Dutchman Developer Most Active Administrators last edited by

                                  Genau! Hänge Aber bitte noch war das dran zB Textblock mit irgendwas drin das sollte dann erstmal Abhilfe schaffen

                                  –-----------------------

                                  Send from mobile device

                                  Das schöne ios hat Auto Korrektur zum k****

                                  Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                                  1 Reply Last reply Reply Quote 0
                                  • Bluefox
                                    Bluefox last edited by

                                    @Stefan1984:

                                    @Dutchman:

                                    @Stefan

                                    Ich habe da eine Vermutung, nämlich das die url nicht erreichbar ist und dadurch die Instanz crasht.

                                    In javascript könnte man das mit einen try/Catch abfangen.

                                    Poste Mal bitte den Code der durch dieses blockly generiert wird `

                                    Da ist er:

                                    ! ````
                                    // Bewegung erkennen
                                    on({id: 'hm-rpc.0.LEQ023XXXX.1.MOTION', change: "any"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    // URL Befehl senden
                                    try {
                                    require("request")('http://192.168.178.29:50000/tasker=Einschalten').on("error", function () {console.error(e);});
                                    } catch (e) { console.error(e); }
                                    });

                                    
                                    Javascript Adapter läuft mit Version 3.5.1, ist also leider aktuell.
                                    
                                    ****"e ist hier nicht definiert."**** Das passt also auch bei mir.
                                    
                                    Jemand eine Idee, wie ich das umgehen kann?
                                    
                                    Grüße,
                                    
                                    Stefan `  
                                    

                                    Also 3.5.1 hat den fix. Man muss nur dieses Skript noch mal von Blockly generieren lassen.

                                    An dem Skrip was klein ändern und speichern. Dann soll es gehen.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Stefan1984 last edited by

                                      Dann hab ich es jetzt. :lol:

                                      2044_bildschirmfoto_2017-12-20_um_22.15.25.png

                                      Dankeschön. Werde testen.

                                      Grüße,

                                      Stefan

                                      1 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        Vielleicht bevor dann````
                                        iobroker u javascirpt

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Stefan1984 last edited by

                                          @Bluefox:

                                          Also 3.5.1 hat den fix. Man muss nur dieses Skript noch mal von Blockly generieren lassen.

                                          An dem Skrip was klein ändern und speichern. Dann soll es gehen. `

                                          Was kleines ändern und speichern? Probiere ich auch gern aus.

                                          Wahrscheinlich hilft auch eine Neuanlage des Skripts?

                                          Grüße,

                                          Stefan

                                          1 Reply Last reply Reply Quote 0
                                          • Dutchman
                                            Dutchman Developer Most Active Administrators last edited by

                                            hat sich das problem jetzt damit erledigt Stefan ?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            776
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            24
                                            2580
                                            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