Alexa control of my zwave garage door openers

I have 2 Linear/Go Control zwave garage door openers which work great in hubitat. They also show up in the Alexa devices as "Generic z-wave Garage Door Opener". However I can't even ask Alexa the status (open or closed) much less ask her to close them via voice. I don't care about opening them with voice as much as I want to be able to shut them or have alexa shut them. Alexa can shut my z-wave door locks by asking her to lock them so I'd like to do that.

I found the thread below that talks about setting up a 'virtual device' or 'button' to do this?? I am really new to Hubitat having moved over from Wink and I have well over 100 devices I'm trying to sort through but I'm focusing my key devices first; door locks & garage doors.

Can anyone walk me through the process to set up a virtual switch or help me figure out how to make this work? I realize I need to be better educated on this but there is so much to digest with this new hub that I feel like I'm drowning especially when it comes to some of the more advanced scripting features.

Thank you! Here's the thread below that talks about doing this:

tagging @aaiyar

On the Devices tab in Hubitat, click Add Virtual Device in upper right corner. Make the device name whatever you want "Alexa Garage Door Control", for example. Make the device type "Virtual Switch".

Add a rule in RM (or maybe simple automation) that triggers on the virtual switch changing state. If virtual switch turns on, open garage door, else close garage door.

Do whatever magic du jour replicates your devices to Alexa (be sure to allow Alexa app permissions to replicate it).

You can then set up Alexa routines via the Alexa app, "When I say 'Open garage door', turn on virtual switch" and similarly for off.

The idea is that you must make Alexa ignorant of the fact that it is controlling a garage door.


Mine show up in Alexa (see below) but aren't controllable through the app and I can't figure out how to speak to it to ask about the status.

No what is showing up in Alexa is the status of the door (as a contact sensor). You need to create virtual switches and use those in Alexa Routines, exactly as documented by @HAL9000

To summarize:

  1. On Hubitat create two virtual momentary switches. Call them "Garage Door Up" and "Garage Door Down".
  2. On Hubitat create a rule that when Garage Door Up turns on, it raises your ACTUAL garage door. Similar create a rule that lowers your actual garage door when Garage Door Down turns on.
  3. On Hubitat expose Garage Door Up and Garage Door Down to the Alexa Skill
  4. Create Alexa routines that turn on Garage Door Up or Garage Door Down when the phrases "Alexa, raise garage door" or "Alexa, close garage door" are used.

thank you both!! i didn't have time to set up the rule earlier so i will try that now. i noticed the garage door devices don't show up under 'simple automation' so i'll try the rule path. it seems a bit more daunting but hopefully i'll be able to figure it out.

1 Like

I'm not sure how the Linear control works, but I just set mine up with a z-wave plug and relay.

Once I get my contact sensor situated, the way I plan on doing this is:
• In Alexa, create 2 routines
-> Open Garage
-> Close Garage
• In hubitat I have a virtual switch that will mirror my contact (door open = switch on ; door closed = switch off)
-> If I turn the virtual switch off (close garage door), if the contact is open (garage door physically open), trigger the plug. Otherwise do nothing
-> If I turn the virtual switch on (open garage door), if the contact is closed (garage door physically closed), trigger the plug. Otherwise do nothing

1 Like

Your tilt switches are on their way.

1 Like

ok i think i'm 99% there but i'm wondering about the 'momentary' part. i can define a 'virtual switch' but where does the momentary come into play? i get whats going on; you want it to 'switch back' to its default of OFF afterward but is there a reason for doing that vs. having a rule set up that triggers the garage door to open when ON and close when OFF? i'm curious about having 2 different virtual devices. i have 2 garage doors so i will need 4 total virtual devices. I assume I would use the 'Enable Auto Off' property? What is a good time to set that to..1s? 2s?

Is it just a matter of preference to use 2 devices and 2 rules vs 1 or is it a best practice to use a separate virtual device for each command? I feel like I read something on here referring to getting the current state of the zwave garage control after issuing a command. Does that have something to do w/ requiring a separate switch for each action?

ETA i got it!!! you need the 'momentary' property set so the switch will always be 'reset' and ready for the next time you issue the command independent of the current PHYSICAL state of the garage door! THANK YOU! ALEXA IS WORKING NOW!!! :smiley:

If you do that, you have to keep the state of the door in sync with the state of the switch. For example, let's say you raise the door using a virtual switch, but then someone lowers it using the physical switch on the wall. The virtual switch would no longer be in sync with the state of the door (and you'd need a rule to fix that). Simpler to have independent momentary switches for raise and lower

Whatever you choose. I use 500 ms.


Hey all, just wanted to respond to this thread that the advice above worked FLAWLESSLY. I have had both garage doors fully automated via voice as well as using the hubitat dashboards and time-out close events.

Thank you!!! This is wonderful!