This page is also available in the other languages: Deutsch

Automation

HomeKit makes it easy for you to create a smart home. You only need HomeKit-enabled accessories, a configured home and an app, which allows you to create triggers. Apple’s Home app is pre-installed on every device since iOS 10. It’s useful but lacks some automation features. In contrast, my Home+ app offers better support for certain accessories (e.g. Elgato, iHome, Ecobee,…) and lets you create more advanced automation rules.

HomeKit offers triggers to automate your accessories. Triggers define which actions should be executed on certain events. For example, the light should be turned on when I arrive home at night.

This pages provides an overview of the different automation rules in HomeKit. You will see that it’s fairly easy to automate your home.

Trigger

Triggers execute actions based on events under certain conditions. To create a new trigger, you have to specify an event. HomeKit supports the following types of events.

Event Example
Location
  • I arrive home
  • I leave work
Accessory State
  • Motion is detected
  • Smoke is detected
  • Light is turned on
  • Temperature changed to any value
Time of day*
  • Sunrise
  • 30 minutes before sunset
  • 5:00 PM
Presence*
  • I leave home
  • Anyone leaves home
  • First person arrives home
* Available since iOS 11 and Home 3

When an event happens, actions are executed. Here are examples of possible actions.

  • Turn on the light in the living room
  • Open the garage door
  • Set the target temperature of the thermostat to 75°F

The execution of actions can be restricted by conditions. The following conditions are supported in HomeKit.

Condition Example
Time of day**
  • During the day (between sunrise and sunset)
  • At night (between sunset and sunrise)
  • Between 9 AM and 5 PM
Accessory State
  • Door is closed
  • Temperature is less than 86°F
Weekday*
  • From Monday till Friday
  • Friday, Saturday or Sunday
Presence*
  • I'm not at home
  • Somebody is at home
* Available since iOS 11 and Home 3
** Using the position of the sun and specific time of day as a trigger condition (e.g. from sunrise to 11:00 AM) is not supported by HomeKit.

Condition Conjunction

Since Home 3.3 you can use conjunction (AND) or disjunction (OR) to combine conditions. Conjunction means that all conditions have to be true. On the other hand a disjunction requires only one condition to be true.

Your Home Hub (HomePod, Apple TV, or iPad) is responsible for executing the triggers. Once you have created or edited a trigger, HomeKit sends the changes to the Home Hub. This may take minutes to finish. Unfortunately this all happens in the background and there is no indicator when the synchronization finishes – rdar://46196551. So please be patient when working with triggers. (I don’t often make those kinds of suggestion but a restart of your iOS device may help. 🤷‍♂️)

Undo Actions

Since iOS 11 triggers can undo all actions after a countdown. For example, a light bulb can be turned off one minute after it was turned on by a trigger.

Keep in mind that only some actions are restored. For example the brightness of a light bulb is not restored if it is changed by automation actions. This is a limitation of HomeKit – rdar://37703334.

Examples

HomeKit offers a variety of different automation rules. The following examples show how to use them.

Location trigger

When I arrive home at night, turn on the light.

Location trigger

When the last person leaves home on workdays, turn off the lights and close the garage door.

Time trigger

On workdays at 6:30 AM, set the target temperature of the thermostat to 75°F.

Time trigger

If somebody is at home 15 minutes before sunset, turn on the light.

Accessory state trigger

If the garage door is opened at night, turn on the light. Turn the light off after one minute.

Accessory state trigger

If the room temperature is lower than 73°F, turn on the heater for 1 hour but only if somebody is at home.

Do not use a temperature range as the event for the trigger. Instead use the Any Change event value and a less than 73°F temperature condition.

Time Triggers

Since the beginning of HomeKit there were two types of triggers: time and event triggers. Time triggers execute actions at a specific time of day. They can also repeat, for example every day at 9 AM. On the other hand event triggers execute actions based on events, for example when a light is turned on.

Since iOS 11 you can create time of day events. This means that event triggers can now execute at a specific time of day. Therefore time triggers are not recommended anymore. If you still want to create them in Home 4, do the following. In the list of triggers tap Time.

Last updated 2017-08-12

© Matthias Hochgatterer – TwitterGithubRésumé