Search code examples
actions-on-googlegoogle-home

Google Smart Home integration with my IoT device (clarification needed)


I am looking for some clarification to how Google Smart Home works. I am looking to integrate my current end device which control lights with Google Smart Home.

My end device is running a very small microcontroller utilizing an RTOS (Linux is not available)

Here is how I see it (Please correct or comment)

  • To my understanding this requires me to host my own cloud service which will talk to my current end device?
  • My cloud service will then talk to Google cloud service.
  • My cloud service defines the protocol to talk to multiple end devices
  • Google Smart Home define the protocol to talk to my cloud service

Questions

  1. Is there any method of doing this without having my own cloud Service?

Solution

  • That is a pretty basic summary of things - yes.

    The crucial point there is that issuing a command to the Google Home does not have it send out a message on your local network. Google issues any commands from their network - not from your device.

    This might seem like a minor detail, but it doesn't need to be a "cloud service" that you control that Google talks to. It does need to be a publicly accessible HTTPS endpoint. This could be a cloud service (and it would be in most cases), a public non-cloud server, or even just a public URL that has a tunnel to your private network (such as with ngrok).

    The last is really how you'd get around having your own cloud service - you can setup the control on a local machine, and have a tunnel using ngrok.