---
name: "getMatterRoad"
mode: "api"
versionRequirements:
  - { name: "", version: "1.15.0" }
title: "getMatterRoad"
summary: "根据 DP schema 推断 Matter 照明设备路数（1～5 或 0 未知）。"
questions:
  - "1～5 路分别由哪些 DP 组合判定？"
  - "返回 0 表示什么？"
---

## getMatterRoad

> [VERSION] v1.15.0+

> 💡 - **1 路**：brightness_control
> - **2 路**：brightness_control + color_temp_control
> - **3 路**：hs_color_set + brightness_control
> - **4 路**：hs_color_set + brightness_control + bright_value（依赖 schema 标记）
> - **5 路**：hs_color_set + brightness_control + color_temp_control

### 描述

根据 DP schema 推断 Matter 照明设备路数。

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `schemaObj` | `Record<string, DpSchema>` | 是 | dpSchema 对象 |
| `force` | `boolean` | 否 | 未接入 matter-kit 时判断 4 路需传入 true，以读取 brightness_control 上的 hasBrightValueCode |

### 返回值

无


### 引用对象

##### `interface` DpSchema

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `attr` | `number` | 功能点属性标位，用于扩展功能点的附加能力标识 |
| `canTrigger` | `boolean` | 是否可作为自动化触发条件 |
| `code` | `string` | 功能点标识码，如 switch |
| `defaultRecommend` | `boolean` | 是否为默认推荐的功能点 |
| `editPermission` | `boolean` | 是否具有编辑权限 |
| `executable` | `boolean` | 是否可执行下发 |
| `extContent` | `string` | 功能点扩展内容，通常为 JSON 字符串 |
| `iconname` | `string` | 功能点图标名称 |
| `id` | `string \| number` | 功能点 ID |
| `mode` | `"rw" \| "ro" \| "wr"` | 功能点模式类型 rw: 可下发可上报（可读可写） ro: 只可上报（仅可读） wr: 只可下发（仅可写） |
| `name` | `string` | 功能点名称，一般用于语音等场景 |
| `property` | `Object` | 功能点属性 |
| `type` | `"raw" \| "obj"` | 功能点数据类型大类：raw 为原始字节流，obj 为结构化对象 |

##### `type` DpSchema.property

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `type` | `"string" \| "bool" \| "value" \| "enum" \| "bitmap" \| "raw"` | 功能点类型 |
| `range` | `string[] \| string[]` | 枚举值范围，type = enum 时才存在 |
| `label` | `string[] \| string[]` | 故障型标签列表，type = bitmap 时才存在 |
| `maxlen` | `number` | 故障型最大长度，type = bitmap 时才存在 |
| `unit` | `string` | 数值型单位，type = value 时才存在 |
| `min` | `number` | 数值型最小值，type = value 时才存在 |
| `max` | `number` | 数值型最大值，type = value 时才存在 |
| `scale` | `number` | 数值型精度，type = value 时才存在 |
| `step` | `number` | 数值型步长，type = value 时才存在 |


### 示例代码

#### 示例

```ts
import { createMatterKit, useDpSchema } from '@ray-js/panel-sdk';

const matterKit = createMatterKit();
const dpSchema = useDpSchema();
const road = matterKit.utils.getMatterRoad(dpSchema);
```
