Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JSON wird in "vis-inventwo - JSON Table" falsch dargestellt

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JSON wird in "vis-inventwo - JSON Table" falsch dargestellt

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

      Guten Morgen zusammen,

      mit folgendem Skript erstelle ich einen JSON-DP:

      let smonat = '0';
      let jsonNeuTage;
      const monatnummer = ['01', '02', '03', '04', '05','06','07','08','09','10','11','12'];
      const spalte1 = ['Werte/Tag', "Min Tag °C", "Max Tag °C", "Ø Tag °C", "Böe km/h", "Ragen l/m²", "Sonne Std", "Schnee mm"];
      let dpAusgabe = "0_userdata.0.vis.Wetter.Statistik.";
      let tabelle = [];
      let dp = "";
      
      aktTage();
      
      async function aktTage() {
      
          for (let jahr = 2010; jahr < 2023; jahr ++) {
      
              let smonat = '';
      
              for (let monat = 0; monat < 12; monat ++) {
      
                  //await sleep (50);
      
                  smonat = monatnummer[monat];
      
                  dp = "0_userdata.0.vis.Wetter.Statistik." + jahr.toString() + ".MonatTage.Json" + smonat;
      
                  if (!(existsState(dp))) {erstellePfad(dp)};
      
                  let jsonAktTage = JSON.parse((await getStateAsync('0_userdata.0.vis.Wetter.Statistik.' + jahr + '.MonatTage.' + smonat)).val);
      
                  let tage = jsonAktTage.length;
                  let schleife = 8;
      
                  tabelle[0] = "[{";            
      
                  //Titelzeile
                  tabelle[0] += '"Werte/Tage": "",';
                  for(let i = 1; i <= tage; i ++) {
                      let name =  " " + i.toString()
                      tabelle[0] += '"' + name +'": ' + '""';
                      if (i < tage) { tabelle[0] += ','};
                  };
                  tabelle[0] += "}";
                  let y = 0;
                  for (y = 1; y < schleife; y ++) {
                      
                      let ausgabe = '" "';
      
                      tabelle[y] = "{" + "\n" + '"Werte/Tage": "' + spalte1[y] + '",';
                      
                      for(let i = 1; i <= tage; i ++) {
                          ausgabe = '" "';
                          let name = "T" + i.toString()
                          if (y === 1) {
                              tabelle[y] += '"' + name +'": ' + jsonAktTage[i-1].Min_Tag.toString();
                          } else if (y === 2) {
                              tabelle[y] += '"' + name +'": ' + jsonAktTage[i-1].Max_Tag.toString();
                          } else if (y === 3) {
                              tabelle[y] += '"' + name +'": ' + jsonAktTage[i-1].Durchschnitt_Tag.toString();
                          } else if (y === 4) {
                              tabelle[y] += '"' + name +'": ' + jsonAktTage[i-1].Windboe.toString();
                          } else if (y === 5) {
                              if (jsonAktTage[i-1].Regen_Tag > 0) {
                                  ausgabe = jsonAktTage[i-1].Regen_Tag.toString();
                              }
                              tabelle[y] += '"' + name +'": ' + ausgabe; 
                          } else if (y === 6) {
                              if (jsonAktTage[i-1].Sonne_Tag > 0) {
                                  ausgabe = jsonAktTage[i-1].Sonne_Tag.toString();
                              }
                              tabelle[y] += '"' + name +'": ' + ausgabe; 
                          } else if (y === 7) {
                              if (jsonAktTage[i-1].Schneehoehe > 0) {
                                  ausgabe = jsonAktTage[i-1].Schneehoehe.toString();
                              }
                              tabelle[y] += '"' + name +'": ' + ausgabe; 
                          };
                          if (i < tage) { tabelle[y] += ','};
                      };
      
                      tabelle[y] += '}';
      
                  };
      
                 tabelle[y-1] += "]";
      
                  await setStateAsync(dp,JSON.parse(JSON.stringify(tabelle)));
                  tabelle = [];
      
              };
              
              
          };
      
          log("fertig")
      };
      
      async function erstellePfad(dp) {
      
         await createStateAsync(dp,          null,   { name: "Daten für Januar",                            type: "json", role: "state"});
      };
      

      So sieht der JSON-DP aus:

      [{"Werte/Tage": ""," 1": ""," 2": ""," 3": ""," 4": ""," 5": ""," 6": ""," 7": ""," 8": ""," 9": ""," 10": ""," 11": ""," 12": ""," 13": ""," 14": ""," 15": ""," 16": ""," 17": ""," 18": ""," 19": ""," 20": ""," 21": ""," 22": ""," 23": ""," 24": ""," 25": ""," 26": ""," 27": ""," 28": ""," 29": ""," 30": ""," 31": ""},{
      "Werte/Tage": "Min Tag °C","T1": 9.7,"T2": 8.7,"T3": 5.4,"T4": 4.5,"T5": 6.5,"T6": 6.1,"T7": 4.7,"T8": 4.8,"T9": 2.3,"T10": 8.1,"T11": 8.8,"T12": 8.5,"T13": 7.8,"T14": 5.8,"T15": 3.9,"T16": 4.1,"T17": 5.1,"T18": 2.7,"T19": 1.8,"T20": 5.6,"T21": 8.2,"T22": 6,"T23": 6.2,"T24": 5.9,"T25": 9.4,"T26": 10.3,"T27": 10.7,"T28": 10.6,"T29": 8,"T30": 9.6,"T31": 5.6},{
      "Werte/Tage": "Max Tag °C","T1": 17,"T2": 14.5,"T3": 11.5,"T4": 10.7,"T5": 9.2,"T6": 12.8,"T7": 9,"T8": 14.9,"T9": 17.4,"T10": 14.7,"T11": 19.6,"T12": 15.8,"T13": 14.2,"T14": 8.8,"T15": 8.8,"T16": 10.3,"T17": 14.1,"T18": 8.9,"T19": 6.8,"T20": 10.5,"T21": 15.5,"T22": 19.2,"T23": 19.8,"T24": 22.1,"T25": 22.3,"T26": 18.5,"T27": 14.8,"T28": 19.7,"T29": 18.6,"T30": 15.8,"T31": 11.6},{
      "Werte/Tage": "Ø Tag °C","T1": 12.7,"T2": 11,"T3": 9.1,"T4": 8.2,"T5": 7.7,"T6": 9.1,"T7": 6.7,"T8": 9.8,"T9": 10.9,"T10": 10.5,"T11": 14.3,"T12": 11.8,"T13": 10.7,"T14": 7.1,"T15": 6.3,"T16": 7,"T17": 9.8,"T18": 6.9,"T19": 4.9,"T20": 8.1,"T21": 11.6,"T22": 12.7,"T23": 13.5,"T24": 15.2,"T25": 15.4,"T26": 13.6,"T27": 12.9,"T28": 13.5,"T29": 13.6,"T30": 11.9,"T31": 8.5},{
      "Werte/Tage": "Böe km/h","T1": 22.3,"T2": 27,"T3": 22.7,"T4": 42.8,"T5": 54,"T6": 39.2,"T7": 28.4,"T8": 22,"T9": 29.5,"T10": 14.4,"T11": 52.2,"T12": 22.7,"T13": 37.4,"T14": 27.4,"T15": 35.3,"T16": 40.7,"T17": 50.8,"T18": 36.4,"T19": 34.6,"T20": 15.1,"T21": 39.2,"T22": 42.1,"T23": 29.5,"T24": 42.8,"T25": 42.8,"T26": 27.4,"T27": 19.1,"T28": 41.4,"T29": 34.2,"T30": 33.1,"T31": 44.6},{
      "Werte/Tage": "Ragen l/m²","T1": 8.4,"T2": 8.2,"T3": 2.6,"T4": 2.6,"T5": " ","T6": 4.7,"T7": " ","T8": " ","T9": 3.1,"T10": 2.6,"T11": 0.1,"T12": " ","T13": 5.6,"T14": 7.6,"T15": " ","T16": " ","T17": 0.4,"T18": 1.6,"T19": 4.2,"T20": 0.1,"T21": 0.5,"T22": 0.4,"T23": " ","T24": " ","T25": 11.9,"T26": 7.3,"T27": 12.1,"T28": 3.1,"T29": 6.3,"T30": 12.8,"T31": 8.6},{
      "Werte/Tage": "Sonne Std","T1": 174,"T2": 6,"T3": " ","T4": " ","T5": 36,"T6": 24,"T7": 18,"T8": 222,"T9": 510,"T10": 36,"T11": 540,"T12": 90,"T13": 48,"T14": " ","T15": " ","T16": 66,"T17": 258,"T18": 54,"T19": 24,"T20": " ","T21": 102,"T22": 282,"T23": 432,"T24": 540,"T25": 426,"T26": 90,"T27": 18,"T28": 246,"T29": 408,"T30": 90,"T31": 132},{
      "Werte/Tage": "Schnee mm","T1": " ","T2": " ","T3": " ","T4": " ","T5": " ","T6": " ","T7": " ","T8": " ","T9": " ","T10": " ","T11": " ","T12": " ","T13": " ","T14": " ","T15": " ","T16": " ","T17": " ","T18": " ","T19": " ","T20": " ","T21": " ","T22": " ","T23": " ","T24": " ","T25": " ","T26": " ","T27": " ","T28": " ","T29": " ","T30": " ","T31": " "}]
      

      und so die Tabelle:

      falschjson.png

      Wenn ich den JSON-DP ändere:

      [
       {"Werte/Tage": ""," 1": ""," 2": ""," 3": ""," 4": ""," 5": ""," 6": ""," 7": ""," 8": ""," 9": ""," 10": ""," 11": ""," 12": ""," 13": ""," 14": ""," 15": ""," 16": ""," 17": ""," 18": ""," 19": ""," 20": ""," 21": ""," 22": ""," 23": ""," 24": ""," 25": ""," 26": ""," 27": ""," 28": ""," 29": ""," 30": ""," 31": ""},{
      "Werte/Tage": "Min Tag °C","T1": 9.7,"T2": 8.7,"T3": 5.4,"T4": 4.5,"T5": 6.5,"T6": 6.1,"T7": 4.7,"T8": 4.8,"T9": 2.3,"T10": 8.1,"T11": 8.8,"T12": 8.5,"T13": 7.8,"T14": 5.8,"T15": 3.9,"T16": 4.1,"T17": 5.1,"T18": 2.7,"T19": 1.8,"T20": 5.6,"T21": 8.2,"T22": 6,"T23": 6.2,"T24": 5.9,"T25": 9.4,"T26": 10.3,"T27": 10.7,"T28": 10.6,"T29": 8,"T30": 9.6,"T31": 5.6},{
      "Werte/Tage": "Max Tag °C","T1": 17,"T2": 14.5,"T3": 11.5,"T4": 10.7,"T5": 9.2,"T6": 12.8,"T7": 9,"T8": 14.9,"T9": 17.4,"T10": 14.7,"T11": 19.6,"T12": 15.8,"T13": 14.2,"T14": 8.8,"T15": 8.8,"T16": 10.3,"T17": 14.1,"T18": 8.9,"T19": 6.8,"T20": 10.5,"T21": 15.5,"T22": 19.2,"T23": 19.8,"T24": 22.1,"T25": 22.3,"T26": 18.5,"T27": 14.8,"T28": 19.7,"T29": 18.6,"T30": 15.8,"T31": 11.6},{
      "Werte/Tage": "Ø Tag °C","T1": 12.7,"T2": 11,"T3": 9.1,"T4": 8.2,"T5": 7.7,"T6": 9.1,"T7": 6.7,"T8": 9.8,"T9": 10.9,"T10": 10.5,"T11": 14.3,"T12": 11.8,"T13": 10.7,"T14": 7.1,"T15": 6.3,"T16": 7,"T17": 9.8,"T18": 6.9,"T19": 4.9,"T20": 8.1,"T21": 11.6,"T22": 12.7,"T23": 13.5,"T24": 15.2,"T25": 15.4,"T26": 13.6,"T27": 12.9,"T28": 13.5,"T29": 13.6,"T30": 11.9,"T31": 8.5},{
      "Werte/Tage": "Böe km/h","T1": 22.3,"T2": 27,"T3": 22.7,"T4": 42.8,"T5": 54,"T6": 39.2,"T7": 28.4,"T8": 22,"T9": 29.5,"T10": 14.4,"T11": 52.2,"T12": 22.7,"T13": 37.4,"T14": 27.4,"T15": 35.3,"T16": 40.7,"T17": 50.8,"T18": 36.4,"T19": 34.6,"T20": 15.1,"T21": 39.2,"T22": 42.1,"T23": 29.5,"T24": 42.8,"T25": 42.8,"T26": 27.4,"T27": 19.1,"T28": 41.4,"T29": 34.2,"T30": 33.1,"T31": 44.6},{
      "Werte/Tage": "Ragen l/m²","T1": 8.4,"T2": 8.2,"T3": 2.6,"T4": 2.6,"T5": " ","T6": 4.7,"T7": " ","T8": " ","T9": 3.1,"T10": 2.6,"T11": 0.1,"T12": " ","T13": 5.6,"T14": 7.6,"T15": " ","T16": " ","T17": 0.4,"T18": 1.6,"T19": 4.2,"T20": 0.1,"T21": 0.5,"T22": 0.4,"T23": " ","T24": " ","T25": 11.9,"T26": 7.3,"T27": 12.1,"T28": 3.1,"T29": 6.3,"T30": 12.8,"T31": 8.6},{
      "Werte/Tage": "Sonne Std","T1": 174,"T2": 6,"T3": " ","T4": " ","T5": 36,"T6": 24,"T7": 18,"T8": 222,"T9": 510,"T10": 36,"T11": 540,"T12": 90,"T13": 48,"T14": " ","T15": " ","T16": 66,"T17": 258,"T18": 54,"T19": 24,"T20": " ","T21": 102,"T22": 282,"T23": 432,"T24": 540,"T25": 426,"T26": 90,"T27": 18,"T28": 246,"T29": 408,"T30": 90,"T31": 132},{
      "Werte/Tage": "Schnee mm","T1": " ","T2": " ","T3": " ","T4": " ","T5": " ","T6": " ","T7": " ","T8": " ","T9": " ","T10": " ","T11": " ","T12": " ","T13": " ","T14": " ","T15": " ","T16": " ","T17": " ","T18": " ","T19": " ","T20": " ","T21": " ","T22": " ","T23": " ","T24": " ","T25": " ","T26": " ","T27": " ","T28": " ","T29": " ","T30": " ","T31": " "}]
      

      hier nur am Anfang nach "[" ein Return einfüge, funktioniert die Tabelle:

      richtigjson.png

      Die Änderung im JSON-DP kann irgendwo erfolgen, es funktioniert dann immer.

      Was ist mein Problem?

      Vielen Dank für die Hilfe.

      MfG
      Wastl

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @Langer last edited by

        @langer sagte in JSON wird in "vis-inventwo - JSON Table" falsch dargestellt:

        Am json ist nix falsch
        https://jsonlint.com/

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

        Support us

        ioBroker
        Community Adapters
        Donate

        904
        Online

        31.7k
        Users

        79.8k
        Topics

        1.3m
        Posts

        javascript
        2
        2
        130
        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