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

                        838

                        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