1 var api_base_url = '/api/1/sensor/type/Wassertemperatur?mode=consolidated&format=c3';
3 var chart = c3.generate({
12 // url: '/data/', // redirects to /data/1
13 url: api_base_url + beginend(1),
16 '0316a2193bff': '0316a2193bff_x',
17 '0316a21383ff': '0316a21383ff_x'
20 '0316a2193bff': 'Wassertemperatur in 4 m Tiefe',
21 '0316a21383ff': 'Wassertemperatur in 5 m Tiefe'
23 xFormat: '%Y-%m-%d %H:%M:%S',
25 '0316a2193bff': 'lightblue',
26 '0316a21383ff': 'darkblue'
33 format: '%Y-%m-%d %H:%M',
35 multiline: true, // broken? so →
41 text: 'Temperatur in °C',
42 position: 'outer-middle'
45 format: function (d) {
53 onzoomend: function (domain) {
55 var start = domain[0].getTime()/1000;
56 var end = domain[1].getTime()/1000;
57 var duration = end - start;
58 // duration is now the diff of the "viewport in seconds"
60 var days = Math.round(duration / 86400 / 2);
68 name: function (name, ratio, id, index) {
70 var res = re.exec(name);
73 value: function (value, ratio, id, index) {
74 return value.toFixed(2) + '°';
84 {axis: 'y', start: -999, end: 0, class: 'region-frozen'},
85 {axis: 'y', start: 0, end: 25, class: 'region-ok'},
86 {axis: 'y', start: 25, end: 100, class: 'region-warm'},
87 {axis: 'y', start: 100, end: 999, class: 'region-boiling'}
91 function loaddays(days) {
93 // url: '/data/' + days,
94 url: api_base_url + beginend(days),
99 function beginend(days) {
100 var now = Date.now();
101 var end = new Date(now).toISOString().substr(0, 19); // 2018-06-13T16:52:30.995Z
102 var begin = new Date(now - days * 60*60*24 * 1000).toISOString().substr(0, 19);
103 return '&begin=' + begin + '&end=' + end;