Hi Tweakers,
Ik heb al een tijdje een leuk Python script draaien om gegevens van de Nest (Google) API binnen te harken en in een InfluxDB te stoppen zodat ik in Grafana leuke grafiekjes heb. Dat werkte altijd prima, tot Google pas opeens de API output aanpaste...
Dus ik heb net al een tijd zitten kloten, maar krijg de nieuwe value er niet uit.
Het was altijd dit :
Maar als ik nu dit doe ter debugging :
Krijg ik deze JSON terug :
Makkelijk dacht ik, ik maak er gewoon structure.weather.current.temp_c van en het is opgelost. Maar helaas, dan krijg ik deze foutmelding :
Traceback (most recent call last):
File "/var/www/nest/python/test.py", line 113, in <module>
pprint (vars(structure.weather.current))
File "/usr/local/lib/python2.7/dist-packages/nest/nest.py", line 254, in current
return Forecast(self._current, self._tz)
File "/usr/local/lib/python2.7/dist-packages/nest/nest.py", line 205, in __init__
fget('observation_epoch')))))
TypeError: float() argument must be a string or a number
Iemand enig idee hoe ik dit op kan lossen? Met Google en een heleboel gekloot kom ik er niet uit...
Ik heb al een tijdje een leuk Python script draaien om gegevens van de Nest (Google) API binnen te harken en in een InfluxDB te stoppen zodat ik in Grafana leuke grafiekjes heb. Dat werkte altijd prima, tot Google pas opeens de API output aanpaste...
Dus ik heb net al een tijd zitten kloten, maar krijg de nieuwe value er niet uit.
Het was altijd dit :
code:
1
| structure.weather.current.temperature |
Maar als ik nu dit doe ter debugging :
code:
1
2
| structure = napi.structures[0] pprint (vars(structure.weather.current)) |
Krijg ik deze JSON terug :
code:
1
2
3
4
5
6
7
8
9
10
11
| {'_tz': None, '_weather': {u'current': {u'condition': u'Sunny', u'gmt_offset': u'+02.00', u'humidity': 67, u'icon': u'sunny', u'sunrise': 1475733180, u'sunset': 1475773620, u'temp_c': 9.4, u'temp_f': 49.0, u'wind_dir': u'NE', u'wind_mph': 9}, |
Makkelijk dacht ik, ik maak er gewoon structure.weather.current.temp_c van en het is opgelost. Maar helaas, dan krijg ik deze foutmelding :
Traceback (most recent call last):
File "/var/www/nest/python/test.py", line 113, in <module>
pprint (vars(structure.weather.current))
File "/usr/local/lib/python2.7/dist-packages/nest/nest.py", line 254, in current
return Forecast(self._current, self._tz)
File "/usr/local/lib/python2.7/dist-packages/nest/nest.py", line 205, in __init__
fget('observation_epoch')))))
TypeError: float() argument must be a string or a number
Iemand enig idee hoe ik dit op kan lossen? Met Google en een heleboel gekloot kom ik er niet uit...
Owner of DBIT Consultancy | DJ BassBrewer