<!--
{
  "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/HMRoom",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "HomeKit"
    ],
    "preciseIdentifier" : "c:objc(cs)HMRoom"
  },
  "title" : "HMRoom"
}
-->

# HMRoom

The smallest subdivision of a home’s space.

```
class HMRoom
```

## Overview

An [`HMRoom`](/documentation/HomeKit/HMRoom) instance is a part of a home representing an individual room in the home. Rooms don’t have any physical characteristics like size or location. Instead, they’re names that are meaningful to the user, like “living room” or “kitchen”. Meaningful room names enable voice commands like “Siri, turn on the kitchen lights.”

You create new rooms using the [`addRoom(withName:completionHandler:)`](/documentation/HomeKit/HMHome/addRoom(withName:completionHandler:)) method of [`HMHome`](/documentation/HomeKit/HMHome). You can also group rooms into zones using instances of [`HMZone`](/documentation/HomeKit/HMZone). You can assign accessories to rooms, indicating the presence of that accessory in that room.

## Topics

### Identifying a room

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

The name of the room.

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

Updates the name of the room.

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

The unique identifier for a room.

### Finding accessories

[`accessories`](/documentation/HomeKit/HMRoom/accessories)

The collection of accessories in the room.

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

### 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)