Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [erledigt] Fehlermeldungen für replace-Befehl im Skript

    NEWS

    • js-controller 3.2 jetzt im STABLE!

    • Alexa2 Adapter: ACHTUNG UPDATE auf 3.7.x nötig!!

    • ioBroker Fertigimages für Einplatinencomputer eingestellt

    [erledigt] Fehlermeldungen für replace-Befehl im Skript

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

      Hallo,

      ich erhalte seit Kurzem im Log für das folgende Skript zahlreiche Fehlermeldungen in Verbindung mit dem replace-Befehl.

      `var path    = "viessmann.0.get.Vito"; // Pfad der String-Datenpunkte aus "list"
      var idTable = "vis.getVitoTimerTable"; // Pfad des Datenpunkts für das vis-Json
      
      // Datenpunkte anlegen
      createState(idTable, "", {
        name: 'vis.getVitoTimerTable',
        desc: 'Vitotronic Timer-Tabelle als Json-Objekt',
        type: 'string',
        unit: '',
        role: 'value'
      });
      
      var list = ['TimerMoHeizen','TimerDiHeizen','TimerMiHeizen','TimerDoHeizen','TimerFrHeizen','TimerSaHeizen','TimerSoHeizen',
                  'TimerMoWW','TimerDiWW','TimerMiWW','TimerDoWW','TimerFrWW','TimerSaWW','TimerSoWW',
                  'TimerMoPumpeZirku','TimerDiPumpeZirku','TimerMiPumpeZirku','TimerDoPumpeZirku','TimerFrPumpeZirku','TimerSaPumpeZirku','TimerSoPumpeZirku'];
      
      function strToJson(str,dayIndex){
        str = str.split(/\d:An:| Aus:|#/);
        var table = [];
        var no = 1;
      
        for(i=0; i<7; i=i+2){
          table.push({
            "Nr"        : no++,
            "Heizen_an" : str[i+0].replace(" ",""),
            "Heizen_aus": str[i+1].replace(" ",""),
            "WW_an"     : str[i+8].replace(" ",""),
            "WW_aus"    : str[i+9].replace(" ",""),
            "Pumpe_an"  : str[i+16].replace(" ",""),
            "Pumpe_aus" : str[i+17].replace(" ",""),
          });
        }
        return table;
      }
      
      function buildBigStr(i){
        var str = getState(path+list[i]).val.replace("1:An:","")+"#" 
                  +getState(path+list[i+7]).val.replace("1:An:","")+"#"
                  +getState(path+list[i+14]).val.replace("1:An:","");
        return str;
      }
      
      function rowsJson() {
        table = [];
        for (j=0; j<7; j++) {
          table = table.concat(strToJson(buildBigStr(j),j,0,6));
        }
        return table;
      }
      
      function main(){
        var str = JSON.stringify(rowsJson()); 
        //log("Output: "+str);  
        setState(idTable, str);
      }
      
      var trigger = new RegExp(path+"Timer.+");
      on({id:trigger, change:'ne'}, function(){
        main();
      });`
      
       ![996_2018-05-10_09h53_59.png](/assets/uploads/files/996_2018-05-10_09h53_59.png) 
      
      Kann mir jemand einen Tipp geben, wie diese Fehlermeldungen vermeiden kann?
      
      Was wurde da denn schon wieder im Hintergrund geändert, dass die Meldungen erst seit Kurzem erscheinen?
      
      Gruß,
      
      Thorsten[/i]
      
      1 Reply Last reply Reply Quote 0
      • D
        dtp last edited by

        Hat sich erledigt. Es lag am viessmann-Adapter, der einige Werte nicht korrekt eingelesen hatte. Hab ihn neu installiert und konfiguriert. Nun ist alles wieder gut.

        Gruß,

        Thorsten

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

          Hi,

          Ich empfehle dir trotzdem bei solchen Sachen ein try…catch statement einzubauen.

          Gerade im Bereich json passiert das schnell, das ein Fehler aufgetreten kann. Mit dem Anfängen des Fehler verhindert du einen Neustart der js Instanz.

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

            @dtp:

            Hat sich erledigt. Es lag am viessmann-Adapter `
            Dann markiere bitte das Thema als [erledigt] im Betreff des ersten Beitrags.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            630
            Online

            38.7k
            Users

            44.1k
            Topics

            616.7k
            Posts

            3
            4
            410
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2021
            logo