+
+function beginend(days) {
+ var now = Date.now();
+
+ // TODO: this timezone calculation relies on the browser being in Europe/Vienna
+ var refdate = new Date(now);
+ var offset = refdate.getTimezoneOffset(); // -120 for UTC+2
+
+ var end = new Date(now - offset * 60 * 1000).toISOString().substr(0, 19); // 2018-06-13T16:52:30.995Z
+ var begin = new Date(now - days * 60*60*24 * 1000 - offset * 60 * 1000).toISOString().substr(0, 19);
+ return '&begin=' + begin + '&end=' + end;
+}
+
+function getwidth(element) {
+ return document.getElementById(element).parentElement.clientWidth * 80 / 100;
+}
+
+dayschart('chart_water_1', 'Der See (Tag)', 1, '%H:%M');
+dayschart('chart_water_7', 'Der See (Woche)', 7, '%a %d');
+dayschart('chart_water_31', 'Der See (Monat)', 31, '%Y-%m-%d');
+dayschart('chart_water_365', 'Der See (Jahr)', 365, '%b %Y');
+
+dayschart('chart_air_1', 'Die Luft (Tag)', 1, '%H:%M');
+dayschart('chart_air_7', 'Die Luft (Woche)', 7, '%a %d');
+dayschart('chart_air_31', 'Die Luft (Monat)', 31, '%Y-%m-%d');
+dayschart('chart_air_365', 'Die Luft (Jahr)', 365, '%b %Y');
+
+// reload current values
+setInterval(
+ function() {
+ var airvalue = document.getElementById('currentairvalue');
+ var airtime = document.getElementById('currentairtime');
+ var watervalue = document.getElementById('currentwatervalue');
+ var watertime = document.getElementById('currentwatertime');
+ fetch(api_url_currentair)
+ .then((resp) => resp.json())
+ .then(function(data) {
+ airvalue.innerText = data['value'].toFixed(1);
+ airtime.innerText = strftime('%Y-%m-%d H:%M', data['timestamp']);
+ })
+ .catch(function(error) {
+ // handle error
+ });
+ fetch(api_url_currentwater)
+ .then((resp) => resp.json())
+ .then(function(data) {
+ watervalue.innerText = data['value'].toFixed(1);
+ watertime.innerText = strftime('%Y-%m-%d H:%M', data['timestamp']);
+ })
+ .catch(function(error) {
+ // handle error
+ });
+ },
+ refresh_interval
+);