[Release] Google Home Assistant Relay Driver (v1 and v2)- text to speech on Google Home devices

First, thank you for sharing. Your solution seems about as elegant as most around here! :wink:

Second, I have a question about how your rule below is working... What integration are you using on Hubitat for the Google Home Mini? Are you simply using the built-in Chromecast Integration (Beta)? Or some other solution...as this thread's Assistant-Relay does not support playing mp3 files. So, I am curious what integration you're using. Thanks!

I thought when you originally said "play music" I thought you meant something like "Play Pandora" or "Play Spotify". I didn't realize you were trying to play something specific. Glad you came up with something though. Very nice.

Thanks for sharing
I am actually looking for something that when I press a button for example then it would be the same as I would have used my voice to tell my Google home "play music in spotify" . Then after press the button the music will just start playing in spotify. Anyone knows if possible?

As far as I know that is not possible.

That is correct. I used the built-in chromecast integration. I was also able to make it work with webcore (https://github.com/ajayjohn/webCoRE/tree/hubitat-patches/smartapps/ady624) on rasperry pi, but it was rather slow (no surprize).

Is there a reason you didn't just use Rule Machine? The Play Track action is available under "control music players" in Rule Machine 4.0. Would probably be a lot faster response time. Although it does take a while for the track to be streamed by the Mini.

I tried that, but it only let me use Samsung R1 speakers with a long delay. I couldn't use minis with it.

I've been reading through, but I want to verify if this does what I want before I try to figure out how to set it up. Does the [CC] custom command work for anything you could instruct GA to do with your voice?

For instance "Play Party playlist on Spotify on All"

or control Nest products "Lock front door" "Set alarm to guard"

Sidenote, can I pay someone to set this up for me? :fearful:

Unfortunately, no it does not work for anything you can say to a Google Home device. It appears this may be a limitation of the Google Assistant SDK that is used by this NodeJS “Assistant-Relay”.

The developer of the NodeJS Assistant-Relay server is working on v3.0. This should greatly simplify the setup and configuration process. It might be best to wait until he has his new version available. Hopefully my Hubitat Driver will not need to change.

To answer your specific questions.....

No. This does not work.

This should work but I don't know if the recent nest changes changed any of this. (i.e. post shutdown of the "works with nest" api)

I know that @halfrican.ak uses it with his alarm, but I don't know if he has the lock too. He may be able to comment on the viability of using it after the end of the Works with Nest program if he still owns that system.

But I agree with @ogiewon 's advice to wait for v3.0 if you don't want to dive in twice, :smile:

While it did work with both the Nest Guard (Alarm) and Nest x Yale (Locks) I have since moved away from the nest ecosystem with the exception of the cameras so I cannot comment on how it works post "works with Nest".

1 Like

That's what I was afraid of. Given the changes to "works with nest" and the total lack of development on the Google Assistant SDK, I'm worried about saying that anything works unless someone can verify it. I've been surprised by a few things that did work and a few that didn't when trying to do them through GAR.

I am trying to run this on a headless Ubuntu server. When I go to run npm run start, I don't get a URL to copy and paste. My server doesn't have a browser, and the output doesn't give me an oauth url to copy and paste from the terminal, like the instructions have.

Which version of GAR are you trying to run? v1, v2 or v3?

V2

This is the only output I get:

> node server/app.js

Opening OAuth URL. Return here with your code.
Paste your code:

Does your cast web server have web access? Did you install the correct .json file?

Yes, I generated it from the Google API console and downloaded it.

And you put it in the correct location on your RPi? Are you doing this from a terminal on your server or through SSH?

I'm not using an RPI. I downloaded it to the correct folder.