Home Assistant Community

Nest to turn off their API

#1

Sigh. Another one. This time it’s not a small one either: Nest is disabling their APIs.

We already saw the writing on the wall in January, but now it’s official: Google announced that the Nest API will be turned off at the end of August, 2019. This means that in a little over three months, you will no longer be able to get your own data, that Google has collected in your home, and use it like you see fit.

Notice posted on the Nest developer website.

The reason for shutting down the API is that the Nest team is focusing on making “Works with Google Assistant” the most helpful and intelligent ecosystem for the home. However, and this is crucial: the Google Assistant ecosystem is a one way street. You can put data in, but you can never get data out. They acknowledge this in their FAQ:

FAQ Nest developer website.

Cherry on the Cake

Google also announced that they are transitioning the Nest ecosystem into the Google world, making you link all your Nest devices to your Google account. How that will work? We’re just going to leave this snippet from this article from the Financial Times here:

Well that's reassuring https://t.co/SKFkE8cAyR pic.twitter.com/zmjMjm23h0

— David Meyer (@superglaze) May 8, 2019

Our advice (as always): buy devices that communicate locally.


This is a companion discussion topic for the original entry at https://www.home-assistant.io/blog/2019/05/08/nest-data-bye-bye/
5 Likes
#2

before everyone starts losing their shit, take a breath and realize that we don’t know what any of this means yet.

  • yes, the nest api is going away, but it sucked to begin with, so let’s not cry over spoiled milk.
  • the surprising thing should be that it took so long for google to integrate the nest acquisition into the fold, but they were probably waiting for the assistant platform to mature a bit.
  • we don’t really care about the google smart home platform, per se. we care about local access to the DEVICE. as long as we can read from and configure the device via some sort of local method, we’re going to be just fine, and quite frankly, there’s pretty much zero chance that google is going to make whatever the nest API mutates into any worse than it is at the moment (~4 “streaming” data points/hour…whole integer granularity for temperature? 5% granularity for humidity?).

local device access? what ever in the world are you talking about? do we even have some sort of reference for what this would look like?

–> oh hey. look at this.<–

sure looks like local access to a device part of the google smart home ecosystem to me!

so yeah. chill. we got till august to see what’s what. if the existing google home hardware devices are any indication, there may very well end up being an undocumented local API which can be reverse engineered with a bit of sweat.

in the meantime, if you’re a recent nest owner, find someone who had a nest dev account before they shut off the faucet, they can still, at least as of yesterday, generate oauth tokens.

5 Likes
#3

Correcting a couple of things (and don’t worry, I’m not losing my shit as I don’t own Nest and am just on the sidelines eating popcorn):

  1. I’ve heard it sucked but it was better than nothing IMHO, especially when considering that Nest is probably in the top 3-4 most purchased smart home devices.

  2. Agreed.

  3. It’s extremely unlikely that Google is going to open a new API based on the very strong language they have been using in all communications related to the API closure.

As for the existing undocumented Google Home API, yeah, that’s great! But that was a device built by an entirely separate division from the Nest team (until this week at least). I don’t think you can make heavy handed assumptions like “if product X has a API than product Y must also have a API”. That’s like saying that a MacBook has a hardware keyboard therefore the iPhone must also have a hardware keyboard (both being a false equivalency of course). There’s no reason in my mind why Google Nest would suddenly add a local API to a product that has only ever existed with a cloud connection, from day one. Furthermore, even if there was a discovered undocumented API, we’ve had experience with those suddenly getting removed without warning or breaking in mysterious ways that require further reverse engineering. Not a great experience for anyone involved.

I don’t know for sure, but I would think that Nest is probably one of the most used integrations in Home Assistant. We know for sure that the current integration will be removed by August. Whether something replaces it or not remains to be seen, but I wouldn’t bet on it. Even if something does, I can almost guarantee that it will take a long time between August, a local API being discovered and then being fully reverse engineered.

Finally, I’d rather freak out right now so that there is even a chance of Google reversing course or opening up a new official API. The bigger the freak out, the bigger the angry mob. The bigger the angry mob the more negative feedback/account deletions Google will get. The only way that they would consider changing course would be a massive uproar, exactly like we saw with Logitech Harmony removing the undocumented local API unexpectedly. Assuming that Google isn’t going to reverse course, people should be made aware that this is coming as early as possible so they aren’t caught off guard. They should be investigating alternative options for thermostats, cameras and smoke detectors today not tomorrow. No need to pull the trigger yet, but start getting your plans in place (assuming that maintaining external control of those kinds of devices is important to you).

3 Likes
#4

google home mini != nest thermostat. absolutely true.

that being said, one could make the argument that if anything, the nest is going to be reconfigured to resemble the google home (mini) instead of the other way around as it was designed specifically for the google smart home ecosystem, to which the google nest will now have to conform, so nest -> google home is more likely than some other 3rd incarnation we have yet to see.

i would respectfully disagree. the local API for google home doesn’t even require oauth. no encryption. all out in the open. would literally take someone probably an evening with wireshark sending commands from another device on the lan to go through the handful of functions we’d be interested in.

some healthy freakout in the form of maybe making our voices heard to google can’t hurt. if you’re looking for a smart thermostat and haven’t already purchased, yeah. maybe get an ecobee. but this is not logitech. that was borderline malicious and sadly repetitive after link. ending predictably.

i got my tinfoil hat on as well, i’m just saying the sky isn’t falling QUITE yet and the shit is still working until august. so. smoke em if you got em and we can light the torches and grab the pitchforks closer to the end of summer.

#5

I don’t think you can make the argument that the Nest will be reconfigured. It has been around a lot longer than Google Home has. No reason to fix things that aren’t broken. The thermostat, smoke alarm, camera and security system are so vastly different from Google Home that it would be pretty ludicrous from a development perspective to have one firmware on all those devices.

Important to point out by the way is that Nest’s most visible product is the thermostat of course. Maybe the thermostat gets a local API or reverse engineered or whatever, but what of the other devices? They all serve different functions so I don’t think you can expect them to all use exactly the same API format and calls. I would also still point out that because they are so different it would be crazy to run the same firmware across the line and Google Home.

Finally, just because a API doesn’t require oAuth or have encryption doesn’t mean that it’s easy. Again, the Harmony API was pure XMPP with no authentication required to setup. And yet, breaking changes happened with some frequency and no warning. Who is going to be signing up to maintain a integration through all of that?

#6

…the same crazy bastards who throw in PRs on a daily basis. those unsung dungeon dwelling neckbeards who keep this fucking thing alive, kicking, and ever expanding.

and i’m not expecting it to be the SAME api across all products, but it would be borderline stupid of google not to create some base parity across all devices for the sake of, for example, adoption. why the hell would they keep the nest API if they’re going to be integrating it with a completely different backend. not to mention the fact that the nest api was really bad.

1 Like
#7

Someone will hopefully come along one day and add support for the thermostats, and then months later someone will add the smoke detectors and so on and so on, sure. But we don’t know who that “unsung hero” is or when they will arrive. In the meantime, users are left out in the cold. The better thing for them to do is switch away from Nest to a local solution, or at least one that respects them more than Nest seems to.

Many people are calling Google’s decision to shut down the Nest API stupid. So we can’t assume that they aren’t going to make more stupid moves such as doing wonky API implementations. I would (and honestly have for a long time on everything that comes from big G) assume going forward that all moves they make are out of stupidity or short sightedness.

IMHO, the Nest API was shut down primarily for business reasons. I’m sure Google has analytics showing the top two integrators on the Nest API are SmartThings and Wink, both of which are direct competitors to them. They want Google Home to reign supreme as king of smart home hubs. The only concession they will make is to most likely continue allowing Alexa access to control Nest, since Alexa is the most sold smart speaker/platform device. Think about that one too, because the existing skill is based on the Nest API I bet, and unless they decide to rewrite the skill it’ll keep running on the same Nest API that you and I no longer have access to.

2 Likes
#8

Reading further into this, I think it’s fair not to assume too much at this point. Referenced in this forum post they say “we are not accepting new developers until the new program is implemented”.

What I take from that is they are scrapping the current implementation, they are re-creating an API (via the full Google takeover), and similar functionality will resume at some point. API functionality can still be added closer to the August deprecation date. Given the flexible amount of functionality we have already I think we can look on the bright side.

1 Like
#9

it’s not stupid. it’s inevitable. you don’t buy a company whole hog and then not integrate it into your smart home ecosystem. there was no other option. which sort of makes sense, in hindsight, why they never released the remote temp sensor api, have been basically AWOL on the forums, and disabled dev account creation.

“many people” has never really been a convincing argument. many people makes for a mob, and a mob is for the most part stupid.

be weary? yes. try to influence them to make a local api for us tinkerers? absolutely. bitch about getting rid of a shitty api when we don’t really know what the replacement is even going to look like, regardless of what their current public statements may be? premature.

#11

Both tired and wary of google :slight_smile:

#12

And that is the point. No one is being told, it is all guesswork. What a way to look after your customers.

#13

Except for the part where it’s not guesswork. It’s not like we don’t have other Google smart home devices to reference and make pretty well educated guesses about the level of access we might have given that which we can access via existing devices.

Google purchased Nest. It was inevitable that there would be a consolidation on the back end eventually. I’m honestly surprised it took as long as it did in the first place. You also have to remember that while we’re a passionate subset of their target market, we are far from being the average Nest user, who is going to be just fine migrating their nest account to their Google account and calling it a day while having the same, if not better level of control.

#14

Except that this is no way to treat a customer.

#15

I think that google are pretty clear in communication on what to expect:

nest

#16

damn. it’s almost as though no one else took business law classes in college then got hit in the head so hard that you forgot reading comprehension.

right now, with how the nest dev program works, you create a project/platform/service and are provided with an oauth id/secret. this gets rolled into whatever app/service you’re building and then when the end user(s) use this app/service, with the dev id/secret, the dev, based on the permissions requested by the dev and then approved by the end user, the dev can then access/control all end user devices which have approved the app/service.

THAT’s who the question is from and replied to. and, as i would expect, google is saying that hell no, you, as a 3rd party developer, will not be able to, by way of the actions on google smart home platform, provide a developer api, for 3rd party apps and services, to access our products.

this has NOTHING to do with our use case or core demand. we, for all intents and purposes, are not developers. we’re just dudes with a thermostat who spend way too much time at a keyboard. we just want to control OUR OWN local thermostat DIRECTLY over LAN, not via some local or cloud based service.

until i read, explicitly, that they say something along the lines of “we are making it impossible for anyone outside networked google smart home platform products and services/servers to access nest products in any way shape or form”, i’ll just enjoy watching everyone else run around with their hair on fire.

i know the hate train has left the station, but this mob seems to have forgot that the nest api WAS FUCKING CLOUD. it wasn’t local. it wasn’t good. i find it hard to believe google could fuck it up any more than it already was. chill. let’s see how this plays out. if at the end of all this we don’t have local access, then go ahead and start smearing feces on the walls.

#17

I assume the Nest mobile app will stay in the current form. That means that the unofficial API would still exist after August. The unofficial API is used in Domoticz and well researched already. See:


#18

Could we not just get access via the Google Assistant Cloud API?

#19

As shr00mie said earlier on - looks like Google already have plans:

Google Local SDK Link

#20

The local SDK is only a faster way of Google delivering their existing commands to us. It does not allow us to access our own data.

3 Likes
#21

I am curious about what updater can tell us and others about how many of us use the nest.

Would like to think we will be able to use HA to control and get some state information. The data access side is a drag but able to get what I need using influx and grafana

Also seems there will be more incentive for jailbreakers to “fix” this.