Files
Domoticz/underground.sh
2025-03-06 11:09:58 +01:00

89 lines
3.5 KiB
Bash
Executable File
Raw Permalink Blame History

#!/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&param=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&param=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&param=udevice&idx="$idxPluie"&nvalue=0&svalue="$PLUIE_1H";"$PLUIE_TOTAL
#Mise <20> jour du visibilité
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxVisi"&nvalue=0&svalue="$VISIBILITE";0" #$VISIBILITE
#Mise <20> 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<69>
curl -s "http://"$IPDomoticz"/json.htm?type=command&param=udevice&idx="$idxHum"&nvalue="$HUM"&svalue="$HUM_STAT