Testing with Apple Devices
Matter is the foundation for connected things.
Learn more about Matter here
Setup Requirements
Note: These steps are supported on:
- iPhone (iOS)
- iPad (iPadOS)
- mac (macOS)
- AppleTV (tvOS)
- HomePod (tvOS)
- Apple Watch (watchOS)
Current requires for testing with Apple Devices
Note: Matter functionality is currently a Developer Preview
- Devices must support BLE pairing, and have it enabled
- An iPhone or iPad running iOS/iPadOS at least 15.6. You will need to install a profile on it.
- An Apple TV or HomePod running at least tvOS 15.6. You will need to install a profile on it. If you have multiple Apple TVs and/or HomePods, you will need to install the profile on all of them.
- The iPhone or iPad with the Matter profile must belong to the same iCloud account as the Apple TV or HomePod with the Matter profile.
- A test iCloud account is highly recommended for Matter development to avoid interference with existing homes.
- To pair and control Matter Thread devices, you'll need to have a HomePod Mini or Apple TV 4K
- To pair to devices via BLE, you must either use the Matter Pairing API documented here, or enable Developer mode.
Source Compatibility
Each developer preview release is compatible with a certain SHA from this repository.
Profile Installation
Install the Matter Profile on your iPhone or iPad
Note: The profile will expire automatically after some time
Download the profile
Email the profile to an account that is configured on your device running iOS/iPadOS 15.6 (or greater)
Selecting the profile in Mail on your iOS/iPadOS 15.6 (or greater) device will present an option to install the profile
Note: Make sure to head back to system preferences, and you'll see an option to verify and install the profile near the top
Restart the device
Install the Matter Profile on your HomePod
Note: The profile will expire automatically after some time
- Download the profile
- Email the profile to an account that is configured on your device running iOS/iPadOS 15.6 (or greater)
- Selecting the profile in Mail on your iOS/iPadOS 15.6 (or greater) device will present an option to install the profile on the HomePod
- Restart the device
Install the Matter Profile on your Apple TV
Note: The profile will expire automatically after some time
- Download the profile
- Use Apple Configurator to transfer the profile to the Apple TV
- Restart the device
Enable Developer Mode on your Apple Device
Note: Developer mode is a great way to get logs from your device as well as enables other useful developer tools
To enable developer mode, please follow the instructions here
Ensuring Your Matter Accessory Works with iOS/iPadOS/tvOS
- Clone the Matter repo
- Checkout the specific commit hash (from above) for maximum compatibility with your installed release:
- Example command for SHA
aa9457e6b94b735076dff6297176183bf9780177
: $ git checkout aa9457e6b94b735076dff6297176183bf9780177
In order to work with iOS/iPadOS/tvOS 15.6 or greater, device types as defined in the Matter Device Library spec are used to determine accessory categories. Ensure the right device type is set for each endpoint.
- For the
all-clusters-app
as an example, this can be set in FIXED_DEVICE_TYPES
, FIXED_DEVICE_TYPE_OFFSETS
, and FIXED_DEVICE_TYPE_LENGTHS
in endpoint_config.h
- Here's an example from
all-clusters-app
(feel free to search for more in the tree by looking for the above keys)
Example:
// Array of device types
#define FIXED_DEVICE_TYPES
{
{ 0x0016, 1 }, { 0x0100, 1 }, { 0x0100, 1 }, { 0xF002, 1 }
}
// Array of device type offsets
#define FIXED_DEVICE_TYPE_OFFSETS
{
0, 1, 2, 3
}
// Array of device type lengths
#define FIXED_DEVICE_TYPE_LENGTHS
{
1, 1, 1, 1
}
- Supported device types are (not exhaustive):
Type | Decimal | HEX |
---|
Lightbulb | 256 | 0100 |
Lightbulb + Dimmer | 257 | 0101 |
Switch | 259 | 0103 |
Contact Sensor | 21 | 0015 |
Door Lock | 10 | 000A |
Light Sensor | 262 | 0106 |
Occupancy Sensor | 263 | 0107 |
Outlet | 266 | 010A |
Color Bulb | 268 | 010C |
Window Covering | 514 | 0202 |
Thermostat | 769 | 0301 |
Temperature Sensor | 770 | 0302 |
Flow Sensor | 774 | 0306 |
Examples of how to setup devices
Case study 1: Configuring a development M5Stack, as a multi-device to work with iOS/iPadOS/tvOS
Note: These instructions are specific to getting started with the (Matter-provided) all-clusters-app
on an ESP32-based M5Stack, however can be generalised to work on most platforms (more listed below)
- Checkout and setup Matter repo as per the instructions above
- Follow these instructions to initialize your development environment, compile the firmware and flash your hardware.
Case study 2: a development Nordic board (nRF52840), working as a light to work with iOS/iPadOS/tvOS
Note: These instructions are specific to getting started with the (Matter-provided) “lighting-app” on an Nordic-based NRF52840, however can be generalised to work on most platforms (more listed below)
Checkout and setup Matter repo as per the instructions above
Follow these instructions initialize your development environment, compile the firmware and flash your hardware.
General Platform Guides
Getting the SDK Ready
Note: Most platforms have very similar, if not the same configuration requirements
- Checkout and setup Matter repo as per the instructions above
- Find and edit one of the platform examples to support the fixed device types above
- Read the platform guides on how set up the hardware
Guides
Release Notes & Known Issues
- Please refer to the iOS/iPadOS 15.6 Release Notes for currently known issues.
- Please refer to the iOS/iPadOS 16.0 Release Notes for currently known issues.
- Further issues should be reported here