114 lines
3.0 KiB
HTML
114 lines
3.0 KiB
HTML
|
{% extends 'data/base.html' %}
|
||
|
{% block title %}Dashboard{% endblock %}
|
||
|
{% block body %}
|
||
|
<script>
|
||
|
document.addEventListener('DOMContentLoaded', function () {
|
||
|
Highcharts.setOptions({
|
||
|
time: {
|
||
|
timezone: 'Europe/Paris'
|
||
|
}
|
||
|
});
|
||
|
const chart = Highcharts.chart('container', {
|
||
|
chart: {
|
||
|
type: 'spline',
|
||
|
zoomType: 'x',
|
||
|
panning: true,
|
||
|
panKey: 'shift'
|
||
|
},
|
||
|
title: {
|
||
|
text: 'Brightness by time'
|
||
|
},
|
||
|
xAxis: {
|
||
|
title: {
|
||
|
text: 'Time'
|
||
|
},
|
||
|
type: 'datetime',
|
||
|
dateTimeLabelFormats: {
|
||
|
second: '%H:%M:%S',
|
||
|
minute: '%H:%M',
|
||
|
hour: '%H:%M',
|
||
|
day: '%e. %b',
|
||
|
month: '%Y %m',
|
||
|
year: '%Y',
|
||
|
},
|
||
|
},
|
||
|
yAxis: {
|
||
|
title: {
|
||
|
text: 'Brightness'
|
||
|
}
|
||
|
},
|
||
|
series: [
|
||
|
{% for d in data %}
|
||
|
{
|
||
|
name: '{{ d[0].device_id }}',
|
||
|
data: [
|
||
|
{% for item in d %}
|
||
|
[Date.parse('{{ item.created }} GMT +0000'), {{ item.data }}],
|
||
|
{% endfor %}
|
||
|
]},
|
||
|
{% endfor %}
|
||
|
]
|
||
|
});
|
||
|
const chart1 = Highcharts.chart('container1', {
|
||
|
chart: {
|
||
|
zoomType: 'x',
|
||
|
panning: true,
|
||
|
panKey: 'shift'
|
||
|
},
|
||
|
title: {
|
||
|
text: 'Button by time'
|
||
|
},
|
||
|
xAxis: {
|
||
|
title: {
|
||
|
text: 'Time'
|
||
|
},
|
||
|
type: 'datetime',
|
||
|
dateTimeLabelFormats: {
|
||
|
second: '%H:%M:%S',
|
||
|
minute: '%H:%M',
|
||
|
hour: '%H:%M',
|
||
|
day: '%e. %b',
|
||
|
month: '%Y %m',
|
||
|
year: '%Y',
|
||
|
},
|
||
|
},
|
||
|
yAxis: {
|
||
|
min: 0,
|
||
|
max: 1,
|
||
|
title: {
|
||
|
text: 'Button'
|
||
|
},
|
||
|
},
|
||
|
series: [
|
||
|
{% for d in data %}
|
||
|
{
|
||
|
name: '{{ d[0].device_id }}',
|
||
|
type: 'column',
|
||
|
data: [
|
||
|
{% for item in d %}
|
||
|
{% if item.sensor_type == "button" %}
|
||
|
[Date.parse('{{ item.created }} GMT +0000'), {{ item.data }}],
|
||
|
{% endif %}
|
||
|
{% endfor %}
|
||
|
]},
|
||
|
{% endfor %}
|
||
|
]
|
||
|
});
|
||
|
let d = new Date();
|
||
|
chart.xAxis[0].setExtremes(
|
||
|
Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 1),
|
||
|
Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes()));
|
||
|
chart.showResetZoom();
|
||
|
chart1.xAxis[0].setExtremes(
|
||
|
Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 1),
|
||
|
Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes()));
|
||
|
chart1.showResetZoom();
|
||
|
});
|
||
|
</script>
|
||
|
<div id="container" style="width:50%; height:400px;"></div>
|
||
|
<div id="container1" style="width:50%; height:400px;"></div>
|
||
|
{% for id, value in button_count.items() %}
|
||
|
<h3>Button {{ id }} was pressed: {{ value }} times.</h3>
|
||
|
{% endfor %}
|
||
|
{% endblock %}
|