How to set a schedule for a Home automation that reads a sensor
July 29, 2022 July 29, 2022
Apple’s Home app and ecosystem of third-party HomeKit accessories and sensors let you build and control a robust network of smart lighting, remotely controlled switches, monitors for things like water leaks and doors being shut, and cameras. But a seemingly simple task can seem unreachable until you traverse a different path.
After leaving our back-alley garage door open a few times recently—fortunately, with nothing stolen out of it—we decided to add a door/window sensor. While we have a traditional alarm system in our house, the garage door wasn’t wired into it, and it would cost hundreds in service fees and parts to extend it. Instead, I bought an Eve Door & Window sensor. It’s simple-to-install and HomeKit compatible.
With the sensor in place, I (and all my family members) could configure Home to notify me each time the garage door opened or closed. But what I was looking for was “negative knowledge”: information that something had not occurred. At 9 p.m. every night, I wanted to get an alert if, and only if, the door had remained open.
The obvious course would be to start in the Home app and use its Automation view. However, automations within Home can be set on a schedule only for what Apple calls accessories: devices that have a control or can take an action. They don’t work with sensors, or things that report a status. (Accessories often have sensors associated with them, like a light or motion sensor on a camera.)
I can create a Home automation that says, “When the garage door opens, turn on the lights in the garage and start playing my grunge playlist at full volume.” I’m sure the neighbors would love that. I could also have opted for a HomeKit garage door opener kit, like this one from Meross, that provides both a sensor function (door open or closed) and an accessory function (open or close the door). So I could write an automation that said, “If it’s 9 p.m. and the garage door is open, close it.”
Within Home, however, I cannot create a sequence like “at 9 p.m., check the garage door sensor and, if it’s open, send me an alert.”
The Shortcuts app seems like a more likely candidate, but at first glance it doesn’t seem to help either. It requires a little digging to find a solution within, one that works with Shortcuts for iOS and iPadOS only; the macOS version in Monterey doesn’t include the necessary pieces.
The Shortcuts app lets you create Shortcuts from a template or from scratch, but you can’t start in the My Shortcuts view. Instead, navigate to the Automation view. Here’s how to create a shortcut that has a scheduling component and that works for a sensor:
In Shortcuts for iOS or iPadOS, tap the Automation button at the bottom.
Tap the + (plus) icon in the upper-right corner.
Tap Create Personal Automation. (This automation only works on this device, not across your iCloud-linked devices.)
Choose Time of Day.
Set your time and recurring parameters. I set 9 p.m. daily. Then tap Next.
Tap Add Action and construct your shortcut here. You can search for or drag shortcut items to configure them. See figure for the shortcut I made. (You can test by tapping the play button.)
When complete, tap Next.
The final screen shows a preview. Disable Ask Before Running to ensure the shortcut activates without your intervention. Confirm by tapping Don’t Ask.
The new “personal automation” appears under the Personal label in the Automation view on the device on which you set it up.
Thanks to Jeremy for his help in navigating the Shortcuts app and finding this solution!
Ask Mac 911
We’ve compiled a list of the questions we get asked most frequently, along with answers and links to columns: read our super FAQ to see if your question is covered. If not, we’re always looking for new problems to solve! Email yours to email@example.com, including screen captures as appropriate and whether you want your full name used. Not every question will be answered, we don’t reply to email, and we cannot provide direct troubleshooting advice.