Page 2 sur 3

Re: extraction de donnée Json

Publié : 06 oct. 2015, 23:34
par deennoo
Voici le bon code, il fallait mettre les bonnes etiquettes a la bonne position

Code : Tout sélectionner

#!/bin/bash

json=$(curl http://192.168.0.29/json | sed -e 's/"IINST":/\n/g' | sed -e 's/"PAPP":/\n/g' | sed -e 's/"HHPHC"/\n/g' | sed -e 's/"HCHC":/\n/g' | sed -e 's/"HCHP":/\n/g' | sed -e 's/,"IMAX"/\n/g' | sed -e '1d' | sed -e '3d' | sed -e '$d' $
IINST=`echo "$json" | awk '{print $4}'`
PAPP=`echo "$json" | awk '{print $5}'`
HCHC=`echo "$json" | awk '{print $1}'`
HCHP=`echo "$json" | awk '{print $2}'`
echo "$json"
echo "$PAPP"
echo "$HCHC"
echo "$HCHP"
echo "$IINST"
curl "http://192.168.0.21:8080/json.htm?type=command&param=udevice&idx=3096&nvalue=0&svalue=$HCHP;$HCHC;0;0;$PAPP;0"
Merci de votre aide les copains !

Re: extraction de donnée Json

Publié : 07 oct. 2015, 08:13
par jackslayter
;)

Re: extraction de donnée Json

Publié : 20 oct. 2015, 16:28
par deennoo
n y t'il pas moyen de verifier ce qui est envoyer en json afin d'etre sur que cela correspond bien a la synthax domoticz ?

Ce script qu eje lance toute les 10 minutes me fait planter la base de donnée de facon aleatoire.

Re: extraction de donnée Json

Publié : 20 oct. 2015, 18:41
par jackslayter
c'est du texte donc bizarre, moi j'en lance un toute les 6 heures (vigilance météo) et j'ai jamais eu de problème
essaye de le lancer toutes les 12 minutes

Re: extraction de donnée Json

Publié : 20 oct. 2015, 22:31
par deennoo
Cela peux aussi venir du module wifiinfo qui n'est pas fini et qui peux "planter" de façon aléatoire pour le moment.

Une simple règle :

Si hchp et/ou hchc > hchcp et/ou hchc d'il y a 10 minutes : valeur cohérente donc update, si faux ne fait rien.

Je vais voir cela demain.

Re: extraction de donnée Json

Publié : 03 nov. 2015, 09:45
par deennoo
De retour a ce sujet.

ce week end j'ai placer un deuxieme module dans une autre maison.

Ce module a une nouvelle version de WIFIinfo:

le json ce presente ainsi :

Code : Tout sélectionner

{"_UPTIME":43777,"ISOUSC":60,"PTEC":"HP..":,"IINST":2,"IMAX":29,"PAPP":390,"HHPHC":"A":,"MOTDETAT":0,"OPTARIF":"HC..":,"HCHP":40538253,"HCHC":23925236,"ADCO":31067011973,"ISOUP":403780}
Les mêmes étiquettes, mais dans un ordre différent du precedent.

Dans ton code, tu fais un tri par position ou par nom ?

Re: extraction de donnée Json

Publié : 03 nov. 2015, 09:52
par jackslayter
par nom

Re: extraction de donnée Json

Publié : 03 nov. 2015, 10:14
par deennoo
ok merci.

du coup j'avance un peu mais jai encore un probleme :

voici mon code :

Code : Tout sélectionner

#!/bin/bash

json=$(curl http://ipsecrete/json | sed -e 's/"_UPTIME":/\n/g' | sed -e 's/"ISOUC":/\n/g' | sed -e 's/"PTEC":/\n/g' | sed -e 's/"IINST":/\n/g' | sed -e 's/"IMAX":/\n/g'  | sed -e 's/"PAPP":/\n/g' | sed -e 's/"HHPHC"/\n/g' | sed -e $
PAPP=`echo "$json" | awk '{print $5}'`
HCHC=`echo "$json" | awk '{print $10}'`
HCHP=`echo "$json" | awk '{print $9}'
echo "$json"`
echo "$PAPP"
echo "$HCHC"
echo "$HCHP"
#curl "http://192.168.0.21:8080/json.htm?type=command&param=udevice&idx=313&nvalue=0&svalue=$HCHP;$HCHC;0;0;$PAPP;0"
ce qui me donne :

Code : Tout sélectionner

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   188  100   188    0     0    246      0 --:--:-- --:--:-- --:--:--   293
1780
23925236:31067011973
40539238
45978 "ISOUSC":60 "HP..": 29 1780 :"A": 0 "HC..": 40539238 23925236:31067011973
:31067011973 est en trop, comment le virer ?

Re: extraction de donnée Json

Publié : 03 nov. 2015, 11:30
par jackslayter
tu veux récupéré que ces valeurs ,PAPP HCHC HCHP?

Re: extraction de donnée Json

Publié : 03 nov. 2015, 11:38
par deennoo
jackslayter a écrit :tu veux récupéré que ces valeurs ,PAPP HCHC HCHP?
oui

j'ai tout mis car je voulais savoir comment c'etait "parser".

c'est hchc qui pose un probleme il me parse hchc et en plus la valeur de ADCO (:31....)