HomeHome AutomationTest your internet speed with Google Home

Test your internet speed with Google Home

Hey Google, how fast is my internet?

Not everyone owns a Fingbox to get the internet speed test results emailed to your inbox. By default, Google Home speakers can’t test the internet speed either, but thanks to this trick you can Test your internet speed with Google Home.

Test the internet speed with Google Home

The video shows you the process, and how quickly the information is available. There is one thing I have to talk about first. If you follow me, you know my NodeRED server is hosted by a RasberryPi Zero. Thes microcontroller comes with a network limitation – 10/100 Ethernet interface. Testing the internet speed this way leads (as in my example) to capped results.

Now that I switched to the Raspberry Pi 4, I don’t have to worry about the network cap as the RPI4 comes with a 1Gbit Ethernet! No more capped results!

NodeRED

The Google Home notification node is no longer working, but you can use the cast node for the same effect. See the node-red-contrib-cast for details.

Before we dive into the flow set up, we have to install 2 additional nodes. You can search for it in the palette manager (prefered) or use the terminal and run:

cd ~/.node-red
npm install node-red-contrib-google-home-notify
OR  
node-red-contrib-cast
npm install node-red-contrib-speedtest

Then restart the NodeRED:

node-red-stop
node-red-start

Now, that we have the nodes ready to go, let’s create a flow that looks like this:

HTTP Request node

Set as POST, will accept a request and send it to /speed/ directory. Make sure to include a mandatory response node.

Function node: Extract values

There are 2 nodes that take the values submitted by the speed test, extract it from the JSON format and passing over a rounded-up value to a Google Home Notify node. (If you use Alexa, you could get speed alerts!).

var download = msg.payload.speeds.download;
var upload = msg.payload.speeds.upload;

msg.payload = "The download speed is: " + Math.ceil(download) + 
" Megabits per second" + " and upload speed is: " 
+ Math.ceil(upload) + " Megabits per second" ;
return msg;

and the Twitter formatting which is a purely aesthetic choice:

var download = msg.payload.speeds.download;
var upload = msg.payload.speeds.upload;

msg.payload = "The download: " + Math.ceil(download) + " Mbps" +
 " and upload: " + Math.ceil(upload) + " Mbps" ;
return msg;

Furthermore, the Twitter response is wrapped by the template:

#GoogleHome Speed Test: {{payload}} #NotEnoughTECH #NodeRED

To assure us that Google Home is doing its thing, there is a delay node which after 10 sec will issue a string:

var say = "I'm still checking this for you, it should not be long"
msg.payload = say;
return msg;

If you are not interested in the Twitter part of this, you can skip these nodes. Linking it to IF statement could get you a nice Twitter notification when your internet speed drops below a certain value.  You could also tag the ISP that serves you the internet!

IFTTT

To test the internet speed with Google Home I’m using a voice command linked to my smart speaker through IFTTT.com. The set up is very easy. Link a Google Assistant action (IF) with a webhook. Due to IFTT PRO, restrictions may apply to how many applets you have in use.

The webhook will issue a POST request which is formatted as:

URL: https:YOUR_NODE_RED_IP:1880/speed/
Method: POST
Content Type (optional): application/JSON
Body (optional): none

Make sure that the port 1880 is open, and forwarded to the IP address of your NodeRED device.  You can do this in your router’s settings.

Conclusion

You can now test the internet speed with Google Home and post the results to Tweeter. To actually use this, I will have to upgrade my NodeRED device, which is fine as I was planning to do so before my trip to China. I want to have my private VPN – I’m using piVPN which served me well so far. You can download the nodes used in this tutorial below.

Project Download

Download project files here. Bear in mind that Patreon supporters have early access to project files and videos.

PayPal

Nothing says "Thank you" better than keeping my coffee jar topped up!

Patreon

Support me on Patreon and get an early access to tutorial files and videos.

image/svg+xml

Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU

Smart Ideas with

Automate your space in with these ecosystems and integrate it with other automation services

client-image
client-image
client-image
client-image
client-image
client-image
client-image
client-image
client-image

Learn NodeRED

NodeRED for beginners: 1. Why do you need a NodeRED server?

0
To server or not to server? That's a very silly question!

Best Automation Projects

NEST your old thermostat under $5

0
Nest-ing up your older thermostat under $5

Nora – Google Assistant in NodeRED

0
Integrate Google Assistant with NodeRED thanks to Nora - NodeRED home automation

Sonoff R3 DIY mode & why it sucks

0
Long awaited Sonoff R3 DIY mode is even worse than I expected.

Things they don’t tell you about IKEA Trådfri

0
There are things you should know about IKEA Tradfri before you make your purchase

IKEA TRADFRI Wireless dimmer in NodeRED

0
Thanks to NodeRED you can use IKEA TRADFRI Wireless Dimmer to interact with everything

Smart Home

Best Arduino boards for home automation

0
Would you like to know what are the best Arduino boards for home automation? I pick 3 best boards from Arduino line up

Tuya SDK for beginners: Intro to Tuya Cloud API

0
Working with Tuya Cloud API. A guide to Cloud automation for beginners, get started with REST!

SwitchBot Sensors – there is more to these than you think!

0
SwitchBot Sensors are the latest devices from this ecosystem. Both: contact and motion sensor bring something new to the table

M5Stack Core Ink: the inkling for makers

0
I shall call it The Inkling - M5Stack Core Ink is a great ESP32 based development board for anyone interested in e-ink displays.

M5Stack UnitV2 is the easiest way learn to AI vision and Edge Computing

0
AI vision and Edge computing in a thumb sized device - M5Stack UnitV2 - it's easier than you think!