Class

HMCharacteristic

A specific characteristic of a service, like the brightness of a dimmable light, or its color temperature.

Declaration

@interface HMCharacteristic : NSObject

Overview

An HMCharacteristic instance represents an aspect of a service that provides data, or that your app can control.

You don’t create characteristic instances. Instead, an accessory manufacturer incorporates them into a device, which publishes them to you through the characteristics array of an HMService instance.

Characteristics have a properties array that indicates attributes like readability, writability, and user-visibility. They also have a characteristicType property that tells your app what the characteristic controls or describes. Device manufacturers can use one of the standard types, given in Characteristic Types, or they can create custom types.

Each characteristic has a value that you can read or write. Some characteristics use plain numbers, Booleans, or strings. Others have application specific meanings declared in enumerations associated with the given characteristic type. The characteristic’s metadata can help your app interpret the value.

Topics

Identifying a Characteristic

uniqueIdentifier

A unique identifier for the characteristic.

localizedDescription

The localized description of the characteristic.

Reading Characteristic Properties

properties

An array of properties that describe the characteristic.

Characteristic Properties

The properties that characteristics can have.

Determining What a Characteristic Controls

characteristicType

The type of the characteristic.

Characteristic Types

The characteristic types supported by HomeKit-based accessories.

Controlling a Characteristic

value

The current value of the characteristic.

- readValueWithCompletionHandler:

Reads the value for the characteristic.

- writeValue:completionHandler:

Modifies the value of the characteristic.

- updateAuthorizationData:completionHandler:

Sets or clears authorization data used when writing to the characteristic.

Managing Characteristic Presentation

metadata

Metadata about the units and other properties of the characteristic.

HMCharacteristicMetadata

Metadata that describes a characteristic’s value and that may be useful for presentation purposes.

Receiving Change Notifications

- enableNotification:completionHandler:

Enables or disables notifications for changes in the value of the characteristic.

notificationEnabled

A Boolean indicating whether the characteristic has been set to send notifications.

Getting the Characterized Service

service

The service that contains this characteristic.

Relationships

Inherits From

See Also

Accessories

Interacting with a Home Automation Network

Find all the automation accessories in the primary home and control their state.

HMAccessory

A home automation accessory, like a garage door opener or a thermostat.

HMService

A controllable feature of an accessory, like a light attached to a garage door opener.