#!/bin/bash
#Rapatriement des valeurs depuis api.wunderground.com
#D�finition des param�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�tr� une authentification
IPDomoticz=localhost:81
#IPDomoticz=username:password@192.168.x.y:8080

# D�claration des idx des devices cr��s
idxTempHumBar=94
idxVent=95
idxPluie=305
idxVisi=97
idxUV=99
idxHum=332

########################## NE RIEN MODIFIER EN DESSOUS DE CETTE LIGNE ###############################
#R�cup�ration des donn�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 �l�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�rature est de : "$TEMP" �C"
echo "L'humidit� relative est de : "$HUM" %"
echo "La pression atmosph�rique est de : "$BAR" hPa"
echo "Le vent vient de "$WD" � une vitesse moyenne de "$WS" km/h avec des rafales � "$WG" km/h"
echo "La temp�rature ressentie est de : "$TEMP_R" �C"
echo "La visibilité est de : "$VISIBILITE" C"

#Humidit� 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�rique : tendance m�t�orologique
# <1000 hPa : Pluie "4"
# 1000-1010 hPa : Nuageux "3"
# 1010-1010 hPa : Partiellement nuageux "2"
# >1020 hPa : Ensoleill� "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 � jour du capteur TempHumBar
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxTempHumBar"&nvalue=0&svalue="$TEMP";"$HUM";"$HUM_STAT";"$BAR";"$BAR_STAT
#Mise � jour du capteur Vent
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxVent"&nvalue=0&svalue="$WB";"$WD";"$WS";"$WG";"$TEMP";"$TEMP_R
#Mise � jour du capteur Pluie
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxPluie"&nvalue=0&svalue="$PLUIE_1H";"$PLUIE_TOTAL
#Mise � jour du visibilité
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxVisi"&nvalue=0&svalue="$VISIBILITE";0" #$VISIBILITE
#Mise � jour de UV
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxUV"&nvalue=0&svalue="$UV";0"
#Mise a jour de humidit�
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxHum"&nvalue="$HUM"&svalue="$HUM_STAT
