var urlParams = new URLSearchParams(window.location.search); var deveui = urlParams.get('deveui'); var start = urlParams.get('start'); var stop = urlParams.get('stop'); var lon = urlParams.get('lon'); var lat = urlParams.get('lat'); var map; var last_slider_position; if (start == null) { var dstart = moment({hour: 0}); var start = dstart.utc().format('YYYY-MM-DDTHH:mm:ss[Z]'); } if (stop == null) { var dstop = moment(); var stop = dstop.utc().format('YYYY-MM-DDTHH:mm:ss[Z]'); } var datapoints; function vbat2icon(level) { switch (level) { case 1: fa_battery_string = "fa-battery-empty"; icon_color = "has-text-danger"; break; case 2: fa_battery_string = "fa-battery-quarter"; icon_color = "has-text-warning"; break; case 3: fa_battery_string = "fa-battery-half"; icon_color = "has-text-info"; break; case 4: fa_battery_string = "fa-battery-three-quarters"; icon_color = "has-text-link"; break; case 5: fa_battery_string = "fa-battery-full"; icon_color = "has-text-success"; break; default: fa_battery_string = "fa-battery-slash"; icon_color = "has-text-danger"; } return ''; } function refreshDatapoints(deveui, start, stop) { range = "" range = range + "&start=" + start; range = range + "&stop=" + stop; $.getJSON('https://wo-bisch.ch/metrics?deveui=' + deveui + range, function(mydata) { if ("msg" in mydata) { if (mydata.msg.includes("expired")) { $('#chart').html(`
Abo ist abgelaufen
`); } else if (mydata.msg.includes("error:")) { $('#myselectors').hide(); $('#chart').html(`
Fehler im Aufruf
`); } else { location.reload(true); } return; } datapoints = mydata['data']; $('#datetimeslider').attr('max', datapoints.length - 1); $('#datetimeslider').val(datapoints.length - 1); last_slider_position = datapoints.length - 1; var unix_timestamp = datapoints[datapoints.length - 1][0]; var date = new Date(unix_timestamp * 1000); var myhtml = moment(date).format('DD.MM.YYYY HH:mm') + ' / ' + vbat2icon(datapoints[datapoints.length - 1][4]) + ' (' + datapoints[datapoints.length - 1][3] + ' mV)'; console.log(myhtml); $('#tooltiptext').html(myhtml); }); } var myfeature; $(document).ready(function() { var position = ol.proj.fromLonLat([lon, lat], "EPSG:2056"); var layer = ga.layer.create('ch.swisstopo.pixelkarte-farbe'); map = new ga.Map({ target: 'map', layers: [layer], view: new ol.View({ center: position, resolution: 20 }) }); // Create the layer with the icon myfeature = new ol.Feature({ geometry: new ol.geom.Point(position) }) var vectorLayer = new ol.layer.Vector({ source: new ol.source.Vector({ features: [myfeature] }), style: new ol.style.Style({ image: new ol.style.Icon({ anchor: [0.5, 1], anchorXUnits: 'fraction', anchorYUnits: 'fraction', src: '/static/images/marker.png' }) }) }); map.addLayer(vectorLayer); $('#reportrange span').html(moment(start).locale('de').format('D. MMM YYYY') + ' - ' + moment(stop).locale('de').format('D. MMM YYYY')); refreshDatapoints(deveui,start,stop); console.log("End of document ready..."); }); $(function() { var start = moment({hour: 0}); var end = moment(); var s_start = start.utc().format('YYYY-MM-DDTHH:mm:ss[Z]'); var s_end = end.utc().format('YYYY-MM-DDTHH:mm:ss[Z]'); console.log("XXX: "+start.format()); function cb(start, end) { $('#reportrange span').html(start.locale('de').format('D. MMM YYYY') + ' - ' + end.locale('de').format('D. MMM YYYY')); console.log("A new date selection was made: " + start.format() + ' to ' + end.format()); s_start = start.utc().format('YYYY-MM-DDTHH:mm:ss[Z]'); s_end = end.utc().format('YYYY-MM-DDTHH:mm:ss[Z]'); console.log("Start: " + s_start + ' End: ' + s_end); //drawGraph(deveui, alias, property, s_start,s_end, false); refreshDatapoints(deveui, s_start, s_end); } $('#reportrange').daterangepicker({ startDate: start.local(), endDate: end.local(), regional: [ "de" ], "locale": { format: 'DD.MM.YYYY', "separator": " - ", "applyLabel": "Anwenden", "cancelLabel": "Abbrechen", "fromLabel": "Von", "toLabel": "Bis", customRangeLabel: 'Benutzerdefiniert', "weekLabel": "W", "daysOfWeek": [ "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa" ], "monthNames": [ "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez" ], "firstDay": 1 }, ranges: { 'Heute': [moment(), moment()], 'Gestern': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 'Letzte 7 Tage': [moment().subtract(6, 'days'), moment()], 'Letzte 30 Tage': [moment().subtract(29, 'days'), moment()], 'Diesen Monat': [moment().startOf('month'), moment().endOf('month')], 'Letzten Monat': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] } }, cb); //cb(start, end); }); function updateSliderTooltip(c) { if (datapoints.length == 0) { return } if (c.value == last_slider_position) { // we don't do anything if slider position did not change... return } last_slider_position = c.value; console.log("Slider position changed..."); var unix_timestamp = datapoints[c.value][0]; var date = new Date(unix_timestamp * 1000); var myhtml = '

' + moment(date).format('DD.MM.YYYY HH:mm') + ' / ' + vbat2icon(datapoints[c.value][4]) + ' (' + datapoints[c.value][3] + ' mV)

'; $('#tooltiptext').html(myhtml); console.log(myhtml); var position = ol.proj.fromLonLat([datapoints[c.value][2], datapoints[c.value][1]], "EPSG:2056"); console.log(position); myfeature.setGeometry(new ol.geom.Point(position)); }