Ti.HomeKit is an open-source project to support the HomeKit API in Appcelerator's Titanium.
- Titanium Mobile SDK 5.5.1.GA+
- iOS 8.0+
- Xcode 7.3+
Unpack the module and place it inside the modules/iphone/
folder of your project.
Edit the modules section of your tiapp.xml
file to include this module:
<modules>
<module platform="iphone">ti.homekit</module>
</modules>
Ensure that the HomeKit- and Wireless Configuration capabilities are added to your entitlements (example):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.homekit</key>
<true/>
<key>com.apple.external-accessory.wireless-configuration</key>
<true/>
</dict>
</plist>
Also ensure that the HomeKit- and location usage permissions are set in the tiapp.xml
<key>NSLocationWhenInUseUsageDescription</key>
<string>HMCatalog needs your location to search for relevant places in your area.</string>
<key>NSHomeKitUsageDescription</key>
<string>HMCatalog needs access top your HomeKit devices.</string>
- app.js - Adding new homes, making a home primary
- accessoryBrowser - Browsing accessories already added to your home
- Feel free to provide more examples!
-
addHome
-
removeHome
-
updatePrimaryHome
-
createAccessoryBrowser
-
homes
-
didAddHome
-
didRemoveHome
-
didUpdateHomes
-
didUpdatePrimaryHome
-
uniqueIdentifier
-
name
-
updateName
-
addAccessory
-
removeAccessory
-
assignAccessory
-
addAndSetupAccessories
-
manageUsers
-
addUser
-
removeUser
-
currentUser
-
homeAccessControlForUser
-
addRoom
-
removeRoom
-
homeDidUpdateName
-
didAddAccessory
-
didRemoveAccessory
-
didAddUser
-
didRemoveUser
-
didAddRoom
-
didUpdateRoom
-
didUpdateNameForRoom
-
didRemoveRoom
-
didAddZone
-
didUpdateNameForZone
-
didRemoveZone
-
didAddRoomToZone
-
didRemoveRoomFromZone
-
didAddServiceGroup
-
didUpdateNameForServiceGroup
-
didRemoveServiceGroup
-
didAddServiceToServiceGroup
-
didRemoveServiceFromServiceGroup
-
didAddActionSet
-
didUpdateNameForActionSet
-
didUpdateActionsForActionSet
-
didAddActionSet
-
didAddTrigger
-
didUpdateTrigger
-
didUpdateNameForTrigger
-
didRemoveTrigger
-
didUnblockAccessory
-
didEncounterErrorForAccessory
-
startSearchingForNewAccessories
-
stopSearchingForNewAccessories
-
discoveredAccessories
-
didFindNewAccessory
-
didRemoveNewAccessory
-
uniqueIdentifier
-
name
-
isReachable
-
isBridged
-
isBlocked
-
room
-
services
-
didUpdateName
-
didUpdateNameForService
-
didUpdateAssociatedServiceTypeForService
-
didUpdateServices
-
didUpdateReachability
-
didUpdateValueForCharacteristic
-
uniqueIdentifier
-
name
-
serviceType
-
localizedDescription
-
uniqueIdentifier
-
name
-
accessories
-
uniqueIdentifier
-
name
Hans Knoechel (@hansemannnn / Web)
Apache 2.0
Code contributions are greatly appreciated, please submit a new pull request!