Protocol

HMHomeDelegate

An interface that communicates changes to a home’s configuration.

Declaration

@protocol HMHomeDelegate

Overview

Adopt this protocol to find out about changes made outside your app to a particular home, like when the home’s name changes, or when a room is added.

Changes that your app initiates—even those made asynchronously followed by a call to a completion handler—generate delegate callbacks in other apps, but not in your own. As a result, your app must update its internal data store or user interface from both the completion handler of an asynchronous call, and the delegate callback that corresponds to the same kind of change made by another app.

To be alerted about changes made to the overall list of homes, adopt the HMHomeManagerDelegate protocol. To find out about changes made to specific accessories, adopt the HMAccessoryDelegate protocol.

Topics

Observing Home Configuration

- homeDidUpdateName:

Tells the delegate that a home’s name changed.

- home:didAddAccessory:

Tells the delegate that a home added a new accessory.

- home:didUpdateRoom:forAccessory:

Tells the delegate that a home assigned an accessory to a different room.

- home:didRemoveAccessory:

Tells the delegate that a home removed an accessory.

- home:didAddRoom:

Tells the delegate that a home added a new room.

- home:didUpdateNameForRoom:

Tells the delegate that a home updated the name of one of its rooms.

- home:didAddRoom:toZone:

Tells the delegate that a home added a room to a zone.

- home:didRemoveRoom:fromZone:

Tells the delegate that a home removed a room from a zone.

- home:didRemoveRoom:

Tells the delegate that a home removed a room.

- home:didAddZone:

Tells the delegate that a home added a new zone.

- home:didUpdateNameForZone:

Tells the delegate that a home changed the name of a zone.

- home:didRemoveZone:

Tells the delegate that a home removed a zone.

- home:didAddUser:

Tells the delegate that a home added a user.

- home:didRemoveUser:

Tells the delegate that a home removed a user.

- homeDidUpdateAccessControlForCurrentUser:

Tells the delegate that the access control for the current user has changed.

- home:didUpdateHomeHubState:

Tells the delegate that the state of the home hub has changed.

HMHomeHubState

The possible states of the home hub.

Observing Service Configuration

- home:didAddServiceGroup:

Tells the delegate that a home added a service group.

- home:didUpdateNameForServiceGroup:

Tells the delegate that a home updated the name of a service group.

- home:didAddService:toServiceGroup:

Tells the delegate that a home added a service to a service group.

- home:didRemoveService:fromServiceGroup:

Tells the delegate that a home removed a service from a service group.

- home:didRemoveServiceGroup:

Tells the delegate that a home removed a service group.

Observing Action and Trigger Configuration

- home:didAddActionSet:

Tells the delegate that a home added an action set.

- home:didUpdateNameForActionSet:

Tells the delegate that a home updated the name of an action set.

- home:didUpdateActionsForActionSet:

Tells the delegate that a home updated the actions for an action set.

- home:didRemoveActionSet:

Tells the delegate that a home removed an action set.

- home:didAddTrigger:

Tells the delegate that a home added a trigger.

- home:didUpdateNameForTrigger:

Tells the delegate that a home updated the name of a trigger.

- home:didUpdateTrigger:

Tells the delegate that a home updated a trigger.

- home:didRemoveTrigger:

Tells the delegate that a home removed a trigger.

Observing Accessories

- home:didEncounterError:forAccessory:

Tells the delegate that a configured accessory encountered an error.

- home:didUnblockAccessory:

Tells the delegate that an accessory has been unblocked.

Relationships

Inherits From

See Also

Keeping Track of Home Configuration Changes

delegate

A delegate that receives updates on the state of the home.