Google Voice commands - Outside the box

I mentioned that I was working on getting google integrated into my ecosystem. Given the current “challenges” it’s been … necessary to look into other means of doing so. That being said, here’s what I came up with. Hope it helps others.

I loaded node-red-contrib-googlehome into node red. Read the instructions before proceeding. Once you’ve created an account on their site and move forward with creating your virtual devices that will connect to google home.

The instructions are pretty clear until you get to the flow. I struggled with this. I consulted with @RRodman and @jchurch before it was figured out. It should work to use a change node to pass a command into a Hubitat node, but it kept coming back as undefined. But it should work. I’m hoping that @aaiyar or someone will pass a message on to fblackburn on this for a fix so that it’s possible to do this.
The ultimate answer was to run it through a Maker API http request. Now I can ask google to open my garage door and google doesn’t complain about it one bit. Now that I know how to do it, i’ll probably launch a bunch of voice integrations. Google will never replace my Classic radio, but I can certainly see uses for each in my ecosystem.

How rude of me not to give a little rundown on how I have my garage door integrated.

Here is my diy. I did NOT wire the opener and I plan cleaning this up.
I have an Iris plug set up as a momentary switch to power a dry switch. It’s then wired into the controller ports on the opener, so the button still works. It’s handy. I’ve had it automated for better than a year. I’ve just not done anything with it.



Whoever installed it must’ve like electrical tape. So messy! Drives my OCD out of the ballpark!


What did your flow look like that wouldn’t let you pass the command into Hubitat Command Node? If you pass msg.command to a Hubitat Command Node, you don’t have to specify within the Command Node. Is that what you are trying to do?

Yes and it wouldn’t pass it on. I don’t have the flow any more. I regret not keeping it, but I could try to recreate it tomorrow.

Here is a very simple one I do that uses the Change Node to set msg.command.

[{"id":"55ed3434.92b5ac","type":"hubitat device","z":"2bbd418b.1d33fe","deviceLabel":"","name":"BREAKFAST NOOK","server":"67195a4a.e370d4","deviceId":"3981","attribute":"switch","sendEvent":true,"x":400,"y":3720,"wires":[["ac70f02d.a0122"]]},{"id":"ac70f02d.a0122","type":"change","z":"2bbd418b.1d33fe","name":"","rules":[{"t":"set","p":"command","pt":"msg","to":"payload.value","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":3720,"wires":[["9417c8db.80c878"]]},{"id":"9417c8db.80c878","type":"hubitat command","z":"2bbd418b.1d33fe","deviceLabel":"","name":"BREAKFAST NOOK CT","server":"67195a4a.e370d4","deviceId":"2055","command":"","commandArgs":"","x":890,"y":3720,"wires":[[]]},{"id":"67195a4a.e370d4","type":"hubitat config","name":"HUBITAT A","usetls":false,"host":"","port":"80","appId":"2569","nodeRedServer":"","webhookPath":"/hubitat/webhook_","autoRefresh":false,"useWebsocket":false}]

I’ll ponder it when I get back to my computer in the morning.

How did this turn out btw?

I remember the two of us discussing Alexa and NR a while back, you actually are the reason I am using NR so heavily now, so thank you for that. But is there any reason you switched over to GH or were you always on both platforms?

I bring this up because I recently started using some Alexa nodes that allow for “local” control/creation of virtual devices which is kinda cool and eliminates any need for a second hand account or even an Alexa skill. They all appear as Hue Color Bulbs, which can be annoying, but you can honestly transfer a ton of data with a single device that way if you use each brightness level as a bit of data, and then each color as well.

I use both platforms. I’m using a third party node and integration for google. I really only use google for my garage door integration. Since things had been moving forward so quickly with the Core, I kind’ve put it on hold until we get there with the core integrations. I’ll bookmark this for later today and address it all with a better explanation.

it turned out … OK. The automation works every time, but it’s relying on a 3rd party site because google requires a signed ssl. So, even though it tells me that my garage door appears to be unavailable, it opens every time I ask it to. Don’t plan on using that integration for much longer, but it did satisfy an immediate need. Since I’ve been distracted, now, with other things. I’m not going to actively pursue another temporary solution. The disconnect might be due to permissions on my device as well. But, it works, so I’m not going to sweat it. I used this link. It’ll give you everything you need if you’re looking for a way to automate this.

1 Like