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

I just got my relay up and running. Its working for me just fine. Some of my custom commands are not working. Was trying to turn on and off my shield tv using commands. Not working. I can however my arlo cameras work great with the “display X on Y” custom command. My wife enjoyed the I’m back broadcast today when I got home.

Only issue I am having is the getting it to start up with my raspberry pi. I needed admin rights to install forever. I am thinking I shouldn’t have installed it the normal install way but with the forever way first.

Also if you do change your port you will have some trouble the smartthings custom app to find the custom device. I changed mine back and had no issues.

What do you mean “the custom device”? The DTH that was originally released doesn’t work anymore since the addition of the username. There is a tutorial for getting Forever setup on your Raspberry pi for assistant relay.

You need to install forever, but that just controls it once it’s running. You need to use an init.d script to get it to start on boot. All the instructions are in the wiki.

Is there any way to send a command to adjust the volume on the home device prior to issuing a broadcast command?

Not that many of us have found using assistant-relay. I can use Google Assistant on my phone and say "Hey Google, set the volume to 50% on <insert your google home device name here>" and that works.

Trying the same thing via assistant-relay does not actually change the volume on the target device, unfortunately.

1 Like

Is there any other way that you are aware of that can be called through webCoRE to change the volume of a Google Home?

Have you looked at the following? I have never tried it, but it appears to be able to control volume…

No, but I just discovered this though and came back here to update my comment!

It can issue TTS commands just like Google Assistant Relay, but it is not nearly as user friendly so I will probably just run both. I was able to use webCoRE to send a command to get the device statu, parse out the current volume, change the volume, send the command through Assistant Relay and then finally reset the volume to the previous level,


I found that a lot of custom commands do not work, and those that do, do not return the same response as if you actually ask the Google Home. If I ask “What is the traffic?” I get no response. And if I ask “What is the forecast for today?” I get a short response like “Wear sunscreen” instead of the full forecast like when I ask my google home.

Hi I am hoping for a small bit of assistance.
I am trying to run this on a win pc x64 (win 10)
I have the node and npm installed
I hit errors when installing the assistant relay pic 1
however i perservered and managed to get the relay to accept the licence key and web auth through browser
but my GH ( i have 3) never gave a sound
when I run npm run start I get the error reflected in pic 2, any help guidance would be appreciated!

I have been having the same short response for Weather, the traffic still gives me normal response. I’m not sure what the issue is but it was working just fine for weather forecast before

I’ve followed the instructions for the relay. The command “npm install forever -g” doesn’t run due to my not having the correct permissions. I tried “sudo npm install forever -g” with success. When I restart my pi, it seems to be running (I can’t do the npm run or node run). However, no commands work.

I am thinking about doing the same. I love the assistant relay for the broadcast commands and custom commands. My arlo camera displays on my TV when someone approaches the door. I would just like it to shut off automatically. “Stop casting” isn’t supported. This would allow me to have the relay do its thing and clean up a bit once the motion has stopped. I know its not the relay having issue but limitations with the SDK.

That isn’t the correct process. Did you read the next step on the wiki? You have to have an init.d script.

1 Like

This project motivated me to get my first-ever rPi (model Pi3 B+), so a complete noob. Using @Ryan780’s instructions I got past the npm install, which was a struggle, albeit with a few dozen warning messages. Directly connected to the Pi, I enter node index.js and get:

pi@raspi:~/assistant-relay $ node index.js
throw error;

Error: Failed to load gRPC binary module because it was not installed for the current system
Expected directory: node-v64-linux-arm-glibc
Found: [node-v59-linux-arm-glibc]
This problem can often be fixed by running “npm rebuild” on the current system
Original error: Cannot find module ‘/home/pi/assistant-relay/node_modules/grpc/src/node/extension_binary/node-v64-linux-arm-glibc/grpc_node.node’
at Object. (/home/pi/assistant-relay/node_modules/grpc/src/grpc_extension.js:44:17)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object. (/home/pi/assistant-relay/node_modules/grpc/src/client.js:38:12)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:20:18)
pi@raspi:~/assistant-relay $

Per the error message suggestion, I ran npm rebuild but to no good effect. Would someone give me a boost? Thank you.

What version of node did you install? You said you had to work through errors? If you followed the instructions exactly there should be no errors. What OS do you have on your RPi?

Thank you! I used raspbian from this site:

Version:June 2018
Release date:2018-06-27
Kernel version:4.14

I installed node via your wget instructions and the command node -v says v9.9.0. npm is v5.6.0.

I repeated the installation to get the errors and here is an edited version of the log. I deleted about 30 duplicate errors to clean it up:

speaker@0.3.1 install /home/pi/assistant-relay/node_modules/speaker
node-gyp rebuild

make: Entering directory ‘/home/pi/assistant-relay/node_modules/speaker/build’
CC(target) Release/obj.target/output/deps/mpg123/src/output/alsa.o
…/deps/mpg123/src/output/alsa.c: In function ‘rates_match’:
…/deps/mpg123/src/output/alsa.c:53:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
return actual * 100 > desired * (100 - AUDIO_RATE_TOLERANCE) &&

________________ CLIP ___________________

…/src/binding.cc:134:58: warning: ‘Nan::Maybe Nan::ForceSet(v8::Localv8::Object, v8::Localv8::Value, v8::Localv8::Value, v8::PropertyAttribute)’ is deprecated [-Wdeprecated-declarations]
…/src/binding.cc:145:3: note: in expansion of macro ‘CONST_INT’
In file included from …/…/nan/nan.h:197:0,
from …/src/node_pointer.h:6,
from …/src/binding.cc:5:
…/…/nan/nan_maybe_43_inl.h:116:35: note: declared here
NAN_DEPRECATED inline Maybe ForceSet(
SOLINK_MODULE(target) Release/obj.target/binding.node
COPY Release/binding.node
make: Leaving directory ‘/home/pi/assistant-relay/node_modules/speaker/build’

grpc@1.8.0 install /home/pi/assistant-relay/node_modules/grpc
node-pre-gyp install --fallback-to-build --library=static_library

[grpc] Success: “/home/pi/assistant-relay/node_modules/grpc/src/node/extension_binary/node-v59-linux-arm-glibc/grpc_node.node” is installed via remote
npm WARN assistant-relay@1.0.1 No repository field.

added 343 packages in 71.495s

Did you also unzip and copy the node files? I do not get these errors.

Not sure I know what you mean (did I mention that I’m an rPi newbie?). The only zip file that I have copied are the @ghesp GitHub zip that downloads from his repo. That unzips into:


It’s from that directory that I then execute all the commands from your instructions. Is that the answer to your question?

To install node you have to unzip the download and then copy the contents to another directory. Are you following all of the instructions?

I thought I did :grinning:, but that step doesn’t sound familiar so I need to go back and review the process to see if I missed it. Unfortunately, I didn’t see your very detailed instructions until after I had botched it on my own. I really thought I had followed them, but maybe not. Thanks for the tip and your help.


Are these the steps you referenced? I did do that and have a sub-folder with the “node-v9…” files in the /use/local folder.

tar -xzf node-v9.9.0-linux-armv7l.tar.gz
cd node-v9.9.0-linux-armv7l/
sudo cp -R * /usr/local/