To develop a Matter Application, learn more about how to develop with Matter on Apple's platforms here
An issues related to Apple Home, or Development on Apple's Platforms should be reported using Feedback Assistant as described below
Any issues related to the Matter SDK should be reported to the project here
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:
2ee90eba27676950fa2f4ef96597d9696f510d5d
For Context: This is a mapping of platform to OS
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
To enable developer mode, please follow the instructions here
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 supported system.
Restart your system
Compile chip-tool for macOS or CHIP Tool for iOS
Type | Decimal | HEX | Notes |
---|---|---|---|
On/Off Light | 256 | 0100 | |
Dimming Light | 257 | 0101 | |
On/Off Plug-In Unit | 266 | 010A | |
Dimmable Plug-In Unit | 267 | 010B | |
On/Off Light Switch | 259 | 0103 | Requires both On/Off Client and Server |
Dimmer Switch | 260 | 0104 | Requires both On/Off Client and Server |
Generic Switch (button) | 15 | 000F | Supports momentary switch only, and not latching |
Contact Sensor | 21 | 0015 | |
Light Sensor | 262 | 0106 | |
Occupancy Sensor | 263 | 0107 | |
Temperature Sensor | 770 | 0302 | |
Humidity Sensor | 775 | 0307 | |
Air Quality Sensor | 44 | 002C | |
Door Lock | 10 | 000A | |
Window Covering | 514 | 0202 | |
Heating/Cooling Unit | 768 | 0300 | |
Thermostat | 769 | 0301 | |
Fan | 43 | 002B | |
Air Purifier | 45 | 002D | |
Temperature Color Light | 268 | 010C | |
Enhanced Color Light | 269 | 010D | |
Bridges | 14 | 000E | |
Robot Vacuum Cleaner | 116 | 0074 | Announced, not yet supported |
Apple's platforms support all device types available in the Matter SDK, so developers can use Matter.framework to develop their own applications that can add devices to Apple Home, or create their own Fabric to manage devices as well.
Please see documentation about -[HMAccessory matterNodeID]
here which allows you to use Matter.framework to interact with Matter Devices directly that are paired into Apple Home.
Please see here for more general information about developing an Application or a Device for Apple Home. This includes information about best practices, platform developer API, OTA Updates, general adoption Q&A, and the “Works with Apple Home” badge.
2ee90eba27676950fa2f4ef96597d9696f510d5d
: $ git checkout 2ee90eba27676950fa2f4ef96597d9696f510d5d
In order to work with iOS/iPadOS/tvOS, 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.
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
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 }
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 initialize your development environment, compile the firmware and flash your hardware.
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 issuePlatform | Release Version | SHA |
---|---|---|
iOS | 17.6.1 | 2ee90eba27676950fa2f4ef96597d9696f510d5d |
iPadOS | 17.6.1 | 2ee90eba27676950fa2f4ef96597d9696f510d5d |
tvOS | 17.6 | 2ee90eba27676950fa2f4ef96597d9696f510d5d |
macOS | 14.6.1 | 2ee90eba27676950fa2f4ef96597d9696f510d5d |
iOS | 17.5.1 | d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 |
iPadOS | 17.5.1 | d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 |
tvOS | 17.5.1 | d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 |
macOS | 14.5 | d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 |
iOS | 16.7.8 | 83f7a2fe136e0b746db09f1d19e36c693a634b66 |
iPadOS | 16.7.8 | 83f7a2fe136e0b746db09f1d19e36c693a634b66 |