---
title: HMError
framework: homekit
role: symbol
role_heading: Structure
path: homekit/hmerror
---

# HMError

An error HomeKit returns.

## Declaration

```swift
struct HMError
```

## Topics

### Obtaining error information

- [HMErrorDomain](homekit/hmerrordomain.md)

### Detecting accessory errors

- [accessoryIsBlocked](homekit/hmerror/accessoryisblocked.md)
- [accessoryIsBusy](homekit/hmerror/accessoryisbusy.md)
- [accessoryIsSuspended](homekit/hmerror/accessoryissuspended.md)
- [accessoryNotReachable](homekit/hmerror/accessorynotreachable.md)
- [accessoryOutOfCompliance](homekit/hmerror/accessoryoutofcompliance.md)
- [accessoryOutOfResources](homekit/hmerror/accessoryoutofresources.md)
- [accessoryPoweredOff](homekit/hmerror/accessorypoweredoff.md)
- [accessoryResponseError](homekit/hmerror/accessoryresponseerror.md)
- [addAccessoryFailed](homekit/hmerror/addaccessoryfailed.md)
- [incompatibleAccessory](homekit/hmerror/incompatibleaccessory.md)

### Detecting action set errors

- [actionInAnotherActionSet](homekit/hmerror/actioninanotheractionset.md)
- [actionSetExecutionFailed](homekit/hmerror/actionsetexecutionfailed.md)
- [actionSetExecutionInProgress](homekit/hmerror/actionsetexecutioninprogress.md)
- [actionSetExecutionPartialSuccess](homekit/hmerror/actionsetexecutionpartialsuccess.md)
- [cannotRemoveBuiltinActionSet](homekit/hmerror/cannotremovebuiltinactionset.md)
- [noActionsInActionSet](homekit/hmerror/noactionsinactionset.md)
- [noRegisteredActionSets](homekit/hmerror/noregisteredactionsets.md)

### Detecting association errors

- [invalidAssociatedServiceType](homekit/hmerror/invalidassociatedservicetype.md)
- [objectAlreadyAssociatedToHome](homekit/hmerror/objectalreadyassociatedtohome.md)
- [objectAssociatedToAnotherHome](homekit/hmerror/objectassociatedtoanotherhome.md)
- [objectNotAssociatedToAnyHome](homekit/hmerror/objectnotassociatedtoanyhome.md)

### Detecting authorization errors

- [invalidOrMissingAuthorizationData](homekit/hmerror/invalidormissingauthorizationdata.md)
- [locationForHomeDisabled](homekit/hmerror/locationforhomedisabled.md)
- [homeAccessNotAuthorized](homekit/hmerror/homeaccessnotauthorized.md)
- [insufficientPrivileges](homekit/hmerror/insufficientprivileges.md)
- [messageAuthenticationFailed](homekit/hmerror/messageauthenticationfailed.md)
- [notAuthorizedForLocationServices](homekit/hmerror/notauthorizedforlocationservices.md)
- [notAuthorizedForMicrophoneAccess](homekit/hmerror/notauthorizedformicrophoneaccess.md)
- [notSignedIntoiCloud](homekit/hmerror/notsignedintoicloud.md)
- [ownershipFailure](homekit/hmerror/ownershipfailure.md)
- [securityFailure](homekit/hmerror/securityfailure.md)

### Detecting bridge errors

- [bridgedAccessoryNotReachable](homekit/hmerror/bridgedaccessorynotreachable.md)
- [cannotRemoveNonBridgeAccessory](homekit/hmerror/cannotremovenonbridgeaccessory.md)
- [cannotUnblockNonBridgeAccessory](homekit/hmerror/cannotunblocknonbridgeaccessory.md)

### Detecting characteristic errors

- [readOnlyCharacteristic](homekit/hmerror/readonlycharacteristic.md)
- [writeOnlyCharacteristic](homekit/hmerror/writeonlycharacteristic.md)

### Detecting collision errors

- [homeWithSimilarNameExists](homekit/hmerror/homewithsimilarnameexists.md)
- [objectWithSimilarNameExists](homekit/hmerror/objectwithsimilarnameexists.md)
- [objectWithSimilarNameExistsInHome](homekit/hmerror/objectwithsimilarnameexistsinhome.md)
- [renameWithSimilarName](homekit/hmerror/renamewithsimilarname.md)

### Detecting communication errors

- [accessDenied](homekit/hmerror/accessdenied.md)
- [accessoryCommunicationFailure](homekit/hmerror/accessorycommunicationfailure.md)
- [accessoryPairingFailed](homekit/hmerror/accessorypairingfailed.md)
- [accessorySentInvalidResponse](homekit/hmerror/accessorysentinvalidresponse.md)
- [clientRequestError](homekit/hmerror/clientrequesterror.md)
- [communicationFailure](homekit/hmerror/communicationfailure.md)
- [dataResetFailure](homekit/hmerror/dataresetfailure.md)
- [timedOutWaitingForAccessory](homekit/hmerror/timedoutwaitingforaccessory.md)
- [partialCommunicationFailure](homekit/hmerror/partialcommunicationfailure.md)

### Detecting device and discovery errors

- [deviceLocked](homekit/hmerror/devicelocked.md)
- [accessoryDiscoveryFailed](homekit/hmerror/accessorydiscoveryfailed.md)

### Detecting general errors

- [alreadyExists](homekit/hmerror/alreadyexists.md)
- [genericError](homekit/hmerror/genericerror.md)
- [incompatibleHomeHub](homekit/hmerror/incompatiblehomehub.md)
- [invalidClass](homekit/hmerror/invalidclass.md)
- [notFound](homekit/hmerror/notfound.md)
- [notificationAlreadyEnabled](homekit/hmerror/notificationalreadyenabled.md)
- [notificationNotSupported](homekit/hmerror/notificationnotsupported.md)
- [operationNotSupported](homekit/hmerror/operationnotsupported.md)
- [unexpectedError](homekit/hmerror/unexpectederror.md)
- [missingEntitlement](homekit/hmerror/missingentitlement.md)
- [referToUserManual](homekit/hmerror/refertousermanual.md)

### Detecting home and room errors

- [maximumAccessoriesOfTypeInHome](homekit/hmerror/maximumaccessoriesoftypeinhome.md)
- [roomForHomeCannotBeInZone](homekit/hmerror/roomforhomecannotbeinzone.md)
- [roomForHomeCannotBeUpdated](homekit/hmerror/roomforhomecannotbeupdated.md)

### Detecting hub errors

- [noHomeHub](homekit/hmerror/nohomehub.md)
- [noCompatibleHomeHub](homekit/hmerror/nocompatiblehomehub.md)
- [incompatibleHomeHub](homekit/hmerror/code/incompatiblehomehub.md)

### Detecting limit errors

- [cannotActivateTriggerTooFarInFuture](homekit/hmerror/cannotactivatetriggertoofarinfuture.md)
- [dateMustBeOnSpecifiedBoundaries](homekit/hmerror/datemustbeonspecifiedboundaries.md)
- [fireDateInPast](homekit/hmerror/firedateinpast.md)
- [invalidMessageSize](homekit/hmerror/invalidmessagesize.md)
- [maximumObjectLimitReached](homekit/hmerror/maximumobjectlimitreached.md)
- [recurrenceTooLarge](homekit/hmerror/recurrencetoolarge.md)
- [recurrenceTooSmall](homekit/hmerror/recurrencetoosmall.md)
- [recurrenceMustBeOnSpecifiedBoundaries](homekit/hmerror/recurrencemustbeonspecifiedboundaries.md)

### Detecting network errors

- [enterpriseNetworkNotSupported](homekit/hmerror/enterprisenetworknotsupported.md)
- [failedToJoinNetwork](homekit/hmerror/failedtojoinnetwork.md)
- [incompatibleNetwork](homekit/hmerror/incompatiblenetwork.md)
- [networkUnavailable](homekit/hmerror/networkunavailable.md)
- [wiFiCredentialGenerationFailed](homekit/hmerror/wificredentialgenerationfailed.md)

### Detecting operation errors

- [operationCancelled](homekit/hmerror/operationcancelled.md)
- [operationInProgress](homekit/hmerror/operationinprogress.md)
- [operationTimedOut](homekit/hmerror/operationtimedout.md)

### Detecting parameter errors

- [invalidParameter](homekit/hmerror/invalidparameter.md)
- [missingParameter](homekit/hmerror/missingparameter.md)
- [nilParameter](homekit/hmerror/nilparameter.md)
- [unconfiguredParameter](homekit/hmerror/unconfiguredparameter.md)

### Detecting read and write errors

- [readWriteFailure](homekit/hmerror/readwritefailure.md)
- [readWritePartialSuccess](homekit/hmerror/readwritepartialsuccess.md)

### Detecting synchronization errors

- [cloudDataSyncInProgress](homekit/hmerror/clouddatasyncinprogress.md)
- [keychainSyncNotEnabled](homekit/hmerror/keychainsyncnotenabled.md)

### Detecting user errors

- [userDeclinedAddingUser](homekit/hmerror/userdeclinedaddinguser.md)
- [userDeclinedRemovingUser](homekit/hmerror/userdeclinedremovinguser.md)
- [userDeclinedInvite](homekit/hmerror/userdeclinedinvite.md)
- [userIDNotEmailAddress](homekit/hmerror/useridnotemailaddress.md)
- [userManagementFailed](homekit/hmerror/usermanagementfailed.md)

### Detecting value errors

- [invalidDataFormatSpecified](homekit/hmerror/invaliddataformatspecified.md)
- [invalidValueType](homekit/hmerror/invalidvaluetype.md)
- [nameContainsProhibitedCharacters](homekit/hmerror/namecontainsprohibitedcharacters.md)
- [nameDoesNotEndWithValidCharacters](homekit/hmerror/namedoesnotendwithvalidcharacters.md)
- [nameDoesNotStartWithValidCharacters](homekit/hmerror/namedoesnotstartwithvalidcharacters.md)
- [stringLongerThanMaximum](homekit/hmerror/stringlongerthanmaximum.md)
- [stringShorterThanMinimum](homekit/hmerror/stringshorterthanminimum.md)
- [valueHigherThanMaximum](homekit/hmerror/valuehigherthanmaximum.md)
- [valueLowerThanMinimum](homekit/hmerror/valuelowerthanminimum.md)

### Enumerating errors

- [HMError.Code](homekit/hmerror/code.md)

### Type Properties

- [errorDomain](homekit/hmerror/errordomain.md)
- [homeUpgradeRequired](homekit/hmerror/homeupgraderequired.md)

## Relationships

### Conforms To

- [CustomNSError](foundation/customnserror.md)
- [Equatable](swift/equatable.md)
- [Error](swift/error.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Errors

- [HMErrorDomain](homekit/hmerrordomain.md)
- [HMError.Code](homekit/hmerror/code.md)
- [HMErrorBlock](homekit/hmerrorblock.md)
