core: Google Home sensor stopped working last night

Home Assistant release with the issue:

0.95.1

Last working Home Assistant release:

0.95.1

Operating environment:

Virtualenv on Raspberry Pi

Component/platform:

https://www.home-assistant.io/components/googlehome/

Description of problem:

It looks like Google Home either closed or changed their local API. Any local URI like /setup/assistant/alarms or /setup/bluetooth/scan_results now returns just an empty page.

Problem-relevant configuration.yaml entries:

googlehome:
  devices:
    - host: 192.168.1.90
      track_alarms: true

Traceback (if applicable):

2019-06-28 13:08:04 ERROR (MainThread) [googledevices] ClientError contacting http://192.168.1.90:8008/setup/assistant/alarms - 0, message='Attempt to decode JSON with unexpected mimetype: '
2019-06-28 13:08:04 ERROR (MainThread) [homeassistant.components.sensor] googlehome: Error on device update!
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 261, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 375, in async_device_update
    await self.async_update()
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/googlehome/sensor.py", line 62, in async_update
    alarms = data.get('alarms')[self._condition]
TypeError: 'NoneType' object is not subscriptable

2019-06-28 13:08:06 ERROR (MainThread) [googledevices] ClientError contacting http://192.168.1.55:8008/setup/bluetooth/scan_results - 0, message='Attempt to decode JSON with unexpected mimetype: '

Additional information:

N/A

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 58 (28 by maintainers)

Commits related to this issue

Most upvoted comments

Looks like Google pushed another update out, getting a 403 when trying to look at the scan results and it stopped reporting to Home Assistant.

Posting “Same issue here” is not needed, everyone that uses this has this issue. As @alertedsnake said, it’s best disabling this for now.

some info over here.

rithvikvibhu/GHLocalApi#39 (comment)

and

https://gist.github.com/rithvikvibhu/1a0f4937af957ef6a78453e3be482c1f

The Fix Lots happened over at #39. Finally, the only changes required are:

Change port from 8008 to 8443 Change protocol from http to https Add a new header (for all requests) cast-local-authorization-token Note: Since this is https, the CA will likely not be trusted by your device. “Enable Insecure Requests” or “Allow Self Signed Certificates” when making requests. For example, pass the -k/–insecure flag with curl and verify=False with python’s requests.

it looks good but we need a way to get the token where you don’t need root on your phone.

some info over here.

https://github.com/rithvikvibhu/GHLocalApi/issues/39#issuecomment-511214195

and

https://gist.github.com/rithvikvibhu/1a0f4937af957ef6a78453e3be482c1f

The Fix Lots happened over at #39. Finally, the only changes required are:

Change port from 8008 to 8443 Change protocol from http to https Add a new header (for all requests) cast-local-authorization-token Note: Since this is https, the CA will likely not be trusted by your device. “Enable Insecure Requests” or “Allow Self Signed Certificates” when making requests. For example, pass the -k/–insecure flag with curl and verify=False with python’s requests.