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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [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

            785
            Online

            32.0k
            Users

            80.5k
            Topics

            1.3m
            Posts

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