Matter Accessory Best Practices for Apple Home

Developer Preview 1

✔️ Developer

1. Introduction

1.1. Purpose and Scope

This document details Matter accessory implementation best practices to ensure interoperability and reliability when paired with Apple Home app. This document assumes that developers know how to integrate Matter SDK and OpenThread SDK (if applicable) into their accessories and are familiar with Matter Specifications and the CSA standard.

1.2. Terminology

2. Overview

This guide serves as a resource for accessory manufacturers and SoC providers to ensure their implementations are interoperable and work reliably when paired with Apple Home. It is expected that accessory manufacturers and SoC providers check this guide frequently for updates.

The accessory requirement checklist is divided into the following sections:

3. Accessory Requirements

3.1 Open-Source Matter SDK

Minimum Requirements:

Integrate the following pull requests:

3.2 OpenThread SDK

This section applies to Thread accessories.

3.3 Matter OTA

Implement Matter OTA To ensure accessories get timely automatic firmware updates that include the latest interoperability and reliability recommendations. Please refer to the Apple Matter OTA guide for more details. In addition, ensure your accessory firmware is tested with the Apple Home before releasing the firmware to end-users.

3.4 Diagnostics

Implement three diagnostic clusters from Matter Core Specification:

Implement the following clusters:

IDName
0x0032Diagnostic Logs Cluster
0x0033General Diagnostics Cluster

Implement the network diagnostic cluster that is applicable to the accessory:

IDName
0x0035Thread Network Diagnostics Cluster
0x0036Wi-Fi Network Diagnostics Cluster
0x0037Ethernet Network Diagnostics Cluster

3.4.1 Diagnostic Logs Cluster

The Diagnostic Logs Cluster is certifiable with Matter Specification Version 1.3. Implement the mandatory attributes of the Diagnostic Logs Cluster. This enables iOS Matter controller to fetch logs from the accessory. Include log content that is beneficial for debugging process. For example include logs regarding crashes, network failures, read/write events, etc.

3.4.2 General Diagnostics Cluster

Implement the following General Diagnostic Cluster attributes.

3.4.2.1 General Diagnostics Attributes

IDNameNotes
0x0000NetworkInterfaces
0x0001RebootCount
0x0002UpTime
0x0003TotalOperationalHours
0x0004BootReasonAvoid use of enum value 0 'Unspecified' as this does not provide actionable insight into the cause of the accessory reboot

3.4.2.2 General Diagnostics Events

IDName
0x00HardwareFaultChange
0x01RadioFaultChange
0x02NetworkFaultChange
0x03BootReason

3.4.3 Thread Network Diagnostics Cluster

Implement the following Thread Network Diagnostic Cluster features, attributes, commands and events.

3.4.3.1 Thread Network Diagnostics Features

BitCodeFeature
0PKTCNTPacketCounts

3.4.3.2 Thread Network Diagnostics Attributes

IDName
0x0000Channel
0x0001RoutingRole
0x0002NetworkName
0x0003PanId
0x0006OverrunCount
0x0007NeighborTable
0x0008RouteTable
0x0016TxTotalCount
0x0017TxUnicastCount
0x0018TxBroadcastCount
0x0027RxTotalCount
0x0028RxUnicastCount
0x0029RxBroadcastCount

3.4.3.3 Thread Network Diagnostics Commands

IDNameDirection
0x00ResetCountsClient -> Server

3.4.3.4 Thread Network Diagnostics Events

IDName
0x00ConnectionStatus
0x01NetworkFaultChange

3.4.4 Wi-Fi Network Diagnostics Cluster

Implement the following WiFi Network Diagnostic Cluster features, attributes, commands and events.

3.4.4.1 Wi-Fi Network Diagnostics Features

BitCodeFeature
0PKTCNTPacketCounts
1ERRCNTErrorCounts

3.4.4.2 Wi-Fi Network Diagnostics Attributes

IDName
0x0003ChannelNumber
0x0004RSSI
0x0005BeaconLostCount
0x0006BeaconRxCount
0x0007PacketMulticastRxCount
0x0008PacketMulticastTxCount
0x0009PacketUnicastRxCount
0x000APacketUnicastTxCount
0x000COverrunCount

3.4.4.3 Wi-Fi Network Diagnostics Commands

IDNameDirection
0x00ResetCountsClient -> Server

3.4.4.4 Wi-Fi Network Diagnostics Events

IDName
0x00Disconnection
0x01AssociationFailure
0x02ConnectionStatus

3.4.5 Ethernet Network Diagnostic Cluster

Implement the following Ethernet Network Diagnostic Cluster features, attributes, commands and events.

3.4.5.1 Ethernet Network Diagnostics Attributes

IDName
0x0000PHYRate
0x0001FullDuplex
0x0002PacketRxCount
0x0003PacketTxCount
0x0004TxErrCount
0x0005CollisionCount
0x0006OverrunCount
0x0008TimeSinceReset

3.4.5.2 Ethernet Network Diagnostics Commands

IDNameDirection
0x00ResetCountsClient -> Server

3.5 CSA Matter Interoperability Testing

Submit your certified accessories to CSA for Matter interoperability testing here. https://csa-iot.org/developer-resource/specifications-download-request/

3.6 Testing Accessories with iOS/tvOS Beta Releases

Test your accessories with the latest iOS/tvOS beta releases at least twice a year.

3.7 Thread Border Router Interoperability Testing

This section is applicable for Thread Border Routers that implement THClient API. Ensure that your accessories pass all the test cases outlined in the following documents:

To access these documents, file a Feedback Assistant.

3.8 Feedback to Apple

Report issues/bugs to Apple through Feedback Assistant or Radar. This will help in timely triage and feedback.

Include the following information when reporting issues to Apple:

3.8.1. Issue Description and Reproducibility

Please provide the details of the issue and list the steps to reproduce them.

3.8.2. Profiles

The following profiles must be installed on the iOS/tvOS devices. Follow the instructions provided in the respective profile instructions document on how to trigger sysdiagnose logs for iPhone, HomePod, HomePod mini, or Apple TV.

3.8.3. Logging

Ensure you attach logs from the accessory and iOS/tvOS devices and provide an approximate time stamp of the issue. Refer to the section on the profiles that must be installed on iOS and tvOS devices. If it is a regression, provide us details on the working and non-working versions of iOS/tvOS with passing and failing logs. It is assumed that the Matter accessory is following the guidelines for Matter diagnostics detailed in this section.

3.8.4. Additional Information

Additional logs and information on the following are recommended depending on the type of issue:

3.9 Works With Apple Home Badge

Submit a request for the Works with Apple Home badge after the accessory receives Matter certification. Additional information regarding Works with Apple Home badge and usage guidelines are listed here. https://csa-iot.org/developer-resource/specifications-download-request/

6. FAQs

7. References

  1. Matter Specification Version (https://csa-iot.org/developer-resource/specifications-download-request/)
  2. Matter Core Specification (https://csa-iot.org/developer-resource/specifications-download-request/)
  3. Matter Device Library (https://csa-iot.org/developer-resource/specifications-download-request/)
  4. Matter open-source SDK (https://github.com/project-chip/connectedhomeip)

8. Revision History

VersionDateNotes
Draft2024-06-06Developer Preview 1
Models: Matter Accessory Best Practices, Matter Accessory Practices, Best Practices, Practices

File Info : application/pdf, 18 Pages, 3.49MB

PDF preview unavailable. Download the PDF instead.

Matter-Accessory-Best-Practices-for-Apple-Home

References

macOS Version 14.2 (Build 23C34) Quartz PDFContext Pages

Related Documents

Preview Apple Matter OTA User Guide: Developer Guide for Firmware Updates
Comprehensive guide for developers on implementing and testing Matter Over-The-Air (OTA) firmware updates with Apple Home, covering requirements, testing, diagnostics, and FAQs.
Preview Introduction to Apple HomeKit: Markets, Ecosystem, and Development
An overview of Apple HomeKit, its role in the smart home market, key features, development opportunities with Silicon Labs, and product compliance.
Preview How Apple HomeKit Products Work: A Guide to the Smart Home Framework
Explore the functionality and vision behind Apple's HomeKit smart home technology, featuring products like Grid Connect's ConnectSense Smart Outlet, announced at CES 2015.
Preview Gairės programų peržiūrai „App Store“
Vadovas, kuriame pateikiamos „App Store“ gairės, skirtos kūrėjams, norintiems užtikrinti, kad jų programos atitiktų „Apple“ standartus ir būtų sėkmingai peržiūrėtos.
Preview Apple Developer Program License Agreement - Terms and Conditions
Review the general terms and conditions of the Apple Developer Program License Agreement. This legal agreement outlines the terms for using Apple software and services for development and testing purposes.
Preview Apple Developer Program 使用許諾契約
Apple Developer Program 使用許諾契約(Apple デベロッパプログラム使用許諾契約)の条項を説明する公式文書。アプリケーション開発、テスト、および配布に関する Apple のソフトウェアとサービスの使用条件を定めています。
Preview Apple Developer Enterprise Program License Agreement
This document outlines the terms and conditions for the Apple Developer Enterprise Program License Agreement, detailing the usage of Apple software for internal enterprise applications.
Preview Apple Developer Agreement: 法的契約と利用規約
Apple Developer Agreementは、Apple Inc.が提供するApple Developerプログラムへの参加条件を定める法的契約です。本契約には、お客様の権利、義務、秘密保持、知的財産権、およびサービス利用に関する詳細が含まれます。