#!/usr/home/homeassistant/bin/python3

import sys
import json
import requests

mappings = {
    'temp_in':        'temp_in',
    'hum_in':         'hum_in',
    'temp':           'temp',
    'hum':            'hum',
    'dew_point':      'dew_point',
    'bar_sea_level':  'barometer',
    'wind_speed_avg_last_1_min': 'wind_speed_1min',
    'wind_dir_scalar_avg_last_1_min': 'wind_dir_1min',
    'wind_speed_hi_last_10_min': 'wind_gust_10min',
    'wind_dir_at_hi_speed_last_10_min': 'wind_gust_dir_10min',
    'solar_rad':      'solar_rad',
    'uv_index':       'uv_index',
}
if __name__ == '__main__':
    vals = dict()
    for i in range(4):
        ok = False
        try:
            vals = dict()
            davis_ip = sys.argv[1]
            url = f'http://{davis_ip}/v1/current_conditions'
            req = requests.get (url, timeout=3)
            if req.ok:
                j = req.json()
                for c in j['data']['conditions']:
                    vals = vals | c
            result = {mappings[k]: vals[k] for k in mappings.keys() if k in vals}
            print (json.dumps ({'data': result}))
            ok = True
        except:
            pass
        if ok: sys.exit(0)