SmartDevicesManager.add(config: AddConfig)
版本要求:
@ray-js/panel-sdk≥1.16.0
描述
添加单个设备实例并完成初始化。 若尚未 init() 会先自动 init(),保证向后兼容。 常见场景是动态添加单台关联设备;若 deviceId 已存在则抛出错误。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 是 | 设备配置 |
返回值
类型:Promise<SmartDeviceModel>
初始化完成的设备实例
引用对象
type
InitDpStateInterceptortype
InitDevInfoInterceptortype
OnDpDataChangeInterceptortype
OnDeviceOnlineStatusUpdateInterceptortype
OnDeviceInfoUpdatedInterceptortype
OnNetworkStatusChangeInterceptortype
OnBluetoothAdapterStateChangeInterceptortype
InitDpStateInterceptorParams| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| 是 | 当前设备功能点状态 | ||
| 是 | 新的设备功能点状态 | ||
action | "init" | "onDpDataChange" | "onDeviceInfoUpdated" | "dp-kit" | 是 | 拦截器动作 |
type
GetSmartDeviceModelDevInfo| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
dpCodes | object | 是 | |
dps | object | 是 | |
idCodes | object | 是 | |
codeIds | object | 是 | |
schema | S | 是 |
type
SmartDeviceModelAbilitySmartDeviceModel 的 abilities 容器类型,仅用于泛型约束与内部组合。type
PublishDpsOptionspublishDps 的底层选项类型,供 SDK 内部请求链复用。| 属性 | 类型 | 必填 | 描述 |
|---|---|---|---|
| 否 |
type
DpValue功能点值类型,可能为 boolean、number、stringtype
SendDpOptionDP 下发选项,可作为 createDpKit 的全局默认配置,也可在单次 publishDps / action 调用时覆盖。
全局 `sendDpOption` 适合声明产品级默认行为;
单次下发传入的 options 适合临时覆盖节流、防抖、协议解析或乐观更新策略。
注:依赖 dp-kit 拦截器才可使用。| 属性 | 类型 | 必填 | 描述 | 最低版本 |
|---|---|---|---|---|
immediate | boolean | 否 | 是否立即触发 state 更新,必须依赖 dp-kit 拦截器才可使用 | - |
| 否 | 是否忽略 DP 功能点上报,默认 false | v1.11.0 | ||
| 否 | 是否将 dpData 和云端设备属性同步,默认 false | v1.11.0 | ||
ordered | boolean | 否 | 多个 DP 是否按对象里的顺序下发,必须依赖 dp-kit 拦截器才可使用,默认 false | - |
checkRepeat | boolean | 否 | 是否进行重复值判断不下发,必须依赖 dp-kit 拦截器才可使用,默认 false 与当前 `dpState` 进行比较,重复值检出不下发 | - |
delay | number | 否 | 延迟下发,必须依赖 dp-kit 拦截器才可使用,默认 0,单位 ms | - |
throttle | number | 否 | 下发节流 (与防抖冲突),必须依赖 dp-kit 拦截器才可使用,默认 0,单位 ms | - |
debounce | number | 否 | 下发防抖 (与节流冲突),必须依赖 dp-kit 拦截器才可使用,默认 0,单位 ms | - |
| 否 | 单次下发时临时指定的 DP 协议转换器,必须依赖 dp-kit 拦截器才可使用。 key 为 dpCode,value 为 `{ parser, formatter }` 对象: - parser(dpValue: string) => any — 将原始 DP 字符串解析为结构化对象 - formatter(parsedValue: any) => string — 将结构化对象序列化为 DP 字符串 仅影响本次调用,不覆盖 createDpKit 中的全局 protocols 配置 | - |
type
Capabilitytype
DevAttribute合法值
DevInfo.schema.mode
| 值 | 说明 | 最低版本 |
|---|---|---|
rw | - | - |
ro | - | - |
wr | - | - |
DevInfo.schema.property.type
| 值 | 说明 | 最低版本 |
|---|---|---|
string | - | - |
bool | - | - |
value | - | - |
enum | - | - |
bitmap | - | - |
raw | - | - |
DevInfo.schema.type
| 值 | 说明 | 最低版本 |
|---|---|---|
raw | - | - |
obj | - | - |
FunConfig.tyabirysr4_app
| 值 | 说明 | 最低版本 |
|---|---|---|
follow | - | - |
--app-B1 | - | - |
FunConfig.tyabis5d9w_app
| 值 | 说明 | 最低版本 |
|---|---|---|
follow | - | - |
--app-M1 | - | - |
LogConfig.level
| 值 | 说明 | 最低版本 |
|---|---|---|
VERBOSE | - | - |
SUCCESS | - | - |
INFO | - | - |
WARN | - | - |
FATAL | - | - |