const dataInputPath="0_userdata.0.vis.Wetter.Daten"; //SEHR WICHTIG !!!!!!!!! const inhaltFarbe="#c6c3b3"; const inhaltHintergrund="#415a77"; const monatFarbe="white"; const monatAktuellFarbe = "yellow"; const hintergrund="#1b263b"; const htmlFarbTableBorderColor="yellow"; const abstandZelle=6; const htmlRahmenLinien="all" const htmlSchriftgroessehtmlSchriftart="" //nicht verwendbar! const htmlFarbFelderschrift="red"; //nicht verwendbar! const htmlSchriftgroesse="16px"; const htmlSchriftart="Ubuntu-Light"; //"Ubuntu-Light"//"monospace"; //oder z.b. "Helvetica" const weite="auto"; //oder "500px" let myTable="table bordercolor=\""+htmlFarbTableBorderColor+"\" border=\"2px\" cellspacing=\""+abstandZelle+"\" cellpadding=\""+ abstandZelle+"\" width=\""+weite+"\" rules=\""+htmlRahmenLinien+"\" style=\"color:"+htmlFarbFelderschrift+"; font-size:"+ htmlSchriftgroesse+"; font-family:"+htmlSchriftart+";\""; const varData={ Tiefstwert: { einheit:"°C", name:"Min.Temperatur °C"}, Hoechstwert: { einheit:"°C", name:"Max.Temperatur °C"}, Durchschnitt: { einheit:"°C", name:"Max. Ø Temperatur °C"}, Max_Windboe: { einheit:'km/h', name:"Max Windböe km/h"}, Regenmenge_Tag: { einheit:'l/m2', name:"Regen l/m²"}, Schneehoehe: { einheit:'mm', name:"Schneehöhe mm"}, Sonnenscheindauer: { einheit:'', name:"Sonnenstunden Std:Min"}, SonnenEnergie: { einheit:'Wh/m²', name:"Solarenergie Wh/m²"} } const monate = ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]; const monatnummer = ['01', '02', '03', '04', '05','06','07','08','09','10','11','12']; //--------------------------nix mehr ändern ab hier-------------------------------------- let myObj; let myArrAll=[] let myArrErstellt=[] let tableContent; let monWahlVIS; let lastThree; let aktJahr = new Date().getFullYear(); let aktMonat = new Date().getMonth() + 1; let max_wert = []; let monatText = monatnummer[new Date().getMonth()]; let wert_min = 99; let wert_max = -99; //---------------------------------------------------------------------------------------- function TageMonat() { let myArrAll=[]; let helper = JSON.parse(getState('0_userdata.0.vis.Wetter.Daten.' + aktJahr + '.TageMonat.' + monatText).val); myArrAll.push(JSON.stringify(helper)); tableContent = "" myObj=JSON.parse(myArrAll.toString()) //KOPFZEILE let test = monate[aktMonat - 1]; let ausgabe = ''; for (let y = 0; y < test.length; y ++) { ausgabe = ausgabe + test[y] + ` `; } tableContent += ''+ausgabe+'Wetterwerte' for (let i=0; i < myObj.length; i++) { let tag = i + 1; let farbe = monatFarbe; tableContent += ''+tag+''; }; tableContent=""+tableContent+"" let testFarbe = inhaltHintergrund; //Beginn Min Max Werte let wert; max_wert = []; let x = 0; for(var index in varData) { wert_min = 99.0; wert_max = -99.0; for (let i = 0; i < myObj.length; i++) { if (x == 0) { //Tiefstwert if (wert_min > myObj[i][index]) { wert_min = myObj[i][index] wert = wert_min; }; } else { if (myObj[i][index] > wert_max) { wert_max = myObj[i][index] wert = wert_max; }; }; }; max_wert.push(wert); x ++; }; //Ende Min Max Werte x = 0; for(let index in varData) { tableContent+=''+varData[index].name+''; for (let i = 0; i < myObj.length; i++) { let ausgabe; ausgabe = parseFloat(myObj[i][index]).toFixed(1); let ausrichtung = 'right' //Nur wenn Wert nicht Temperatur ist und der Wert = 0 dann ausgabe "-" if ((varData[index].einheit != '°C') && (myObj[i][index] == 0)) { ausgabe = "-"; ausrichtung = 'center'; }; let inhaltFarbeKenn = inhaltFarbe; if (varData[index].name == 'Sonnenstunden Std:Min' ) { if (myObj[i][index] > 0 ) { ausgabe = minuteToStdMin(myObj[i][index]); }; }; if (myObj[i][index] == max_wert[x]) {inhaltFarbeKenn = 'yellow'}; tableContent += '' tableContent += ausgabe + '' }; tableContent=""+tableContent+"" if (testFarbe == inhaltHintergrund) { testFarbe = '#1b263b'; } else { testFarbe = inhaltHintergrund; }; x ++; }; tableContent = '<'+myTable+' >'+tableContent+'' setState("0_userdata.0.vis.Wetter.Daten.tempDaten.Tabelle_Tage_Monat",tableContent) }; function minuteToStdMin(minute) { let stunde = ''; let ausgabe = '-'; let tmpStd = parseInt(minute / 60); let tmpMin = minute - (tmpStd * 60); if (tmpStd < 10) { stunde = '0' + tmpStd.toString(); } else { stunde = tmpStd.toString(); }; if (tmpMin < 10) { minute = '0' + tmpMin.toString(); } else { minute = tmpMin.toString(); }; return stunde + ':' + minute; }; on({id: '0_userdata.0.vis.Wetter.Auswahl_Monat'}, function (obj) { if (obj.state.val > 0) { aktJahr = getState('0_userdata.0.vis.Wetter.Auswahl_Jahr').val; aktMonat = getState('0_userdata.0.vis.Wetter.Auswahl_Monat').val; monatText = monatnummer[aktMonat-1]; if (existsState('0_userdata.0.vis.Wetter.Daten.' + aktJahr + '.TageMonat.' + monatText)) { wert_min = 99; wert_max = -99; TageMonat(); }; }; });