#!/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)