An HMAccessory object represents a home automation accessory in the home, such as a garage door opener or a thermostat. Each physical accessory in the home is represented by one and only one accessory object. A single accessory provides one or more services, represented by instances of HMService.


You add accessories to a home using HMAccessoryBrowser, and assign them to rooms using HMHome objects.


Managing Accessory Information

var name: String

The name of the accessory

var identifier: UUID

A unique identifier for the accessory

var room: HMRoom?

Room containing the accessory.

var services: [HMService]

Array of services provided by the accessory.

var isReachable: Bool

Boolean that indicates if the accessory can be communicated with in the current network environment.

var isBlocked: Bool

Boolean value that indicates whether the accessory is blocked.

func identify(completionHandler: (Error?) -> Void)

Used to have an accessory identify itself.

Managing Bridged Accessories

var isBridged: Bool

Boolean that indicates whether the accessory is accessed through a bridge.

var identifiersForBridgedAccessories: [UUID]?

An array of identifiers for accessories available through a bridge.


Getting and Setting the Delegate

var delegate: HMAccessoryDelegate?

Delegate that receives updates on the state of the accessory.


Inherits From

Conforms To