SmartDevicesManager.batchAdd(configs: AddConfig[], options?: BatchAddOptions)
版本要求:
@ray-js/panel-sdk≥1.16.0
描述
批量向多设备管理器中添加设备实例。内部会先批量拉取设备信息(单次网络请求),再按 concurrency 并发初始化,支持部分失败并在返回结果中区分成功与失败列表。 每台设备都可独立配置 interceptors 与 logConfig。
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| 是 | 设备配置列表 | ||
| 否 | 配置选项 |
返回值
类型:Promise<BatchAddResult>
包含 success 与 failed 的结果对象;其中 success 为成功初始化的设备实例映射,failed 为初始化失败的设备列表
引用对象
type
BatchAddResult| 属性 | 类型 | 描述 |
|---|---|---|
success | Record<string, SmartDeviceModel> | 成功初始化的设备实例映射 |
failed | FailedDeviceInfo[] | 初始化失败的设备列表 |
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 | - | - |