Google Home Notifier

Read the installation instructions for the Pi. They recommend a change on the config. I had this same problem until I did the change and then worked.

I did, tried it all twice. Based on the instructions in this posted issue, I did the following:

sudo apt-get update
sudo apt-get upgrade
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install nodejs:
sudo apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev

Then cloned project and ran npm install

Then modified vi node_modules/mdns/lib/browser.js

Then modified example.js replacing Google Home with name of my device, Kitchen Home

Did you do this?

After “npm install”

Modify the following file “node_modules/mdns/lib/browser.js”

vi node_modules/mdns/lib/browser.js
Find this line:

Browser.defaultResolverSequence = [
rst.DNSServiceResolve(), ‘DNSServiceGetAddrInfo’ in dns_sd ? rst.DNSServiceGetAddrInfo() : rst.getaddrinfo()
, rst.makeAddressesUnique()
];
And change to:

Browser.defaultResolverSequence = [
rst.DNSServiceResolve(), ‘DNSServiceGetAddrInfo’ in dns_sd ? rst.DNSServiceGetAddrInfo() : rst.getaddrinfo({families:[4]})
, rst.makeAddressesUnique()
];

Yes

(10 characters)

In example.js did you try setting the name to one of the “Google-Home-xxx” strings listed in the debug? I couldn’t get my friendly names to work but those internal names work for me.

Same here. The default worked but my own name didn’t.

You’re talking about the “Google-Home-clasmlc939hr3anfp9aw393fjwhatever” name that’s in the output? I have not tried that, I use the “Kitchen Home” name that I assigned through my Home app. I’ll give this a try when I get home. Thanks for the idea :slight_smile:

I used the original name from the config which I believe was “Google-Home”.
I tried changing it and wasn’t working and I rolled back to original and
worked…

That was it guys, thanks. I used the long name Google Home-lknasclascon9f38903jf0w93f and it’s working now. Thanks!

@Ev1l5anta did you say in another thread that you had this working through CoRE? I’m trying to get it set up but it looks like CoRE can only do JSON and FORM content, while google-home-notifier seems to require application/x-www-form-urlencoded content. If it’s working for you, how did you set up?

It does work. I will check and send what I used.

You should use FORM. You need to initialize a variable with a value which you will use. I created multiple with something like text=whatever I want it to say

Can you post a screenshot by chance? I have been trying to send variables and it’s not working.

Here’s the piston setup. The variable text is set to value of Hello:


Here’s the console log. No data between the brackets:

Here’s what Wireshark shows as the incoming request. Note that the format is [variable name]=[variable value]

For comparison, here’s what I see when using the example cURL with the -d (application/x-www-form-urlencoded) content request.

Request:

Console log:

Wireshark:


I tried using cURL to send a FORM request instead of the encoded request and it responded the same as my CoRE piston above.

A screenshot of yours would be really helpful if you don’t mind.

When I execute this -> curl -X POST -d “text=Hello Google Home” https://ae474203.ngrok.io/google-home-notifier I get the following output on my Pi:

{ text: ‘Hello Google Home’ }
Device “Google-Home-76475acb66ca2e7225c2d03247435263” at 192.168.1.141:8009
Device “Chromecast-41a5b7694d0677c433d89bf2058b0c6e” at 192.168.1.136:8009
Device notified

When you initialize the variable, it should be called text and the content on the variable content field.
It should not be text= or text:, just text

This should work even though I have not been able to test now. Give it a try.

Unless I’m misunderstanding, what you are describing is exactly what I had posted above. My variable name is “text” (without the quotes), and the variable value is “Hello” (without the quotes).

As far as I can tell, the issue is that CoRE is sending the “text=Hello” as part of the URL (which it should not be doing in a POST request), whereas cURL is sending correctly as part of the request body.

CoRE request:

cURL request:

Got this working - awesome. Thank you all for this thread, it really helped.

Can you share how you got your CoRE settings so it can help others? I’m traveling and cant play to get the settings good again to share.

I’m getting exactly the same results as @destructure00

Second time that I’ve had to delete my post, lol. I got core to work. The literal name of the local variable must be text. Then the raw value will be what you want it to say. Other then that is post and form. I’m using the internet URL with the port forwarded to my rPi

Unless I’m misunderstanding you, that’s exactly what I’m doing (except I’m sending it over my local intranet). Here’s my piston:

Can you post a picture of your piston for comparison?