Page 3 sur 3
Re: extraction de donnée Json
Publié : 03 nov. 2015, 11:57
par jackslayter
Code : Tout sélectionner
#!/bin/bash
json=$(curl http://192.168.0.29/json | sed -e 's/"PAPP":/\n/g' |sed -e 's/"HHPHC":/\n/g' |sed -e 's/"HCHP":/\n/g' | sed -e 's/"HCHC":/\n/g' | sed -e 's/,"ADCO":/\n/g' | sed -e '1d' | sed -e '2d' | sed -e '4d' | tr -d '\r\n' | sed -e 's/,/ /g')
PAPP=`echo "$json" | awk '{print $1}'`
HCHP=`echo "$json" | awk '{print $2}'`
HCHC=`echo "$json" | awk '{print $3}'`
#echo "$json"
curl "http://192.168.0.21:8080/json.htm?type=command¶m=udevice&idx=3096&nvalue=0&svalue=$HCHP;$HCHC;0;0;$PAPP;0"
Re: extraction de donnée Json
Publié : 03 nov. 2015, 12:25
par deennoo
ok ! tu demande a ignorer la : ,
Merci je comprends mieux sed etc.
Merci Jacky
Re: extraction de donnée Json
Publié : 04 nov. 2015, 04:53
par plemtny
J'ai du mal à ce comprendre encore
-----------------------------------------------
http://www.coquegsm.com/category-access ... -5-45.html
Re: extraction de donnée Json
Publié : 04 nov. 2015, 14:34
par rimram31
deennoo a écrit :ok ! tu demande a ignorer la : ...
Ce qui est bizarre c'est que le json de ta sonde est incorrect: ... "PTEC":"HP.."
:, ... le 2eme
: plante logiquement un parser json. Bon il y a moyen de corriger le tir avec un sed, du coup en m'essayant a ton exercice, j'ai appris deux trois trucs sur jq (je croyais que tu l'avais adopté

) Apparemment on arrive a faire des choses pas mal genre:
Code : Tout sélectionner
curl http://192.168.0.29/json | sed "s/:,/,/g" | jq '"http://192.168.0.21:8080/json.htm?type=command¶m=udevice&idx=3096&nvalue=0&svalue=\(.HCHP);\(.HCHC);0;0;\(.PAPP);0"'
devrait fabriquer ton url finale ou plus proche de ton code:
Code : Tout sélectionner
json=`curl http://192.168.0.29/json | sed "s/:,/,/g"`
echo $json | jq '.PAPP'
echo $json | jq '.HCHP'
echo $json | jq '.HCHC'
Je ferais plus confiance a un parser qu'a du sed un peu olé olé pour parser du json ... quoique ta sonde n'écris même pas du json!
Re: extraction de donnée Json
Publié : 04 nov. 2015, 15:17
par deennoo
rimram31 a écrit :Ce qui est bizarre c'est que le json de ta sonde est incorrect:
Je le sais bien, j'en ai parler au developpeur de WifiInfo...Toujours est il que WifiInfo est encore en test et que ce n'est pas fini, l'objectif est que la sonde (en gros c'est LE moyen d'avoir la teleinfo EDF en WIFI) envoie les données et non a moi d'aller les cherchers.
Le script de jacky marche au poils, il est appeller toutes les 10 minutes et met a jour les compteurs teleinfo de deux maison distante de 300 km l'une de l'autre.