Garage door 'opening'/'closing' rule works from dashboard, but not physical button

Using RM4, I created a rule which announces when the garage door is opening or closing. It works if I click on the garage door from the dashboard. But it doesn't work if I click the physical garage door remote button.

The rule is:

Trigger Events:

Garage Door changed


IF (Garage Door opening(F) OR Garage Door closing(F) [FALSE]) THEN
Speak on 1. TV Room Sonos: 'The garage door is %value%.'

The behavior is consistent, so I don't think it's just missing sensor readings. Is the above rule correct? Why isn't the garage door opening state being detected by Hubitat when I push the physical button? Ideas fora fix or Workaround?

I think you can leave the IF out. The only trigger is garage door changed, and the only changes can be opened or closed, so the IF is redundant.

Not sure why it's not working. When you push the physical button, does the change show up right away on your dashboard, or is there a lag?

Good thinking, jabecker. I tried watching the Garage door device directly in the Devices list. When I open/close it using the dashboard, the device has "door: opening" and "door:closing" while moving. When I use the physical remote control, the device doesn't show those. It just shows the normal "door: open" or "door:closed" while moving.

So that explains why the rule isn't working: it isn't receiving the opening/closing signals from the device.

BTW, yes, I could leave the IF out, but then it would announce 'open' and 'closed' as well as 'opening' and 'closing,' were it fully working...

So the question is where are the opening/closing signals coming from?

Wait...when you say "phsycial button" do you mean your hardwired button in your garage or the button on the dashboard. Because if you're talking about the physical button in the garage then I would suspect the problem is in the way that your device is wired to your opener. What type of device are we talking about?

We would have to know what kind of device you have in order to answer any questions about it.

I have made an Arduino (ESP8266) with a momentary switch/ relay. It’s using the ‘hardwire’ as you probably are to open / close the door. There is no feedback back to Hubitat, so I’ve also mounted a sensor connected to the same Arduino.

When the door is open, it will not close if I hit open again. Same when closing. Call it a smart toggle.

So to the question. What’s the best way to send sensor data from the Arduino and back to Hubitat (open / closed) / (on / off)?

Code examples if there is available

I’m using two magnetic normal open switches with my esp8266, zipped tied the magnets to the chain for open, closed, closing, opening and obstructed indications.

The easiest way is to simply use my HubDuino project to handle this. I even have an example sketch for controlling a garage door from an ESP8266.

1 Like

What type of device are we talking about?

It's a GoControl/Linear GD00Z-4 Z-Wave+" (Amazon), using the "Generic Z-Wave Garage Door Opener" type/driver.

...the physical button on the garage door's remote control.

Then your wiring is wrong. That would have nothing to do with Hubitat. How do you have the Linear wired in to the opener? Is it in parallel or in series? The problem is, you want to have both the button and Go-Control able to close the connection between the two wires. What type of opener do you have? In general, you would have added the go-control to the two screws that your push button was wired to without disconnecting any of the existing wiring.

Right, that's exactly how it's connected.

Then try this, disconnect the linear and see if the button works.

I believe his GoControl is working fine. He just wants to know why manually operating the garage door does not result in statuses of “opening” and “closing”. Instead, the status in Hubitat just changes to “open” or “closed” without the intermediary states between open and closed.

This is completely normal behavior, as the hub has no idea the button was manually pressed. It only sees the door sensor changing states.

Then why did he say this was what was not working?

Read what he states is the “problem” again below.

His door is moving fine, whether activated via the physical garage door opener button OR if activated via Hubitat. His question is specific to the Hubitat Status of the garage door while it is opening or closing. The behavior is different depending on the method of activation, as I detailed above.

OMG... How is Hubitat supposed to know when you've pressed the physical button?!? It can't! It shows opening because the command came from the driver. It shows open because the state of the contact sensor changed. It only says opening because the driver tells it to. Here's a little trick, open the door via Hubitat but stop it before it finishes. I bet it will still say "opening" for the same length of time. There is no way for Hubitat to know the door is in motion unless it commanded it to happen.

Thanks, ogiewon, for your correct clarification. Ryan780, the way that Hubitat is supposed to know that the physical button has been pressed is the same way it knows anything else has occurred: via sensors. In this case, the garage door controller includes a tilt sensor on the garage door. I'm assuming it's working given that the Hubitat is able to sense the closed/open states. I'll check the battery, though.

Maybe my GoControl/Linear GD00Z-4 Z-Wave+ controller only provides open/closed states, but other tilt sensors provide the in-between states used as opening/closing byb Hubitat. So here's a question for the forum: Does your garage door device in Hubitat show open/closing states when you push the physical garage door button or the physical remote control button?

I have a MyQ Garage Door using MyQ Lite. When I open it physically with the wall button it changes state immediately to Open or to Closed when it is closed. It bypasses the Closing or Open. Which makes sense, especially when you think about the door closing. HE doesn't know when the door starts to move, only that it is now closed.

When I issue the command from HE, the door immediately changes state to Opening or Closing, even if the door hasn't started to move yet. And when it is opening, it changes to open as soon as the contact sensor is open, even while the door is still moving (still opening). And it reads as closing, even before it starts to move, and reads that way till the contact sensor is closed. Which makes sense, that's the only time that it knows what is happening. And in the case of your tilt sensor, the same is true, it only knows whether it is oriented vertically or horizontally. There is only one sensor so there's only one reference point to use. Once that one point changes is when the change has to occur.