grdl / pronestheus Goto Github PK
View Code? Open in Web Editor NEWA Prometheus exporter for the Nest Learning Thermostat
License: MIT License
A Prometheus exporter for the Nest Learning Thermostat
License: MIT License
Hi,
This looks like a cool project but I'm not sure how to find the PRONESTHEUS_NEST_TOKEN. Any advice? Note: I've migrated to a Google account
Have you ever considered the Nest API?
https://home.nest.com/api/0.1/weather/forecast/6825MD,NL
The last part is a postal code and country code.
For New York:
Any chance we could get a raspberry pi/arm compatible image for this project? Thanks!!
I see the following message. I guess this is because I have the older Nest Thermostat, but wanted to check if anyone else was having issue.
ts=2022-08-04T22:52:49.9432Z level=error message="Failed collecting Nest data" stack="no valid thermostats in devices list: failed unmarshalling Nest API response body"
The OpenWeatherMap stopped working suddenly. It stopped working since 2022-01-03 00:00
In the docker container logs i get the following error.
ts=2022-01-02T23:02:29.61505793Z level=debug message="Successfully collected Nest data"
ts=2022-01-02T23:03:27.818025661Z level=debug message="Successfully collected OpenWeatherMap data"
ts=2022-01-02T23:03:29.616760538Z level=debug message="Successfully collected Nest data"
ts=2022-01-02T23:04:27.974567045Z level=error message="Failed collecting OpenWeatherMap data" stack="invalid character '<' looking for beginning of value: failed unmarshalling OpenWeatherMap API response body"
Currently i only read a metric for nest_heating
but it does not indicate a metric for nest_cooling
docker-compose up
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/docker/api/client.py", line 214, in _retrieve_server_version
return self.version(api_version=False)["ApiVersion"]
File "/usr/lib/python3/dist-packages/docker/api/daemon.py", line 181, in version
return self._result(self._get(url), json=True)
File "/usr/lib/python3/dist-packages/docker/utils/decorators.py", line 46, in inner
return f(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/docker/api/client.py", line 237, in _get
return self.get(url, **self._set_request_timeout(kwargs))
File "/home/dennis/.local/lib/python3.10/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
File "/home/dennis/.local/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/home/dennis/.local/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/home/dennis/.local/lib/python3.10/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
File "/home/dennis/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 790, in urlopen
response = self._make_request(
File "/home/dennis/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 496, in _make_request
conn.request(
TypeError: HTTPConnection.request() got an unexpected keyword argument 'chunked'
Summary
I've configured this tool against a home that has two Nest devices: First Floor and Second Floor. While the data seems to be harvested properly, the labels in the dashboard are inside for both First Floor and Second Floor. The data coming back from google does have the name of the Nest devices in it. I'm hoping there is a way to present that out with the pronestheus exporter.
Questions
curl localhost:9777/metrics
PS
The Google NEST API requires a 5$ payment. Just want to know if it works before buying.
Thank you
Thanks for a great & useful tool!
I'm trying to integrate this within my house and the lack of an ARM64 docker image is bringing me down. Any possibility to build one?
ProNestheus seems to be unable to continue working after successful initial setup. Twice now, I've had it working well for a few days and then start failing by itself with invalid_grant
:
ts=2021-09-30T08:41:39.014363968Z level=error message="Failed collecting Nest data" stack="Get \"https://smartdevicemanagement.googleapis.com/v1/enterprises/**********************/devices/\": oauth2: cannot fetch token: 400 Bad Request\nResponse: {\n \"error\": \"invalid_grant\",\n \"error_description\": \"Token has been expired or revoked.\"\n}: failed Nest API request"
In neither case have I revoked any token. Is there a way to prevent this from happening?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.