---
name: "initMatterDevInfo"
mode: "api"
versionRequirements:
  - { name: "", version: "1.15.0" }
title: "resolveMatterDevInfo"
summary: "解析 Matter 设备信息，将 Matter schema 转换为标准 schema。"
questions:
  - "resolveMatterDevInfo 与默认 interceptors 里哪一步语义一致？"
  - "什么场景下需要直接调用它而不是只用 interceptors？"
---

## resolveMatterDevInfo

> [VERSION] v1.15.0+

### 描述

解析 Matter 设备信息，将 Matter schema / codeIds 转为标准 DP。

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `devInfo` | `DevInfo` | 是 | Matter 设备信息 |
| `ops` | `InitMatterDevInfoInterceptorOps` | 否 | 可选亮度、色温范围等配置 |

### 返回值

类型: `DevInfo`

转换后的设备信息

**`type` DevInfo**

```typescript
export type DevInfo = Omit<
  ty.device.DeviceInfo,
  'schema' | 'panelConfig' | 'capability' | 'devAttribute'
> & {
  /**
   * dp id 与 dp code 的映射
   */
  idCodes: Record<string, string>;

  /**
   * dp code 与 dp id 的映射
   */
  codeIds: Record<string, string>;

  /**
   * 产品通讯能力标位，按二进制位运算的方式进行判断计算，如 Wi-Fi、Bluetooth、ZigBee、SigMesh 等
   *
   * - Wi-Fi (bit 0, 十进制值: 1): wifi无线
   * - Cable (bit 1, 十进制值: 2): 有线
   * - GPRS (bit 2, 十进制值: 4): 类似2g网络
   * - NB-IoT (bit 3, 十进制值: 6): 物联网卡网络
   * - Bluetooth (bit 10, 十进制值: 1024): 蓝牙单点
   * - BLEMesh (bit 11, 十进制值: 2048): 蓝牙私有mesh
   * - ZigBee (bit 12, 十进制值: 4096): 2.4g频段
   * - Infrared (bit 13, 十进制值: 8192): 红外
   * - 433 (subpieces) (bit 14, 十进制值: 16384): 433mhz
   * - SigMesh (bit 15, 十进制值: 32768): 蓝牙标准Mesh
   * - MCU (bit 16, 十进制值: 65536): mcu
   * - SMesh (bit 17, 十进制值: 131072): 类似ZigBee
   * - Cat1 (bit 20, 十进制值: 1048576): 通常使用3g网络
   * - Beacon (bit 21, 十进制值: 2097152): 蓝牙Beacon
   * - Thread (bit 25, 十进制值: 33554432): Thread能力
   */
  capability: Capability;

  /**
   * 设备能力标位，由固件上报
   * 位数含义:
   * - 第 1 位 (bit 0): 设备是否支持免配网
   * - 第 2 位 (bit 1): 设备支持 dp query 31 号协议查询
   * - 第 3 位 (bit 2): 设备是否具有本地联动能力
   * - 第 4 位 (bit 3): 设备是否支持 WIFI 扫描
   * - 第 5 位 (bit 4): 设备是否支持 Google Local Home
   * - 第 6 位 (bit 5): 设备是否支持闪电配网能力
   * - 第 7 位 (bit 6): 设备是否支持蓝牙控制
   * - 第 8 位 (bit 7): 设备是否支持安防能力
   * - 第 9 位 (bit 8): 设备是否是共享设备
   * - 第 10 位 (bit 9): 设备是否支持日出日落定时
   * - 第 11 位 (bit 10): 设备是否支持故障替换能力
   * - 第 12 位 (bit 11): 设备是否支持 OTA
   * - 第 13 位 (bit 12): 设备是否支持 WIFI 备用切换
   * - 第 15 位 (bit 14): 设备支持涂鸦标准协议
   * - 第 16 位 (bit 15): 设备支持自定义透传
   * - 第 17 位 (bit 16): 设备是否支持行业能力
   */
  devAttribute: DevAttribute;

  /**
   * 产品信息，schema，功能定义都在里面
   */
  schema: Array<DpSchema>;

  /**
   * 面板云配置
   */
  panelConfig: PanelConfig;
};
```

### 引用对象

##### `type` DevInfo

设备信息

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `idCodes` | `Record<string, string>` | dp id 与 dp code 的映射 |
| `codeIds` | `Record<string, string>` | dp code 与 dp id 的映射 |
| `capability` | `Capability` | 产品通讯能力标位，按二进制位运算的方式进行判断计算，如 Wi-Fi、Bluetooth、ZigBee、SigMesh 等  - Wi-Fi (bit 0, 十进制值: 1): wifi无线 - Cable (bit 1, 十进制值: 2): 有线 - GPRS (bit 2, 十进制值: 4): 类似2g网络 - NB-IoT (bit 3, 十进制值: 6): 物联网卡网络 - Bluetooth (bit 10, 十进制值: 1024): 蓝牙单点 - BLEMesh (bit 11, 十进制值: 2048): 蓝牙私有mesh - ZigBee (bit 12, 十进制值: 4096): 2.4g频段 - Infrared (bit 13, 十进制值: 8192): 红外 - 433 (subpieces) (bit 14, 十进制值: 16384): 433mhz - SigMesh (bit 15, 十进制值: 32768): 蓝牙标准Mesh - MCU (bit 16, 十进制值: 65536): mcu - SMesh (bit 17, 十进制值: 131072): 类似ZigBee - Cat1 (bit 20, 十进制值: 1048576): 通常使用3g网络 - Beacon (bit 21, 十进制值: 2097152): 蓝牙Beacon - Thread (bit 25, 十进制值: 33554432): Thread能力 |
| `devAttribute` | `DevAttribute` | 设备能力标位，由固件上报 位数含义: - 第 1 位 (bit 0): 设备是否支持免配网 - 第 2 位 (bit 1): 设备支持 dp query 31 号协议查询 - 第 3 位 (bit 2): 设备是否具有本地联动能力 - 第 4 位 (bit 3): 设备是否支持 WIFI 扫描 - 第 5 位 (bit 4): 设备是否支持 Google Local Home - 第 6 位 (bit 5): 设备是否支持闪电配网能力 - 第 7 位 (bit 6): 设备是否支持蓝牙控制 - 第 8 位 (bit 7): 设备是否支持安防能力 - 第 9 位 (bit 8): 设备是否是共享设备 - 第 10 位 (bit 9): 设备是否支持日出日落定时 - 第 11 位 (bit 10): 设备是否支持故障替换能力 - 第 12 位 (bit 11): 设备是否支持 OTA - 第 13 位 (bit 12): 设备是否支持 WIFI 备用切换 - 第 15 位 (bit 14): 设备支持涂鸦标准协议 - 第 16 位 (bit 15): 设备支持自定义透传 - 第 17 位 (bit 16): 设备是否支持行业能力 |
| `schema` | `DpSchema[]` | 产品信息，schema，功能定义都在里面 |
| `panelConfig` | `PanelConfig` | 面板云配置 |

##### `type` InitMatterDevInfoInterceptorOps

`initMatterDevInfo` / `initMatterDevInfoInterceptor` 的可选配置（非文档站单独页面；与 `createMatterKit` 的 `config` 等同源）。

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `debug` | `boolean` | 是否在控制台输出设备信息转换日志。 |
| `config` | `Object` | 标准侧亮度、色温数值范围覆盖。 |

##### `type` Capability

产品通讯能力标位，按二进制位运算的方式进行判断计算，如 Wi-Fi、Bluetooth、ZigBee、SigMesh 等

- Wi-Fi (bit 0, 十进制值: 1): wifi无线
- Cable (bit 1, 十进制值: 2): 有线
- GPRS (bit 2, 十进制值: 4): 类似2g网络
- NB-IoT (bit 3, 十进制值: 6): 物联网卡网络
- Bluetooth (bit 10, 十进制值: 1024): 蓝牙单点
- BLEMesh (bit 11, 十进制值: 2048): 蓝牙私有mesh
- ZigBee (bit 12, 十进制值: 4096): 2.4g频段
- Infrared (bit 13, 十进制值: 8192): 红外
- 433 (subpieces) (bit 14, 十进制值: 16384): 433mhz
- SigMesh (bit 15, 十进制值: 32768): 蓝牙标准Mesh
- MCU (bit 16, 十进制值: 65536): mcu
- SMesh (bit 17, 十进制值: 131072): 类似ZigBee
- Cat1 (bit 20, 十进制值: 1048576): 通常使用3g网络
- Beacon (bit 21, 十进制值: 2097152): 蓝牙Beacon
- Thread (bit 25, 十进制值: 33554432): Thread能力

```typescript
export type Capability = number;
```

##### `type` DevAttribute

设备能力标位，由固件上报

位数含义:
- 第 1 位 (bit 0): 设备是否支持免配网
- 第 2 位 (bit 1): 设备支持 dp query 31 号协议查询
- 第 3 位 (bit 2): 设备是否具有本地联动能力
- 第 4 位 (bit 3): 设备是否支持 WIFI 扫描
- 第 5 位 (bit 4): 设备是否支持 Google Local Home
- 第 6 位 (bit 5): 设备是否支持闪电配网能力
- 第 7 位 (bit 6): 设备是否支持蓝牙控制
- 第 8 位 (bit 7): 设备是否支持安防能力
- 第 9 位 (bit 8): 设备是否是共享设备
- 第 10 位 (bit 9): 设备是否支持日出日落定时
- 第 11 位 (bit 10): 设备是否支持故障替换能力
- 第 12 位 (bit 11): 设备是否支持 OTA
- 第 13 位 (bit 12): 设备是否支持 WIFI 备用切换
- 第 15 位 (bit 14): 设备支持涂鸦标准协议
- 第 16 位 (bit 15): 设备支持自定义透传
- 第 17 位 (bit 16): 设备是否支持行业能力

```typescript
export type DevAttribute = number;
```

##### `interface` PanelConfig

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `bic` | `CloudConfig[]` | 云定时和跳转链接配置 |
| `fun` | `FunConfig` | 功能配置 |

##### `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 为结构化对象 |

##### `interface` JumpUrlConfig

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `code` | `"jump_url"` | 跳转链接配置代码 |
| `description` | `string` | 跳转链接配置描述 |
| `name` | `string` | 跳转链接配置名称 |
| `selected` | `boolean` | 跳转链接配置是否选中 |

##### `interface` TimerConfig

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `code` | `"timer"` | 云定时配置代码 |
| `description` | `string` | 云定时配置描述 |
| `name` | `string` | 云定时配置名称 |
| `selected` | `boolean` | 云定时配置是否选中 |

##### `interface` FunConfig

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `tyabirysr4` | `string` | 背景色，当前仅涂鸦官方小程序支持 |
| `tyabirysr4_app` | `"follow" \| "--app-B1"` | 背景色跟随策略，follow 代表跟随 App，否则代表要替换的 App 变量路径，当前仅涂鸦官方小程序支持 |
| `tyabis5d9w` | `string` | 主题色，当前仅涂鸦官方小程序支持 |
| `tyabis5d9w_app` | `"follow" \| "--app-M1"` | 主题色跟随策略，follow 代表跟随 App，否则代表要替换的 App 变量路径，当前仅涂鸦官方小程序支持 |

##### `interface` CloudConfig

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `jump_url` | `JumpUrlConfig` | 跳转链接配置 |
| `timer` | `TimerConfig` | 云定时配置 |

##### `type` InitMatterDevInfoInterceptorOps.config

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `brightnessRange` | `Object` | 标准侧亮度数值范围 |
| `colorTemperatureRange` | `Object` | 标准侧色温数值范围 |

##### `type` InitMatterDevInfoInterceptorOps.config.brightnessRange

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `min` | `number` | 最小值 |
| `max` | `number` | 最大值 |

##### `type` InitMatterDevInfoInterceptorOps.config.colorTemperatureRange

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `min` | `number` | 最小值 |
| `max` | `number` | 最大值 |

##### `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 } from '@ray-js/panel-sdk';

const matterKit = createMatterKit();
const next = matterKit.resolveMatterDevInfo(devInfo);
```
