18 lines
811 B
Bash
18 lines
811 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -f`}"
|
||
|
INTERVAL="${COLLECTD_INTERVAL:-300}"
|
||
|
FILE="/tmp/weather.json"
|
||
|
|
||
|
# get $FILE using a cronjob (no more than 1000 requests per day for free - one every 5 minutes is fine) like
|
||
|
#curl "https://api.darksky.net/forecast/<your api key>/<latitude>,<longitude>?lang=<language>&units=si" -o $FILE -s
|
||
|
|
||
|
while sleep "$INTERVAL"; do
|
||
|
for field in precipIntensity precipProbability temperature apparentTemperature dewPoint humidity pressure windSpeed windGust windBearing cloudCover uvIndex visibility ozone;do
|
||
|
echo "PUTVAL $HOSTNAME/weather/gauge-${field} interval=$INTERVAL N:`jq .currently.${field} $FILE`" ;
|
||
|
done
|
||
|
for field in summary icon ;do
|
||
|
echo "PUTVAL $HOSTNAME/weather/string-${field} interval=$INTERVAL N:`jq .currently.${field} $FILE`" ;
|
||
|
done
|
||
|
done
|