---
name: "SmartDeviceModel.onDpDataChange"
mode: "api"
versionRequirements:
  - { name: "@ray-js/panel-sdk", version: "1.0.0" }
---

## SmartDeviceModel.onDpDataChange

> [VERSION] @ray-js/panel-sdk >= 1.0.0

### 描述

监听智能设备 DP 功能点变更事件

### 参数

`(listener: Function)`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `listener` | `(data: DpsChanged) => number` | 是 | 事件回调，接收包含 deviceId、dps（变更的功能点 ID→值映射）等信息的参数 |

### 返回值

无


### 引用对象

##### `type` DpsChanged

DP 变更事件回调参数（单设备）

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `deviceId` | `string` | 设备 id |
| `gwId` | `string` | 子设备对应的网关设备 id，非子设备则不存在 |
| `dps` | `Record<string, any>` | 变化的功能点数据，key 为功能点 id，value 为功能点值 |
| `dpsTime` | `Record<string, number>` | 功能点数据变化的时间戳（可能为空） |


### 示例代码

#### 示例

```typescript
const id = device.onDpDataChange((data) => {
  console.log('DP 变更:', data.dps);
});
// 取消监听
device.offDpDataChange(id);
```
