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
HMAccessControl | |
HMAccessory |
A home automation accessory controllable by Home Kit. |
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 the DidRemoveNewAccessory and E:HomeKit.HMAccessoryBrowserEventArgs.DidRemoveNewAccessory events. |
HMAccessoryCategory |
Combines the E:HomeKit.HKAccessoryCategoryType with a localized description. |
HMAccessoryCategoryTypeExtensions | |
HMAccessoryDelegate |
Delegate object for HMAccessory objects, provides methods called when characteristics of the accessory change. |
HMAccessoryDelegate_Extensions |
Extension methods to the IHMAccessoryDelegate interface to support all the methods from the HMAccessoryDelegate protocol. |
HMAccessoryFirmwareVersionEventArgs |
Provides data for the DidUpdateFirmwareVersion event. |
HMAccessoryProfile |
Associates an HMAccessory with a unique identifier and an array of HMService services. |
HMAccessoryProfileEventArgs |
Provides data for the DidRemoveProfile and E:HomeKit.HMAccessoryProfileEventArgs.DidRemoveProfile events. |
HMAccessoryServiceUpdateCharacteristicEventArgs |
Provides data for the DidUpdateValueForCharacteristic event. |
HMAccessorySetupPayload | |
HMAccessoryUpdateEventArgs |
Provides data for the DidUpdateNameForService and E:HomeKit.HMAccessoryUpdateEventArgs.DidUpdateNameForService events. |
HMAction |
Abstract base class for objects that perform actions within Home Kit. |
HMActionSet |
Aggregates HMAction objects and applies them as a single action. |
HMCalendarEvent |
An HMTimeEvent that fires at a specified date. |
HMCameraAudioControl |
A HMCameraControl that has audio capabilities (either one- or two-way). |
HMCameraControl |
Base class for controls of video cameras. |
HMCameraProfile |
A HMAccessoryProfile describing a video camera. |
HMCameraSettingsControl |
The HMCameraControl that describes the camera's aiming and zooming capabilities. |
HMCameraSnapshot |
A HMCameraSource that represents a still image captured by a camera. |
HMCameraSnapshotControl |
A HMCameraControl that manages the taking of a still image with a video camera. |
HMCameraSnapshotControlDelegate |
Delegate object that responds to requests for snapshot requests from a HMCameraControl object. |
HMCameraSnapshotControlDelegate_Extensions |
Extension methods to the IHMCameraSnapshotControlDelegate interface to support all the methods from the HMCameraSnapshotControlDelegate protocol. |
HMCameraSource |
Abstract base class for HomeKit-enabled cameras. |
HMCameraStream |
An HMCameraSource that represents a camera video stream. |
HMCameraStreamControl |
A HMCameraControl that manages video streaming from the camera. |
HMCameraStreamControlDelegate |
Delegate object that responds to HMCameraStreamControl start and stop events. |
HMCameraStreamControlDelegate_Extensions |
Extension methods to the IHMCameraStreamControlDelegate interface to support all the methods from the HMCameraStreamControlDelegate protocol. |
HMCameraView |
A standard UIView for viewing HomeKit-connected video cameras. |
HMCameraView.HMCameraViewAppearance |
Appearance class for objects of type HMCameraView. |
HMCharacteristic |
A characteristic of a HMService that has a P:HomeKit.HMCharacteristics.Value. |
HMCharacteristicEvent |
An HMEvent triggered when the Characteristic crosses the TriggerValue. |
HMCharacteristicMetadata |
Metadata of a HMCharacteristic such as the allowable range of the characteristic or the size of a step. |
HMCharacteristicProperties |
Common capabilities of an HMCharacteristic, such as whether it's writable or supports events. |
HMCharacteristicThresholdRangeEvent |
An HMEvent that is triggered when the P:HomeKit.HMCharacteristicThresholdRange.Characteristic object's value falls within a specified range. |
HMCharacteristicTypeExtensions |
Extension methods to get values for constants and constants for values for a HMCharacteristicType. |
HMCharacteristicWriteAction |
An HMAction that sets a value in a HMCharacteristic. |
HMDurationEvent |
A HMEvent that occurs over a time interval. |
HMErrors |
Holds the constant HMErrorDomain. |
HMEvent |
Holds data relating to a HomeKit event. |
HMEventTrigger |
Associates one or HMEvent objects with a NSPredicate that, if |
HMHome |
An object representing a single residence. The highest level "container" in Home Kit. |
HMHomeAccessControl |
Describes the administrative level of a user. |
HMHomeAccessoryEventArgs |
Provides data for the DidUnblockAccessory, E:HomeKit.HMHomeAccessoryEventArgs.DidRemoveAccessory and E:HomeKit.HMHomeAccessoryEventArgs.DidUnblockAccessory events. |
HMHomeActionSetEventArgs |
Provides data for the DidUpdateNameForActionSet, E:HomeKit.HMHomeActionSetEventArgs.DidRemoveActionSet, E:HomeKit.HMHomeActionSetEventArgs.DidUpdateActionsForActionSet and E:HomeKit.HMHomeActionSetEventArgs.DidUpdateNameForActionSet events. |
HMHomeDelegate |
Delegate object for HMHome objects, providing methods that can be overridden to react to events relating to additions, subtractions, and updates of various Home Kit objects. |
HMHomeDelegate_Extensions |
Extension methods to the IHMHomeDelegate interface to support all the methods from the HMHomeDelegate protocol. |
HMHomeErrorAccessoryEventArgs |
Provides data for the DidEncounterError event. |
HMHomeHubStateEventArgs |
Provides data for the DidUpdateHomeHubState event. |
HMHomeManager |
Collection of HMHome objects. |
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 the DidRemoveHome and E:HomeKit.HMHomeManagerEventArgs.DidRemoveHome events. |
HMHomeRoomAccessoryEventArgs |
Provides data for the DidUpdateRoom event. |
HMHomeRoomEventArgs |
Provides data for the DidUpdateNameForRoom, E:HomeKit.HMHomeRoomEventArgs.DidRemoveRoom and E:HomeKit.HMHomeRoomEventArgs.DidUpdateNameForRoom events. |
HMHomeRoomZoneEventArgs |
Provides data for the DidRemoveRoomFromZone and E:HomeKit.HMHomeRoomZoneEventArgs.DidRemoveRoomFromZone events. |
HMHomeServiceGroupEventArgs |
Provides data for the DidUpdateNameForServiceGroup, E:HomeKit.HMHomeServiceGroupEventArgs.DidRemoveServiceGroup and E:HomeKit.HMHomeServiceGroupEventArgs.DidUpdateNameForServiceGroup events. |
HMHomeServiceServiceGroupEventArgs |
Provides data for the DidRemoveService and E:HomeKit.HMHomeServiceServiceGroupEventArgs.DidRemoveService events. |
HMHomeTriggerEventArgs |
Provides data for the DidUpdateTrigger, E:HomeKit.HMHomeTriggerEventArgs.DidRemoveTrigger, E:HomeKit.HMHomeTriggerEventArgs.DidUpdateNameForTrigger and E:HomeKit.HMHomeTriggerEventArgs.DidUpdateTrigger events. |
HMHomeUserEventArgs |
Provides data for the DidRemoveUser and E:HomeKit.HMHomeUserEventArgs.DidRemoveUser events. |
HMHomeZoneEventArgs |
Provides data for the DidUpdateNameForZone, E:HomeKit.HMHomeZoneEventArgs.DidRemoveZone and E:HomeKit.HMHomeZoneEventArgs.DidUpdateNameForZone events. |
HMLocationEvent |
A HMEvent relating to a geographical region. |
HMMutableCalendarEvent |
A HMCalendarEvent whose values can be modified after initialization. |
HMMutableCharacteristicEvent |
A HMCharacteristicEvent whose values can be modified after initialization. |
HMMutableCharacteristicThresholdRangeEvent |
A HMCharacteristicThresholdRangeEvent whose values can be modified after initialization. |
HMMutableDurationEvent |
A HMDurationEvent whose values can be modified after initialization. |
HMMutableLocationEvent |
A HMLocationEvent whose values can be modified after initialization. |
HMMutablePresenceEvent |
A HMPresenceEvent whose values can be modified after initialization. |
HMMutableSignificantTimeEvent |
A HMSignificantTimeEvent whose values can be modified after initialization. |
HMNumberRange |
Represents a range from Min to P:HomeKit.HMNumberRange.MaxValue. |
HMPresenceEvent |
An T:HMKit.HMEvent that represents a change in the physical presence or absence of users. |
HMRoom | |
HMService |
A named set of HMCharacteristics provided by an HMAccessory. |
HMServiceGroup |
A collection of related HMService objects provided by an HMAccessory. |
HMServiceTypeExtensions |
Extension methods to get values for constants and constants for values for a HMServiceType. |
HMSignificantEventExtensions |
Extension methods to get values for constants and constants for values for a HMSignificantEvent. |
HMSignificantTimeEvent |
An HMTimeEvent that tracks a HMSignificantEvent. |
HMTimeEvent |
An HMEvent that occurs at a specified time. |
HMTimerTrigger |
A HMTrigger that triggers in response to a possibly-recurring timer. |
HMTrigger |
A base class for events (such as timers) that triggers one or HMActionSets. |
HMUser |
Class that represents a person who can control HomeKit devices. |
HMZone |
A set of HMRooms. |
Interfaces
IHMAccessoryBrowserDelegate |
Interface representing the required methods (if any) of the protocol HMAccessoryBrowserDelegate. |
IHMAccessoryDelegate |
Interface representing the required methods (if any) of the protocol HMAccessoryDelegate. |
IHMCameraSnapshotControlDelegate |
Interface representing the required methods (if any) of the protocol HMCameraSnapshotControlDelegate. |
IHMCameraStreamControlDelegate |
Interface representing the required methods (if any) of the protocol HMCameraStreamControlDelegate. |
IHMHomeDelegate |
Interface representing the required methods (if any) of the protocol HMHomeDelegate. |
IHMHomeManagerDelegate |
Interface representing the required methods (if any) of the protocol HMHomeManagerDelegate. |
Enums
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. |
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. |
HMCharacteristicValueCurrentHumidifierDehumidifierState |
Enumerates the possible values of a HMCharacteristic that describes the states of a humidifier or dehumidifier. |
HMCharacteristicValueCurrentSecuritySystemState |
Enumerates the states of a security system. |
HMCharacteristicValueCurrentSlatState |
Enumerates the possible values of a HMCharacteristic that describes the states of an oscillating slat. |
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. |
HMCharacteristicValueInputEvent |
Enumerates the possible values of a HMCharacteristic that describes the forms of a button press. |
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. |
HMCharacteristicValuePositionState |
Enumerates the states of an object that opens and closes. |
HMCharacteristicValueProgramMode |
Enumerates the possible values of a HMCharacteristic that can be scheduled or manually overriden. |
HMCharacteristicValueRotationDirection |
Enumerates rotation directions. |
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. |
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. |
HMCharacteristicValueTargetSecuritySystemState |
Enumerates the status of a security system. |
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. |
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. |
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. |
Remarks
The HomeKit namespace, introduced in iOS 8, provides control and access of home automation devices.
Home automation with Home Kit relies on Apple's Home Automation Protocol. Home Kit 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 it's values are identical.