Google Assistant trouble shooting

Yeah I didn’t think it was possible either but it appears to be working. As explained above I have a personal account and family account which has my premium YouTube membership. My personal account is on my phone but my Google home mini is primarily tied to my family account with the premium membership. I do this so I can use Ok Google to play the vast collection of Music I pay for. Even if I add my personal account so both are on there the Google home mini does not see any of the home control devices I first setup on my personal account. I went through the entire process of setup again on my family account, created new API key, and through the home app added the test app that shows up once it configured on Google’s end. I created two google assistant entries in configuration.yaml with different api keys and different project keys. Now both accounts have the home control and both seem to cap off at 32 devices sync’d if I let is sync everything. I still have not tried to manually put devices in rooms. I don’t really like the “rooms” concept of Google home because I can only put a light in one room. I can’t put a device in “Bedroom” and in another room called “Upstairs” whereas with Alexa I can put multiple devices in multiple groups. I would much rather group everything together in HA and expose “UPSTAIRS” as a switch to Google Home.

Interesting, you know that if you expose entities to an Google home device, if you put the devices and the Google mini, in the same house… You can share that house to another Gmail address…so the other Gmail account will also see the devices… And also the Google mini, isn’t that better for you?

But anyway, 2 projects from one HA is interesting, that should maybe solve my case… For example , my mini device is downstairs, so I have a switch called “music” , so if I say “music on”, then my receiver in downstairs zone 1 strarts playing…

I also want to say “music on” to my second Google device, upstairs, but 2 entitys with same name is offcourse not possible… So maybe I can indeed expose a second project to my second mini device… And then exposing entitys with same name, but actually doing complete different things,

That didn’t work for me. I thought that would work too. I added my personal account to the Google Home Mini from the home app doing the whole invite process and accepting. It asked if I wanted to do voice match which I said no on. Perhaps that is why it defaults back to the family account when using the Mini and only sees the HA devices (previously none) when on the personal account. I “assumed” that if I had done the voice match and that actually worked well then when I talked it would use my personal account with the HA devices associated but then if my wife talks it would use the family account without the associated devices. Now both accounts are associated so it is not a problem. Maybe I will setup voice match and turn off my wife’s ability to control certain things on april fools or rename them to funny things “Ok Google, turn on my husband” to control the bedroom light :slight_smile:

Let me know how it works out for you to separate. I was pleasantly surprised two google assistant entries worked.

On a slight rant I am exceptionally irritated trying to use the Google console when dealing with a secondary account. It kept defaulting back to my original account when I copy/paste links in from the HA instructions and the worse was it would immediately redirect to a URL with my first accounts project name. If you click the picture to change to a secondary Google account you get a permission denied you are not authorized error because it tries to load that unique URL with the unique project name from the first account. Those URL links dont even follow the typical Google way of seperating accounts .com/u/0/ and .com/u/1/ What you have to do is manually trim the end of the URL string of the project name from the first account and add in ?authuser=1 to get the second account. Ok rant over.

hmmm i tried that before, didnt have issues with it, so i had devices linked to my gmail acouunt, and i shared my “home” house with my GF, so she saw my “home” and also my devices on her smartphone

but at the end it wasnt needed after all, so dropped that, cause i never thought that she was also be able to speak to the google mini, without any link at all
thats my second problem, my kids 2-4 years old, can also turn on the Television; i dont want that :slight_smile: :slight_smile:

i only want voice controlled persons to allow/access my google devices
if i say turn of TV, they turn it back on :s

Yep. Its what the api_key part of the config is needed for.

Mine hasn’t actually worked in a while though (get a permission denied error, I suspect I need to change something about my key’s permission, but no idea what).

hm? the api key is only needed to make of of the “sync my devies” command?

Yeah My Hue devices show up in both but I might have linked my hue account twice. I can’t recall. Maybe you have to have to enable individual voice control for that to work. I never tried it though. BTW I think I am wrong with my 32 device limitation. I have a lot of hue lights and I am seeing double entries in there. I guess HA is sharing my hue bulbs as well or maybe because I am sharing accounts and they are showing up as double entires?

It is likely that my limit is much higher but some of my zwave devices did not sync. This is a mess :frowning: I might try deleting everything and starting over. Honestly I don’t know how much effort I want to spend on this because My long term plan is to ditch alexa and google home for mycroft or some other more open alternative for voice control. I don’t use google assistant right now and only use google/alexa to control lights, convert measurements, add things to my shopping list, and set timers. I’m learning the Google stuff now and am not impressed with some of their weird limitations.

If you haven’t got rooms configured in the yaml file I don’t think the device limit sync issue will affect you.

I believe that exposed_domains over rides expose_by_default based on my testing, so only items in those 5 domains you are sharing will be showing up, so if some of your estimated items aren’t of those types they won’t get synced with your setup.

Otherwise you could use the code awarecan gave us in the github issue for the 20 devices problem to get it to log out the json data that is sent to google when syncing, to see how many devices are actually being sent to google (should at least help you work out if it is google or HA messing up for you)

You can share a single test assistant api access to another google account via the share tool in the top right on the testing/simulator page. My main account is a G Suite one, but for some stupid reason google doesn’t allow any home/family sharing stuff via g suite, so to share the home with the family I have the api access shared with my plain gmail account so that can have the actual link to HA.

In terms of “rooms” and grouping devices for places like upstairs, I’m using the rooms mainly for being able to tell a google home device “lights” so it turns on the lights in the room it is in. I have separate light groups setup in home assistant for things like Upstairs and exposed to google not in a room, which google sees as a single light that I can tell it to turn on or off, and HA deals with the actual large set of lights (I actually barely show google anything but groups of lights, so that it can address rooms/sections of rooms, rather than individual bulbs

I believe so, but haven’t actually checked the code.

My impression from the instructions is the api code is for authentication when trying to resync from home assistant’s end, when resyncing from google’s end they are just hitting the address you told them too, so they can trust it without the api code.

you should really wait untill the cache/sync issues is gone by google, its possible that you dont see devices , that are actually there…

anyway, shoud this work?

so create 2 projects , i put switch.radio1 in project 1 and switch.radio2 in project 2
both with the same name? :slight_smile: if that works, i can actually have 2 google home minis, each with different projects , but actually saying the same commands, that would be wonderfull

switch.radio1:
  name: Radio
  #room: Kitchen
  aliases:
    - Radio
    - Muziek
    - Music
switch.radio2:
  name: Radio
  #room: Bathroom
  aliases:
    - Radio
    - Muziek
    - Music

ok, makes sense

Yeah, I’d imagine if you have both HA and Hue linked to google assistant, and haven’t set the hue bulbs from HA not to be shared, then they will be synced from both creating duplicated. If your hue bulbs have similar names you might be able to use wildcards with a expose: false statement (I know wildcards work in some places in the config, though no idea if they do everywhere), i.e.:

google_assistant:
  project_id: xxxxxxxxxxx
  api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  exposed_domains:
    - switch
    - light
    - group
    - cover
    - scene
  entity_config:
   hue_*:
     expose: false

Otherwise I guess you’d need to call them out individually as expose: false, or do expose_by_default: false and individually expose: true what you want google to know about.

Oh, as an interesting note, now my devices have finally synced from yesterday and I can see them in the home app, the ones not in rooms are asking me to select a home to put them in if I try to assign them a room. I wonder if google’s issue is actually that devices after a certain number aren’t automatically put in a home, and so it crashes when it attempts to assign their room.

yes could be :slight_smile:
but now now it seem when you link , i see those now faster appearing in the home app
but rooms is not the only issue, i also have issues with aliasses/names , like for instance , i have 2 switches exposed, a switch called “turbo” and a switch called “normal” , so if i say Hey google, Turbo or Hey Google, Normal , then my vacuum cleaners goes to normal OR turbo mode

but Turbo is not working, while normal is actually working
and i have another examples

but if i Say : Hey Google, Turbo ON, with the ON keywoard, then its working, but Saying , Hey Google Turbo, then it response to me, I Dont know how to help you with that…

switch.vacuum_fan_speed1:
  name: Stofzuiger Normal
  expose: true
  #room: acties
  aliases:
    - Normaal
    - Normale mode
    - Normal
    - Normal mode  
switch.vacuum_fan_speed2:
  name: Stofzuiger Turbo
  expose: true
  #room: acties
  aliases:
    - Turbo
    - Turbo mode

so it seems aliasses are not working again, i have a mix of 2 languages that i use as aliasses, always worked for months, untill this weekend

When I get time I will manually expose each light, cover, switch, and device I want to use. I think further down in my config I already have that for the emulated hue component for Alexa. I did that to stay under the device limit cap before things go wonky and then use the alexa groupings to logically put lights together like my sink light in “Kitchen” and sink light also in “Downstairs”

Since it understands Turbo On, but not just Turbo, it sounds like the alias is working, but for some reason it isn’t defaulting to turning it on with just the word? But is for Normal?

I have found it has some oddities with certain words. The lights over my kitchen counter are now called “Worktop Lights” rather than “Counter Lights”, because “Turn on the Counter” always triggered a “I don’t know how to do that yet” but “Turn on the Worktop” just works. I suspect the word “counter” has some hardcoded association with timers that caused it to ignore the light as an option.

I think I remember you saying that you were using one of the languages google hasn’t gotten around to turning on routines for yet, because otherwise that would be another way to do it. Wish they’d get better about releasing features outside the US. UK English still doesn’t have continued conversations, and I just don’t get what reason it would work on US English but not UK. It just has to keep listening for a couple of seconds after it replies! What language its speaking can’t possibly affect that.

Guess if it really irritates you you could remove some of the switches from being exposed to google and instead setup ifttt to trigger them (google assistant => ifttt => HA), but sounds like a pain to me.

Yes Google is a bastard with doing that and changing keywords and it’s a shame any word you have defined does not override their settings. I’ve had to change some of my commands because of this a few times in the last year.

well, i was able to overrule command
for example, i was able to overrule the word/command “volume up” , normally “volume up”, turns up the volume of the google speaker, in my case , when i say volume up , my volume of my TV is changing :slight_smile:

also @Lastof , maybe they are now blocking some words
also , new example, also since last weekend i cant say anymore “stop screens” , while i still can say “screens up” or “screens omhoog”

but if i say “Stop screens ON” then it works

cover.screensstop:
  name: Stop Screens
  #room: screens
  aliases:
    - Stop Screens
    - Stop Shutter
	
cover.screensup:
  name: Screens omhoog
  #room: screens
  aliases:
    - Screens omhoog
    - Screens up