Search code examples
ioshomekit

HomeKit Database management


In an HomeKit app, I scan for accessories, then I'm prompted to insert the code do validate them in HomeKit, I can then select where to put them in my home,zone,room. I'm aware of : https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/RespondingtoHomeKitDatabaseChanges/RespondingtoHomeKitDatabaseChanges.html

But I'm asking: if I use an app and create a home, a zone and a room and then add into it an Accessory will all this information be available for other app? I bet on yes surely but I can't find any clear statement on this.

my device will be saved in the HomeKit database as a hierarchical path like

myUser/homeName/zoneName/roomName/myAccessoryName

or more likely as a sort of attribute for the accessory, like

myUser/myAccessoryName.roomName.zoneName.homeName

and messing with the HomeKit Accessory Simulator I couldn't find any changes to my Accessory if it's just validated or has been ( in my app) incapsulated in a Home, Room etc. where are my homes, zones and rooms and they dependent accessories info stored?


Solution

  • It's all stored in the HK database. If you run the Apple example app, you can prove to yourself that one app's updates can be reflected in the other.

    However, you need to change your point of view...instead of thinking the room is associated with the accessory, it's the other way around.