iOS Guides | Samples

MonoTouch.HomeKit Namespace

The HomeKit namespace provides control of and access to home automation devices.

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.

Classes

TypeReason
HMAccessoryA home automation accessory controllable by Home Kit.
HMAccessoryBrowserBrowses and discovers HMAccessory objects.
HMAccessoryBrowserDelegateDelegate object for HMAccessoryBrowser objects, provides methods called when accessories are discovered or removed.
HMAccessoryBrowserDelegate_ExtensionsExtension methods to the IHMAccessoryBrowserDelegate interface to support all the methods from the HMAccessoryBrowserDelegate protocol.
HMAccessoryBrowserEventArgsProvides data for the HMAccessoryBrowserEventArgs.DidFindNewAccessory and HMAccessoryBrowserEventArgs.DidRemoveNewAccessory events.
HMAccessoryCategoryCombines the HomeKit.HKAccessoryCategoryType with a localized description.
HMAccessoryCategoryTypeEnumerates the kind of accessories supported by HomeKit.
HMAccessoryCategoryTypeExtensions
HMAccessoryDelegateDelegate object for HMAccessory objects, provides methods called when characteristics of the accessory change.
HMAccessoryDelegate_ExtensionsExtension methods to the IHMAccessoryDelegate interface to support all the methods from the HMAccessoryDelegate protocol.
HMAccessoryFirmwareVersionEventArgsProvides data for the HMAccessoryFirmwareVersionEventArgs.DidUpdateFirmwareVersion event.
HMAccessoryProfileAssociates an HMAccessory with a unique identifier and an array of HMService services.
HMAccessoryProfileEventArgsProvides data for the HMAccessoryProfileEventArgs.DidAddProfile and HMAccessoryProfileEventArgs.DidRemoveProfile events.
HMAccessoryServiceUpdateCharacteristicEventArgsProvides data for the HMAccessoryServiceUpdateCharacteristicEventArgs.DidUpdateValueForCharacteristic event.
HMAccessoryUpdateEventArgsProvides data for the HMAccessoryUpdateEventArgs.DidUpdateAssociatedServiceType and HMAccessoryUpdateEventArgs.DidUpdateNameForService events.
HMActionAbstract base class for objects that perform actions within Home Kit.
HMActionSetAggregates HMAction objects and applies them as a single action.
HMActionSetTypeEnumerates the different kinds of HMActionSet.
HMCalendarEvent
HMCameraAudioControlA HMCameraControl that has audio capabilities (either one- or two-way).
HMCameraAudioStreamSettingSettings for camera's with audio devices. Used with HMCameraStream.AudioSetting.
HMCameraControlBase class for controls of video cameras.
HMCameraProfileA HMAccessoryProfile describing a video camera.
HMCameraSettingsControlThe HMCameraControl that describes the camera's aiming and zooming capabilities.
HMCameraSnapshotA HMCameraSource that represents a still image captured by a camera.
HMCameraSnapshotControlA HMCameraControl that manages the taking of a still image with a video camera.
HMCameraSnapshotControlDelegateDelegate object that responds to requests for snapshot requests from a HMCameraControl object.
HMCameraSnapshotControlDelegate_ExtensionsExtension methods to the IHMCameraSnapshotControlDelegate interface to support all the methods from the HMCameraSnapshotControlDelegate protocol.
HMCameraSource
HMCameraStreamAn HMCameraSource that represents a camera video stream.
HMCameraStreamControlA HMCameraControl that manages video streaming from the camera.
HMCameraStreamControlDelegateDelegate object that responds to HMCameraStreamControl start and stop events.
HMCameraStreamControlDelegate_ExtensionsExtension methods to the IHMCameraStreamControlDelegate interface to support all the methods from the HMCameraStreamControlDelegate protocol.
HMCameraStreamStateEnumerates the states of an HMCameraStream.
HMCameraViewA standard UIView for viewing HomeKit-connected video cameras.
HMCameraView+HMCameraViewAppearanceAppearance class for objects of type HMCameraView.
HMCharacteristicA characteristic of a HMService that has a HMCharacteristics.Value.
HMCharacteristicEventAn HMEvent triggered when the HMCharacteristicEvent.Characteristic crosses the HMCharacteristicEvent.TriggerValue.
HMCharacteristicMetadataMetadata of a HMCharacteristic such as the allowable range of the characteristic or the size of a step.
HMCharacteristicMetadataFormatEnumerates the data types that can represent characteristics.
HMCharacteristicMetadataUnitsEnumerates units of measure that might be associated with a HMCharacteristic.
HMCharacteristicPropertiesCommon capabilities of an HMCharacteristic, such as whether it's writable or supports events.
HMCharacteristicThresholdRangeEvent
HMCharacteristicTypeEnumerates known types of HMCharacteristic.
HMCharacteristicTypeExtensionsExtension methods to get values for constants and constants for values for a HMCharacteristicType.
HMCharacteristicValueActivationState
HMCharacteristicValueAirParticulateEnumerates the particulate sizes supported by HomeKit.
HMCharacteristicValueAirQualityEnumerates air quality values.
HMCharacteristicValueBatteryStatusEnumerates the valid battery status values.
HMCharacteristicValueCarbonDioxideDetectionStatusEnumerates detection values.
HMCharacteristicValueCarbonMonoxideDetectionStatusEnumerates detection values.
HMCharacteristicValueChargingStateEnumerates the state of battery charging.
HMCharacteristicValueContactStateEnumerates whether contact is detected.
HMCharacteristicValueCurrentAirPurifierState
HMCharacteristicValueCurrentFanState
HMCharacteristicValueCurrentHeaterCoolerState
HMCharacteristicValueCurrentHumidifierDehumidifierState
HMCharacteristicValueCurrentSecuritySystemStateEnumerates the states of a security system.
HMCharacteristicValueCurrentSlatState
HMCharacteristicValueDoorStateEnumerates the states that a door can be in.
HMCharacteristicValueFilterChange
HMCharacteristicValueHeatingCoolingEnumerates the states that an indoor climate control unit can be in.
HMCharacteristicValueInputEvent
HMCharacteristicValueJammedStatusEnumerates the state of a jammed device.
HMCharacteristicValueLabelNamespace
HMCharacteristicValueLeakStatusEnumerates the values of a device that detects leaks.
HMCharacteristicValueLockMechanismEnumerates values that describe the last known action that was taken on a lock.
HMCharacteristicValueLockMechanismStateEnumerates the states that a lock can be in.
HMCharacteristicValueLockPhysicalControlsState
HMCharacteristicValueOccupancyStatusEnumerates values for occupancy.
HMCharacteristicValuePositionStateEnumerates the states of an object that opens and closes.
HMCharacteristicValueRotationDirectionEnumerates rotation directions.
HMCharacteristicValueSecuritySystemAlarmTypeEnumerates the security system alarm type.
HMCharacteristicValueSlatType
HMCharacteristicValueSmokeDetectionStatusEnumerates the state of a smoke detector.
HMCharacteristicValueStatusFaultEnumerates fault states.
HMCharacteristicValueSwingMode
HMCharacteristicValueTamperedStatusEnumerates the states of a device that detected tampering.
HMCharacteristicValueTargetAirPurifierState
HMCharacteristicValueTargetFanState
HMCharacteristicValueTargetHeaterCoolerState
HMCharacteristicValueTargetHumidifierDehumidifierState
HMCharacteristicValueTargetSecuritySystemStateEnumerates the status of a security system.
HMCharacteristicValueTemperatureUnitEnumerates two common temperature measurement systems.
HMCharacteristicWriteActionAn HMAction that sets a value in a HMCharacteristic.
HMDurationEvent
HMErrorEnumerates possible failures in Home Kit operations.
HMErrorsHolds the constant HMErrors.HMErrorDomain.
HMEventHolds data relating to a HomeKit event.
HMEventTriggerAssociates one or HMEvent objects with a NSPredicate that, if true, triggers a scene change.
HMEventTriggerActivationState
HMHomeAn object representing a single residence. The highest level "container" in Home Kit.
HMHomeAccessControlDescribes the administrative level of a user.
HMHomeAccessoryEventArgsProvides data for the HMHomeAccessoryEventArgs.DidAddAccessory, HMHomeAccessoryEventArgs.DidRemoveAccessory and HMHomeAccessoryEventArgs.DidUnblockAccessory events.
HMHomeActionSetEventArgsProvides data for the HMHomeActionSetEventArgs.DidAddActionSet, HMHomeActionSetEventArgs.DidRemoveActionSet, HMHomeActionSetEventArgs.DidUpdateActionsForActionSet and HMHomeActionSetEventArgs.DidUpdateNameForActionSet events.
HMHomeDelegateDelegate 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_ExtensionsExtension methods to the IHMHomeDelegate interface to support all the methods from the HMHomeDelegate protocol.
HMHomeErrorAccessoryEventArgsProvides data for the HMHomeErrorAccessoryEventArgs.DidEncounterError event.
HMHomeHubState
HMHomeHubStateEventArgsProvides data for the HMHomeHubStateEventArgs.DidUpdateHomeHubState event.
HMHomeManagerCollection of HMHome objects.
HMHomeManagerDelegateDelegate object for HMHomeManager objects, provides methods that can be overridden to react to HMHomes being added, removed, or set as the primary home.
HMHomeManagerDelegate_ExtensionsExtension methods to the IHMHomeManagerDelegate interface to support all the methods from the HMHomeManagerDelegate protocol.
HMHomeManagerEventArgsProvides data for the HMHomeManagerEventArgs.DidAddHome and HMHomeManagerEventArgs.DidRemoveHome events.
HMHomeRoomAccessoryEventArgsProvides data for the HMHomeRoomAccessoryEventArgs.DidUpdateRoom event.
HMHomeRoomEventArgsProvides data for the HMHomeRoomEventArgs.DidAddRoom, HMHomeRoomEventArgs.DidRemoveRoom and HMHomeRoomEventArgs.DidUpdateNameForRoom events.
HMHomeRoomZoneEventArgsProvides data for the HMHomeRoomZoneEventArgs.DidAddRoomToZone and HMHomeRoomZoneEventArgs.DidRemoveRoomFromZone events.
HMHomeServiceGroupEventArgsProvides data for the HMHomeServiceGroupEventArgs.DidAddServiceGroup, HMHomeServiceGroupEventArgs.DidRemoveServiceGroup and HMHomeServiceGroupEventArgs.DidUpdateNameForServiceGroup events.
HMHomeServiceServiceGroupEventArgsProvides data for the HMHomeServiceServiceGroupEventArgs.DidAddService and HMHomeServiceServiceGroupEventArgs.DidRemoveService events.
HMHomeTriggerEventArgsProvides data for the HMHomeTriggerEventArgs.DidAddTrigger, HMHomeTriggerEventArgs.DidRemoveTrigger, HMHomeTriggerEventArgs.DidUpdateNameForTrigger and HMHomeTriggerEventArgs.DidUpdateTrigger events.
HMHomeUserEventArgsProvides data for the HMHomeUserEventArgs.DidAddUser and HMHomeUserEventArgs.DidRemoveUser events.
HMHomeZoneEventArgsProvides data for the HMHomeZoneEventArgs.DidAddZone, HMHomeZoneEventArgs.DidRemoveZone and HMHomeZoneEventArgs.DidUpdateNameForZone events.
HMLocationEventA HMEvent relating to a geographical region.
HMMutableCalendarEvent
HMMutableCharacteristicEvent
HMMutableCharacteristicThresholdRangeEvent
HMMutableDurationEvent
HMMutableLocationEvent
HMMutablePresenceEvent
HMMutableSignificantTimeEvent
HMNumberRange
HMPresenceEvent
HMPresenceEventType
HMPresenceEventUserType
HMRoomA room in a HMHome or HMZone.
HMServiceA named set of HMCharacteristics provided by an HMAccessory.
HMServiceGroupA collection of related HMService objects provided by an HMAccessory.
HMServiceTypeEnumerates known types of HMService.
HMServiceTypeExtensionsExtension methods to get values for constants and constants for values for a HMServiceType.
HMSignificantEventEnumerates events such as sunrise and sunset.
HMSignificantEventExtensionsExtension methods to get values for constants and constants for values for a HMSignificantEvent.
HMSignificantTimeEvent
HMTimeEvent
HMTimerTriggerA HMTrigger that triggers in response to a possibly-recurring timer.
HMTriggerA base class for events (such as timers) that triggers one or HMActionSets.
HMUserClass that represents a person who can control HomeKit devices.
HMZoneA set of HKRooms.
IHMAccessoryBrowserDelegateInterface representing the required methods (if any) of the protocol HMAccessoryBrowserDelegate.
IHMAccessoryDelegateInterface representing the required methods (if any) of the protocol HMAccessoryDelegate.
IHMCameraSnapshotControlDelegateInterface representing the required methods (if any) of the protocol HMCameraSnapshotControlDelegate.
IHMCameraStreamControlDelegateInterface representing the required methods (if any) of the protocol HMCameraStreamControlDelegate.
IHMHomeDelegateInterface representing the required methods (if any) of the protocol HMHomeDelegate.
IHMHomeManagerDelegateInterface representing the required methods (if any) of the protocol HMHomeManagerDelegate.