---
title: HMActionSet
framework: homekit
role: symbol
role_heading: Class
path: homekit/hmactionset
---

# HMActionSet

A collection of actions that you trigger as a group.

## Declaration

```swift
class HMActionSet
```

## Overview

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

## Topics

### Identifiying an action set

- [uniqueIdentifier](homekit/hmactionset/uniqueidentifier.md)
- [name](homekit/hmactionset/name.md)
- [updateName(_:completionHandler:)](homekit/hmactionset/updatename(_:completionhandler:).md)

### Specifying a type

- [actionSetType](homekit/hmactionset/actionsettype.md)
- [Action Set Types](homekit/action-set-types.md)

### Defining the associated actions

- [actions](homekit/hmactionset/actions.md)
- [addAction(_:completionHandler:)](homekit/hmactionset/addaction(_:completionhandler:).md)
- [removeAction(_:completionHandler:)](homekit/hmactionset/removeaction(_:completionhandler:).md)
- [HMCharacteristicWriteAction](homekit/hmcharacteristicwriteaction.md)
- [HMAction](homekit/hmaction.md)

### Keeping track of execution

- [isExecuting](homekit/hmactionset/isexecuting.md)
- [lastExecutionDate](homekit/hmactionset/lastexecutiondate.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Action Sets

- [HMTimerTrigger](homekit/hmtimertrigger.md)
- [HMEventTrigger](homekit/hmeventtrigger.md)
