The Mashable article is based on the "Homekit Update" session at WWDC 2015. A video of the session is available to anyone with a (free) developer ID at:
https://developer.apple.com/videos/wwdc/2015/?id=210
The new features discussed are available in iOS 9. Developers received a preview version at WWDC and a beta will be available in July.
For people here, the most interesting new feature is the new types of triggers. iOS 8 included timer triggers but I never saw an implementation. This year's session briefly showed how timer triggers could be either a fixed time or relative to sunrise/sunset. (For example, turn on exterior lights 20 minutes before sunset and turn them off at 11:30 PM.)
Custom triggers, however, give Homekit true automation rather than just remote control via Siri. In the session, they used the example of returning home from work automatically triggering the "I'm home" scene. The trigger is activated based on 3 conditions:
Event: front door unlocked
AND: motion detected in front hall
AND: time before 6:00 PM [1]
They described the API calls that programmers use to set up a custom trigger. Note that in the simplest case, the "event" triggers an action; the conditions (like motion or time) are optional. However, the list of conditions can also be arbitrarily long. I believe the building blocks are there to do pretty much anything that current home automation systems offer. Somebody "just" needs to put a nice interface on it. There are conflicting reports on whether Apple is going to supply a "Home" app or leave it to third parties. Apple has not said.
In the WWDC session, they used the Homekit Accessory Simulator[2] to demo the example above. The presenter had configured the scene for arriving home ("Hi, house"), to include turning on several lights including setting Hue bulbs to specific colours. "Bye, house" simply turned off those lights in his demo. The event ("Characteristic condition") was selected to be the front door lock reporting "Unsecured". The 'filter' conditions were then set up to be 'before 6:00 pm" and 'motion detected'. When he simulated motion and unlocked the front door, sure enough, Homekit fired the "Hi, house" scene (since it was then before 6:00 pm). The interface was clean and easy to follow even though this is just a demo app.
Now, if Ecobee will just give me an affordable upgrade path to the Homekit-enabled version of their thermostat...
Craig
[1] In real life, one would probably use 'after' some particular time but they were running the demo in the afternoon and this was a way to show how the time condition was used.
[2] Part of the XCode IDE, also available free to developers.