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
If you open your browser to http://192.168.1.90:8008/setup/assistant/alarms do you see anything there?
Nope. Just an empty page for any URI (as I mentioned). Even if you type a non-existent URI (like /setup/assistant/testtest
), it still returns an empty page.
Are you sure that IP address is correct?
If it is try rebooting that device
IP is correct. In fact, I have two Google Homes Mini - both APIs stopped working. That happened around 2.42 AM (European Time). Rebooting doesn't help.
Can you check the firmware version?
156414 on both of them. Google Home application on my phone (the latest version from June 20) is still able to manage alarms.
That is the same FW I have..
navigating to /setup/assistant/testtest
give me a 404.
/setup/assistant/alarms
gives me {"alarm": [],"timer": []}
Strange... Yes, this is the behavior that I expect and actually had before 2.42 AM today. Beside HA component introduced recently, I also curl this API manually from a shell script, so I'm aware of the output format.
Do you use the same port (8008)?
Yes, that is the port for that API.
_I'll try to reset one of my devices later today._
Maybe I have done something on mine that is not default.
Thanks!
Exact same problem here as well. Correct IPs, tried rebooting, etc.
I think the Homes were updated and that broke something. Perfect timing too - just got Room Presence working with them again.
That is probably what happened, but I'm on the same FW version and have that API endpoint working.
From /setup/eureka_info?options=detail
"build_version": "156414",
"cast_build_revision": "1.40.156414",
My cast firmware version is also the same.
After 3 reboots of the device, I also have this issue, that makes it easier to debug.
Will post here if I find something.
http://192.168.2.247:8008/setup/eureka_info
looks like it's still working, any other endpoint returns a 403.
Yes, /setup/eureka_info
works for me too.
Yeah.. they now require some form of authentication for all other api calls...
I am getting the same error too. Same fw and cast version as @ludeeus
Currently running Hassio 95
Yeah, they have started a full rollout of this "feature"...
The beginning of the end
To be fair, we should be equally upset google had a bunch of Iot devices in our house with open routes that expose things like device information and connection strengths lol, that or they realize if they do this the only legit way to get this information on a display is their new 'nest hub' screen ecosystem
Ha first time I'm trying this after struggling with the monitor script by andrewjfreyer. Should I not be optimistic about the great minds here getting it working with authorization similar to the manual setup of google assistant?
Same issue since yesterday here with googlehome. It does not track BT device anymore.
I also have the same problem. I get a 403. Google did a silent update again...
Same problem here.
https://github.com/home-assistant/home-assistant/issues/24815#issuecomment-506822393
Will be the same problem everywhere...
_This is one of the drawbacks of using an unofficial API_ :(
what a pity, I just wanted to configure my system to use this feature
Same problem here :cry:
Same issue here, the logs are flooding with 2019-07-01 18:00:01 ERROR (MainThread) [googledevices] ClientError contacting http://192.168.178.102:8008/setup/bluetooth/scan_results - 0, message='Attempt to decode JSON with unexpected mimetype: '
Best to just disable the integration right now until a solution can be found. I did some googling, nothing obvious jumped out, but I bet there will have to be some authenticated calls made to the homes in the future, assuming they will actually support being queried like this.
Posting "Same issue here" is not needed, everyone that uses this has this issue.
As @alertedsnake said, it's best disabling this for now.
@rithvikvibhu, who documented the API, is looking into it: https://github.com/rithvikvibhu/GHLocalApi/issues/39
Interesting... Around 3AM (European Time) API started working again. Google reverted their change?
It certainly looks like it @OleksandrBerchenko
What's weird it that it's the same FW as earlier...
Have tested all endpoints used by the googlehome
integration on two separate units.
They all now return the expected result.
I'm closing down this issue until Google push this again.
Hi, glad to see this issue is closed now but I still got a 403 error with this:
http://192.168.1.16:8008/setup/assistant/alarms
I rebooted the device and HA.
Hey @gekomax. Some people are still getting 403. Someone on https://github.com/rithvikvibhu/GHLocalApi/issues/39 got it working again on the 3rd reboot. You could try rebooting a few times.
For some reason /setup/bluetooth/status returns "scanning_enabled": false
after a scan has be performed, regardless of what I post in the /setup/bluetooth/scan timeout property
{
"enable": true,
"clear_results": true,
"timeout": 10
}
Anyone experiencing the same?
Hey @gekomax. Some people are still getting 403. Someone on rithvikvibhu/GHLocalApi#39 got it working again on the 3rd reboot. You could try rebooting a few times.
Hi, thanks!
I rebooted al my device one more time and now they're working!
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.
Yes, it stopped working again for me too.
It is also broken again since last night.
It also doesn't work here since last night. Use fw: 156414
It's working for my existing devices (Google home, and Home Hub)
But when trying to add 2 Home mini's I get this error.
currently, it's "random" will happen to everyone.
Mine stopped working again - access denied. I restarted a couple of times and access returned.
in the end now works for you?
in the end now works for you?
Yes it works now with nothing more than restarting a couple of times.
I have last firmare on many minis. The fun fact is that tracking is working only on one device.
I have this on all my devices (all 2 of them), I am on 0.96.5...
My google home hub is working, 2 google home mini's aren't working. I have the same error.
SAme error here! access denied!
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.
I have the same issue, is this being worked on ?
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.
same here my logs are flooded with google home errors for weeks 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.
Thanks, I don't know hot to use the header and its token.
Could you describe it in your how-to?
Thanks again