Page 1 sur 1

Historique compteur par API

Publié : 15 janv. 2021, 17:48
par spads69
Bonjour,
impossible de trouver comment récupérer l'historique d'un compteur (type général sous type %) à partir de l'API

Code : Tout sélectionner

/json.htm?type=graph&sensor=counter&idx=IDX&range=day 
ne remonte pas l'historique

Code : Tout sélectionner

{
ValueQuantity: "",
ValueUnits: "",
status: "OK",
title: "Graph counter day"
}
L'historique s'affiche pourtant correctement dans les graph de DZ

Merci pour vos pistes...

Re: Historique compteur par API

Publié : 15 janv. 2021, 18:41
par Keros
Je ne crois que pas que tu puisses récupérer l'historique d'un capteur.

C'est DomoticZ qui enregistre les données qu'il reçoit au fur et à mesure pour les compiler sous forme d'historique / statistiques. Le dispositif ne garde pas son historique en mémoire.

Edit : Il y a une méthode via l'API JSON. Voir la réponse de Chrominator plus bas.

Re: Historique compteur par API

Publié : 15 janv. 2021, 19:20
par Flying Domotic
Par contre, il y a moyen de se faire un historique en dzVents ...

Re: Historique compteur par API

Publié : 15 janv. 2021, 19:36
par Chrominator
Keros a écrit : 15 janv. 2021, 18:41 Je ne crois que pas que tu puisses récupérer l'historique d'un capteur.
spads69 utilise bien la bonne api pour récupérer l'historique, ça fonctionne très bien sur un compteur électrique par exemple.
Je n'ai pas son setup de compteur général s/type % et je n'ai pas pu tester, mais pour les autres (température ou autre), on récupère bien toutes la collection de valeurs.

Voir la page https://www.domoticz.com/wiki/Domoticz_ ... 7s#History

Re: Historique compteur par API

Publié : 15 janv. 2021, 19:50
par Chrominator
@spads69, après vérification j'ai un compteur comme ça.
Je te confirme que l'api a un bug, ça ne fonctionne pas en effet.

Code : Tout sélectionner

pi@phoenix-dev:~$ curl "http://192.168.18.9:8080/json.htm?type=graph&sensor=counter&idx=1379&range=day"
{
        "ValueQuantity" : "",
        "ValueUnits" : "",
        "status" : "OK",
        "title" : "Graph counter day"
}
Une option est de poster un ticket sur Github et d'attendre une correction.
Ou de corriger et compiler le source toi-même, mais il faudra le refaire à chaque nouvelle version :lol:

Re: Historique compteur par API

Publié : 15 janv. 2021, 19:50
par Keros
Pardon, je ne savais pas qu'on pouvait remonter les infos de cette manière. J'édite mon poste précédent :oops:

Je viens de tester de mon côté et les données ne remontent pas pour un type Général / Pourcentage. Peut-être un bug dans DomoticZ ?

Re: Historique compteur par API

Publié : 15 janv. 2021, 21:21
par spads69
corriger et compiler le source toi-même
à condition d'identifier l'origine du bug si bug il y a : mais j'en suis bien incapable :shock:

Cette fonctionnalité n'est peut être tout simplement pas implémentée pour ce type de device ? Dans le wiki json, il n'est fait mention qu'aux devices de type énergie et à aucun endroit les compteurs de ce type ne sont évoqués...

je suis en version DZ 2020.1 (March 22th 2020)

Re: Historique compteur par API

Publié : 16 janv. 2021, 05:43
par denis_brasseur
spads69 a écrit : 15 janv. 2021, 17:48 impossible de trouver comment récupérer l'historique d'un compteur (type général sous type %) à partir de l'API
Il ne s'agit pas d'un bug, la syntaxe de la requete json n'est pas universelle et doit etre personnalisé en fonction du type de capteur.
Voici la syntaxe pour un device de type % : sensor=Percentage
L'ordre dans la requête json à d'ailleurs peu d'importance.

Code : Tout sélectionner

/json.htm?idx=2909&range=day&sensor=Percentage&type=graph
// 20210116055359
// /json.htm?idx=2909&range=day&sensor=Percentage&type=graph

{
"result": [
{
"d": "2021-01-14 05:50",
"v": "94.1"
},
{
"d": "2021-01-14 05:55",
"v": "94.1"
},
On peut récupérer la syntaxe pour tout les types de device en utilisant le mode "Inspecteur de page" (F12) et en récupérant ensuite les requêtes json depuis l'onglet Network.

Exemple depuis le navigateur Chrome, idem avec d'autres navigateurs.

On affiche d'abord la console, et on affiche ensuite les logs du capteur afin de récupérer les requêtes json.

Un double clic sur la requête permet d'ouvrir directement le résultat de la requête json dans une nouvelle page.
Capture.PNG
Capture.PNG (94.49 Kio) Consulté 3263 fois

Re: Historique compteur par API

Publié : 17 janv. 2021, 13:09
par spads69
Merci denis_brasseur :!:
Non seulement tu donnes la solution, mais en plus la manière de la trouver : TOP :D
On peut récupérer la syntaxe pour tout les types de device en utilisant le mode "Inspecteur de page"
j'ai pourtant cherché, mais à aucun moment je n'ai pensé à utiliser le mode debug de l'explorer !
en tout cas le wiki DZ n'est pas complet.