Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Errormeldungen abfangen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Errormeldungen abfangen

Geplant Angeheftet Gesperrt Verschoben JavaScript
13 Beiträge 3 Kommentatoren 405 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von Homoran
    #1

    ich habe in den letzten Tagen manchmal folgende Errormeldungen bekommen

    javascript.1
    	2024-04-13 08:32:16.541	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.541	error	Error in request callback: ReferenceError: url is not defined
    javascript.1
    	2024-04-13 08:32:16.540	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.540	error	Error in request callback: ReferenceError: url is not defined
    javascript.1
    	2024-04-13 08:32:16.540	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.540	error	Error in request callback: ReferenceError: url is not defined
    javascript.1
    	2024-04-13 08:32:16.539	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.539	error	Error in request callback: ReferenceError: url is not defined
    javascript.1
    	2024-04-13 08:32:16.539	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.539	error	Error in request callback: ReferenceError: url is not defined
    javascript.1
    	2024-04-13 08:32:16.538	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.538	error	Error in request callback: ReferenceError: url is not defined
    javascript.1
    	2024-04-13 08:32:16.537	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.537	error	Error in request callback: ReferenceError: url is not defined
    javascript.1
    	2024-04-13 08:32:16.537	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
    javascript.1
    	2024-04-13 08:32:16.537	error	Error in request callback: ReferenceError: url is not defined
    

    Die Dauer heute waren ca. 90msec aber bei 4 Meldungen pro msec knallt das das Log ganz schön voll.
    Ich nehme an, dass es sich um ein Script zum auslesen des Kostal Piko Wechselrichters handelt und es möglicherweise Probleme im Netzwerk gibt, welcher Art auch immer.
    Anders kann ich url is not defined nicht zuordnen.

    kann man das irgendwie abfangen.

    PS sobald ich es schaffe das Skript zu kopieren, poste ich es :grin:

    // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
    
    //Variable
    
    //Leistungswerte
       ID_DCEingangGesamt = 33556736;         // in W
       ID_Ausgangsleistung = 67109120;        // in W
       ID_Eigenverbrauch = 83888128;          // in W
       //Status
       ID_Status = 16780032;                  // 0:Off
       //Statistik - Tag
       ID_Ertrag_d = 251658754;               // in Wh
       ID_Hausverbrauch_d = 251659010;        // in Wh
       ID_Eigenverbrauch_d = 251659266;       // in Wh
       ID_Eigenverbrauchsquote_d = 251659278; // in %
       ID_Autarkiegrad_d = 251659279;         // in %
       //Statistik - Gesamt
       ID_Ertrag_G = 251658753;               // in kWh
       ID_Hausverbrauch_G = 251659009;        // in kWh
       ID_Eigenverbrauch_G = 251659265;       // in kWh
       ID_Eigenverbrauchsquote_G = 251659280; // in %
       ID_Autarkiegrad_G = 251659281;         // in %
       ID_Betriebszeit = 251658496;           // in h
       //Momentanwerte - PV Genertor
       ID_DC1Spannung = 33555202;             // in V
       ID_DC1Strom = 33555201;                // in A
       ID_DC1Leistung = 33555203;             // in W
       ID_DC2Spannung = 33555458;             // in V
       ID_DC2Strom = 33555457;                // in A
       ID_DC2Leistung = 33555459;             // in W
       //Momentanwerte Haus
       ID_HausverbrauchSolar = 83886336;      // in W
       ID_HausverbrauchBatterie = 83886592;   // in W
       ID_HausverbrauchNetz = 83886848;       // in W
       ID_HausverbrauchPhase1 = 83887106;     // in W
       ID_HausverbrauchPhase2 = 83887362;     // in W
       ID_HausverbrauchPhase3 = 83887618;     // in W
       //Netz Netzparameter
       ID_NetzAusgangLeistung = 67109120;     // in W
       ID_NetzFrequenz = 67110400;            // in Hz
       ID_NetzCosPhi = 67110656;
       //Netz Phase 1
       ID_P1Spannung = 67109378;              // in V
       ID_P1Strom = 67109377;                 // in A
       ID_P1Leistung = 67109379;              // in W
       //Netz Phase 2
       ID_P2Spannung = 67109634;              // in V
       ID_P2Strom = 67109633;                 // in A
       ID_P2Leistung = 67109635;              // in W
       //Netz Phase 3
       ID_P3Spannung = 67109890;              // in V
       ID_P3Strom = 67109889;                 // in A
       ID_P3Leistung = 67109891;              // in W
    
    
    
    var IPAnlage = '192.168.138.103/api/dxs.json';   // IP der Photovoltaik-Anlage
    
    
    
    createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d',0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G',0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit',0);
    createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
    createState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch',0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d');
    createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', 0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', 0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', 0);
    createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', 0);
    createState('Messwerte.0.Solaranlage.Momentanwerte.DC1Spannung');
    createState('Messwerte.0.Solaranlage.Momentanwerte.DC1Strom');
    createState('Messwerte.0.Solaranlage.Momentanwerte.DC2Spannung');
    createState('Messwerte.0.Solaranlage.Momentanwerte.DC2Strom');
    createState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom');
    createState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom');
    createState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung');
    createState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung');
    
    
    var logging = false;
    var request = require('request');
    
    function Piko() {
       if (logging) log("Piko 5.5 auslesen");
       request('http://' + IPAnlage + 
       '?dxsEntries=' + ID_DCEingangGesamt +
       '&dxsEntries=' + ID_Ausgangsleistung +
       '&dxsEntries=' + ID_DC1Strom +
       '&dxsEntries=' + ID_DC2Strom +
       '&dxsEntries=' + ID_Eigenverbrauch_G +
       '&dxsEntries=' + ID_Eigenverbrauchsquote_d +
       '&dxsEntries=' + ID_Eigenverbrauchsquote_G +
       '&dxsEntries=' + ID_Ertrag_d +
       '&dxsEntries=' + ID_Ertrag_G +
       '&dxsEntries=' + ID_Hausverbrauch_d +
       '&dxsEntries=' + ID_Hausverbrauch_G +
       '&dxsEntries=' + ID_Autarkiegrad_G +
       '&dxsEntries=' + ID_Autarkiegrad_d +
       '&dxsEntries=' + ID_Betriebszeit +
       '&dxsEntries=' + ID_DC1Spannung +
       '&dxsEntries=' + ID_DC2Spannung +
       '&dxsEntries=' + ID_P1Strom +
       '&dxsEntries=' + ID_P2Strom +
       '&dxsEntries=' + ID_P1Leistung +
       '&dxsEntries=' + ID_P2Leistung +
       '&dxsEntries=' + ID_Status +
       '&dxsEntries=' + ID_DC1Leistung +
       '&dxsEntries=' + ID_DC2Leistung,
       
       function (error, response, body) {
           if(!error && response.statusCode ==200) {
               if(logging) log(body);
               var result = JSON.parse(body).dxsEntries;
               setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.DC1Strom', result[2].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.DC2Strom', result[3].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
               setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.DC1Spannung', result[14].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.DC2Spannung', result[15].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[20].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
               setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
           } else {
               log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
           }
       });
    }
    
    //schedule("*/11 * 5-23 * * *", Piko);
    on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;
    
    

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    SBorgS 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      ich habe in den letzten Tagen manchmal folgende Errormeldungen bekommen

      javascript.1
      	2024-04-13 08:32:16.541	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.541	error	Error in request callback: ReferenceError: url is not defined
      javascript.1
      	2024-04-13 08:32:16.540	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.540	error	Error in request callback: ReferenceError: url is not defined
      javascript.1
      	2024-04-13 08:32:16.540	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.540	error	Error in request callback: ReferenceError: url is not defined
      javascript.1
      	2024-04-13 08:32:16.539	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.539	error	Error in request callback: ReferenceError: url is not defined
      javascript.1
      	2024-04-13 08:32:16.539	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.539	error	Error in request callback: ReferenceError: url is not defined
      javascript.1
      	2024-04-13 08:32:16.538	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.538	error	Error in request callback: ReferenceError: url is not defined
      javascript.1
      	2024-04-13 08:32:16.537	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.537	error	Error in request callback: ReferenceError: url is not defined
      javascript.1
      	2024-04-13 08:32:16.537	error	Request error: Error: connect ETIMEDOUT 192.168.138.103:80
      javascript.1
      	2024-04-13 08:32:16.537	error	Error in request callback: ReferenceError: url is not defined
      

      Die Dauer heute waren ca. 90msec aber bei 4 Meldungen pro msec knallt das das Log ganz schön voll.
      Ich nehme an, dass es sich um ein Script zum auslesen des Kostal Piko Wechselrichters handelt und es möglicherweise Probleme im Netzwerk gibt, welcher Art auch immer.
      Anders kann ich url is not defined nicht zuordnen.

      kann man das irgendwie abfangen.

      PS sobald ich es schaffe das Skript zu kopieren, poste ich es :grin:

      // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
      
      //Variable
      
      //Leistungswerte
         ID_DCEingangGesamt = 33556736;         // in W
         ID_Ausgangsleistung = 67109120;        // in W
         ID_Eigenverbrauch = 83888128;          // in W
         //Status
         ID_Status = 16780032;                  // 0:Off
         //Statistik - Tag
         ID_Ertrag_d = 251658754;               // in Wh
         ID_Hausverbrauch_d = 251659010;        // in Wh
         ID_Eigenverbrauch_d = 251659266;       // in Wh
         ID_Eigenverbrauchsquote_d = 251659278; // in %
         ID_Autarkiegrad_d = 251659279;         // in %
         //Statistik - Gesamt
         ID_Ertrag_G = 251658753;               // in kWh
         ID_Hausverbrauch_G = 251659009;        // in kWh
         ID_Eigenverbrauch_G = 251659265;       // in kWh
         ID_Eigenverbrauchsquote_G = 251659280; // in %
         ID_Autarkiegrad_G = 251659281;         // in %
         ID_Betriebszeit = 251658496;           // in h
         //Momentanwerte - PV Genertor
         ID_DC1Spannung = 33555202;             // in V
         ID_DC1Strom = 33555201;                // in A
         ID_DC1Leistung = 33555203;             // in W
         ID_DC2Spannung = 33555458;             // in V
         ID_DC2Strom = 33555457;                // in A
         ID_DC2Leistung = 33555459;             // in W
         //Momentanwerte Haus
         ID_HausverbrauchSolar = 83886336;      // in W
         ID_HausverbrauchBatterie = 83886592;   // in W
         ID_HausverbrauchNetz = 83886848;       // in W
         ID_HausverbrauchPhase1 = 83887106;     // in W
         ID_HausverbrauchPhase2 = 83887362;     // in W
         ID_HausverbrauchPhase3 = 83887618;     // in W
         //Netz Netzparameter
         ID_NetzAusgangLeistung = 67109120;     // in W
         ID_NetzFrequenz = 67110400;            // in Hz
         ID_NetzCosPhi = 67110656;
         //Netz Phase 1
         ID_P1Spannung = 67109378;              // in V
         ID_P1Strom = 67109377;                 // in A
         ID_P1Leistung = 67109379;              // in W
         //Netz Phase 2
         ID_P2Spannung = 67109634;              // in V
         ID_P2Strom = 67109633;                 // in A
         ID_P2Leistung = 67109635;              // in W
         //Netz Phase 3
         ID_P3Spannung = 67109890;              // in V
         ID_P3Strom = 67109889;                 // in A
         ID_P3Leistung = 67109891;              // in W
      
      
      
      var IPAnlage = '192.168.138.103/api/dxs.json';   // IP der Photovoltaik-Anlage
      
      
      
      createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d',0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G',0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit',0);
      createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
      createState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch',0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d');
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', 0);
      createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', 0);
      createState('Messwerte.0.Solaranlage.Momentanwerte.DC1Spannung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.DC1Strom');
      createState('Messwerte.0.Solaranlage.Momentanwerte.DC2Spannung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.DC2Strom');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung');
      createState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung');
      
      
      var logging = false;
      var request = require('request');
      
      function Piko() {
         if (logging) log("Piko 5.5 auslesen");
         request('http://' + IPAnlage + 
         '?dxsEntries=' + ID_DCEingangGesamt +
         '&dxsEntries=' + ID_Ausgangsleistung +
         '&dxsEntries=' + ID_DC1Strom +
         '&dxsEntries=' + ID_DC2Strom +
         '&dxsEntries=' + ID_Eigenverbrauch_G +
         '&dxsEntries=' + ID_Eigenverbrauchsquote_d +
         '&dxsEntries=' + ID_Eigenverbrauchsquote_G +
         '&dxsEntries=' + ID_Ertrag_d +
         '&dxsEntries=' + ID_Ertrag_G +
         '&dxsEntries=' + ID_Hausverbrauch_d +
         '&dxsEntries=' + ID_Hausverbrauch_G +
         '&dxsEntries=' + ID_Autarkiegrad_G +
         '&dxsEntries=' + ID_Autarkiegrad_d +
         '&dxsEntries=' + ID_Betriebszeit +
         '&dxsEntries=' + ID_DC1Spannung +
         '&dxsEntries=' + ID_DC2Spannung +
         '&dxsEntries=' + ID_P1Strom +
         '&dxsEntries=' + ID_P2Strom +
         '&dxsEntries=' + ID_P1Leistung +
         '&dxsEntries=' + ID_P2Leistung +
         '&dxsEntries=' + ID_Status +
         '&dxsEntries=' + ID_DC1Leistung +
         '&dxsEntries=' + ID_DC2Leistung,
         
         function (error, response, body) {
             if(!error && response.statusCode ==200) {
                 if(logging) log(body);
                 var result = JSON.parse(body).dxsEntries;
                 setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.DC1Strom', result[2].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.DC2Strom', result[3].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.DC1Spannung', result[14].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.DC2Spannung', result[15].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[20].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                 setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
             } else {
                 log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
             }
         });
      }
      
      //schedule("*/11 * 5-23 * * *", Piko);
      on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;
      
      

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @homoran sagte in Errormeldungen abfangen:

      kann man das irgendwie abfangen.

      Selbstverfreilich :)

      "try + catch" um deinen "request" (ev. gleich auch auf axios umbauen ;) ) bauen

      try {
      
        // code...
      
      } catch (err) {
      
        // error handling
      
      }
      

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      HomoranH 2 Antworten Letzte Antwort
      0
      • SBorgS SBorg

        @homoran sagte in Errormeldungen abfangen:

        kann man das irgendwie abfangen.

        Selbstverfreilich :)

        "try + catch" um deinen "request" (ev. gleich auch auf axios umbauen ;) ) bauen

        try {
        
          // code...
        
        } catch (err) {
        
          // error handling
        
        }
        
        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von Homoran
        #3

        @sborg :cry:

        isch kann koi Jawa

        Das Script hat mir jemand geschrieben

        EDIT
        verursacht das gezeigte Script überhaupt den Fehler?

        ist url bei "url is not defined" nicht möglicherweise eine variable?
        die ist hier in meinen Augen tatsächlich nicht definiert,

        else {
                   log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
        

        habe aber gerade noch ein zweites Script gefunden das auf den WR zugreift (auch nicht von mir, sondern einem freundlichen Helfer)

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @homoran sagte in Errormeldungen abfangen:

          kann man das irgendwie abfangen.

          Selbstverfreilich :)

          "try + catch" um deinen "request" (ev. gleich auch auf axios umbauen ;) ) bauen

          try {
          
            // code...
          
          } catch (err) {
          
            // error handling
          
          }
          
          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          @sborg
          hier wäre das zweite Script

          var domain = '192.168.138.103'; // domain or ip without http:// or https:// 
          var url = '/api/dxs.json';
          var datenpunkt = '0_userdata.0.Solaranlage.Info';
          //var datenpunkt = 'javascript.0.info';
          
          var msgs = [
          {"code":"3000","type":"Störung Updateprozess","description":"Interne Systemstörung","action":"Update des Wechselrichters durchführen."},
          {"code":"3003","type":"Interne Kommunikationsstörung","description":"Interne Kommunikationsstörung","action":"zwischen Netzüberwachung und Steuerung Internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten kontrollieren"},
          {"code":"3006","type":"Interne Systemstörung ","description":"Interne Systemstörung bzgl. Leistungsabregelung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf. Support"},
          {"code":"3010","type":"Interne Kommunikationsstörung","description":"Interne Kommunikationsstörung","action":"zwischen Steuerung und Kommunkationsplatine Kontrollieren Sie die Uhrzeiteinstellung, Funktionalität der Kommunikationsplatine und weiterer Kommunikationseinstellungen. Wechselrichter schaltet trotz fehlerhaftem Zeitstempel auf"},
          {"code":"3011","type":"Interne Temperaturstörung","description":"Interne Systemstörung","action":"Support"},
          {"code":"3012","type":"Störung Varistor","description":"DC-Varistor defekt","action":"Defekten Varistor tauschen"},
          {"code":"3013","type":"Interne Temperaturstörung","description":"Übertemperatur AC/DC an Leistungsstufe","action":"Installationsbedingungen und Lüfter kontrollieren"},
          {"code":"3014","type":"Interne Temperaturstörung","description":"Übertemperatur Prozessor","action":"Installationsbedingungen und Lüfter kontrollieren"},
          {"code":"3017","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3018","type":"Information","description":"Leistungsabregelung durch externe Vorgaben (Netzbetreiber)","action":"Keine Maßnahme notwendig"},
          {"code":"3019","type":"Externe Netzstörung","description":"Leistungsabregelung aufgrund eines Netzfehlers (erhöhte Netzfrequenz)","action":"Support"},
          {"code":"3020","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3021","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3022","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3023","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3024","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3025","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3026","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3027","type":"Interne Temperaturstörung","description":"Interne Systemstörung","action":"Support"},
          {"code":"3028","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3029","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3030","type":"Interne Temperaturstörung","description":"Übertemperatur AC/DC an Leistungsstufe","action":"Installationsbedingungen und Lüfter kontrollieren"},
          {"code":"3031","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach Prüfung durch und schaltet generell auf"},
          {"code":"3032","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3033","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3034","type":"Interne Systemstörung ","description":"Interner Zwischenkreisfehler","action":"Das Gerät neu starten"},
          {"code":"3035","type":"Interne Systemstörung ","description":"Interner Zwischenkreisfehler","action":"Das Gerät neu starten"},
          {"code":"3036","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3037","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3038","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3039","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3045","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach Prüfung durch und schaltet generell auf"},
          {"code":"3046","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach Prüfung durch und schaltet generell auf"},
          {"code":"3047","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3048","type":"Interne Kommunikationsstörung","description":"Interner Kommunikationsfehler","action":"Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten"},
          {"code":"3049","type":"Interne Kommunikationsstörung","description":"Interner Kommunikationsfehler","action":"Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten"},
          {"code":"3050","type":"Interne Kommunikationsstörung","description":"Interner Kommunikationsfehler","action":"Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten"},
          {"code":"3051","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3052","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3053","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3054","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"3055","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
          {"code":"3056","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3057","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Generatorinstallation/ -auslegung kontrollieren"},
          {"code":"3059","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Ggf. falsche Ländereinstellung. Support kontaktieren"},
          {"code":"3060","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
          {"code":"3061","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3062","type":"Interne Temperaturstörung","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3063","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3064","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3065","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3066","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktiere"},
          {"code":"3068","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
          {"code":"3070","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
          {"code":"3071","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
          {"code":"3072","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
          {"code":"3073","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
          {"code":"3074","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
          {"code":"3075","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
          {"code":"3076","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Die AC-Spannung ist gegebenenfalls zu niedrig"},
          {"code":"3079","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
          {"code":"3080","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
          {"code":"3082","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3083","type":"Information","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig1"},
          {"code":"3084","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
          {"code":"3085","type":"Interne Temperaturstörung","description":"Übertemperatur Prozessor","action":"Installationsbedingungen und Lüfter kontrollieren1 "},
          {"code":"3086","type":"Information","description":"Leistungsabregelung aufgrund eines Netzfehlers (erhöhte AC-Spannung)","action":"Support"},
          {"code":"3087","type":"Interne Systemstörung ","description":"Interner Systemfehler","action":"Support kontaktieren"},
          {"code":"3088","type":"Interne Systemstörung ","description":"Lüftereinheit verschmutzt","action":"Lüftereinheit reinigen"},
          {"code":"3089","type":"Interne Systemstörung ","description":"Lüftereinheit verschmutzt","action":"Lüftereinheit reinigen"},
          {"code":"3090","type":"Interne Systemstörung ","description":"Interner Systemfehler","action":"Support kontaktieren"},
          {"code":"3091","type":"Interne Systemstörung ","description":"Lüfter nicht korrekt angeschlossen","action":"Lüfter-Steckverbindungen prüfe"},
          {"code":"3092","type":"Interne Systemstörung ","description":"Lüfter nicht korrekt angeschlossen","action":"Lüfter-Steckverbindungen prüfe"},
          {"code":"3093","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
          {"code":"3094","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
          {"code":"3095","type":"Interne Parametrierungsstörung","description":"Falsche Kalibrierung","action":"Support kontaktiere"},
          {"code":"3096","type":"Information","description":"Falsche Dimensionierung der PV-Generator","action":"Generatorinstallation/ -auslegung kontrolliere"},
          {"code":"3097","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
          {"code":"3098","type":"Information","description":"Netz nicht vorhanden","action":"Keine Maßnahme notwendig"},
          {"code":"3101","type":"Information","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3102","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3103","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3104","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
          {"code":"3105","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
          {"code":"3106","type":"Information","description":"Falsche Eingabe am KomBoard oder falsche Verdrahtung","action":"Eingabe oder Verdrahtung korriegieren"},
          {"code":"4100","type":"Interne Systemstörung ","description":"Interner Softwarefehler","action":"Support"},
          {"code":"4101","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L1","action":"Support"},
          {"code":"4102","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L2","action":"Support"},
          {"code":"4103","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L3","action":"Support"},
          {"code":"4104","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L1","action":"Support"},
          {"code":"4105","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L2","action":"Support"},
          {"code":"4106","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L3","action":"Support"},
          {"code":"4110","type":"Interne Systemstörung ","description":"Interner Softwarefehler","action":"Support"},
          {"code":"4121","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4122","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4130","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4131","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4150","type":"Information","description":"Erhöhte Netzfrequenz. Oft gehäuftes Auftreten am Morgen und am Abend.","action":"Installation kontrollieren"},
          {"code":"4151","type":"Externe Netzstörung","description":"Zu niedrige Netzfrequenz","action":"Installation kontrollieren"},
          {"code":"4157","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Keine Maßnahme notwendig"},
          {"code":"4158","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Installation kontrollieren"},
          {"code":"4159","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Installation kontrollieren"},
          {"code":"4160","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Installation kontrollieren"},
          {"code":"4161","type":"Externe Netzstörung","description":"Zu niedrige Netzfrequenz","action":"Installation kontrollieren"},
          {"code":"4170","type":"Information","description":"Eine Phase ist nicht angeschlossen. Ein Sicherungsautomat wurde nicht eingeschaltet.","action":"Installation kontrollieren"},
          {"code":"4180","type":"Externe Netzstörung","description":"PE-Leitung nicht angeschlossen","action":"Installation kontrollieren"},
          {"code":"4181","type":"Externe Netzstörung","description":"PE-Leitung nicht angeschlossen","action":"Installation kontrollieren "},
          {"code":"4185","type":"Interne Systemstörung ","description":"Interner Softwarefehler","action":"Support1 "},
          {"code":"4200","type":"Externe Netzstörung","description":"Erhöhte Netzspannung","action":"Installation kontrollieren "},
          {"code":"4201","type":"Externe Netzstörung","description":"Zu niedrige Netzspannung","action":"Installation kontrollieren "},
          {"code":"4210","type":"Externe Netzstörung","description":"Erhöhte Netzspannung","action":"Installation kontrollieren "},
          {"code":"4211","type":"Externe Netzstörung","description":"Zu niedrige Netzspannung","action":"Installation kontrollieren "},
          {"code":"4220","type":"Externe Netzstörung","description":"Spannungsmittelwert der letzten 10 Min. zu groß","action":"Installation kontrollieren "},
          {"code":"4221","type":"Externe Netzstörung","description":"Spannungsmittelwert der letzten 10 Min. zu groß","action":"Installation kontrollieren "},
          {"code":"4290","type":"Externe Netzstörung","description":"Die Netzfrequenz hat sich zu schnell verändert.","action":"Generatorinstallation kontrollieren "},
          {"code":"4300","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4301","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4302","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4303","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4304","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4321","type":"Interne Parametrierungsstörung","description":"Defektes EEPROM unerlaubte Speicherzugriffe","action":"Support"},
          {"code":"4322","type":"Interne Parametrierungsstörung","description":"Softwarefehler","action":"Support kontaktieren"},
          {"code":"4323","type":"Interne Parametrierungsstörung","description":"Fehlerstrom","action":"Support"},
          {"code":"4324","type":"Interne Parametrierungsstörung","description":"Parameterfehler","action":"Support"},
          {"code":"4325","type":"Interne Parametrierungsstörung","description":"Parameterfehler","action":"Support"},
          {"code":"4340","type":"-","description":"","action":""},
          {"code":"4354","type":"Externer Fehlerstrom","description":"Fehlerstrom","action":"Generatorinstallation kontrollieren "},
          {"code":"4360","type":"-","description":"","action":""},
          {"code":"4421","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
          {"code":"4422","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren. "},
          {"code":"4424","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
          {"code":"4425","type":"Interne Parametrierungsstörung","description":"Parameterfehler","action":"Support "},
          {"code":"4450","type":"Externe Isolationsfehler","description":"Isolationsfehler","action":"Generatorinstallation kontrollieren "},
          {"code":"4451","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren "},
          {"code":"4475","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
          {"code":"4476","type":"Information","description":"Schwache PV-Versorgung (z.B. morgens)","action":"Keine Maßnahme notwendig "},
          {"code":"4800","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
          {"code":"4801","type":"Interne Systemstörung ","description":"Isolationsfehler","action":"Support "},
          {"code":"4802","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
          {"code":"4803","type":"Interne Systemstörung ","description":"Isolationsfehler","action":"Support "},
          {"code":"4804","type":"Interne Systemstörung ","description":"Isolationsfehler","action":"Support "},
          {"code":"4805","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
          {"code":"4810","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
          {"code":"4850","type":"Interne Systemstörung ","description":"EVU","action":"Support "},
          {"code":"4870","type":"-","description":"","action":""},
          {"code":"7500","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
          {"code":"7503","type":"Information","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"}
          ];
          
          
          
          function getEvents() {
            //log('getEvents');
            var keys = [];
            var key1 = 234881792;
            var key2 = 234881537;  
            keys.push(key1);
            for (var i=0;i<10;i++) {
                keys.push(key2+i);
            }
          
            pikorequest(keys, function(response){
                //log('events: '+ JSON.stringify(response));
                var item,len;
                var msga = [];
                if (typeof response === 'string') response = JSON.parse(response);
                item = getResponseId(response,234881792);
                len = item.value;
                for (var i=0;i<len;i++) {
                    item = getResponseId(response,234881537+i);
                    var d,date,code,env;
                    d = item.value;
                    date = timeConverter((d[0] << 0) + (d[1] << 8) + (d[2] << 16) + (d[3] << 24));
                    code = (d[4] << 0) + (d[5] << 8);
                    env = ("0000"+((d[6] << 0) + (d[7] << 8)).toString(16)).toLocaleUpperCase().substr(-4,4)+'h';
                    var msg = msgs.find(item => item.code==code);
                    msg.date=date;
                    var msgtext = 'Code: '+msg.code+' Typ: '+msg.type+' Beschreibung: '+msg.description+' Maßnahme: '+msg.action
                    //log('message' + i+1 + ': ' + date + ' '  + code + ' '  + env + ' '+msgtext);
                    //log("Datenpunkt: "+ datenpunkt+i + " Fehlermeldung: " + msgtext + true/*ack*/);
                    setState(datenpunkt+i,`[` + JSON.stringify(msg) +`]`, true/*ack*/);
                 msga.push(JSON.parse(JSON.stringify(msg)));           
                }
                setState(datenpunkt, JSON.stringify(msga) , true/*ack*/);
             });
          }
          
          function pikorequest(keys,callback) {
            //log('pikorequest');
            if (keys.length==0) {
                //log('request error: No keys ');
                return;     
            }
          
            var query = '';
          
            for (var i = 0; i < keys.length; i++) { 
                query += '&dxsEntries=' + keys[i];
            }
          
            var req_url = 'http://' + domain + url + '?sessionid=iobroker' + query;
            //log ('query: '+req_url);
          
            request(
                { method: 'GET',
                uri: req_url,
                }
            , function (error, response, body) {
                        //log('error: ' + error);
                        //log('Status: '+ response.statusCode);
                        //log('response: '+ JSON.stringify(response));
                        //response.body = '{"dxsEntries":[{"dxsId":234881792,"value":1},{"dxsId":234881537,"value":[207,217,88,94,63,16,2,0]},{"dxsId":234881538,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881539,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881540,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881541,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881542,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881543,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881544,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881545,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881546,"value":[0,0,0,0,0,0,0,0]}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}';
                        //response.statusCode = 200;
                        //error = false;
          
                    if (!error && response.statusCode == 200) {
                        //log('request ok: ');
                        //log('Status: '+ response.statusCode);
                        //log('response: '+ JSON.stringify(response));
                        callback(response.body);
                    } else {
                        log('request nok: ');
                        //log('Status: '+ response.statusCode);
                        //log('error: ' + error);
                    }
                }
            );
          }
          function getResponseId(response,id) {
            return response.dxsEntries.find( item => item.dxsId === id );
          }
          function timeConverter(UNIX_timestamp){
          var a = new Date(UNIX_timestamp * 1000);
          var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
          var year = a.getFullYear();
          var month = months[a.getMonth()];
          var date = a.getDate();
          var hour = ('0'+a.getHours()).slice(-2);
          var min = ('0'+a.getMinutes()).slice(-2);
          var sec = ('0'+a.getSeconds()).slice(-2);
          var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
          return time;
          log (time);
          }
          schedule("* * * * *", getEvents);
          
          

          auch hier ist eine Variable url, die sollte aber definiert sein

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          SBorgS 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @sborg
            hier wäre das zweite Script

            var domain = '192.168.138.103'; // domain or ip without http:// or https:// 
            var url = '/api/dxs.json';
            var datenpunkt = '0_userdata.0.Solaranlage.Info';
            //var datenpunkt = 'javascript.0.info';
            
            var msgs = [
            {"code":"3000","type":"Störung Updateprozess","description":"Interne Systemstörung","action":"Update des Wechselrichters durchführen."},
            {"code":"3003","type":"Interne Kommunikationsstörung","description":"Interne Kommunikationsstörung","action":"zwischen Netzüberwachung und Steuerung Internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten kontrollieren"},
            {"code":"3006","type":"Interne Systemstörung ","description":"Interne Systemstörung bzgl. Leistungsabregelung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf. Support"},
            {"code":"3010","type":"Interne Kommunikationsstörung","description":"Interne Kommunikationsstörung","action":"zwischen Steuerung und Kommunkationsplatine Kontrollieren Sie die Uhrzeiteinstellung, Funktionalität der Kommunikationsplatine und weiterer Kommunikationseinstellungen. Wechselrichter schaltet trotz fehlerhaftem Zeitstempel auf"},
            {"code":"3011","type":"Interne Temperaturstörung","description":"Interne Systemstörung","action":"Support"},
            {"code":"3012","type":"Störung Varistor","description":"DC-Varistor defekt","action":"Defekten Varistor tauschen"},
            {"code":"3013","type":"Interne Temperaturstörung","description":"Übertemperatur AC/DC an Leistungsstufe","action":"Installationsbedingungen und Lüfter kontrollieren"},
            {"code":"3014","type":"Interne Temperaturstörung","description":"Übertemperatur Prozessor","action":"Installationsbedingungen und Lüfter kontrollieren"},
            {"code":"3017","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3018","type":"Information","description":"Leistungsabregelung durch externe Vorgaben (Netzbetreiber)","action":"Keine Maßnahme notwendig"},
            {"code":"3019","type":"Externe Netzstörung","description":"Leistungsabregelung aufgrund eines Netzfehlers (erhöhte Netzfrequenz)","action":"Support"},
            {"code":"3020","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3021","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3022","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3023","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3024","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3025","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3026","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3027","type":"Interne Temperaturstörung","description":"Interne Systemstörung","action":"Support"},
            {"code":"3028","type":"Externe Generatorstörung","description":"Überspannung am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3029","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3030","type":"Interne Temperaturstörung","description":"Übertemperatur AC/DC an Leistungsstufe","action":"Installationsbedingungen und Lüfter kontrollieren"},
            {"code":"3031","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach Prüfung durch und schaltet generell auf"},
            {"code":"3032","type":"Externe Generatorstörung","description":"Überstrom am PV-Generator","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3033","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3034","type":"Interne Systemstörung ","description":"Interner Zwischenkreisfehler","action":"Das Gerät neu starten"},
            {"code":"3035","type":"Interne Systemstörung ","description":"Interner Zwischenkreisfehler","action":"Das Gerät neu starten"},
            {"code":"3036","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3037","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3038","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3039","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3045","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach Prüfung durch und schaltet generell auf"},
            {"code":"3046","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach Prüfung durch und schaltet generell auf"},
            {"code":"3047","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3048","type":"Interne Kommunikationsstörung","description":"Interner Kommunikationsfehler","action":"Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten"},
            {"code":"3049","type":"Interne Kommunikationsstörung","description":"Interner Kommunikationsfehler","action":"Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten"},
            {"code":"3050","type":"Interne Kommunikationsstörung","description":"Interner Kommunikationsfehler","action":"Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten"},
            {"code":"3051","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3052","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3053","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3054","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"3055","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
            {"code":"3056","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3057","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Generatorinstallation/ -auslegung kontrollieren"},
            {"code":"3059","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Ggf. falsche Ländereinstellung. Support kontaktieren"},
            {"code":"3060","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
            {"code":"3061","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3062","type":"Interne Temperaturstörung","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3063","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3064","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3065","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3066","type":"Interne Parametrierungsstörung","description":"Interne Systemstörung","action":"Support kontaktiere"},
            {"code":"3068","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
            {"code":"3070","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
            {"code":"3071","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
            {"code":"3072","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
            {"code":"3073","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
            {"code":"3074","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
            {"code":"3075","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
            {"code":"3076","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Die AC-Spannung ist gegebenenfalls zu niedrig"},
            {"code":"3079","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
            {"code":"3080","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Das Gerät neu starten"},
            {"code":"3082","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3083","type":"Information","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig1"},
            {"code":"3084","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren"},
            {"code":"3085","type":"Interne Temperaturstörung","description":"Übertemperatur Prozessor","action":"Installationsbedingungen und Lüfter kontrollieren1 "},
            {"code":"3086","type":"Information","description":"Leistungsabregelung aufgrund eines Netzfehlers (erhöhte AC-Spannung)","action":"Support"},
            {"code":"3087","type":"Interne Systemstörung ","description":"Interner Systemfehler","action":"Support kontaktieren"},
            {"code":"3088","type":"Interne Systemstörung ","description":"Lüftereinheit verschmutzt","action":"Lüftereinheit reinigen"},
            {"code":"3089","type":"Interne Systemstörung ","description":"Lüftereinheit verschmutzt","action":"Lüftereinheit reinigen"},
            {"code":"3090","type":"Interne Systemstörung ","description":"Interner Systemfehler","action":"Support kontaktieren"},
            {"code":"3091","type":"Interne Systemstörung ","description":"Lüfter nicht korrekt angeschlossen","action":"Lüfter-Steckverbindungen prüfe"},
            {"code":"3092","type":"Interne Systemstörung ","description":"Lüfter nicht korrekt angeschlossen","action":"Lüfter-Steckverbindungen prüfe"},
            {"code":"3093","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
            {"code":"3094","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
            {"code":"3095","type":"Interne Parametrierungsstörung","description":"Falsche Kalibrierung","action":"Support kontaktiere"},
            {"code":"3096","type":"Information","description":"Falsche Dimensionierung der PV-Generator","action":"Generatorinstallation/ -auslegung kontrolliere"},
            {"code":"3097","type":"Interne Parametrierungsstörung","description":"Falsche Parametrierung","action":"Support kontaktiere"},
            {"code":"3098","type":"Information","description":"Netz nicht vorhanden","action":"Keine Maßnahme notwendig"},
            {"code":"3101","type":"Information","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3102","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3103","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3104","type":"Interne Systemstörung ","description":"Interne AC-Systemstörung","action":"Gerät führt mehrfach eine Prüfung durch und schaltet generell auf"},
            {"code":"3105","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"},
            {"code":"3106","type":"Information","description":"Falsche Eingabe am KomBoard oder falsche Verdrahtung","action":"Eingabe oder Verdrahtung korriegieren"},
            {"code":"4100","type":"Interne Systemstörung ","description":"Interner Softwarefehler","action":"Support"},
            {"code":"4101","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L1","action":"Support"},
            {"code":"4102","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L2","action":"Support"},
            {"code":"4103","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L3","action":"Support"},
            {"code":"4104","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L1","action":"Support"},
            {"code":"4105","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L2","action":"Support"},
            {"code":"4106","type":"Interne Systemstörung ","description":"Erhöhter DC-Strom L3","action":"Support"},
            {"code":"4110","type":"Interne Systemstörung ","description":"Interner Softwarefehler","action":"Support"},
            {"code":"4121","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4122","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4130","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4131","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4150","type":"Information","description":"Erhöhte Netzfrequenz. Oft gehäuftes Auftreten am Morgen und am Abend.","action":"Installation kontrollieren"},
            {"code":"4151","type":"Externe Netzstörung","description":"Zu niedrige Netzfrequenz","action":"Installation kontrollieren"},
            {"code":"4157","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Keine Maßnahme notwendig"},
            {"code":"4158","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Installation kontrollieren"},
            {"code":"4159","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Installation kontrollieren"},
            {"code":"4160","type":"Externe Netzstörung","description":"Erhöhte Netzfrequenz","action":"Installation kontrollieren"},
            {"code":"4161","type":"Externe Netzstörung","description":"Zu niedrige Netzfrequenz","action":"Installation kontrollieren"},
            {"code":"4170","type":"Information","description":"Eine Phase ist nicht angeschlossen. Ein Sicherungsautomat wurde nicht eingeschaltet.","action":"Installation kontrollieren"},
            {"code":"4180","type":"Externe Netzstörung","description":"PE-Leitung nicht angeschlossen","action":"Installation kontrollieren"},
            {"code":"4181","type":"Externe Netzstörung","description":"PE-Leitung nicht angeschlossen","action":"Installation kontrollieren "},
            {"code":"4185","type":"Interne Systemstörung ","description":"Interner Softwarefehler","action":"Support1 "},
            {"code":"4200","type":"Externe Netzstörung","description":"Erhöhte Netzspannung","action":"Installation kontrollieren "},
            {"code":"4201","type":"Externe Netzstörung","description":"Zu niedrige Netzspannung","action":"Installation kontrollieren "},
            {"code":"4210","type":"Externe Netzstörung","description":"Erhöhte Netzspannung","action":"Installation kontrollieren "},
            {"code":"4211","type":"Externe Netzstörung","description":"Zu niedrige Netzspannung","action":"Installation kontrollieren "},
            {"code":"4220","type":"Externe Netzstörung","description":"Spannungsmittelwert der letzten 10 Min. zu groß","action":"Installation kontrollieren "},
            {"code":"4221","type":"Externe Netzstörung","description":"Spannungsmittelwert der letzten 10 Min. zu groß","action":"Installation kontrollieren "},
            {"code":"4290","type":"Externe Netzstörung","description":"Die Netzfrequenz hat sich zu schnell verändert.","action":"Generatorinstallation kontrollieren "},
            {"code":"4300","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4301","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4302","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4303","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4304","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4321","type":"Interne Parametrierungsstörung","description":"Defektes EEPROM unerlaubte Speicherzugriffe","action":"Support"},
            {"code":"4322","type":"Interne Parametrierungsstörung","description":"Softwarefehler","action":"Support kontaktieren"},
            {"code":"4323","type":"Interne Parametrierungsstörung","description":"Fehlerstrom","action":"Support"},
            {"code":"4324","type":"Interne Parametrierungsstörung","description":"Parameterfehler","action":"Support"},
            {"code":"4325","type":"Interne Parametrierungsstörung","description":"Parameterfehler","action":"Support"},
            {"code":"4340","type":"-","description":"","action":""},
            {"code":"4354","type":"Externer Fehlerstrom","description":"Fehlerstrom","action":"Generatorinstallation kontrollieren "},
            {"code":"4360","type":"-","description":"","action":""},
            {"code":"4421","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
            {"code":"4422","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren. "},
            {"code":"4424","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support"},
            {"code":"4425","type":"Interne Parametrierungsstörung","description":"Parameterfehler","action":"Support "},
            {"code":"4450","type":"Externe Isolationsfehler","description":"Isolationsfehler","action":"Generatorinstallation kontrollieren "},
            {"code":"4451","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support kontaktieren "},
            {"code":"4475","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
            {"code":"4476","type":"Information","description":"Schwache PV-Versorgung (z.B. morgens)","action":"Keine Maßnahme notwendig "},
            {"code":"4800","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
            {"code":"4801","type":"Interne Systemstörung ","description":"Isolationsfehler","action":"Support "},
            {"code":"4802","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
            {"code":"4803","type":"Interne Systemstörung ","description":"Isolationsfehler","action":"Support "},
            {"code":"4804","type":"Interne Systemstörung ","description":"Isolationsfehler","action":"Support "},
            {"code":"4805","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
            {"code":"4810","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
            {"code":"4850","type":"Interne Systemstörung ","description":"EVU","action":"Support "},
            {"code":"4870","type":"-","description":"","action":""},
            {"code":"7500","type":"Interne Systemstörung ","description":"Interne Systemstörung","action":"Support "},
            {"code":"7503","type":"Information","description":"Interne Systemstörung","action":"Keine Maßnahme notwendig"}
            ];
            
            
            
            function getEvents() {
              //log('getEvents');
              var keys = [];
              var key1 = 234881792;
              var key2 = 234881537;  
              keys.push(key1);
              for (var i=0;i<10;i++) {
                  keys.push(key2+i);
              }
            
              pikorequest(keys, function(response){
                  //log('events: '+ JSON.stringify(response));
                  var item,len;
                  var msga = [];
                  if (typeof response === 'string') response = JSON.parse(response);
                  item = getResponseId(response,234881792);
                  len = item.value;
                  for (var i=0;i<len;i++) {
                      item = getResponseId(response,234881537+i);
                      var d,date,code,env;
                      d = item.value;
                      date = timeConverter((d[0] << 0) + (d[1] << 8) + (d[2] << 16) + (d[3] << 24));
                      code = (d[4] << 0) + (d[5] << 8);
                      env = ("0000"+((d[6] << 0) + (d[7] << 8)).toString(16)).toLocaleUpperCase().substr(-4,4)+'h';
                      var msg = msgs.find(item => item.code==code);
                      msg.date=date;
                      var msgtext = 'Code: '+msg.code+' Typ: '+msg.type+' Beschreibung: '+msg.description+' Maßnahme: '+msg.action
                      //log('message' + i+1 + ': ' + date + ' '  + code + ' '  + env + ' '+msgtext);
                      //log("Datenpunkt: "+ datenpunkt+i + " Fehlermeldung: " + msgtext + true/*ack*/);
                      setState(datenpunkt+i,`[` + JSON.stringify(msg) +`]`, true/*ack*/);
                   msga.push(JSON.parse(JSON.stringify(msg)));           
                  }
                  setState(datenpunkt, JSON.stringify(msga) , true/*ack*/);
               });
            }
            
            function pikorequest(keys,callback) {
              //log('pikorequest');
              if (keys.length==0) {
                  //log('request error: No keys ');
                  return;     
              }
            
              var query = '';
            
              for (var i = 0; i < keys.length; i++) { 
                  query += '&dxsEntries=' + keys[i];
              }
            
              var req_url = 'http://' + domain + url + '?sessionid=iobroker' + query;
              //log ('query: '+req_url);
            
              request(
                  { method: 'GET',
                  uri: req_url,
                  }
              , function (error, response, body) {
                          //log('error: ' + error);
                          //log('Status: '+ response.statusCode);
                          //log('response: '+ JSON.stringify(response));
                          //response.body = '{"dxsEntries":[{"dxsId":234881792,"value":1},{"dxsId":234881537,"value":[207,217,88,94,63,16,2,0]},{"dxsId":234881538,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881539,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881540,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881541,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881542,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881543,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881544,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881545,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881546,"value":[0,0,0,0,0,0,0,0]}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}';
                          //response.statusCode = 200;
                          //error = false;
            
                      if (!error && response.statusCode == 200) {
                          //log('request ok: ');
                          //log('Status: '+ response.statusCode);
                          //log('response: '+ JSON.stringify(response));
                          callback(response.body);
                      } else {
                          log('request nok: ');
                          //log('Status: '+ response.statusCode);
                          //log('error: ' + error);
                      }
                  }
              );
            }
            function getResponseId(response,id) {
              return response.dxsEntries.find( item => item.dxsId === id );
            }
            function timeConverter(UNIX_timestamp){
            var a = new Date(UNIX_timestamp * 1000);
            var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
            var year = a.getFullYear();
            var month = months[a.getMonth()];
            var date = a.getDate();
            var hour = ('0'+a.getHours()).slice(-2);
            var min = ('0'+a.getMinutes()).slice(-2);
            var sec = ('0'+a.getSeconds()).slice(-2);
            var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
            return time;
            log (time);
            }
            schedule("* * * * *", getEvents);
            
            

            auch hier ist eine Variable url, die sollte aber definiert sein

            SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            @homoran
            Sieht nach dem 1. Skript aus, ich finde nirgends eine Definition von "url" die aber hier
            log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
            aufgerufen wird.
            Ändere es doch mal testweise auf
            log("Fehler: " + error + " bei Abfrage von: " , "warn");
            ab. Anscheinend klappt die Abfrage nicht immer "ETIMEDOUT".

            ...und jetzt habe ich gerade deinen Edit gelesen ;)

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            HomoranH 1 Antwort Letzte Antwort
            1
            • SBorgS SBorg

              @homoran
              Sieht nach dem 1. Skript aus, ich finde nirgends eine Definition von "url" die aber hier
              log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
              aufgerufen wird.
              Ändere es doch mal testweise auf
              log("Fehler: " + error + " bei Abfrage von: " , "warn");
              ab. Anscheinend klappt die Abfrage nicht immer "ETIMEDOUT".

              ...und jetzt habe ich gerade deinen Edit gelesen ;)

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #6

              @sborg sagte in Errormeldungen abfangen:

              ich finde nirgends eine Definition von "url"

              dann nehme ich "IPAnlage" statt "url"

              DANKE!

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              SBorgS 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @sborg sagte in Errormeldungen abfangen:

                ich finde nirgends eine Definition von "url"

                dann nehme ich "IPAnlage" statt "url"

                DANKE!

                SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #7

                @homoran
                Jupp, ist "global" definiert, funktioniert also auch innerhalb der "function". Ggf. würde ich vielleicht noch den Level von "warn" auf "info" runter setzen. Bei mir ist "warn" eigentlich eher die Bude brennt gerade ab ;)

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                HomoranH 1 Antwort Letzte Antwort
                1
                • SBorgS SBorg

                  @homoran
                  Jupp, ist "global" definiert, funktioniert also auch innerhalb der "function". Ggf. würde ich vielleicht noch den Level von "warn" auf "info" runter setzen. Bei mir ist "warn" eigentlich eher die Bude brennt gerade ab ;)

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #8

                  @sborg Danke nochmal.
                  WARN ist aber besser als ERROR 😀

                  ETIMEDOUT wird dann trotzdem 4x pro Millisekunde aufschlagen?
                  oder war das nur weil im else das url nicht definiert war?

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  SBorgS 1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @sborg Danke nochmal.
                    WARN ist aber besser als ERROR 😀

                    ETIMEDOUT wird dann trotzdem 4x pro Millisekunde aufschlagen?
                    oder war das nur weil im else das url nicht definiert war?

                    SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @homoran
                    Immer gerne.

                    Ja, da anscheinend deine Gegenstelle nicht immer zuverlässig antwortet. Da würde "try + catch" zwar helfen, behebt aber nicht das eigentliche Problem. Weißt du wie schnell der Trigger agiert? Nicht das er mit der einen Verarbeitung noch beschäftigt ist und schon der nächste ansteht. Abhilfe könnte dann "await" bringen. Damit wird das Skript angehalten bis die Verarbeitung der Funktion beendet ist.

                    LG SBorg ( SBorg auf GitHub)
                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      @homoran
                      Immer gerne.

                      Ja, da anscheinend deine Gegenstelle nicht immer zuverlässig antwortet. Da würde "try + catch" zwar helfen, behebt aber nicht das eigentliche Problem. Weißt du wie schnell der Trigger agiert? Nicht das er mit der einen Verarbeitung noch beschäftigt ist und schon der nächste ansteht. Abhilfe könnte dann "await" bringen. Damit wird das Skript angehalten bis die Verarbeitung der Funktion beendet ist.

                      HomoranH Nicht stören
                      HomoranH Nicht stören
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von Homoran
                      #10

                      @sborg sagte in Errormeldungen abfangen:

                      Weißt du wie schnell der Trigger agiert?

                      etwa alle 6 Sekunden.

                      @sborg sagte in Errormeldungen abfangen:

                      behebt aber nicht das eigentliche Problem.

                      wobei ich genau da die Ursache vermute. Möglicherweise stirbt ein Switch oder die Fritzbox oder die Netzwerkkarte vom NUC :(
                      Auch mein Slave hat einige Male am Tag das Problem sich mit der States DB des masters zu verbinden.
                      Allerdings erst nach der Updateorgie und damit verbundenen Verwendung von jsonl.

                      Hier kann es aber auch sein, dass zeitgleich das andere Skript auf die API zugreift.

                      Aber wie gesagt lief es in dieser Konstellation Jahre ohne eine einzige Meldung.

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      SBorgS 1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @sborg sagte in Errormeldungen abfangen:

                        Weißt du wie schnell der Trigger agiert?

                        etwa alle 6 Sekunden.

                        @sborg sagte in Errormeldungen abfangen:

                        behebt aber nicht das eigentliche Problem.

                        wobei ich genau da die Ursache vermute. Möglicherweise stirbt ein Switch oder die Fritzbox oder die Netzwerkkarte vom NUC :(
                        Auch mein Slave hat einige Male am Tag das Problem sich mit der States DB des masters zu verbinden.
                        Allerdings erst nach der Updateorgie und damit verbundenen Verwendung von jsonl.

                        Hier kann es aber auch sein, dass zeitgleich das andere Skript auf die API zugreift.

                        Aber wie gesagt lief es in dieser Konstellation Jahre ohne eine einzige Meldung.

                        SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @homoran sagte in Errormeldungen abfangen:

                        Aber wie gesagt lief es in dieser Konstellation Jahre ohne eine einzige Meldung.

                        Haben die Kunden zu meiner damaligen Zeit auch immer gesagt: komisch, gestern lief der Fernseher noch... :)

                        Pauschal können sich zwar die Skripte (oder eher die API des Gerätes) in die Quere kommen, da aber dein 2. Skript nur minütlich getriggert wird, dürfte dann immer mindestens eine Minute Ruhe sein und es nur "knallen" wenn dann beide zufällig zur vollen Minute mal darauf zugreifen.

                        Aktuell jetzt noch kein Thema, aber kannst du ev. den ein oder anderen verlorenen Datensatz verschmerzen?

                        Mal ein erster Timeout Test:

                        const axios = require('axios');
                        
                        (async () => {
                        
                          try {
                            const url = `http://192.168.138.103/api/dxs.json`;
                            console.log(`Sende GET-Anfrage an: ${url}`);
                            const response = await axios.get(url, {timeout: 1000});
                            console.log(`Antwort: `, response?.data?.message );
                            console.log('hier erfolgt Verarbeitung bei Antwort');
                          } catch(err) {
                            console.log(`Fehlermeldung : ${err.message} - `, err.code);
                          }
                          
                          console.log('...und weiter im Programm');
                        })();
                        

                        Lass ruhig alles andere weiterlaufen, der klopft damit nur mal kurz an. Timeout ist hier 1sek, er wartet also genau 1000ms auf eine Antwort bis er einen Fehler wirft.

                        14:33:17.284	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: Sende GET-Anfrage an: http://192.168.138.103/api/dxs.json
                        14:33:17.285	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                        14:33:18.286	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: Fehlermeldung : timeout of 1000ms exceeded -
                        14:33:18.287	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: ...und weiter im Programm
                        

                        Die Fehlermeldung mit dem "Timeout" solltest du also eigentlich nie sehen. Bei mir ist es klar, ich habe weder die IP noch die API ;)
                        So 5-10x starten und stoppen sollte eigentlich genügen. Kannst den Timeout auch mal testweise runter setzen. "Request" bspw. wartet überhaupt nicht. Anfrage --> keine Antwort = Fehler

                        Ist sowieso mal langsam Zeit vom deprecated request Abschied zu nehmen und umzustellen.

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • SBorgS SBorg

                          @homoran sagte in Errormeldungen abfangen:

                          Aber wie gesagt lief es in dieser Konstellation Jahre ohne eine einzige Meldung.

                          Haben die Kunden zu meiner damaligen Zeit auch immer gesagt: komisch, gestern lief der Fernseher noch... :)

                          Pauschal können sich zwar die Skripte (oder eher die API des Gerätes) in die Quere kommen, da aber dein 2. Skript nur minütlich getriggert wird, dürfte dann immer mindestens eine Minute Ruhe sein und es nur "knallen" wenn dann beide zufällig zur vollen Minute mal darauf zugreifen.

                          Aktuell jetzt noch kein Thema, aber kannst du ev. den ein oder anderen verlorenen Datensatz verschmerzen?

                          Mal ein erster Timeout Test:

                          const axios = require('axios');
                          
                          (async () => {
                          
                            try {
                              const url = `http://192.168.138.103/api/dxs.json`;
                              console.log(`Sende GET-Anfrage an: ${url}`);
                              const response = await axios.get(url, {timeout: 1000});
                              console.log(`Antwort: `, response?.data?.message );
                              console.log('hier erfolgt Verarbeitung bei Antwort');
                            } catch(err) {
                              console.log(`Fehlermeldung : ${err.message} - `, err.code);
                            }
                            
                            console.log('...und weiter im Programm');
                          })();
                          

                          Lass ruhig alles andere weiterlaufen, der klopft damit nur mal kurz an. Timeout ist hier 1sek, er wartet also genau 1000ms auf eine Antwort bis er einen Fehler wirft.

                          14:33:17.284	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: Sende GET-Anfrage an: http://192.168.138.103/api/dxs.json
                          14:33:17.285	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                          14:33:18.286	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: Fehlermeldung : timeout of 1000ms exceeded -
                          14:33:18.287	info	javascript.0 (3856837) script.js.common.Test.TMP.Skript_1: ...und weiter im Programm
                          

                          Die Fehlermeldung mit dem "Timeout" solltest du also eigentlich nie sehen. Bei mir ist es klar, ich habe weder die IP noch die API ;)
                          So 5-10x starten und stoppen sollte eigentlich genügen. Kannst den Timeout auch mal testweise runter setzen. "Request" bspw. wartet überhaupt nicht. Anfrage --> keine Antwort = Fehler

                          Ist sowieso mal langsam Zeit vom deprecated request Abschied zu nehmen und umzustellen.

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #12

                          @sborg Danke!

                          hab noch einmal neu gestartet und seit dem keine einzige Errormeldung bekommen. :aufHolzKlopf:

                          @sborg sagte in Errormeldungen abfangen:

                          und es nur "knallen" wenn dann beide zufällig zur vollen Minute mal darauf zugreifen.

                          so sah es für mich aus, zusätzlich auch nur zu bestimmten Zeiten, in denen möglicherweise iob oder die Netzwerkkarte noch mit anderen zeitgleichen Aufgaben beschäftigt war.

                          @sborg sagte in Errormeldungen abfangen:

                          Ist sowieso mal langsam Zeit vom deprecated request Abschied zu nehmen und umzustellen.

                          glaub ich dir gerne, aber....

                          @homoran sagte in Errormeldungen abfangen:

                          isch kann koi Jawa

                          und wie gestern in einem anderen Thread geschrieben ist es für C&P user nicht einfach mal eben "umzustellen"

                          Beide Skripte sind

                          @homoran sagte in Errormeldungen abfangen:

                          auch nicht von mir, sondern einem freundlichen Helfer

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @sborg Danke!

                            hab noch einmal neu gestartet und seit dem keine einzige Errormeldung bekommen. :aufHolzKlopf:

                            @sborg sagte in Errormeldungen abfangen:

                            und es nur "knallen" wenn dann beide zufällig zur vollen Minute mal darauf zugreifen.

                            so sah es für mich aus, zusätzlich auch nur zu bestimmten Zeiten, in denen möglicherweise iob oder die Netzwerkkarte noch mit anderen zeitgleichen Aufgaben beschäftigt war.

                            @sborg sagte in Errormeldungen abfangen:

                            Ist sowieso mal langsam Zeit vom deprecated request Abschied zu nehmen und umzustellen.

                            glaub ich dir gerne, aber....

                            @homoran sagte in Errormeldungen abfangen:

                            isch kann koi Jawa

                            und wie gestern in einem anderen Thread geschrieben ist es für C&P user nicht einfach mal eben "umzustellen"

                            Beide Skripte sind

                            @homoran sagte in Errormeldungen abfangen:

                            auch nicht von mir, sondern einem freundlichen Helfer

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von liv-in-sky
                            #13

                            @homoran hatte ich schon mal woanders erwähnt: es könnte sein, dass nach einem error eines scriptes und sogar nach dem stoppen des scriptes teile davon noch aktiv bleiben - sowas, wie ein zombie-script - startet man das script dann nochmal, läuft das parallel(doppelt/evtl. dreifach...) .
                            passiert das öfters, kann es schlimmer werden

                            BIS man den javascript adapter oder den iob neustartet - das könnte erklären, warum es jetzt erstmal keine fehler mehr gibt

                            is nur so eine vermutung und ein versuch zur erklärung

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            1
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            870

                            Online

                            32.4k

                            Benutzer

                            81.5k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe