89 lines
3.5 KiB
Bash
Executable File
89 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
||
#Rapatriement des valeurs depuis api.wunderground.com
|
||
#D<>finition des param<61>tres de base
|
||
apikey=48a08328a93a18a1
|
||
#pwsid=pws:ILAGACIL2 #trouver le votre sur https://www.wunderground.com/
|
||
#pwsid=pws:IBRITTAN2
|
||
pwsid=pws:ISAINTGR13
|
||
# A adapter selon que vous ayez param<61>tr<74> une authentification
|
||
IPDomoticz=localhost:81
|
||
#IPDomoticz=username:password@192.168.x.y:8080
|
||
|
||
# D<>claration des idx des devices cr<63><72>s
|
||
idxTempHumBar=94
|
||
idxVent=95
|
||
idxPluie=305
|
||
idxVisi=97
|
||
idxUV=99
|
||
idxHum=332
|
||
|
||
########################## NE RIEN MODIFIER EN DESSOUS DE CETTE LIGNE ###############################
|
||
#R<>cup<75>ration des donn<6E>es et isolement des variables temp/relative_hum/pressure_mb
|
||
#curl -s http://api.wunderground.com/api/48a08328a93a18a1/conditions/q/pws:ISAINTGR13.json?
|
||
|
||
capture=`curl -s http://api.wunderground.com/api/$apikey/conditions/q/$pwsid.json? | grep -E 'temp_c|relative_humidity|wind_dir|wind_degrees|wind_kph|wind_gust_kph|pressure_mb|feelslike_c|visibility_km|UV|precip_1hr_metric|precip_today_metric' | cut -d ':' -f 2 | tr -d '"' | tr -d ','`
|
||
|
||
#D<>composition des <20>l<EFBFBD>ments
|
||
TEMP=`echo $capture | cut -d ' ' -f 1`
|
||
HUM=`echo $capture | cut -d ' ' -f 2 | cut -d '%' -f 1`
|
||
WD=`echo $capture | cut -d ' ' -f 3`
|
||
WB=`echo $capture | cut -d ' ' -f 4`
|
||
WS=`echo $capture | cut -d ' ' -f 5`
|
||
WG=`echo $capture | cut -d ' ' -f 6`
|
||
BAR=`echo $capture | cut -d ' ' -f 7`
|
||
TEMP_R=`echo $capture | cut -d ' ' -f 8`
|
||
VISIBILITE=`echo $capture | cut -d ' ' -f 9`
|
||
UV=`echo $capture | cut -d ' ' -f 10`
|
||
PLUIE_1H=`echo $capture | cut -d ' ' -f 11`
|
||
PLUIE_TOTAL=`echo $capture | cut -d ' ' -f 12`
|
||
|
||
echo "La temp<6D>rature est de : "$TEMP" <20>C"
|
||
echo "L'humidit<69> relative est de : "$HUM" %"
|
||
echo "La pression atmosph<70>rique est de : "$BAR" hPa"
|
||
echo "Le vent vient de "$WD" <20> une vitesse moyenne de "$WS" km/h avec des rafales <20> "$WG" km/h"
|
||
echo "La temp<6D>rature ressentie est de : "$TEMP_R" <20>C"
|
||
echo "La visibilité est de : "$VISIBILITE" C"
|
||
|
||
#Humidit<69> relative : indicatif de confort (pourcentage)
|
||
# 00-040 : sec
|
||
# 40-065 : confortable
|
||
# 65-100 : humide
|
||
if [ "$HUM" -lt 40 ]; then
|
||
HUM_STAT="2"
|
||
elif [ "$HUM" -lt 65 ]; then
|
||
HUM_STAT="1"
|
||
else HUM_STAT="3"
|
||
fi
|
||
# Affichage du r<>sultat
|
||
echo $HUM_STAT
|
||
|
||
#Pression atmosph<70>rique : tendance m<>t<EFBFBD>orologique
|
||
# <1000 hPa : Pluie "4"
|
||
# 1000-1010 hPa : Nuageux "3"
|
||
# 1010-1010 hPa : Partiellement nuageux "2"
|
||
# >1020 hPa : Ensoleill<6C> "1"
|
||
|
||
if [ "$BAR" -lt 1000 ]; then
|
||
BAR_STAT="4"
|
||
elif [ "$BAR" -lt 1010 ]; then
|
||
BAR_STAT="3"
|
||
elif [ "$BAR" -lt 1020 ]; then
|
||
BAR_STAT="2"
|
||
else BAR_STAT="1"
|
||
fi
|
||
# Affichage du r<>sultat
|
||
echo $BAR_STAT
|
||
|
||
#Mise <20> jour du capteur TempHumBar
|
||
curl -s "http://"$IPDomoticz"/json.htm?type=command¶m=udevice&idx="$idxTempHumBar"&nvalue=0&svalue="$TEMP";"$HUM";"$HUM_STAT";"$BAR";"$BAR_STAT
|
||
#Mise <20> jour du capteur Vent
|
||
curl -s "http://"$IPDomoticz"/json.htm?type=command¶m=udevice&idx="$idxVent"&nvalue=0&svalue="$WB";"$WD";"$WS";"$WG";"$TEMP";"$TEMP_R
|
||
#Mise <20> jour du capteur Pluie
|
||
curl -s "http://"$IPDomoticz"/json.htm?type=command¶m=udevice&idx="$idxPluie"&nvalue=0&svalue="$PLUIE_1H";"$PLUIE_TOTAL
|
||
#Mise <20> jour du visibilité
|
||
curl -s "http://"$IPDomoticz"/json.htm?type=command¶m=udevice&idx="$idxVisi"&nvalue=0&svalue="$VISIBILITE";0" #$VISIBILITE
|
||
#Mise <20> jour de UV
|
||
curl -s "http://"$IPDomoticz"/json.htm?type=command¶m=udevice&idx="$idxUV"&nvalue=0&svalue="$UV";0"
|
||
#Mise a jour de humidit<69>
|
||
curl -s "http://"$IPDomoticz"/json.htm?type=command¶m=udevice&idx="$idxHum"&nvalue="$HUM"&svalue="$HUM_STAT
|