diff --git a/frontend/index.html b/frontend/index.html index 13af28a..12b13f4 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -84,10 +84,10 @@ Anzeigebereich: 1 Stunde - 1 Tag + 1 Tag 3 Tage 7 Tage - 1 Monat + 1 Monat 1 Jahr @@ -96,7 +96,7 @@ dynamisch Minute - Stunde + Stunde Tag Monat Jahr @@ -172,7 +172,7 @@ var data; var myWindowStart = 0; // windowEnd parameter for json server -var myWindowEnd = (new Date()).getTime(); +var myWindowEnd = getGroupedTimestamp((new Date()).getTime()); // windowGrouping for json server var windowGrouping = 0; @@ -225,7 +225,7 @@ function autoReload() { // call getData if autoReload checkbox is active if(f.autoReload.checked == true) { - myWindowEnd = (new Date()).getTime(); + myWindowEnd = getGroupedTimestamp((new Date()).getTime()); getData(); } } diff --git a/frontend/javascript/smartmeter.js b/frontend/javascript/smartmeter.js index 5b21716..4cab8af 100644 --- a/frontend/javascript/smartmeter.js +++ b/frontend/javascript/smartmeter.js @@ -25,16 +25,17 @@ function getEmptyGroupArray() { var empty_array = new Object(); var iterator = getGroupedTimestamp(myWindowStart); + //$('#debug').empty().append('start:'+myWindowStart+'end:'+myWindowEnd); if(myWindowStart < myWindowEnd && iterator < myWindowEnd) { - - + var i=0; while(iterator < myWindowEnd) { + i++; empty_array[iterator] = 0; var iteratorDate = new Date(iterator); - + //$('#debug').append('#'+i+':'+iteratorDate+''); switch(f.grouping.value) { case 'year': iteratorDate.setYear(iteratorDate.getYear()+1); @@ -54,6 +55,8 @@ function getEmptyGroupArray() { default: return empty_array; } + // very bad bug: infinity loop for summer winter change + if(i==750) return empty_array; iterator = iteratorDate.getTime(); } @@ -122,6 +125,7 @@ function getGroupedTimestamp(timestamp) { function raw2Energy(raw) { + var data_grouped_time = getEmptyGroupArray(); var data_grouped = new Array();