extraction de 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 <\>.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: extraction de donnée Json

Message 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&param=udevice&idx=3096&nvalue=0&svalue=$HCHP;$HCHC;0;0;$PAPP;0"
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

Re: extraction de donnée Json

Message par deennoo »

ok ! tu demande a ignorer la : ,

Merci je comprends mieux sed etc.

Merci Jacky
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
plemtny
Messages : 3
Inscription : 04 nov. 2015, 04:50

Re: extraction de donnée Json

Message par plemtny »

J'ai du mal à ce comprendre encore :?



-----------------------------------------------
http://www.coquegsm.com/category-access ... -5-45.html
Dernière modification par plemtny le 06 nov. 2015, 10:12, modifié 1 fois.
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: extraction de donnée Json

Message 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é :D ) 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&param=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!
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
deennoo
Messages : 4036
Inscription : 25 janv. 2015, 02:00

Re: extraction de donnée Json

Message 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.
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
Répondre