hacks/2022-02-09-ambientweather/weatherlog.sh

39 lines
1.1 KiB
Bash
Raw Normal View History

2022-02-09 14:49:57 +00:00
#!/bin/bash
API='https://lightning.ambientweather.net/devices'
OUTDIR="$HOME/tmp/weatherfetch"
function fetchWeather() {
curl "$API"?'%24publicBox%5B0%5D%5B0%5D=-115.37389456264378&%24publicBox%5B0%5D%5B1%5D=36.1098453902911&%24publicBox%5B1%5D%5B0%5D=-115.1709572152316&%24publicBox%5B1%5D%5B1%5D=36.24422733946878&%24limit=500' \
-H 'authority: lightning.ambientweather.net' \
-H 'accept: application/json' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36' \
-H 'origin: https://ambientweather.net' \
-H 'sec-fetch-site: same-site' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-dest: empty' \
-H 'referer: https://ambientweather.net/' \
-H 'accept-language: en-US,en;q=0.9' \
--compressed | jq .
}
function main() {
if [[ ! -d $OUTDIR ]]; then
mkdir -p $OUTDIR
fi
while sleep 1; do
oneLoop
sleep 3600
done
}
function oneLoop() {
NOW="$(date -u +"%Y%m%dT%H%M%SZ")"
JSON="$(fetchWeather)"
cat <<< "$JSON" > $OUTDIR/latest.json
cp $OUTDIR/latest.json $OUTDIR/$NOW.json
}
main