IMPORTANT: You must be part of the Matter Private Beta Program to start developing Matter devices and apps in the Google Home Developer Console. Apply now

Get started with Matter

  Private Beta release  

Google's Home Developer program allows device manufacturers to connect their smart home devices with the Google Home ecosystem. We are expanding the Smart Home Actions local fulfillment path with an ability to add Matter-compliant devices for setup using the Google Home app (GHA) on Android and control them using Google Assistant, GHA, or smart displays like the Google Nest Hub (2nd Generation).

This documentation describes how to get started with building and integrating a Matter-supported platform in the Google Home ecosystem.

Disclaimers

Regarding the procedures described in this private beta of Matter, be aware of the following:

  • The account used for development should only have a single Matter-enabled hub connected for testing. Multiple Matter-enabled hubs connected at the same time or connected to the same structure during testing could result in unpredictable behavior.
  • All procedures assume the use of a Linux machine running Ubuntu 20.04 for building and flashing Matter samples, which have been tested by Google. While MacOS machines are supported, Linux is recommended. Mac-specific instructions are called out in the procedures as needed.
  • Only the Android version of the GHA is supported.

Definitions

The following terms are used throughout this documentation:

  • hub — A supported Google Nest device, such as the Google Nest Hub (2nd Generation).

  • border router — A Google Hub that implements a general-purpose Thread Border Router for Thread-enabled devices.

  • Matter-compliant device — A device or development board that has been flashed with a Matter-enabled build or sample app.

  • mobile device — The test phone used to assist with pairing. Currently this is an Android phone.

Prerequisites

In order to fully integrate a Matter-compliant device with the Google Home ecosystem, a developer must have:

  1. A Nest Hub (2nd Generation) to serve as both a Border Router for Thread-enabled devices and as a local fulfillment path for routing Smart Home intents.
  2. A mobile device (test phone) that meets the minimum requirements:
    • Android O (8.1, API level 27) or newer (iOS support to be added later)
    • BLE capability
  3. A Vendor ID (VID) and Product ID (PID) for the Matter-compliant device.
  4. A Matter-compliant device. This device should be one of the Matter device types currently supported in the Google Home ecosystem, and could be:

Vendor ID

Use your Vendor ID (VID) as per the CSA Matter specification. If you do not have a VID assigned to you, use one of the VIDs allocated by the CSA for testing purposes: 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4.

This VID should be implemented in your device's firmware.

Product ID

Information about the device is read using the Matter Descriptor clusters, rather than the Product ID. You may assign any Product ID during development, according to your company's numbering scheme—as long as it matches the Product ID of your Matter integration, if specified.

Unsupported features

Some features of the Matter specification are not fully supported in the Google Home ecosystem:

  • No support for firmware OTA update.

In addition, a number of other Matter clusters are not yet exposed to users, though they may be used by the system. In most cases, this means that attributes exposed via these clusters will not be visible to end users:

Table: Matter clusters not exposed to users in the Google Home ecosystem
Cluster Type Clusters
Core
  • Binding
  • Label
  • Fixed Label
  • User Label
  • Actions
  • Group Key
  • Localization Configuration
  • Time Format Localization
  • Unit Localization
  • Power Source Configuration
  • Power Source
  • Diagnostics clusters (Diagnostic Logs, General Diagnostics, Software Diagnostics, Thread Network Diagnostics, Wi-Fi Network Diagnostics, Ethernet Network Diagnostics)
  • Time Synchronization
  • Mode Select
Application
  • Groups and Scenes are not directly supported. Equivalent functionality is available via Routines.
  • All Media clusters. Equivalent functionality is available via Google Cast.