[Release] [Closed] Google Assistant Relay V1 - Google Home Audio Notifications!

Yes both logged into the same google account and both show up fine in the Home app. I’ll try the full reboot, but i wonder if I need to generate a new secret code in the api?

Nope - one secret code is all you need. As I noted, I’m using two GH devices and only have one code.

Yes, Ive added devices to my setup and not had a problem - the code links to your Google account and the GH/Minis link to your Google account separately, hence they should be totally independent… Perhaps something got reset somehow, did it happen at exactly the same time?

My config file looks like that :

{
 "users" : {
"kevin": "kevin_client_secret.json"
},
"language": "fr-CA"
}

Am I doing it wrong?

Every time I fire the app I get the Google popup and I have to input the code in the app. How can I prevent it? Thanks!

Hi, just trying to remember

Right click the clent file - properties - copy the whole thing

Does that work?

I’ve been trying to get this to work for a couple of days now, but still unable to. Could someone help me please :(??

I have everything installed on a raspberry pi3 using node.js. The program was able to connect to the Google Home successfully (I hear the initial “now connected” message), and I was able to use the CURL -X method to broadcast custom texts.

However, I cannot seem to get Webcore to send messages to the google home device. The smartapp assistant relay discovery didn’t work (I did add in the device handler), so I manually added the device onto samsung ide mydevices with my pi3 ip address that was converted to HEX with port 3000 (0BB8), and then added it to Webcore list of actuators. Afterwards, I created a piston to send a message to the assistant relay, using custombroadcast with 1 or 2 string parameters…but nothing is heard! I have an ASUS router, and checked that the router has both IGMP and IGMP enabled.

PM2 monit only shows some logs events when using the curl -x method, but no logging event using Webcore to test trigger a message. Help please! Thanks.

@ghesp. Hey there. I’m new to node, and will be trying this next week. Wanted to ask if one could broadcast a greeting based on phone pings.
So if I’m connected to the server and google home, it instantly greets me. This would be amazing.
For example. I come home and have a smartthings sensor, I get a greeting.
My wife who has a static IP on her phone and comes home can also be greeted .

Also… Can one add additional broadcasts, so google does not say the same thing? Like hello John, greetings John…
keep up the good work. And as soon as I get this running, would like to donate something.

I have actually been thinking about something like this for a few weeks. besides having my ring door bell notify me via phone. I would like it to have google home tell me since I have one through out my house. I would even like to have google home tell me my wife is home or I am home. Good job hope it works out to where we all can get access!!

That’s a little outside the scope of the project, however that doesn’t mean it can’t be achieved. Since the Relay accepts POST requests, you can always send a request directly to the relay

You could always use WebCore and SmartThings mobile presence to trigger a notification. Alternatively, you could use IFTTT with their Location and WebHook service to send a request directly to the relay when your wife leaves a ‘work zone’

@txsarge This is entirely possible, similar to the above solution. I don’t know if Ring is supported by SmartThings, but if so, you could do it via WebCore or you do the same as above but with the Ring channel

1 Like

@ghesp So I could send a web request to the node webserver.
But how do I get the IP or ping. I know eventghost can do this. Pity raspberry pi cannot load eventGhost letting it talk to node, and relay it to the assistant(Lightbulb):wink:

To use it with a 3rd party service in the cloud, you’d have to setup some port forwarding to the IP address of the Node server. You can get this from your router usually, and then use something like dyndns.org or manage an external domain.

Alternatively, create a virtual button in SmartThings, use IFTTT to trigger that, then use WebCore to turn that button push into a Broadcast message.

Where there’s a will…

(I do something similar with my RF doorbell, but via a local Arduino rather than IFTTT)

Not sure why you’d go from SmartThings to IFTTT to WebCore to Assistant Relay when you could just control the virtual button directly from WebCore and skip IFTTT?

I think I misread your post. I was suggesting an method for getting a message from <insert 3rd party system here> back into SmartThings via IFTTT and a virtual button, which could then trigger Google Assistant Relay via WebCore, rather than using dyndns to tunnel in to Google Assistant Relay.

1 Like

@ghesp I had a scan of the Google assistant documentation but couldn’t see anything about triggering a selection of Google home devices rather than all of them. Did you see anything like that? Would be so much better to be able to trigger a single device to speak in some situations. Thanks!

It’s not possible yet. Spoke to them a while back and they confirmed it only broadcasts to all devices

1 Like

Do we know if custom commands will ever be fully supported (i.e.: act exactly as if I asked something to my google homes?)

It’d be perfect to start music using webcore or have them read the weather forecast at setted time.

Another question…

Does anyone know if/how we can instruct the GH to pause after a sentence of something?

Also, is it possible to pass different instructions like louder/softer/faster/slower etc?

Pass a custom command via the relay as you would on your phone.
“Play Fall Out Boy in the Lounge” and it’ll work.

It’s not working. Can it be related to the fact my GH is set to Canadian French?

Absolutely no log appears in the node log too.

Custom Broadcast does work perfectly in French and I’ll test standardized broadcast (I.e. good morning) in the following minutes.

Edit: standardized broadcast return error in the log : user undefined cannot execute request