<!--
{
  "availability" : [
    "iOS: 11.2.0 -",
    "iPadOS: 11.2.0 -",
    "macCatalyst: 11.2.0 -",
    "tvOS: 11.2.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 4.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "HomeKit",
  "identifier" : "/documentation/HomeKit/HMCharacteristicTypeProgramMode",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "HomeKit"
    ],
    "preciseIdentifier" : "c:@HMCharacteristicTypeProgramMode"
  },
  "title" : "HMCharacteristicTypeProgramMode"
}
-->

# HMCharacteristicTypeProgramMode

The current mode of the accessory’s scheduled programs.

```
let HMCharacteristicTypeProgramMode: String
```

## Discussion

The corresponding value is one of the constants in the [`HMCharacteristicValueProgramMode`](/documentation/HomeKit/HMCharacteristicValueProgramMode) enumeration.

> Note:
> This characteristic type doesn’t add, modify, or delete the schedule itself. The user must set or modify the schedule through the accessory’s user interface, or using an app designed to communicate directly with the accessory (for example, using an API provided by the accessory’s manufacturer).

## Topics

### Values

[`enum HMCharacteristicValueProgramMode`](/documentation/HomeKit/HMCharacteristicValueProgramMode)

Possible values for scheduled programs.



---

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)