---
title: HMTrigger
framework: homekit
role: symbol
role_heading: Class
path: homekit/hmtrigger
---

# HMTrigger

An abstract base class for triggering actions based on a set of conditions.

## Declaration

```swift
class HMTrigger
```

## Overview

Overview This class defines the basic behavior of triggers, but does not itself specify any criteria for firing a trigger. Use instances of subclasses of HMTrigger to set up concrete triggers for actions.

## Topics

### Managing Triggers

- [name](homekit/hmtrigger/name.md)
- [updateName(_:completionHandler:)](homekit/hmtrigger/updatename(_:completionhandler:).md)
- [isEnabled](homekit/hmtrigger/isenabled.md)
- [enable(_:completionHandler:)](homekit/hmtrigger/enable(_:completionhandler:).md)
- [lastFireDate](homekit/hmtrigger/lastfiredate.md)
- [uniqueIdentifier](homekit/hmtrigger/uniqueidentifier.md)

### Managing Action Sets

- [actionSets](homekit/hmtrigger/actionsets.md)
- [addActionSet(_:completionHandler:)](homekit/hmtrigger/addactionset(_:completionhandler:).md)
- [removeActionSet(_:completionHandler:)](homekit/hmtrigger/removeactionset(_:completionhandler:).md)

## Relationships

### Inherits From

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

### Inherited By

- [HMEventTrigger](homekit/hmeventtrigger.md)
- [HMTimerTrigger](homekit/hmtimertrigger.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

### Triggering an action set

- [triggers](homekit/hmhome/triggers.md)
- [addTrigger(_:completionHandler:)](homekit/hmhome/addtrigger(_:completionhandler:).md)
- [removeTrigger(_:completionHandler:)](homekit/hmhome/removetrigger(_:completionhandler:).md)
- [HMTimerTrigger](homekit/hmtimertrigger.md)
- [HMEventTrigger](homekit/hmeventtrigger.md)
