Récupération donnée JSON

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
andromede
Messages : 19
Inscription : 13 mars 2018, 13:45

Récupération donnée JSON

Message par andromede »

Bonjour,

Pour gérer au mieux la consommation de pellet de mon poele à granulet, j'utilise un site web qui propose énormément d'info.
Le développeur met même à dispotition des requetes JSON pour s'interfacer avec Jeedom et eedomus.

Seulement voila, je n'arrive pas à récuperer les infos pour les intégrer dans un capteur virtuel.

Voici les infos que je récupère du JSON:

https://www.ecopellets.fr/appjson.php?u ... otreuniqid}

{"status":"OK","qtemois":4,"prixmois":0,"tendance":"0,14","stock0":77,"datestock0":"29\/05\/2018","qtelastmonth":6,"prixlastmonth":22.25,"qtesept":10,"coutsept":22.25,"qtestock":11,"prixstock":0,"coutotal":22.25,"coutreparation":null,"coutentretien":null}

Je suis un peu perdu, est-ce que je peut récupérer les infos directement via un capteur ou dois-je passer par du script LUA ?

Merci d'avance,

Domoticz 3.8942
domcars0
Messages : 238
Inscription : 18 févr. 2017, 20:23

Re: Récupération donnée JSON

Message par domcars0 »

Apparemment les infos ne sont pas du temps réels et en plus elles te fournissent de l'historiques (lastmonth par ex.) .. tout cela , à mon avis, n'est pas trop fait pour s'intégrer à du Domoticz.

De mon point de vue les seules infos pertinentes sont 'qtemois' (quantité du mois en cours?) et 'stock0' (dernier stock réapprovisionné?) , dont on peut déduire toute les autres (et encore il me semble que stock0 pourrait n'être qu'une variable utilisateur modifiées à chaque réapprovisionnement).

De mon point de vue, très peu d'intérêt à intégrer à domoticz, mais je peux me tromper.
La liberté a un prix... celui de l'effort.
andromede
Messages : 19
Inscription : 13 mars 2018, 13:45

Re: Récupération donnée JSON

Message par andromede »

Merci pour ta réponse, mais le but est surtout de concentrer toutes les infos sur une meme interface.

Voici un exemple sur eedomus:
screen-ecopellets.jpg
screen-ecopellets.jpg (83.32 Kio) Consulté 6643 fois
De plus, grace à l'API, ont peut quand même interagir avec le site.
Le but ultime est d'avoir les infos du site mais également pourvoir ajouter des sac de pellet grace à un capteur virtuel.
Il faut pour cela utilisé la commande &consopellet=1 dans une commande GET, mais là ça dépasse mes compétences, c'est pour cela que je fait appel à vos cerveaux !!
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Récupération donnée JSON

Message par papoo »

andromede a écrit :dois-je passer par du script LUA ?
oui ou python ou bash peut importe
pour le lua voila déjà un article qui devrait t'aider
difficile de t'aider plus j'ai pas de compte chez eux ni de poêle a pellets
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Récupération donnée JSON

Message par papoo »

j'ai essayé de m'inscrire mais impossible de me connecter
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Récupération donnée JSON

Message par papoo »

en mettant tes données dans un fichier json en local
2018-03-14 18_47_14-Domoticz.png
2018-03-14 18_47_14-Domoticz.png (14.17 Kio) Consulté 6618 fois
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
andromede
Messages : 19
Inscription : 13 mars 2018, 13:45

Re: Récupération donnée JSON

Message par andromede »

J'y suis arrivé grace à un autre post qui traiter de jq.

Voici mon script:

#!/bin/bash
# On récupère les variables :
var_stock=$(curl -s "https://www.ecopellets.fr/appjson.php?uniqid=XXXXXXXXX" | jq '. | .stock0' )
var_datestock=$(curl -s "https://www.ecopellets.fr/appjson.php?uniqid=XXXXXXXXX" | jq '. | .datestock0' )
var_qtemois=$(curl -s "https://www.ecopellets.fr/appjson.php?uniqid=XXXXXXXXX" | jq '. | .qtemois' )
var_qtelastmonth=$(curl -s "https://www.ecopellets.fr/appjson.php?uniqid=XXXXXXXXX" | jq '. | .qtelastmonth' )

# On envoie les variables vers les compteurs domoticz :
curl -s "http://192.168.0.56:8080/json.htm?type= ... $var_stock"
curl -s "http://192.168.0.56:8080/json.htm?type= ... _datestock"
curl -s "http://192.168.0.56:8080/json.htm?type= ... ar_qtemois"
curl -s "http://192.168.0.56:8080/json.htm?type= ... elastmonth"

Le problème que je rencontre maintenant, c'est qu'il ne met pas à jour la ligne principale !!
Pellet.png
Pellet.png (251.18 Kio) Consulté 6569 fois
Auriez-vous des idées ?

Encore merci à tous de prendre du temps pour me répondre ;)
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Récupération donnée JSON

Message par papoo »

Pour 4 infos sur le même site tu fais 4 requêtes vers celui-ci
Cela risque de le flooder
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
andromede
Messages : 19
Inscription : 13 mars 2018, 13:45

Re: Récupération donnée JSON

Message par andromede »

Merci papoo,

Je suis prenneur si tu peut m'indiquer les bonnes pratiques.
Tu expliquer que l'on pouvait créer un fichier json en local ?

Tu peut m'en dire plus ?
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Récupération donnée JSON

Message par papoo »

n'ayant pas accès à ce site (malgré mon inscription) j'ai juste créé un fichier json en local pour tester la remonter d'info en lua avec ce que tu nous avais posté.
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre