<!--
{
  "availability" : [
    "iOS: 26.4.0 -",
    "iPadOS: 26.4.0 -",
    "macCatalyst: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "HomeKit",
  "identifier" : "/documentation/HomeKit/HMHomeManager/addProvisionalHome(named:configuration:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "HomeKit"
    ],
    "preciseIdentifier" : "s:So13HMHomeManagerC7HomeKitE014addProvisionalC05named13configurationSo0A0CSS_AbCE0F13ConfigurationVtYaKF"
  },
  "title" : "addProvisionalHome(named:configuration:)"
}
-->

# addProvisionalHome(named:configuration:)

Adds a temporary provisional home while someone performs HomeKit installation services for a client.

```
func addProvisionalHome(named name: String, configuration: HMHomeManager.ProvisionalConfiguration) async throws -> HMHome
```

## Parameters

`name`

The name of the provisional home. It must be different from the name of any existing home.

`configuration`

The configuration for the provisional home with Thread network credentials and a home hub pairing identity.

## Return Value

The configured provisional home you use for installation services.

## Overview

When a person performs installation services at a home and pairs accessories, HomeKit automatically pre-installs the home hub as an administrative controller for each accessory. When using HomeKit accessory protocol (HAP) pairing, HomeKit enables seamless
transfer of accessories without key rotation when an installation service provider transfers the provisional home to the home hub.

---

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)