HomeKit Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The HomeKit namespace provides control of and access to home automation devices.
Classes
| Name | Description |
|---|---|
| HMAccessControl | |
| HMAccessory | |
| HMAccessoryBrowser |
Browses and discovers HMAccessory objects. |
| HMAccessoryBrowserDelegate |
Delegate object for HMAccessoryBrowser objects, provides methods called when accessories are discovered or removed. |
| HMAccessoryBrowserDelegate_Extensions |
Extension methods to the IHMAccessoryBrowserDelegate interface to support all the methods from the HMAccessoryBrowserDelegate protocol. |
| HMAccessoryBrowserEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMAccessoryCategory | |
| HMAccessoryCategoryTypeExtensions |
Extension methods for the HMAccessoryCategoryType enumeration. |
| HMAccessoryDelegate |
This is a class that implements the interface IHMAccessoryDelegate (for the protocol Subclass this class to easily create a type that implements the protocol. An alternative is to create a subclass of NSObject and then implemented the interface IHMAccessoryDelegate. |
| HMAccessoryDelegate_Extensions |
Extension methods to the IHMAccessoryDelegate interface to support all the methods from the HMAccessoryDelegate protocol. |
| HMAccessoryFirmwareVersionEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMAccessoryOwnershipToken | |
| HMAccessoryProfile | |
| HMAccessoryProfileEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMAccessoryServiceUpdateCharacteristicEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMAccessorySetupManager | |
| HMAccessorySetupPayload | |
| HMAccessorySetupRequest | |
| HMAccessorySetupResult | |
| HMAccessoryUpdateEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMAction | |
| HMActionSet | |
| HMAddAccessoryRequest | |
| HMCalendarEvent | |
| HMCameraAudioControl | |
| HMCameraControl | |
| HMCameraProfile | |
| HMCameraSettingsControl | |
| HMCameraSnapshot | |
| HMCameraSnapshotControl | |
| HMCameraSnapshotControlDelegate |
This is a class that implements the interface IHMCameraSnapshotControlDelegate (for the protocol Subclass this class to easily create a type that implements the protocol. An alternative is to create a subclass of NSObject and then implemented the interface IHMCameraSnapshotControlDelegate. |
| HMCameraSnapshotControlDelegate_Extensions |
Extension methods to the IHMCameraSnapshotControlDelegate interface to support all the methods from the HMCameraSnapshotControlDelegate protocol. |
| HMCameraSource | |
| HMCameraStream | |
| HMCameraStreamControl | |
| HMCameraStreamControlDelegate |
This is a class that implements the interface IHMCameraStreamControlDelegate (for the protocol Subclass this class to easily create a type that implements the protocol. An alternative is to create a subclass of NSObject and then implemented the interface IHMCameraStreamControlDelegate. |
| HMCameraStreamControlDelegate_Extensions |
Extension methods to the IHMCameraStreamControlDelegate interface to support all the methods from the HMCameraStreamControlDelegate protocol. |
| HMCameraView | |
| HMCameraView.HMCameraViewAppearance |
Appearance class for objects of type HMCameraView. |
| HMCharacteristic | |
| HMCharacteristicEvent | |
| HMCharacteristicMetadata | |
| HMCharacteristicProperties |
Common capabilities of an HMCharacteristic, such as whether it's writable or supports events. |
| HMCharacteristicThresholdRangeEvent | |
| HMCharacteristicTypeExtensions |
Extension methods for the HMCharacteristicType enumeration. |
| HMCharacteristicWriteAction | |
| HMDurationEvent | |
| HMErrors |
Holds the constant HMErrorDomain. |
| HMEvent | |
| HMEventTrigger | |
| HMHome | |
| HMHomeAccessControl | |
| HMHomeAccessoryEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeActionSetEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeDelegate |
This is a class that implements the interface IHMHomeDelegate (for the protocol Subclass this class to easily create a type that implements the protocol. An alternative is to create a subclass of NSObject and then implemented the interface IHMHomeDelegate. |
| HMHomeDelegate_Extensions |
Extension methods to the IHMHomeDelegate interface to support all the methods from the HMHomeDelegate protocol. |
| HMHomeErrorAccessoryEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeHubStateEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeManager | |
| HMHomeManagerAddAccessoryRequestEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeManagerAuthorizationStatusEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeManagerDelegate |
Delegate object for HMHomeManager objects, provides methods that can be overridden to react to HMHomes being added, removed, or set as the primary home. |
| HMHomeManagerDelegate_Extensions |
Extension methods to the IHMHomeManagerDelegate interface to support all the methods from the HMHomeManagerDelegate protocol. |
| HMHomeManagerEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeRoomAccessoryEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeRoomEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeRoomZoneEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeServiceGroupEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeServiceServiceGroupEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeTriggerEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeUserEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMHomeZoneEventArgs |
Provides data for an event based on an Objective-C protocol method. |
| HMLocationEvent | |
| HMMatterHome | |
| HMMatterRequestHandler | |
| HMMatterRoom | |
| HMMatterTopology | |
| HMMutableCalendarEvent | |
| HMMutableCharacteristicEvent | |
| HMMutableCharacteristicThresholdRangeEvent | |
| HMMutableDurationEvent | |
| HMMutableLocationEvent | |
| HMMutablePresenceEvent | |
| HMMutableSignificantTimeEvent | |
| HMNetworkConfigurationProfile | |
| HMNetworkConfigurationProfileDelegate |
This is a class that implements the interface IHMNetworkConfigurationProfileDelegate (for the protocol Subclass this class to easily create a type that implements the protocol. An alternative is to create a subclass of NSObject and then implemented the interface IHMNetworkConfigurationProfileDelegate. |
| HMNetworkConfigurationProfileDelegate_Extensions |
Extension methods to the IHMNetworkConfigurationProfileDelegate interface to support all the methods from the HMNetworkConfigurationProfileDelegate protocol. |
| HMNumberRange | |
| HMPresenceEvent | |
| HMRoom | |
| HMService | |
| HMServiceGroup | |
| HMServiceTypeExtensions |
Extension methods for the HMServiceType enumeration. |
| HMSignificantEventExtensions |
Extension methods for the HMSignificantEvent enumeration. |
| HMSignificantTimeEvent | |
| HMTimeEvent | |
| HMTimerTrigger | |
| HMTrigger | |
| HMUser | |
| HMZone | |
Interfaces
| Name | Description |
|---|---|
| IHMAccessoryBrowserDelegate |
Delegate object for HMAccessoryBrowser objects, provides methods called when accessories are discovered or removed. |
| IHMAccessoryDelegate |
This interface represents the Objective-C protocol |
| IHMCameraSnapshotControlDelegate |
This interface represents the Objective-C protocol |
| IHMCameraStreamControlDelegate |
This interface represents the Objective-C protocol |
| IHMHomeDelegate |
This interface represents the Objective-C protocol |
| IHMHomeManagerDelegate |
Delegate object for HMHomeManager objects, provides methods that can be overridden to react to HMHomes being added, removed, or set as the primary home. |
| IHMNetworkConfigurationProfileDelegate |
This interface represents the Objective-C protocol |
Enums
| Name | Description |
|---|---|
| HMAccessoryCategoryType |
Enumerates the kind of accessories supported by HomeKit. |
| HMActionSetType |
Enumerates the different kinds of HMActionSet. |
| HMCameraAudioStreamSetting |
Settings for camera's with audio devices. Used with AudioStreamSetting. |
| HMCameraStreamState |
Enumerates the states of an HMCameraStream. |
| HMCharacteristicMetadataFormat |
Enumerates the data types that can represent characteristics. |
| HMCharacteristicMetadataUnits |
Enumerates units of measure that might be associated with a HMCharacteristic. |
| HMCharacteristicType |
Enumerates known types of HMCharacteristic. |
| HMCharacteristicValueActivationState |
Enumerates the possible values of a HMCharacteristic that can be active or inactive. |
| HMCharacteristicValueAirParticulate |
Enumerates the particulate sizes supported by HomeKit. |
| HMCharacteristicValueAirQuality |
Enumerates air quality values. |
| HMCharacteristicValueBatteryStatus |
Enumerates the valid battery status values. |
| HMCharacteristicValueCarbonDioxideDetectionStatus |
Enumerates detection values. |
| HMCharacteristicValueCarbonMonoxideDetectionStatus |
Enumerates detection values. |
| HMCharacteristicValueChargingState |
Enumerates the state of battery charging. |
| HMCharacteristicValueClosedCaptions | |
| HMCharacteristicValueConfigurationState |
Enumerates the possible values of a HMCharacteristic that can be configured or not. |
| HMCharacteristicValueContactState |
Enumerates whether contact is detected. |
| HMCharacteristicValueCurrentAirPurifierState |
Enumerates the possible values of a HMCharacteristic that describes the states of an air purifier. |
| HMCharacteristicValueCurrentFanState |
Enumerates the possible values of a HMCharacteristic that describes the states of a fan. |
| HMCharacteristicValueCurrentHeaterCoolerState |
Enumerates the possible values of a HMCharacteristic that describes the states of a heat exchanger. |
| HMCharacteristicValueCurrentHeatingCooling | |
| HMCharacteristicValueCurrentHumidifierDehumidifierState |
Enumerates the possible values of a HMCharacteristic that describes the states of a humidifier or dehumidifier. |
| HMCharacteristicValueCurrentMediaState | |
| HMCharacteristicValueCurrentSecuritySystemState |
Enumerates the states of a security system. |
| HMCharacteristicValueCurrentSlatState |
Enumerates the possible values of a HMCharacteristic that describes the states of an oscillating slat. |
| HMCharacteristicValueCurrentVisibilityState | |
| HMCharacteristicValueDoorState |
Enumerates the states that a door can be in. |
| HMCharacteristicValueFilterChange |
Enumerates the possible values of a HMCharacteristic that describes the states of a filter that must be periodically changed. |
| HMCharacteristicValueHeatingCooling |
Enumerates the states that an indoor climate control unit can be in. |
| HMCharacteristicValueInputDeviceType | |
| HMCharacteristicValueInputEvent |
Enumerates the possible values of a HMCharacteristic that describes the forms of a button press. |
| HMCharacteristicValueInputSourceType | |
| HMCharacteristicValueJammedStatus |
Enumerates the state of a jammed device. |
| HMCharacteristicValueLabelNamespace |
Enumerates the possible values of a HMCharacteristic that may either be a dot or a numeral. |
| HMCharacteristicValueLeakStatus |
Enumerates the values of a device that detects leaks. |
| HMCharacteristicValueLockMechanism |
Enumerates values that describe the last known action that was taken on a lock. |
| HMCharacteristicValueLockMechanismState |
Enumerates the states that a lock can be in. |
| HMCharacteristicValueLockPhysicalControlsState |
Enumerates the possible values of a HMCharacteristic that may either be locked or unlocked. |
| HMCharacteristicValueOccupancyStatus |
Enumerates values for occupancy. |
| HMCharacteristicValuePictureMode | |
| HMCharacteristicValuePositionState |
Enumerates the states of an object that opens and closes. |
| HMCharacteristicValuePowerModeSelection | |
| HMCharacteristicValueProgramMode |
Enumerates the possible values of a HMCharacteristic that can be scheduled or manually overriden. |
| HMCharacteristicValueRemoteKey | |
| HMCharacteristicValueRotationDirection |
Enumerates rotation directions. |
| HMCharacteristicValueRouterStatus | |
| HMCharacteristicValueSecuritySystemAlarmType |
Enumerates the security system alarm type. |
| HMCharacteristicValueSlatType |
Enumerates the possible values of a HMCharacteristic that describe a vertical or horizontal slat. |
| HMCharacteristicValueSmokeDetectionStatus |
Enumerates the state of a smoke detector. |
| HMCharacteristicValueStatusFault |
Enumerates fault states. |
| HMCharacteristicValueSwingMode |
Enumerates the possible values of a HMCharacteristic that describe a swing that can be enabled or disabled. |
| HMCharacteristicValueTamperedStatus |
Enumerates the states of a device that detected tampering. |
| HMCharacteristicValueTargetAirPurifierState |
Enumerates the possible values of a HMCharacteristic of an air purifier. |
| HMCharacteristicValueTargetDoorState | |
| HMCharacteristicValueTargetFanState |
Enumerates the possible states of a HMCharacteristic of a fan. |
| HMCharacteristicValueTargetHeaterCoolerState |
Enumerates the possible states of a HMCharacteristic of a heater / cooler. |
| HMCharacteristicValueTargetHumidifierDehumidifierState |
Enumerates the possible states of a HMCharacteristic of a humidifier or dehumidifier. |
| HMCharacteristicValueTargetLockMechanismState | |
| HMCharacteristicValueTargetMediaState | |
| HMCharacteristicValueTargetSecuritySystemState |
Enumerates the status of a security system. |
| HMCharacteristicValueTargetVisibilityState | |
| HMCharacteristicValueTemperatureUnit |
Enumerates two common temperature measurement systems. |
| HMCharacteristicValueUsageState |
Enumerates the possible states of a HMCharacteristic of a device that can be in use or out of use. |
| HMCharacteristicValueValveType |
Enumerates the known types of valve. |
| HMCharacteristicValueVolumeControlType | |
| HMCharacteristicValueVolumeSelector | |
| HMCharacteristicValueWiFiSatelliteStatus | |
| HMError |
Enumerates possible failures in Home Kit operations. |
| HMEventTriggerActivationState |
Enumerates the possible states of a HMEventTrigger including reasons why it might not be enabled. |
| HMHomeHubState |
Enumerates the possible states of the HomeKit hub. |
| HMHomeManagerAuthorizationStatus | |
| HMPresenceEventType |
Enumerates the type of change in presence that the HMPresenceEvent represents. |
| HMPresenceEventUserType |
Enumerates the types of users whose presence or absence is associated with a HMPresenceEvent. |
| HMServiceType |
Enumerates known types of HMService. |
| HMSignificantEvent |
Enumerates events such as sunrise and sunset. |
Delegates
| Name | Description |
|---|---|
| HMFetchRoomHandler | |
| HMHomeManagerFindVendorAccessoryCallback | |
Remarks
The HomeKit namespace provides control and access of home automation devices.
Home automation with HomeKit relies on Apple's Home Automation Protocol. HomeKit allows applications to:
- Discover accessories and services and add them to a persistent configuration store.:
- Read and write the persistent configuration store.:
- Communicate with accessories and services.:
Many HomeKit objects have a UniqueIdentifier property. This property may be thought of as a key in an internal database. It is persistent as long as the object in question is not removed from the HMHome. If the object is re-added, it will have a different identifier, even if its values are identical.