Testing with Apple Devices
Contents
Testing with Apple Devices#
Matter is the foundation for connected things.#
Learn more about Matter here
Source Compatibility#
Each release of an Apple operating system, or developer preview release may bring a new SHA from this repository, which can be helpful for determining which changes are present in the release for testing.
Listed are the Current SHAs:
iOS/iPadOS/tvOS 16.1:
33f6a910cd9a8a0cfdd7088e2f43efd2f7f566a7
iOS/iPadOS/tvOS 16.2 Developer Preview:
c279578c5bc37f117335aa96cec6c5552f070cc0
Supported Platforms for Matter Device Testing#
Matter is supported by iOS/tvOS/iPadOS/watchOS/HomePod/AppleTV starting with 16.1
To test your Matter device with Apple’s platforms, all you need is a device with a supported OS
Pairing via QR Code or Setup Code is supported directly from the Home App
Please proceed to this section if you’re developing a new device
If your device has already been certified, or already fully implemented and just awaiting testing, you can just try pairing to Apple Home directly
Please provide feedback to Apple if you encounter any issues
Supported Platforms for Application Development#
For Context: This is a mapping of platform to OS
iPhone (iOS)
iPad (iPadOS)
mac (macOS)
AppleTV (tvOS)
HomePod (tvOS)
Apple Watch (watchOS)
Overview#
Setup Requirements for Application Development#
Devices must support BLE pairing, and have it enabled
An iPhone or iPad running iOS/iPadOS at least 16.1.
An Apple TV or HomePod running at least tvOS 16.1.
The iPhone or iPad with the Matter Developer Profile must belong to the same iCloud account as the Apple TV or HomePod with the Matter Matter Developer 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, Apple TV 4K, or another device that supports Thread
Enable Developer Mode during the development phase of your app by following the steps at Enabling Developer Mode on a device.
Profile Installation#
Reminder: This is only needed for Application Development#
Install the Matter Developer Profile on your iPhone or iPad#
Note: For more detailed profile installation instructions, refer to here#
Note: The profile will expire automatically after some time#
Download the Matter Developer Profile
Email the profile to an account that is configured on your device running iOS/iPadOS 16.1 (or greater)
Selecting the profile in Mail on your iOS/iPadOS 16.1 (or greater) device will present an option to install the profile
(Optional) You may be prompted if you want to install it on other devices. Follow the prompts to install on the HomePod, Apple TV, etc., where you have the described issue and reproduce it.
Restart the device
Note: Make sure to head back to system preferences, and you’ll see an option to verify and install the profile near the top#
Install the Matter Profile on your HomePod#
Note: The profile will expire automatically after some time#
Download the Matter Developer Profile
Email the profile to an account that is configured on your device running iOS/iPadOS 16.1 (or greater)
Selecting the profile in Mail on your iOS/iPadOS 16.1 (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
Using chip-tool on macOS, or CHIP Tool on iOS#
Pairing Matter Accessory using Open Source Matter Darwin chip-tool and iOS chip-tool will require installing the Bluetooth Central Matter Client Developer mode profile on MacOS or iOS/iPadOS.
Download the Bluetooth Central Matter Client Developer Mode profile and install it on a iOS/iPadOS 16.1 beta 3 and MacOS 13.1 beta 3 or later system.
For macOS, Profile can be installed via Settings->Privacy & Security->Profiles
For iOS/iPadOS, If necessary, email the profile or use AirDrop to transfer the profile to the iOS/iPadOS 16 beta 3 device.
Restart your system
For iOS/iPadOS, enable Developer Mode. Refer to this developer page
Compile chip-tool for macOS or CHIP Tool for iOS
Testing your Matter Device with Apple Home#
Clone the Matter repo
Checkout the specific commit hash (from above) for maximum compatibility with your installed release:
Example command for SHA
c279578c5bc37f117335aa96cec6c5552f070cc0
:$ git checkout c279578c5bc37f117335aa96cec6c5552f070cc0
In order to work with iOS/iPadOS/tvOS 16.1 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 inFIXED_DEVICE_TYPES
,FIXED_DEVICE_TYPE_OFFSETS
, andFIXED_DEVICE_TYPE_LENGTHS
inendpoint_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 Matter Platform Development Guide#
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#
Providing Feedback to Apple#
Note: For profile installation instructions, refer to here#
File a feedback assistant ticket. About Feedback Assistant
Click this link, and log in using your account: File Feedback
Choose iOS/iPadOS to file an issue
Choose the area as Home App and fill in the details of the type of issue and the description
Please provide the following technical information:
sysdiagnose
logs for iPhone / iPad with the timestamp / time frame of the issuesysdiagnose
logs for all the Home Hubs (HomePod mini / HomePod / Apple TV) with the timestamp / timeframe of the issueAccessory logs with the timestamp / timeframe of the issue
mDNS network logs with timestamp / timeframe of the issue
Video or screenshot describing the issue (optional but beneficial)
Please make sure you download and install the profiles for iOS and tvOS as provided here. The instructions are also in these links.
Release Notes & Known Issues#
Please refer to the iOS/iPadOS 16.1 Release Notes for currently known issues.
Please refer to the iOS/iPadOS 16.2 beta 3 Release Notes for currently known issues
An issues related to Apple Home integration should be reported feedback as described in this section
Any issues related to the Matter SDK should be reported to the project here