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

## SmartDeviceModel.onDeviceOnlineStatusUpdate

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

### 描述

监听智能设备上下线状态变更

### 参数

`(listener: Function)`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `listener` | `(data: OnlineStatusChanged) => number` | 是 | 事件回调，接收包含 deviceId、online 等信息的参数 |

### 返回值

无


### 引用对象

##### `type` OnlineStatusChanged

设备上下线状态变更事件回调参数

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `online` | `boolean` | 在线状态 |
| `deviceId` | `string` | 设备 id |
| `onlineType` | `number` | 设备在线类型（预留，后期使用） Wi-Fi online             1 << 0 Local online             1 << 1 Bluetooth LE online      1 << 2 Bluetooth LE mesh online 1 << 3 |


### 示例代码

#### 示例

```typescript
const id = device.onDeviceOnlineStatusUpdate((data) => {
  console.log(data.deviceId, data.online ? '上线' : '离线');
});
```
