Bon voilà où j'en suis, comme expliqué plus haut j'ai choisi de me servir du fichier csv crée dans l'historique et ça marche!!
Comme mon code le récupère à la volée, donc il est mis automatiquement à jour juste avant d'afficher le graphique. Voici mon code:
Code : Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="https://code.highcharts.com/highcharts.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var c = [];
var d = [];
var options = {
chart: {
renderTo: 'chart',
defaultSeriesType: 'line'
},
title: {
text: 'Humidité'
},
xAxis: {
title: {
text: 'Date Measurement'
},
categories: c
},
yAxis: {
min: 0,
max: 100,
title: {
text: 'Humidité'
}
},
series: [{
data: d
}]
};
var jqxhr = $.get('../../core/php/export.php?type=cmdHistory&id=2', function(data) {
var lines = data.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(';');
c.push(items[0]);
d.push(parseInt(items[1]));
})
var chart = new Highcharts.Chart(options);
});
});
$(document).ready(function() {
var c = [];
var d = [];
var options = {
chart: {
renderTo: 'chart2',
defaultSeriesType: 'line'
},
title: {
text: 'Température'
},
xAxis: {
title: {
text: 'Date Measurement'
},
categories: c
},
yAxis: {
title: {
text: 'Température'
}
},
series: [{
data: d
}]
};
var jqxhr = $.get('../../core/php/export.php?type=cmdHistory&id=1', function(data) {
var lines = data.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(';');
c.push(items[0]);
d.push(parseInt(items[1]));
})
var chart2 = new Highcharts.Chart(options);
});
});
</script>
</head>
<body>
<div id="chart" style="width: 800px; height: 400px; margin: 0 auto"></div>
<div id="chart2" style="width: 800px; height: 400px; margin: 0 auto"></div>
</body>
</html>
Code : Tout sélectionner
var jqxhr = $.get('../../core/php/export.php?type=cmdHistory&id=2'
1) mon code php pour Highchart n'est pas très propre et me fais l'erreur de "Token invalide" sur le mode design de Jeedom.
J'ai contourné ce problème provisoirement en créant un fichier php à la racine de jeedom grâce au plugin outils de développement et collé mon code dedans. On peux ensuite l'appeler dans design avec un iframe ou avec le plugin webview.
2) Je ne comprends pas trop pourquoi mais mon code ne m'affichent pas les décimales, je n'ai droit qu'aux unités. c'est la première fois que je fais des graphs à partir d'un csv et après plusieurs test, je n'arrive pas à les afficher. Je suis sûr que cela ne doit pas être grands choses. Si qqn de plus expert que moi pouvait y jeté un oeil.
voici comment se présente les données générés par Jeedom:
Code : Tout sélectionner
2018-04-26 11:05:00;24,55
2018-04-26 11:35:00;24,75
2018-04-26 11:45:00;24,8
En tout cas de cette manière, toutes les customisations Highcharts deviennent possible et fonctionnent parfaitement. J'en suis ravi, c'est exactement ce que je voulais faire.
J’espère arriver à corriger au moins le problème des décimales.
Je pense que ça pourras servir à certain.
Cordialement,
Bodom.