Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Javascriptadapter neustart bei Fehler trotz Catch-Block

    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

    Javascriptadapter neustart bei Fehler trotz Catch-Block

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

      Hallo Zusammen,
      seit längerem nutze ich das NPM modul "nefit-easy-commands" in folgender Weise um aktuelle Daten meiner Heizung abzufragen:

      const NefitEasyClient = require('nefit-easy-commands');
      
      function WerteAuslesen()
      {
          // Instantiate client
          const client = NefitEasyClient({
            serialNumber : "xx",
            accessKey    : "yy",
            password     : "zz",
          }); 
      
          // Connect client and retrieve status and pressure.
          client.connect().then( () => 
          {
              return [ client.status(), client.pressure() ];
          }).spread((status, pressure) => 
          {
              console.log("Temperature is set to " + status['temp setpoint'].toFixed(1) + " °C, current is " + status['in house temp'].toFixed(1) + " °C.\n" +
                  "Outside temperature is "+status['outdoor temp'].toFixed(1)+" °C.\n" +
                  "User Mode is "+status['user mode']+".\n" +
                  "System pressure is " + pressure.pressure + " " + pressure.unit);
          }).catch((e) => 
          {
              console.error('Error: ' + e);
          }).finally(() => 
          {
              client.end();
          });
      }
      
      schedule({minute: [12]}, WerteAuslesen);
      

      Das Funktioniert schon seit Wochen super (mein ioBroker läuft in einem Docker Container auf meinem Synology NAS).
      Seit gestern bekomme ich sporadisch (ca. einmal pro Tag) folgende Fehlermeldung:

      
      host.ioBroker	2019-06-02 12:12:01.565	info	Restart adapter system.adapter.javascript.0 because enabled
      host.ioBroker	2019-06-02 12:12:01.565	error	instance system.adapter.javascript.0 terminated with code 0 (OK)
      Caught	2019-06-02 12:12:01.565	error	by controller[0]: errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
      Caught	2019-06-02 12:12:01.565	error	by controller[0]: at TLSWrap.onread (net.js:622:25)
      Caught	2019-06-02 12:12:01.564	error	by controller[0]: { Error: read ECONNRESET
      javascript.0	2019-06-02 12:12:01.533	error	at TLSWrap.onread (net.js:622:25)
      javascript.0	2019-06-02 12:12:01.533	error	Error: read ECONNRESET
      javascript.0	2019-06-02 12:12:01.532	error	uncaught exception: read ECONNRESET
      javascript.0	2019-06-02 12:12:01.504	info	System pressure is 1.2 bar
      javascript.0	2019-06-02 12:12:01.504	info	User Mode is manual.
      javascript.0	2019-06-02 12:12:01.504	info	Outside temperature is 27.0 °C.
      javascript.0	2019-06-02 12:12:01.504	info	script.js.common.Nefit: Temperature is set to 11.0 °C, current is 23.4 °C.
      

      Ich dachte bisher, dass der Catch Block (welcher auch ausgeführt wird) verhindert, dass der Fehler zum Absturz des Adapters führt.

      Was kann ich tun, um den Absturz abzufangen?
      Danke
      Christof

      foxriver76 1 Reply Last reply Reply Quote 0
      • foxriver76
        foxriver76 Developer @Christof.Kac last edited by foxriver76

        Edit: Warum machst du es nicht wie im example ist doch genau das was du brauchst? https://github.com/robertklep/nefit-easy-commands/blob/master/example/status.js

        Du musst Promise all verwenden wie im Beispiel sonst arbeiten die Funktionen asynchron und der Fehler fliegt auch asynchron.

        1 Reply Last reply Reply Quote 0
        • Christof.Kac
          Christof.Kac last edited by

          Hi,
          ich bin mir sicher, das Beispiel von dieser Homepage genommen zu haben - da ist ja auch das Paket her.
          Egal, Danke für den Tip.
          Jetzt lass ich das mal laufen und bin schon gespannt, ob es robust läuft.

          Bis dann
          Christof

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

          Support us

          ioBroker
          Community Adapters
          Donate

          754
          Online

          31.8k
          Users

          79.9k
          Topics

          1.3m
          Posts

          heating javascript
          2
          3
          297
          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