<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 8.0.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "HomeKit",
  "identifier" : "/documentation/HomeKit/HMActionSet",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "HomeKit"
    ],
    "preciseIdentifier" : "c:objc(cs)HMActionSet"
  },
  "title" : "HMActionSet"
}
-->

# HMActionSet

A collection of actions that you trigger as a group.

```
class HMActionSet
```

## Overview

Action sets can be executed as a result of evaluating a trigger (instances of [`HMTrigger`](/documentation/HomeKit/HMTrigger)) or manually with [`executeActionSet(_:completionHandler:)`](/documentation/HomeKit/HMHome/executeActionSet(_:completionHandler:)). Actions in an action set are performed in an unspecified order. You create new action sets using the [`addActionSet(withName:completionHandler:)`](/documentation/HomeKit/HMHome/addActionSet(withName:completionHandler:)) method of [`HMHome`](/documentation/HomeKit/HMHome).

## Topics

### Identifiying an action set

[`uniqueIdentifier`](/documentation/HomeKit/HMActionSet/uniqueIdentifier)

The action set’s unique identifier.

[`name`](/documentation/HomeKit/HMActionSet/name)

The name of the action set.

[`-  updateName:completionHandler:`](/documentation/HomeKit/HMActionSet/updateName(_:completionHandler:))

Updates the name of the action set.

### Specifying a type

[`actionSetType`](/documentation/HomeKit/HMActionSet/actionSetType)

The type of the action set, such as built-in or user-defined.

[Action Set Types](/documentation/HomeKit/action-set-types)

The types of action sets that you can define.

### Defining the associated actions

[`actions`](/documentation/HomeKit/HMActionSet/actions)

Set of actions in the action set.

[`-  addAction:completionHandler:`](/documentation/HomeKit/HMActionSet/addAction(_:completionHandler:))

Adds an action to the action set.

[`-  removeAction:completionHandler:`](/documentation/HomeKit/HMActionSet/removeAction(_:completionHandler:))

Removes an action from the action set.

[`HMCharacteristicWriteAction`](/documentation/HomeKit/HMCharacteristicWriteAction)

An action in an action set that writes a value to a characteristic.

[`HMAction`](/documentation/HomeKit/HMAction)

An abstract base class for actions in HomeKit.

### Keeping track of execution

[`executing`](/documentation/HomeKit/HMActionSet/isExecuting)

The execution status of the action set.

[`lastExecutionDate`](/documentation/HomeKit/HMActionSet/lastExecutionDate)

The last execution date of the action set.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Equatable`](/documentation/Swift/Equatable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)