Page 1 sur 2

Conversion dans un script . sh

Publié : 22 oct. 2015, 22:21
par deennoo
Amis scripteurs bonjour,

Un peu de lecture : http://easydomoticz.com/manipuler-les-d ... -en-shell/

M' a donner une idée : je me sert des donnée weather underground pour des predictions meteo dans le futur, mais comme je suis equipé en anemo pluvio et sonde exterieur, je voulais mettre a jour ma propore station sur WU.

Avec l'api WU il doit etre possible de ce servir des données Domoticz.

Mon script avance tres bien mais je me pose une question : Domoticz m affiche les donnée de mon anemometre en KM/H et WU a besoin de MPH, il y a donc une conversion a faire, est ce qu 'il est possible de faire une multiplication ou division dans un script .sh ?

Sans me dire comment faire, est ce que vous avez des sources SVP ?

Re: Conversion dans un script . sh

Publié : 22 oct. 2015, 23:39
par deennoo
Donc oui on peut en faisant :

Code : Tout sélectionner

Echo$((x*y))
Sauf que dans mon cas j'ai fait

Code : Tout sélectionner

WindspeedMph=$(("windspeedkmh"*0,675393))
et que cela me donne erreur

Re: Conversion dans un script . sh

Publié : 23 oct. 2015, 09:46
par deennoo
J'ai compris mon probleme : SH ne gere pas les chiffres a virgule...dommage pour moi je vais devoir faire cela avec un autre language...

Re: Conversion dans un script . sh

Publié : 23 oct. 2015, 09:48
par vil1driver
;) essai avec un point
Et pourquoi des guillemets pour ta variable ?

Re: Conversion dans un script . sh

Publié : 23 oct. 2015, 10:07
par deennoo
c'etait pour l'exemple...je n 'etait pas devant mon pc.

Voici un bout du code : je souhaite transformer les degres c en degres f :

Code : Tout sélectionner

#External Temp Hum & dewpoint
tempc=$(curl -s "http://192.168.0.21:8080/json.htm?type=devices&rid=150"| jq -r .result[].Temp)
#convertdf=$(0.556)
echo "Temperature exterieur : ${tempc}°c"
#need some math to converte on C to F
tempf=$(echo $((${tempc}*0.556)))  <<<<<<---------ligne 34
echo "temp en °f : ${tempf}"
et voici le resultat :

Code : Tout sélectionner

Temperature exterieur : 13.9°c
./updatewu.sh: line 34: 13.9*0.556: syntax error: invalid arithmetic operator (error token is ".9*0.556")
temp en °f :
tu as une idée ?

Re: Conversion dans un script . sh

Publié : 23 oct. 2015, 10:18
par vil1driver
je sors mon outils favoris...google,
je tape "bash degree to fahrenheit"
je clic sur le premier lien..
http://bash.cyberciti.biz/decision-maki ... onversion/

je teste vite fais

Code : Tout sélectionner

#!/bin/bash
tc=19.5
tf=$(echo "scale=2;((9/5) * $tc) + 32" |bc)
echo "$tc C = $tf F"
vil1driver@serveur:~/domoticz/scripts/lua$ ./convert.sh
19.5 C = 67.10 F
ça marche...

Re: Conversion dans un script . sh

Publié : 23 oct. 2015, 10:20
par deennoo
J'avoue que j'ai été chercher un peu plus compliqué dans mes recherches google...merci

Re: [resolut] Conversion dans un script . sh

Publié : 23 oct. 2015, 12:42
par deennoo
J'ai enfin fini mon script, ce ne fut pas sans peine, mais maintenant ma station meteo personnel WeatherUnderground est mis a jour toutes les minutes.

http://www.wunderground.com/personal-we ... IAQUITAI87

Et maintenant Weekend !

Re: [resolut] Conversion dans un script . sh

Publié : 23 oct. 2015, 14:07
par jackslayter
point de vue confidentialité c'est pas top de donner ton "adresse"

Re: [resolut] Conversion dans un script . sh

Publié : 23 oct. 2015, 16:52
par deennoo
jackslayter a écrit :point de vue confidentialité c'est pas top de donner ton "adresse"
La zone est vaste, mais merci de la remarque