2
votes

me and my buddy are trying to get a raspberry pi working with google assistant in or to power a lamp and the Google Assistant is doing weird stuff.

We decided to do a fresh install of everything to make sure that nothing was wrong with our code and attempt to follow instructions to the letter.

With him on the raspberry pi and I on a Linux machine we ended up with the same problem. Html and no audio output.

ON_MUTED_CHANGED:
{"is_muted": false}
ON_MEDIA_STATE_IDLE
ON_START_FINISHED
ON_DEVICE_ACTION:
{
 "inputs": [
{
  "intent": "action.devices.EXECUTE",
  "payload": {
    "commands": [
      {
        "devices": [
          {
            "id": "F993B91C4474F28BF79BBCB988627ACC"
          }
        ],
        "execution": [
          {
            "command": "action.devices.commands.VISUAL_OUTPUT",
            "params": {
              "html": "<html> <head><meta charset=\"UTF-8\">...     

After that we get a massive amount of html when we should be getting a audio response from the assistant. We have no idea how this happened and how to get the audio working again.

I have a feeling that this is something wrong with the visual_output but I don't know why its printing and not responding or why its happening on both of our devices.

Any help would be greatly appreciated.

2
Might have better luck asking question on raspberrypi stack exhange - dbmitch
The thing is that its working the same way on my device, there is something wrong with the google setup with or without rbpi, Ill post it there though. thank you. - gemini88mill
Can you trying giving a command like hey Google what time is it? - Nick Felker
I don't have a solution but I ran in to the same problem and did a little digging. The HTML is a permissions page that the user needs to agree to. It looks like it thinks the PI is a TV and can show it to the user. Edit: when you grab the html and open it in a browser on a computer you can click agree but from the network monitor you can the POST request fails because: code : 400 message : "Could not list the device model. Unexpected format for the URL. Check that the request URL follows the format "projects/&lt;project_id&gt;/devices/&lt;device_id&gt;/disclosureConsents/&lt;id&gt;"." status : - Jackoson
Indeed, as stated by @N.jackoson there is something wrong on the Google side. You might want to follow the issue also here: github.com/googlesamples/assistant-sdk-python/issues/274 - NeoMod

2 Answers

3
votes

I think I have found a temporary solution for this problem. Enter a wrong model-id while running the sample code.

googlesamples-assistant-hotword --project_id project-id --device_model_id model-id

It works for me!

0
votes

Another thing that worked for us is using a previously authenticated Google Account. We deleted /home/pi/.cache/voice-recognizer/assistant_credentials.json and /home/pi/assistant.json. We then downloaded a new client-secret json and changed which account the voice kit was linked to. This got us in. However, we happened to have previous Google accounts that were authenticated prior to this weekend's change.

I hope Assistant SDK Support sees this. We have successfully built and programmed nearly 100 kits this summer, and at some point since July 27th, new accounts stopped giving a response after the hotword is said.