diff --git a/riverconditions.py b/riverconditions.py new file mode 100644 index 0000000..4481480 --- /dev/null +++ b/riverconditions.py @@ -0,0 +1,32 @@ +#!/usr/home/homeassistant/bin/python3 + +import sys +import json +import requests + +mappings = { + 'temperature': 'watertemp', + 'streamflow': 'flow', + 'height': 'height', +} +if __name__ == '__main__': + exit_code = 1 + for i in range(4): + try: + result = dict() + station = sys.argv[1] + url = f'https://waterservices.usgs.gov/nwis/iv/?format=json&sites={station}&siteStatus=all' + req = requests.get (url, timeout=3) + if req.ok: + j = req.json() + for v in j['value']['timeSeries']: + variable_name = v['variable']['variableName'].lower() + for k in mappings.keys(): + if k in variable_name: + result[mappings[k]] = float(v['values'][0]['value'][0]['value']) + print (json.dumps ({'data': result})) + exit_code = 0 + break + except: + pass + sys.exit (exit_code)