I made a crappy Nest Thermostat integration that will work as a stopgap until alternatives come out

now it works :smiley:

I’ve only just started down the HA path in the last week or so with no prior understanding or experience at all. I got this up an running with a little bit of reading/understanding and following directions. I couldn’t get it to work with an old Nest account (no 2FA), but once I switched it to a Google account then all was good.

The thing I like the most though is that I can now tell Siri to set the Nest to a certain temperature as I have HA sending everything over to HomeKit and it all works without a hitch.

Thanks for all the hard work!

Have you fixed this problem with your hello cam? I’ve the same issue

Hi. No, I haven’t solved this one yet! Working on it. Hope I get some answers :wink:

Ok thanks I’ll follow your progression :laughing:

@Remotesojourner I used your pull to fix the cameras, but they disconnect after about an hour and I need to restart the HA server to have them reconnect. Are you seeing something similar or any hints as to where I should look to debug?
Edit to add what logs I do have:

2020-01-16 13:33:03 ERROR (MainThread) [homeassistant.helpers.entity] Update for camera.outside fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 279, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 461, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/badnest/camera.py", line 91, in update
    self._device.update_camera(self._uuid)
  File "/config/custom_components/badnest/api.py", line 187, in update_camera
    sensor_data = r.json()[0]
  File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 889, in json
    self.content.decode(encoding), **kwargs
  File "/usr/local/lib/python3.7/site-packages/simplejson/__init__.py", line 525, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.7/site-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/usr/local/lib/python3.7/site-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

@weidercs I only use the HA UI occassionally but I have had reports of people having this issue. There is someone who has tried a fix and apparently it works(probably to do with the expiring token) and I plan to add it in this weekend(hopefully). Although, considering there is a pinned issue on the github project saying community has to provide camera support and my merge request has been open for two months, I am guessing original author has been really busy and probably haven’t had time so I am not sure when it will be merged.

I don’t mind forking and modifying (or using your fork), do you have a link to the fix you mentioned, I can try to incorporate it as well.

NM, found it in the issue log. Will give it a go.

There’s a way to use the presence sensor inside the nest?

1 Like

Things were working great until about a week ago, then all the sudden started getting this error:

Error during setup of component badnest
Traceback (most recent call last):
File “/Users/X/homeassistant/lib/python3.8/site-packages/homeassistant/setup.py”, line 175, in _async_setup_component
result = await hass.async_add_executor_job(
File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/Users/X/.homeassistant/custom_components/badnest/init.py”, line 44, in setup
‘api’: NestAPI(
File “/Users/X/.homeassistant/custom_components/badnest/api.py”, line 54, in init
self.login()
File “/Users/X/.homeassistant/custom_components/badnest/api.py”, line 74, in login
self._login_nest(self._email, self._password)
File “/Users/X/.homeassistant/custom_components/badnest/api.py”, line 81, in _login_nest
self._user_id = r.json()[“userid”]
KeyError: ‘userid’

Copied and pasted email and password into nest website to login and works fine, so that doesn’t seem to be the problem.

Config has:

#badnest
badnest:
  email: '[email protected]'
  password: 'XXX'
  region: us

climate:
  - platform: badnest
    scan_interval: 10

Again things were working prior. Any thoughts?

For Nest accounts the login process has changed which i assume may never will be solved, you have to migrate to Google account and use the cookie/token method.

Hi all, i’m trying to configure my nest cams with this but i dont know why is no working for me, i dont have any new entity in ha and no errors in log either so, i’m doing something wrong? Here my config:

badnest:
  issue_token: "xxxxxx"
  cookie: ""
  region: eu

climate:
  - platform: badnest
    scan_interval: 10

camera:
  - platform: badnest

sensor:
  - platform: badnest

Of caurse i have followed steps to get my issue_token and cookie. Thank you in advance for your help.

1 Like

Only just found this.
I’ve been looking for something like this for a couple of weeks.

Great work !

Thanks.

Hi, I am using google account login for a long time, without any issues. Since a couple of days, I am getting frequent logouts. Even if I create new issuetoken and cokkie, still, after a couple of hours disconnects from my nest account. Does anybody see something similar in homekit using badnest? The nest app however remains signed in. Is this an issue on nest side? Thanks

Same problem for me

This works really well. Has anyone gotten this to work with 2 nest thermostats?
I only see one.
My Config…
badnest:
issue_token: "xxxtokenXXX
cookie: "OCAK=xxxThecookiexxx
api_key : “xxxTheAPIkeyxxx”

climate:

  • platform: badnest
    scan_interval: 10

Mine shows 3 nest thermostats. I am using the default settings following the directions for the “Google,” account.

Interesting…it found one of mine but not the second one…i see both at home.nest.com

I only used the Google sign in. Switched my account from nest to Google prior to adding this add on through HACS.

It also sees my nest hello. This is one integration that worked for me from day one. Sometimes it has stopped setting the camera due to an API change by Google but this has been fixed fairly quickly by members of the community. Wish I could help you troubleshoot more. Hopefully others can offer some tips.

1 Like