1
- # Testing with Apple Devices
1
+ # Matter Development and Testing with/on Apple Devices
2
2
3
- ### Matter is the foundation for connected things.
3
+ ### Overview
4
+
5
+ - To develop a Matter Application, learn more about how to develop with Matter
6
+ on Apple's platforms [ here] ( https://developer.apple.com/apple-home/matter/ )
7
+
8
+ - Additional documentation about the Matter Support API is
9
+ [ here] ( https://developer.apple.com/documentation/mattersupport )
4
10
5
- Learn more about Matter [ here] ( https://buildwithmatter.com/ )
11
+ ### Filing Issues
12
+
13
+ - An issues related to Apple Home, or Development on Apple's Platforms should
14
+ be reported using Feedback Assistant as described
15
+ [ below] ( #providing-feedback-to-apple )
16
+
17
+ - Any issues related to the Matter SDK should be reported to the project
18
+ [ here] ( https://github.com/project-chip/connectedhomeip/issues )
6
19
7
20
## Source Compatibility
8
21
@@ -12,20 +25,18 @@ changes are present in the release for testing.
12
25
13
26
Listed are the Current SHAs:
14
27
15
- - iOS/iPadOS/tvOS 16.1:
16
- [ ` 33f6a910cd9a8a0cfdd7088e2f43efd2f7f566a7 ` ] ( https://github.com/project-chip/connectedhomeip/commits/33f6a910cd9a8a0cfdd7088e2f43efd2f7f566a7 )
17
-
18
- - iOS/iPadOS/tvOS 16.2 and 16.3:
19
- [ ` c279578c5bc37f117335aa96cec6c5552f070cc0 ` ] ( https://github.com/project-chip/connectedhomeip/commits/c279578c5bc37f117335aa96cec6c5552f070cc0 )
28
+ - Latest macOS/tvOS/iOS/iPadOS:
29
+ [ ` 2ee90eba27676950fa2f4ef96597d9696f510d5d ` ] ( https://github.com/project-chip/connectedhomeip/commits/2ee90eba27676950fa2f4ef96597d9696f510d5d )
30
+ - Larger list of SHAs are [ here] ( #release-to-sha-mappings )
20
31
21
32
## Supported Platforms for Matter Device Testing
22
33
23
34
- Matter is supported by iOS/tvOS/iPadOS/watchOS/HomePod/AppleTV starting with
24
35
16.1
25
-
26
36
- To test your Matter device with Apple's platforms, all you need is a device
27
37
with a supported OS
28
- - Pairing via QR Code or Setup Code is supported directly from the Home App
38
+ - Pairing via QR Code or Setup Code is supported directly from the Home App,
39
+ or any third party Application
29
40
- Please proceed to
30
41
[ this section] ( #testing-your-matter-device-with-apple-home ) if you're
31
42
developing a new device
@@ -46,14 +57,6 @@ For Context: This is a mapping of platform to OS
46
57
- HomePod _ (tvOS)_
47
58
- Apple Watch _ (watchOS)_
48
59
49
- ### Overview
50
-
51
- - To develop a Matter Application, learn more about how to develop with Matter
52
- on Apple's platforms [ here] ( https://developer.apple.com/apple-home/matter/ )
53
-
54
- - Additional documentation about the Matter Support API is
55
- [ here] ( https://developer.apple.com/documentation/mattersupport )
56
-
57
60
### Setup Requirements for Application Development
58
61
59
62
- Devices must support BLE pairing, and have it enabled
@@ -122,9 +125,7 @@ For Context: This is a mapping of platform to OS
122
125
123
126
### Enable Developer Mode on your Apple Device
124
127
125
- ##### Note: Developer mode is a great way to get logs from your device as well as
126
-
127
- enables other useful developer tools
128
+ ##### Note: Developer mode is a great way to get logs from your device as well as enable other useful developer tools
128
129
129
130
To enable developer mode, please follow the instructions
130
131
[ here] ( https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device )
@@ -137,30 +138,96 @@ chip-tool will require installing the
137
138
on MacOS or iOS/iPadOS.
138
139
139
140
- Download the Bluetooth Central Matter Client Developer Mode profile and
140
- install it on a iOS/iPadOS 16.1 beta 3 and MacOS 13.1 beta 3 or later
141
- system.
141
+ install it on a supported system.
142
142
143
143
- For _ macOS_ , Profile can be installed via Settings->Privacy &
144
144
Security->Profiles
145
145
- For _ iOS/iPadOS_ , If necessary, email the profile or use AirDrop to
146
- transfer the profile to the _ iOS/iPadOS 16 beta 3 _ device.
146
+ transfer the profile to the _ iOS/iPadOS _ device.
147
147
148
148
- Restart your system
149
149
- For _ iOS/iPadOS_ , enable Developer Mode. Refer to
150
150
[ this developer page] ( https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device )
151
151
- Compile chip-tool for macOS or CHIP Tool for iOS
152
152
153
+ ## Supported Device Types in Apple Home
154
+
155
+ ##### Note: Not exhaustive, and may be out of date, see [ below] ( #apple-home-development-guide ) for more information
156
+
157
+ | Type | Decimal | HEX | Notes |
158
+ | ----------------------- | ------- | ---- | ------------------------------------------------ |
159
+ | On/Off Light | 256 | 0100 | |
160
+ | Dimming Light | 257 | 0101 | |
161
+ | On/Off Plug-In Unit | 266 | 010A | |
162
+ | Dimmable Plug-In Unit | 267 | 010B | |
163
+ | On/Off Light Switch | 259 | 0103 | Requires both On/Off Client and Server |
164
+ | Dimmer Switch | 260 | 0104 | Requires both On/Off Client and Server |
165
+ | Generic Switch (button) | 15 | 000F | Supports momentary switch only, and not latching |
166
+ | Contact Sensor | 21 | 0015 | |
167
+ | Light Sensor | 262 | 0106 | |
168
+ | Occupancy Sensor | 263 | 0107 | |
169
+ | Temperature Sensor | 770 | 0302 | |
170
+ | Humidity Sensor | 775 | 0307 | |
171
+ | Air Quality Sensor | 44 | 002C | |
172
+ | Door Lock | 10 | 000A | |
173
+ | Window Covering | 514 | 0202 | |
174
+ | Heating/Cooling Unit | 768 | 0300 | |
175
+ | Thermostat | 769 | 0301 | |
176
+ | Fan | 43 | 002B | |
177
+ | Air Purifier | 45 | 002D | |
178
+ | Temperature Color Light | 268 | 010C | |
179
+ | Enhanced Color Light | 269 | 010D | |
180
+ | Bridges | 14 | 000E | |
181
+ | Robot Vacuum Cleaner | 116 | 0074 | Announced, not yet supported |
182
+
183
+ ## Additional Device Type Support on Apple's Platforms
184
+
185
+ Apple's platforms support all device types available in the Matter SDK, so
186
+ developers can use Matter.framework to develop their own applications that can
187
+ add devices to Apple Home, or create their own Fabric to manage devices as well.
188
+
189
+ Please see documentation about ` -[HMAccessory matterNodeID] `
190
+ [ here] ( https://developer.apple.com/documentation/homekit/hmaccessory/matternodeid-5zfqo )
191
+ which allows you to use Matter.framework to interact with Matter Devices
192
+ directly that are paired into Apple Home.
193
+
194
+ ## Apple Home Development Guide
195
+
196
+ Please see [ here] ( https://developer.apple.com/apple-home/ ) for more general
197
+ information about developing an Application or a Device for Apple Home. This
198
+ includes information about
199
+ [ best practices] ( https://developer.apple.com/apple-home/downloads/Matter-Accessory-Best-Practices-for-Apple-Home.pdf ) ,
200
+ [ platform developer API] ( https://developer.apple.com/apple-home/matter/ ) ,
201
+ [ OTA Updates] ( https://developer.apple.com/accessories/Apple-Matter-OTA-User-Guide.pdf ) ,
202
+ general adoption Q&A, and the "Works with Apple Home" badge.
203
+
204
+ ## General Matter Platform Development Guide
205
+
206
+ ##### Getting the SDK Ready
207
+
208
+ ##### Note: Most platforms have very similar, if not the same configuration requirements
209
+
210
+ 1 . Checkout and setup
211
+ [ Matter repo] ( https://github.com/project-chip/connectedhomeip.git ) as per the
212
+ instructions above.
213
+ 2 . Find and edit one of the platform
214
+ [ examples] ( https://github.com/project-chip/connectedhomeip/tree/master/examples )
215
+ to support the fixed device types above.
216
+ 3 . Read the [ platform guides] ( README.md ) on how set up the hardware
217
+ - There is a list of more detailed guides [ here] ( #platform-guides )
218
+
153
219
## Testing your Matter Device with Apple Home
154
220
155
- 1 . Clone the [ Matter repo] ( https://github.com/project-chip/connectedhomeip.git )
221
+ 1 . Clone the
222
+ [ Matter repository] ( https://github.com/project-chip/connectedhomeip.git )
156
223
2 . Checkout the specific commit hash (from [ above] ( #source-compatibility ) ) for
157
224
maximum compatibility with your installed release:
158
- - Example command for SHA ` c279578c5bc37f117335aa96cec6c5552f070cc0 ` :
159
- ` $ git checkout c279578c5bc37f117335aa96cec6c5552f070cc0 `
225
+ - Example command for SHA ` 2ee90eba27676950fa2f4ef96597d9696f510d5d ` :
226
+ ` $ git checkout 2ee90eba27676950fa2f4ef96597d9696f510d5d `
160
227
161
- In order to work with iOS/iPadOS/tvOS 16.1 or greater , device types as defined
162
- in the Matter Device Library spec are used to determine accessory categories.
163
- Ensure the right device type is set for each endpoint.
228
+ In order to work with iOS/iPadOS/tvOS, device types as defined in the Matter
229
+ Device Library spec are used to determine accessory categories. Ensure the right
230
+ device type is set for each endpoint.
164
231
165
232
- For the ` all-clusters-app ` as an example, this can be set in
166
233
` FIXED_DEVICE_TYPES ` , ` FIXED_DEVICE_TYPE_OFFSETS ` , and
@@ -190,29 +257,11 @@ Example:
190
257
}
191
258
```
192
259
193
- - Supported device types are (not exhaustive):
194
-
195
- | Type | Decimal | HEX |
196
- | ------------------ | ------- | ---- |
197
- | Lightbulb | 256 | 0100 |
198
- | Lightbulb + Dimmer | 257 | 0101 |
199
- | Switch | 259 | 0103 |
200
- | Contact Sensor | 21 | 0015 |
201
- | Door Lock | 10 | 000A |
202
- | Light Sensor | 262 | 0106 |
203
- | Occupancy Sensor | 263 | 0107 |
204
- | Outlet | 266 | 010A |
205
- | Color Bulb | 268 | 010C |
206
- | Window Covering | 514 | 0202 |
207
- | Thermostat | 769 | 0301 |
208
- | Temperature Sensor | 770 | 0302 |
209
- | Flow Sensor | 774 | 0306 |
210
-
211
- #### Examples of how to setup devices
260
+ ### Examples of how to setup devices
212
261
213
262
##### Case study 1: Configuring a development M5Stack, as a multi-device to work with iOS/iPadOS/tvOS
214
263
215
- ##### 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] ( #guides ) )
264
+ ##### 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] ( #platform- guides ) )
216
265
217
266
1 . Checkout and setup
218
267
[ Matter repo] ( https://github.com/project-chip/connectedhomeip.git ) as per the
@@ -235,21 +284,7 @@ Example:
235
284
initialize your development environment, compile the firmware and flash your
236
285
hardware.
237
286
238
- #### General Matter Platform Development Guide
239
-
240
- ##### Getting the SDK Ready
241
-
242
- ##### Note: Most platforms have very similar, if not the same configuration requirements
243
-
244
- 1 . Checkout and setup
245
- [ Matter repo] ( https://github.com/project-chip/connectedhomeip.git ) as per the
246
- instructions above.
247
- 2 . Find and edit one of the platform
248
- [ examples] ( https://github.com/project-chip/connectedhomeip/tree/master/examples )
249
- to support the fixed device types above.
250
- 3 . Read the [ platform guides] ( README.md ) on how set up the hardware
251
-
252
- ##### Guides
287
+ ### Platform Guides
253
288
254
289
- [ Bouffalo Lab] ( /examples/lighting-app/bouffalolab/README.md )
255
290
- [ EFR32 Window Covering] ( /examples/window-app/silabs/README.md )
@@ -300,26 +335,20 @@ Example:
300
335
- [ Apple Home Profile] ( https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=tvos&name=homekit )
301
336
- [ Network Profile] ( https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=tvos&name=network )
302
337
- [ mDNS Profile] ( https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=tvos&name=mdns )
303
-
304
- ### Release Notes & Known Issues
305
-
306
- - Please refer to the iOS/iPadOS 16.1
307
- [ Release Notes] ( https://developer.apple.com/documentation/ios-ipados-release-notes/ios-16_1-release-notes )
308
- for currently known issues.
309
- - Please refer to the iOS/iPadOS 16.2
310
- [ Release Notes] ( https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_2-release-notes )
311
- for currently known issues
312
- - Please refer to the iOS & iPadOS 16.3
313
- [ Release Notes] ( https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_3-release-notes )
314
- for currently known issues
315
- - Please refer to the iOS & iPadOS 16.4
316
- [ Release Notes] ( https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_4-release-notes )
317
- for currently known issues
318
- - Please refer to the iOS & iPadOS 16.5
319
- [ Release Notes] ( https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-16_5-release-notes )
320
- for currently known issues
321
- - An issues related to Apple Home integration should be reported
322
- [ feedback] ( #providing-feedback-to-apple ) as described in this section
323
-
324
- - Any issues related to the Matter SDK should be reported to the project
325
- [ here] ( https://github.com/project-chip/connectedhomeip/issues )
338
+ - Any Thread device:
339
+ [ Thread Profile] ( https://developer.apple.com/bug-reporting/profiles-and-logs/?name=HomeThread )
340
+
341
+ ### Release to SHA Mappings
342
+
343
+ | Platform | Release Version | SHA |
344
+ | -------- | --------------- | ------------------------------------------ |
345
+ | iOS | 17.6.1 | ` 2ee90eba27676950fa2f4ef96597d9696f510d5d ` |
346
+ | iPadOS | 17.6.1 | ` 2ee90eba27676950fa2f4ef96597d9696f510d5d ` |
347
+ | tvOS | 17.6 | ` 2ee90eba27676950fa2f4ef96597d9696f510d5d ` |
348
+ | macOS | 14.6.1 | ` 2ee90eba27676950fa2f4ef96597d9696f510d5d ` |
349
+ | iOS | 17.5.1 | ` d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 ` |
350
+ | iPadOS | 17.5.1 | ` d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 ` |
351
+ | tvOS | 17.5.1 | ` d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 ` |
352
+ | macOS | 14.5 | ` d09b5ac98f4d7d8b9f2c307f55ab5462576623a5 ` |
353
+ | iOS | 16.7.8 | ` 83f7a2fe136e0b746db09f1d19e36c693a634b66 ` |
354
+ | iPadOS | 16.7.8 | ` 83f7a2fe136e0b746db09f1d19e36c693a634b66 ` |
0 commit comments