I am currently developing an application to work with Nest thermostat.
We would need to know when a user want to heat / cool to manage the energy consumption. The closest data i found in the API is the “eta_begin”, which I thought was giving the lowest bound of the ETA, estimated by the thermostat.
But the tests on a real thermostat are giving me “eta_begin”: “1970-01-01T00:00:00.000Z”, whether the structure is in “home” or “away” state.
In “Docs / Référence / Structure / eta_begin” it’s saying : "Timestamp of the earliest expected time of arrival in ISO 8601 format. Used to trigger actions or events."
So i would know if I have misunderstood the signification of “eta_begin”, if I have misconfigured my thermostat, or if it is a bug.
Thanks for your replie !
Currently Nest does not have a way to determine the ETA. This data needs to be provided by another 3rd party. If the user does not have another integration providing the ETA data, you will see this default value.
Here are a couple example integrations that can provide ETA data.
Thanks for your answer.
Do the Nest app for smartphones provide this information, with the use of geolocation ?
The Nest app doesn’t provide this information, it comes from a 3rd party WWN integration.
It sounds like you might be confused on what ETA is and how it works, though.
A 3rd party integration might populate the eta object with the user’s expected arrival time, in order to pre-heat/cool a home so that when they arrive, the home is at the temperature they expect.
So for example, if I have a non-Nest app that uses ETA (like the ones linked by Lionel above), based on the location of my phone it might know that I’m driving home and should arrive there in the next twenty minutes. It tells the thermostat my expected arrival window with a write call to the eta object, and the eta_begin field is updated by the Nest API with the earliest expected arrival time. This information is regularly updated based on your location vs time (perhaps you got stuck in a traffic jam, thus the eta window changes because you’re delayed by 10 minutes).
The thermostat uses this information to determine when to heat or cool the home so that the optimal temperature is reached as close to your arrival as possible. And eta_begin can be used by other integrations to trigger events like turning on lights just before arrival, etc.
So unless the user has an integration that uses the ETA functionality, there will be no eta or eta_begin data in the Nest API for you to use.
When writing the eta object, should both begin and end be filled in at the same time (as a range), or should you only write begin and later end?
I’m seeing when writing both, a 500 error, without any details…