In our last article we wrote quite a bit about Apple’s HomeKit and it’s usability on iOS 8 beta builds. Well, the iOS 8 GM Seed is available, and while it fixes a few problems, I still have doubts as to whether we’re going to see a useful ecosystem of home control devices any time soon.
Let’s take a took at the state of HomeKit in iOS 8. First, however, if you are new to HomeKit and haven’t read our original article, you might want to do so. This post will jump right in to using the Home Wizard code we posted on BitBucket.
Let’s first talk about what’s good with this release, and that’s the annoying “lost accessory” bug is gone. This is the issue where if you have an Add Accessory dialog up (to enter the accessory PIN) and the
homeManagerDidUpdateHomes delegate was called by
HMHomeManager you’d lose your accessory. That is, the completion handler to your
addAccessory function would never get called, and the accessory browser wouldn’t see your accessory any longer. The only recourse was to reset your HomeKit configuration and try again.
Unfortunately there’s no more good, only bad. Let’s start with
OSStatus code 52 (ENETRESET). This is quite the obnoxious error one could get when trying to pair an accessory using an iCloud account that had already been used with HomeKit on the iOS 8 beta releases. I am not kidding when I tell you that to get around this error I had to:
- Unlink from my iCloud account on iOS 8 GM
- Create a new iCloud account
- Log out of my previous iCloud account on the Mac
- Log in with the new iCloud account on the Mac
On top of this I had to re-enable my iCloud Keychain access and reset my HomeKit configuration on the iPhone several times before finally this error went away. Frustrating to say the least!
Let’s move on to the next HomeKit issue on iOS 8 GM Seed, a warning that “This accessory is not certified and may not work reliably with HomeKit.” with accessories that were created using Apple’s own HomeKit Accessory Simulator. I don’t know what constitutes a certified accessory, but apparently Apple’s simulated accessories aren’t.
Pressing on Add Anyway does result in a successful pairing however.
Which brings me to Apple’s HomeKit Human Interface Guidelines, and I quote, “Avoid using acronyms and technical terminology that they might not understand. HomeKit is a technical term referring to APIs, and should not be mentioned inside your app.” If that’s the case then
- Why does the iOS privacy settings have an icon and label for HomeKit?
- Why is there an option to reset HomeKit Configuration?
- Why do the iOS dialog boxes clearly refer to Add HomeKit Accessory?
The iOS documentation writers and developers are clearly not communicating. If my application refers to HomeKit is it going to get rejected when I go to post it to the App Store? If we aren’t supposed to refer to HomeKit what should we call it?
And finally, as of right now iOS 8 GM Seed Siri has zero knowledge of HomeKit. Trying to lock up Grandma resulted in Siri initiating a Web Search.
Now, I’ll give Apple the benefit of the doubt on this one. Like the rest of its services I’m sure there are beta Siri servers and production Siri servers, and the iOS 8 GM Seed is configured to communicate with production, which isn’t HomeKit-aware yet. If that’s true then we should expect Siri to begin working with HomeKit shortly after iOS 8 is officially released (September 17, 2014).
Update: As of September 17, 2014 Siri HomeKit awareness has gone live in production with the release of iOS 8!
What’s New in Home Wizard
Home Wizard has been updated to include a tabular view of your Homes, Rooms, and Accessories. As of the current posted version to Bitbucket (1.0.1), you can delete homes and rooms. Accessories cannot currently be deleted (working on that one). In addition, Home Wizard allows you to specify whether or not you want to add a home as a Primary Home.
Look, I understand HomeKit is new, and is going to have some rough edges, but there are so many here that its hard to believe that there will be a robust HomeKit environment with the launch of iOS 8, and that’s sort of what Apple trumpeted at WWDC 2014. Sure, they have a lot going on with Apple Pay, iPhone 6, iOS 8, Apple Watch, Swift, etc., and all of these kinks will be eventually worked out, it’s just disappointing that on the eve of iOS 8 going live this is the best we have to work with. Hopefully we’ll see some exciting updates soon.