Aborting a rule for Garage Door

Looking for a way to manually abort my garage door rule. I'm just making it now so I dont have a cut and paste but pseudo code is:

Trigger = Time is 9:30 PM    OR    Garage Tilt Sensor Changed

Actions:
If (Time between Sunrise and 9:29PM) THEN (exit rule)
If (Garage Tilt Sensor *open*) THEN (
     Send notification that garage door is open
     Start Timer = 10 minutes
     If ( Garage Tilt Sensor is *closed*) THEN (exit rule)
     *Close the Garage Door*
)

The thing I want is to be able to cancel the warning on my own somehow. So if I'm actually out in the garage late, it wont just close the door on me. (actually going to get really advanced and if the garage light is off, go ahead and just close the garage door)

I thought about using a motion sensor but that isnt perfect (and if someone is actively robbing my garage their motion would just keep the door open LOL)

Ideally i'd love to cancel it right from the notification I get on my phone, but I don't think that's possible.

I'm using a virtual switch named "Garage Door Automatic Closing" for the same purpose.

If the switch is "On", then Hubitat is allowed to control the garage door (send alerts if it's open too long during different times of the day, close the door after sending an alert, etc).

If the switch is "Off", the rule isn't followed.

I really (really!) wish there was an easy way to share Hubitat rules, but here goes:

Select Actions for Garage door left open
IF (Garage Door Opener open(F) [FALSE]) THEN
IF (Garage Door Automatic Closing(on) is on(T) [TRUE]) THEN
Garage close: Garage Door Opener --> delayed: 0:20:00 (cancelable)
END-IF
IF (( Day in Monday, Tuesday, Wednesday, Thursday, Friday(T) AND
Time between 7:30 PM EDT and 5:00 PM EDT(T)
) OR
( Day in Saturday, Sunday(F) AND
Time between 9:00 PM EDT and 8:00 AM EDT(F)
) [TRUE]) THEN
IF (Variable NoticePending(false) = false(T) [TRUE]) THEN
Set NoticePending to true
Notify Mark Phone - Hubitat App, Twilio Notification - 1, Twilio Notification - 2 and Speak on Livingroom Squeezeplayer, Bedroom Squeezeplayer, Dining Room Squeezeplayer(volume: 100): 'Garage door left open since %time%.' --> delayed: 0:10:00 (cancelable)
Set NoticePending to false
END-IF
END-IF
ELSE
Cancel Delayed Actions
Set NoticePending to false
END-IF

Yea that looks pretty good. But what mechanism are you using to flip the switch?

I didnt want to have to launch a dashboard, and I dont typically have open mic's in the house. (and if I did, its not like I have Alexa in the garage to use while i'm in there.

The 10 minute wait could be replaced with a wait for event with a time out for switch to be turned on. Then replace the door closed if statement with if switch is off close door.
You could set up another rule with a local endpoint as the trigger and save the link on your main screen of your phone to trigger the switch.

Not sure what you mean by this. Is there some way to control Hubitat devices via android widget???

You basically just save a shortcut to the local end point and click on it and it will trigger your rule.

OK maybe I'm dumb, but what do you mean by local endpoint?

If you select local end point as the trigger it will create a link to your hub that will only trigger the that rule. You can also do it via a cloud endpoint if you need that.
e.g. http://hubip/apps/api/1700/trigger?access_token=

2 Likes

Oh wow! Had no idea I could do that. That is perfect! Now I can have all kinds of rule triggers as widgets on my home screen!

1 Like

People have been changing the way they construct rules. A simple way which makes sense to me is the following.

Trigger:

Time 9:30 or contact sensor changes

Action:

If time is between your time and contact sensor is open THEN

Notification
Close garage door delayed 10 minutes (cancelable)

Else
Cancel delayed actions
End IF

yea that's almost like I had it. My bigger question was how to make it cancelable without launching a dashboard.

The reason I don't put 2 conditions on my IF, and leave them as separate lines, is so that I can more easily enhance the logic later on.