Les modules additionnels Netatmo étant un peu cher, j’ai décidé de me faire des petits modules maison avec un ESP8266 et des ds18b20/DHT11-22.

Bien sur, je n’ai pas envie de faire un truc tout moche, donc pour les graphiques je me suis penché sur Highstocks.

Alors d’entrée j’ai bloqué : on doit utiliser du Javascript et moi je sais pas en faire… Ça commence bien…

Alors j’ai essayé de comprendre quand même, mais l’import des données avec json.encode() dans le php m’a un peu saoulé car sur les démos de Highstocks, c’était pas encodé pareil… Du coup sauce maison !

Pour la partie base de donnée, il suffit de regarder mes tutos précédents pour alimenter la BDD avec les relevés Netamo.

1. Encodage des données pour Highstock :

En regardant les démos, j’ai vu que le format des données étaient du style :

Du coup, je me suis fait un fichier temperaturenetatmo.php qui quand je l’exécute m’affiche les données sous cette forme :

Quelques précisions :

Est la PREMIERE date de ma table (elle me permet de définir mes « null » quand il n’y a pas de données dans un intervalle de 30 minutes.

On remarque aussi que je multiplie toutes mes dates par 1000 : le temps en javascript prend en compte les milisecondes, on multiplie donc le timestamp php qui lui ne les prend pas.

Voici un extrait de la sortie :

La première partie est finie (j’y ai passé 3 jours quand même (en comptant le temps passé avec json.encode() ).

2. La partie Highstock :

Avant de vous dire le pourquoi du comment, voilà ce que je voulais obtenir :

chart

C’est là que la déprime a commencé… Heureusement que les démos sur Highstocks sont pas mal, je me suis inspiré de :

Et voilà mon code :