Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. [gelöst] Probleme mit Javascript-Adapter (error exception: getaddrinfo ENOTFOUND)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Probleme mit Javascript-Adapter (error exception: getaddrinfo ENOTFOUND)

    This topic has been deleted. Only users with topic management privileges can see it.
    • andre
      andre Developer last edited by

      Hallo,

      jetzt hat es mich auch erwischt. Mein Javascript-Adapter macht Probleme. Ich habe zwar hier im Forum schon viel gelesen, und meine Fehlermeldung auch hier http://forum.iobroker.net/viewtopic.php … UND#p15451 schon einmal gefunden. Aber schlau werde ich daraus auch nicht so recht. Und dort geht es ja auch um History… Und welche Adresse mein Javascript Adapter nicht erreichen kann will mir nicht so recht einfallen... Aber mal von vorne:

      Gestern ist mir aufgefallen, dass meine handvoll Javascripte nicht mehr sauber zu laufen scheinen. Ein Blick ins Log beförderte dann auch gleich eine Reihe Fehlermeldungen ans Tageslicht. Außerdem die Erkenntnis, dass sich meine Javascript-Instanz offenbar in einer Art Bootloop zu befinden scheint.

      Im Log sieht man, dass der Adapter die Scripte lädt, anschließend ein paar Fehler auswirft und beendet wird. Danach startet er die Instanz neu und das Ganze beginnt von vorne... 😞

      Hier der Auszug aus dem Log:

      host-jarvis	2016-02-23 09:06:00	info	Restart adapter system.adapter.javascript.0 because enabled
      host-jarvis	2016-02-23 09:06:00	error	instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
      Error:	2016-02-23 09:06:00	error	at Object.onanswer [as oncomplete] (dns.js:124:16)
      Error:	2016-02-23 09:06:00	error	at errnoException (dns.js:37:11)
      Error:	2016-02-23 09:06:00	error	getaddrinfo ENOTFOUND
      uncaught	2016-02-23 09:06:00	error	exception: getaddrinfo ENOTFOUND
      
      

      Im Einsatz habe ich Version 1.2.0 vom Javascript Adapter und Node v0.10.22.

      Wenn ich Google mit den Fehlermeldungen füttere, lese ich etwas von Adressen, die nicht erreichbar sind oder falsch aufgelöst werden, und node.js… so richtig kann ich damit aber auch nichts anfangen. Habe ich vielleicht schlicht einen Konfigurationsfehler?

      Größere Updates habe ich weder auf Linux-Ebene (ioBroker läuft unter Armbian Jessie) noch im ioBroker gemacht. Allerding habe ich die letzten Tage immer wieder konfiguriert, Scripte angepasst und mit den chromecast, squeezebox und sayit Adaptern gespielt...

      Weiß jemand Rat? Danke.

      MfG,

      André

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

        Mhh, keiner eine Idee??

        Ich habe in den letzten Tagen einiges an Updates gemacht und das ganze System auf eine neue Platte umgezogen. Diverse Reboots und sogar die ein oder andere Adapter Installation. Trotzdem habe ich, wenn auch nur noch selten und sporadisch den oben beschriebenen Fall, dass sich der Javascript-Adapter verabschiedet und neu startet.

        Meine Beobachtungen der letzten Tage zeigen aber, dass dies für die Funktionalität der Scripte offensichtlich kein Problem ist (der Adapter wird ja auch immer wieder gestartet).

        Hat niemand sonst das Phänomen? Kann niemand etwas mit den Meldungen aus dem Log anfangen?

        Danke.

        MfG,

        André

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

          @andre:

          Hallo,

          jetzt hat es mich auch erwischt. Mein Javascript-Adapter macht Probleme. Ich habe zwar hier im Forum schon viel gelesen, und meine Fehlermeldung auch hier http://forum.iobroker.net/viewtopic.php … UND#p15451 schon einmal gefunden. Aber schlau werde ich daraus auch nicht so recht. Und dort geht es ja auch um History… Und welche Adresse mein Javascript Adapter nicht erreichen kann will mir nicht so recht einfallen... Aber mal von vorne:

          Gestern ist mir aufgefallen, dass meine handvoll Javascripte nicht mehr sauber zu laufen scheinen. Ein Blick ins Log beförderte dann auch gleich eine Reihe Fehlermeldungen ans Tageslicht. Außerdem die Erkenntnis, dass sich meine Javascript-Instanz offenbar in einer Art Bootloop zu befinden scheint.

          Im Log sieht man, dass der Adapter die Scripte lädt, anschließend ein paar Fehler auswirft und beendet wird. Danach startet er die Instanz neu und das Ganze beginnt von vorne... 😞

          Hier der Auszug aus dem Log:

          host-jarvis	2016-02-23 09:06:00	info	Restart adapter system.adapter.javascript.0 because enabled
          host-jarvis	2016-02-23 09:06:00	error	instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
          Error:	2016-02-23 09:06:00	error	at Object.onanswer [as oncomplete] (dns.js:124:16)
          Error:	2016-02-23 09:06:00	error	at errnoException (dns.js:37:11)
          Error:	2016-02-23 09:06:00	error	getaddrinfo ENOTFOUND
          uncaught	2016-02-23 09:06:00	error	exception: getaddrinfo ENOTFOUND
          
          

          Im Einsatz habe ich Version 1.2.0 vom Javascript Adapter und Node v0.10.22.

          Wenn ich Google mit den Fehlermeldungen füttere, lese ich etwas von Adressen, die nicht erreichbar sind oder falsch aufgelöst werden, und node.js… so richtig kann ich damit aber auch nichts anfangen. Habe ich vielleicht schlicht einen Konfigurationsfehler?

          Größere Updates habe ich weder auf Linux-Ebene (ioBroker läuft unter Armbian Jessie) noch im ioBroker gemacht. Allerding habe ich die letzten Tage immer wieder konfiguriert, Scripte angepasst und mit den chromecast, squeezebox und sayit Adaptern gespielt...

          Weiß jemand Rat? Danke.

          MfG,

          André `
          Is bei dir request irgendwo im Einsatz?

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

            @Bluefox:

            @andre:

            Hallo,

            jetzt hat es mich auch erwischt. Mein Javascript-Adapter macht Probleme. Ich habe zwar hier im Forum schon viel gelesen, und meine Fehlermeldung auch hier http://forum.iobroker.net/viewtopic.php … UND#p15451 schon einmal gefunden. Aber schlau werde ich daraus auch nicht so recht. Und dort geht es ja auch um History… Und welche Adresse mein Javascript Adapter nicht erreichen kann will mir nicht so recht einfallen... Aber mal von vorne:

            Gestern ist mir aufgefallen, dass meine handvoll Javascripte nicht mehr sauber zu laufen scheinen. Ein Blick ins Log beförderte dann auch gleich eine Reihe Fehlermeldungen ans Tageslicht. Außerdem die Erkenntnis, dass sich meine Javascript-Instanz offenbar in einer Art Bootloop zu befinden scheint.

            Im Log sieht man, dass der Adapter die Scripte lädt, anschließend ein paar Fehler auswirft und beendet wird. Danach startet er die Instanz neu und das Ganze beginnt von vorne... 😞

            Hier der Auszug aus dem Log:

            host-jarvis	2016-02-23 09:06:00	info	Restart adapter system.adapter.javascript.0 because enabled
            host-jarvis	2016-02-23 09:06:00	error	instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
            Error:	2016-02-23 09:06:00	error	at Object.onanswer [as oncomplete] (dns.js:124:16)
            Error:	2016-02-23 09:06:00	error	at errnoException (dns.js:37:11)
            Error:	2016-02-23 09:06:00	error	getaddrinfo ENOTFOUND
            uncaught	2016-02-23 09:06:00	error	exception: getaddrinfo ENOTFOUND
            
            

            Im Einsatz habe ich Version 1.2.0 vom Javascript Adapter und Node v0.10.22.

            Wenn ich Google mit den Fehlermeldungen füttere, lese ich etwas von Adressen, die nicht erreichbar sind oder falsch aufgelöst werden, und node.js… so richtig kann ich damit aber auch nichts anfangen. Habe ich vielleicht schlicht einen Konfigurationsfehler?

            Größere Updates habe ich weder auf Linux-Ebene (ioBroker läuft unter Armbian Jessie) noch im ioBroker gemacht. Allerding habe ich die letzten Tage immer wieder konfiguriert, Scripte angepasst und mit den chromecast, squeezebox und sayit Adaptern gespielt...

            Weiß jemand Rat? Danke.

            MfG,

            André Is bei dir request irgendwo im Einsatz?
            Also. Da schmeißt dir eine von dir aufgerufene Funktion ( die du nicht verraten willst 🙂 ) ein Exception.

            Ich konnte, wenn ich wüsste, try catch drum herum bauen. Ich epfehle dir an der Stelle try catch zu benutzen .

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

              Hallo Bluefox,

              vielen dank für deine Analyse/ Einschätzung. 🙂

              Ich nutze in der Tat ein require. Mit dessen Hilfe schalte ich bei meinem Raspberry den HDMI Ausgang per CGI-Script ein und aus.

              Habe jetzt herausgefunden, dass das entsprechende Script bei nicht Erreichen des CGI-Scripts (z.B. wenn der Raspberry aus ist) die Exeption raus wirft und damit den Javascript Adapter zum Absturz bringt. 😄

              Werde bei Gelegenheit mal versuchen ein try/catch um die Funktion zu bauen. Kannst du mir anhand der Fehlermeldung sagen was ich in den catch schreiben muss? Falls nicht, wie kann ich herausfinden was ich als Exeptionklassennamen eintragen muss?

              Hier mal mein Script, das offensichtlich ab und an "Böses" tut:

              ! // Script zum Schalten des Wand-Displays nach CCU-Systemvariable ! // Datenpunkt anlegen createState('status.schlafenszeit', 0, {name: 'Schlafenszeit für Display'}); createState('status.schlafenszeit_countdown', 0, {name: 'Countdown für Schlafenszeit'}); ! // Datenpunkt-ID var idBewegung = "hm-rpc.0.MEQXXXXXXX.1.MOTION"; var idSchlafenszeit = "javascript.0.status.schlafenszeit"; var idCountdown = "javascript.0.status.schlafenszeit_countdown"; var idLichtWZ = "hm-rpc.0.KEQXXXXXXX.1.STATE"; ! // Variablendeklaration und Initialisierung bei Scriptstart var stateBewegung = getState(idBewegung).val; var stateSchlafenszeit = getState(idSchlafenszeit).val; var display_on = 'http://XXX.fritz.box:[PORT]/cgi-bin/display_on.cgi'; var display_off = 'http://XXX.fritz.box:[PORT]/cgi-bin/display_off.cgi'; var request = require('request'); var timer; ! // Funktion für Countdownanzeige zur Schlafenszeit in vis function countdown() { setTimeout(function () { var stateCountdown = getState(idCountdown).val || 10; if (stateCountdown > 1 && stateSchlafenszeit === true) { setState(idCountdown, stateCountdown - 1); countdown(); } else { setState(idCountdown, 0); } }, 1000); } ! // Auswertung des Status "Bewegung" / Ausschalten per Timer nach 10 Minuten! function switch_display() { if (timer) { clearTimeout(timer); timer = null; } if (stateBewegung === true && stateSchlafenszeit === false) { request (display_on); } else if (stateBewegung === false && stateSchlafenszeit === false) { timer = setTimeout(function () { request (display_off); }, 10 * 60000); } else if (stateSchlafenszeit === true) { countdown(); setState(idLichtWZ, false); timer = setTimeout(function () { request (display_off); }, 10000); } } ! // Aufruf der Funktion bei Scriptstart switch_display(); ! // Aufruf der Funktion bei Änderung on(idBewegung, function(dp) { stateBewegung = dp.newState.val; switch_display(); }); on(idSchlafenszeit, function(dp) { stateSchlafenszeit = dp.newState.val; switch_display(); }); !
              Danke!

              MfG,

              André

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

                Du scheinst einfach in setTimeout

                try {
                     request (display_off);
                } catch (e) {
                   log(e, 'warn');
                 }
                
                
                1 Reply Last reply Reply Quote 0
                • andre
                  andre Developer last edited by

                  @Bluefox:

                  Du scheinst einfach in setTimeout

                  try {
                       request (display_off);
                  } catch (e) {
                     log(e, 'warn');
                   }
                  
                  ```` `  
                  

                  So, habe das Ganze jetzt seit 3 Wochen implementiert. Scheint bisher wunderbar zu klappen. Danke nochmal!

                  MfG,

                  André

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  912
                  Online

                  32.0k
                  Users

                  80.4k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  2246
                  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