Migrating Nest from OH2 to OH3

Hi Folks,

I’m hoping this is a quick question. I’ve rebuilt my OH environment from scratch onto a Pi using OH3. Was previously running OH2 on OSX. I’m up to bringing my Nest environment across. Can I:

  1. just copy the ProductID, Secret and Access token into the Nest Bridge config (leaving PINCode empty) - when I tried this I got Bridge status UNKNOWN.

or

  1. do I need to create a new PIN and complete a ‘new’ install - when I tried to log into my NestDev account (which I have not used in a long time) I could not find where to generate a new PIN and kind of assume that function has been switched off?

Thanks, Dave.

Since Google killed “Works with Nest” It might be better to figure out how to restore your OH2 backup on the Pi and then upgrade.

I do not think Google permits any changes on their legacy system.

Hi,
have a look here to get it working without Works with Nest: Google Nest Device Access Console now available - #181 by dathbe

1 Like

To be clear, the post by me directly linked above is a sort of second step to the process. Earlier in the thread you’ll see instructions for setting up the new binding. My post deals with the optional (if you’re only using thermostats) step of adding pub/sub integration.

But yes, I can confirm that if you do a new install, your old Works With Nest integration will likely die.

1 Like

Sorry that is my fault, I thought I had linked the thread but on my mobile phone I must have gotten the wrong one! I wanted to link the thread instead of dathbes post.

1 Like

You can get it working if you have the tokens. See here:

Thank you all for your valuable input. As always, it is much appreciated!

I was able to get the OH3 binding to work using the OH2 ProductID, Secret, and Access Token data. It didn’t work originally because I had copied the parameters from an old nest.items file. Instead, I was able to restore OH2 on my mac mini and browse to the paperUI items config and just copy parameters across and then wait. In the meantime, I manually configured the structure and thermostat. It seemed to take a while (nearly 45 minutes) to authenticate and start the data streaming process, then up came the structure and thermostat devices. The Nest Protects are now sitting in the inbox to bring online. This is great news.

The answer to my post is - Option 1 works. Thank you all for your hints and tips.

2 Likes

I need some help using the Nest binding included with the openHAB 3.1.0.M3 Milestone build

The instructions above were great and I was able to follow all of it create a project, an OAuth client, register it in nestservices.google.com, obtain the code, followed by access_token and refresh_token. I received emails from Google notifying that the project was grated access to my Google account, and another email from the Google Cloud Platform notifying me that the account was grated the role of owner for a publish/subscriber service (which I do not believe is needed since I only have three thermostats at home). I checked nestservices partner connections and the project has been linked and I see the three thermostats as being approved to be accessed.

However, when I go to the openHAB web interface (port 8080) and add a thing of type Nest account bridge, I can’t find a way to make it work. Here is how I am filling the information, hoping that I am making some simple mistake that some can tell me.

Here is how I am configuring the Nest account bridge thing:
Product ID: I use the OAuth Client ID
Product Secret: I use the OAuth Client Secret
Then, if I use the “access_token” or the the “refresh_token” as the pincode, I receive a message stating the binding has a configuration error and that the token is invalid or could not be refresh.
Alternatively, if I select “Show Advanced”, leave the pincode blank and enter the “access_token” as the Access Token, the binding status changes to " Unknown Stating Poll Query" and stays like that indefinitely. The same happens if I use the “refresh_token” as the access token, still leaving the pincode blank.

I hope someone can shine a light on what I am doing wrong here. Thank you in advance.

The binding that is available through the UI installation is the version of the binding that still requires an old nest account and not an updated to google account version. If you followed the instructions on the link to the “Google Nest Device Access Console now available” thread, those instructions are for a new and different version of the binding that you have to download from links elsewhere in that thread and manually install. There are still a few issues to iron out before the new nest binding is the official version in the in add-on repository.