You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Home Service Mobile SDK获取Matter设备能力及集群信息?

Matter设备集群查询与功能适配问题解答

问题背景

通过Google Home Matter示例App完成设备调试后,无法获取设备的集群信息。调试及设备状态设置代码如下:

设备调试代码

// commission
Matter.getCommissioningClient(context)
        .commissionDevice(commissionDeviceRequest)

设备状态设置代码

val newDeviceState =
    DeviceState.newBuilder()
        .setDeviceId(deviceId)
        .setDateCaptured(getTimestampForNow())
        .setOnline(isOnline)
        .setOn(isOn)
        .build()

核心问题解答

1. 为什么示例代码中能直接调用setOn()?

示例App是针对开关类Matter设备(属于Matter标准里的On/Off设备类型)编写的,这类设备默认强制支持On/Off集群。示例代码基于预设的设备类型开发,因此直接调用了对应集群的setOn()方法。如果是通用场景下适配未知类型的Matter设备,不能直接硬编码调用该方法,必须先检测设备是否支持对应的集群。

2. 如何查询设备支持的集群?

可以通过Google Play Services Matter API的设备信息接口获取:

// 获取设备详情,包含支持的集群列表
val deviceDetails = Matter.getDeviceInfoClient(context)
    .getDeviceDetails(deviceId)
    .await()

// 解析集群信息
val supportedClusters = deviceDetails.supportedClusters
supportedClusters.forEach { cluster ->
    // 处理集群ID和名称,比如On/Off集群的ID是0x0006
    Log.d("MatterCluster", "Supported cluster: ${cluster.clusterId}")
}

通过getDeviceDetails()方法返回的DeviceDetails对象,能获取设备支持的所有集群ID、属性及操作权限。

3. 有没有Matter设备设置功能列表?

Matter协议定义了一套标准集群规范,涵盖了所有通用设备类型的功能(比如On/Off、亮度调节、温度监测等),所有合规的Matter设备都会遵循这些标准。此外,通过上述getDeviceDetails()接口可以查询具体设备实际支持的功能子集。

内容的提问来源于stack exchange,提问作者timyau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 10:45:32