Page 1 of 3

Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 09:21
by mikebzh44
Bonjour.

Je viens d'acquérir ce thermostat dans le but de piloter mon poêle à pelle qui devrait être installé dans le courant du mois de janvier.

En attendant, je me familiarise avec ce thermostat et j'ai mis en place un script PHP qui va relever la T° de la sonde toutes les 5 minutes.

Cette T° est stockée sur une base MySQL sur mon NAS avec les autres T° relevées par mes sondes DS18B20 connectées à mon Raspberry Pi.

Mais quand je regarde le graphique des données issues de ce relevé automatique :

Image

Et que je le compare au relevé dispo sur le site Internet Netatmo :

Image

Je n'ai clairement pas les mêmes relevés.

Exemple :

06:55 Netatmo : 19,8° / MySQL : 19,7°
07:05 Netatmo : 19,7° / MySQL : 19,7°
07:15 Netatmo : 19,8° / MySQL : 19,7°
07:25 Netatmo : 19,9° / MySQL : 19,7°
07:35 Netatmo : 20,0° / MySQL : 19,7°
07:45 Netatmo : 20,0° / MySQL : 19,7°
07:55 Netatmo : 20,0° / MySQL : 20,0°
08:05 Netatmo : 20,0° / MySQL : 20,0°
08:15 Netatmo : 19,9° / MySQL : 20,0°

Pourquoi une telle différence ?

J'ai l'impression que l'API requête des données qui ne sont pas mises à jour toutes les 10 minutes.

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 09:59
by Pat
Bonjour,

J'ai fait le même constat avec mon thermostat, la remontée des infos à l'aide de l'API sur ma box domotique est plus qu'aléatoire, cela peut prendre parfois au moins 30 minutes (hier, absence de mesures pendant 1h15min.) pour avoir une remontée des changements de valeurs. C'est peu pratique et manque de précision, il est, par exemple, impossible de gérer le temps de demande de marche de la chaudière à l'aide de l'API (la chaudière pouvant fonctionner sans que l'API remonte l'information).

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 10:07
by mikebzh44
Dommage, je crois qu'il va falloir que je passe par une solution autonome (Arduino + sonde T°) pour monitorer la T° dans le salon/séjour alors :(

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 10:40
by Brieuc_Netatmo
Bonjour,
Quelle requête faites-vous exactement à l'API pour obtenir ces données ?

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 10:59
by mikebzh44
Je me suis basé sur un exemple de code :

www(point)ituilerie(point)com/?p=3301

mais je ne récupère que la valeur du thermostat 1 car je n'en ai pas d'autres.

Mais je vois que le code utilise la fonction getthermstate alors que dans votre doc, c'est la fonction getthermostatsdata qui est documentée.

Il faudra que je teste avec cette fonction getthermostatsdata pour voir si cela change quelque chose.

PS : C'est un peu lourd cette interdiction de poster des URLs dans les messages, ça ne facilite pas la compréhension :p

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 17:29
by Brieuc_Netatmo
Merci pour ces précisions.
Toutefois, cela reste difficile à comprendre.
Pourriez-vous nous donner un exemple précis ?
Quelle requête donne quel résultat ? Qu'est-ce qui est affiché sur la web app au même instant ?
Merci par avance.

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 18:11
by mikebzh44
Je viens de modifier le code PHP pour utiliser la fonction getthermostatsdata.

On verra d'ici demain matin comment les relevés vont évoluer par rapport aux relevés disponibles sur le site web netatmo.

Evidemment, à 18:08, le site web indique bien 19.5° et la requête PHP retourne bien cette T°.

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 20:09
by Pat
@Brieuc_Netatmo

J'utilise le code php standard fourni avec la box eedomus (script version 1 du 14/11/2014) avec une requête toutes les 5 minutes. Le problème est assez ancien...

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 20:49
by mikebzh44
Voilà l'écart entre un relevé toutes les 5 minutes via le script PHP utilisant la fonction getthermostatsdata (2ème colonne) et le relevé graphique fourni par l'interface Web (1ère colonne)

Code: Select all

Heure | www  | PHP  |
20:31 | 20.3 | 20.3 |
20:26 | 20.3 | 20.3 |
20:15 | 20.3 | 20.0 |
20:05 | 20.2 | 20.0 |
19:55 | 20.1 | 20.0 |
19:46 | 20.1 | 20.0 |
19:36 | 20.0 | 20.0 |
19:25 | 20.0 | 20.0 |
19:15 | 20.0 | 19.6 |
19:05 | 19.9 | 19.6 |
18:56 | 19.8 | 19.6 |
18:46 | 19.7 | 19.6 |
18:35 | 19.6 | 19.6 |
18:25 | 19.6 | 19.5 |
18:16 | 19.6 | 19.5 |
18:08 | 19.5 | 19.5 |
Donc on dirait que le site web n'est pas mis à jour toutes les 10 minutes et donc la requête PHP récupère la dernière T° connue. Et de temps en temps, le site est mis à jour avec une reprise d'historique et là, la requête retourne une nouvelle valeur jusqu'à la prochaine mise à jour.

Exemple, à 18:35, le thermostat envoie ses valeurs au site, et la T° courante est de 19.6°. Jusqu'après 19:15, le site n'a pas été mis à jour donc la requête PHP retourne toujours la dernière valeur connue, à savoir 19.6.
Puis, entre 19:15 et 19:20, le thermostat renvoie ses nouvelles valeurs (avec un historique) et la T° actuelle passe à 20.0 et cette valeur restera comme la dernière connue jusqu'à 20:15 passé.

Re: Fréquence de mise à jour de données API

Posted: 05 Dec 2016, 21:08
by Pat
J'ai fait effectivement les mêmes constats, pas de remontée de mesures, puis, remontée correcte si actualisation de l'interface web. Je pensais que c'était un hasard, mais apparemment, je ne suis pas le seul dans ce cas,.