Panel SDK

1.16.x

1.16.2 (2026-09-28)

问题修复

  • SmartStorageAbility: 修复 SmartStorageAbility cloud 设置未处理 reject 和 resolve;

1.16.1 (2026-04-28)

新增功能

  • SmartDevicesManager: 新增多设备管理能力,支持在同一小程序内通过 SdmProvider.deviceManager 接入多台独立设备,并提供 add、batchAdd、delete、batchDelete 等设备管理 API
  • 多设备 Hooks:新增 useDevices、useDevicesProps、useDevicesActions、useStructuredDevicesProps、useStructuredDevicesActions 等能力,支持按设备读取 DP 状态、下发指令,并可通过 typings/sdm.d.ts 实现按设备 key 精确绑定 Schema 的 TypeScript 类型推导,详见 多设备管理

1.15.x

1.15.0 (2026-02-26)

新增功能

  • matter-kit: 新增 Matter 照明设备面板 DP 功能点处理拦截器,内置支持 Matter 协议与标准 DP 协议之间的双向转换,自动处理设备信息、DP 状态上报和下发的转换,提供 checkIsMatterDevice、getMatterRoad、checkIsMatterHasWhite 等工具函数,以及 useOriginMatterTemp、useColourData 等 Hooks,详见 matter-kit
  • SmartLampAdvancedAbility: 新增照明高级能力,支持高级色温及千分之一亮度能力检测、色温/亮度值转换、VAS 关键点信息获取,详见 SmartLampAdvancedAbility
  • SmartSupportAbility: 新增 isGprsDevice、isBluetoothDevice、isBleMeshDevice、isCat1Device、isBeaconDevice、isLteCat4Device、isLteCat10Device、isLteCatMDevice、isThreadDevice 共 9 个设备类型判断 API

1.14.x

1.14.0 (2025-11-06)

新增功能

  • I18N: 新增 getFaultLang API,用于获取故障类型功能点(Bitmap 类型)的多语言字符串,支持按位解析故障码并返回对应的多语言描述
  • SmartDeviceModel & SmartGroupModel: 新增 queryDps API,适配不同 App 版本和设备协议主动查询 DP 功能点状态
  • dp-kit: 新增 ignoreDpDataResponse.timeout / customRule 支持自定义 DP 上报事件的防抖和自定义过滤规则
  • onMusic2RgbChange: 新增 throttle 参数支持自定义节流时间

1.13.x

1.13.9 (2025-09-04)

问题修复

  • SmartSupportAbility: 修复群组环境下设备类型判断不准确的问题

1.13.8 (2025-08-19)

问题修复

  • useStructuredProps: 修复部分设备群组环境下结构化数据无法更新的 Bug

1.13.7 (2025-06-12)

新增功能

  • usePanelConfig: iot 字段中支持返回 subUiid 字段
  • SmartGroupModel: getDevInfo API 支持返回第一个设备信息

问题修复

  • I18N: 修复继承复写 formatValue 及 getLang 时会导致 formatValue key 值重复取值异常

优化调整

  • 使用 lodash-es 按需引用避免全量引用整个 lodash 包
  • usePanelConfig: 优化 setState 逻辑减少不必要的更新
  • useStructuredActions: 类型改从 formatter 入参中提取下发结构体确保类型提示准确

1.13.6 (2025-05-27)

问题修复

  • offMusic2RgbChange: 修复取消监听无法 resolve 的问题

优化调整

  • initPanelEnvironment: 新增 shouldConnectBleAuto、autoCheckActivation、disableOtaDialog 的类型提示声明,注意该三项功能需基础库 >= 2.27.0,Panel SDK 1.13.6 仅增加类型提示声明

1.13.5 (2025-04-22)

新增功能

  • 新增 DreamlightSceneModeTransformer 协议解析工具

1.13.3 (2025-03-18)

问题修复

  • 修复 SmartStorageAbility,兼容安卓在群组环境下 getLaunchOptionsSync().query 返回的 groupId 出现数值类型时导致的存储异常

1.13.2 (2025-02-13)

问题修复

  • 修复 SmartStorageAbility 功能,调整可保存的业务数据上限至 900,避免出现由于内部元数据超限导致的业务数据长度未超过 1024 就报错的现象

新增功能

  • 新增 initPanelEnvironment 中 faultDpCode 属性,支持自定义默认告警提示框的故障功能点
  • 新增 onMusic2RgbChange 中 musicOption 及 callback 返回 customProps 支持业务透传使用自定义属性
  • 新增 onMusic2RgbChange 中 callback 返回 db 分贝值及 index 灵敏度

1.13.1 (2024-11-01)

问题修复

  • 修复 usePanelConfig 通过在 App 支持获取配置的情况下,未针对数值或布尔型值进行强制类型转换,并兼容异常数据情况

新增功能

  • 新增 usePanelConfig 群组环境默认支持获取主 pid 的云能力配置
  • 新增 DpKit Beacon 相关 Intercepetors 默认值支持异步初始化
  • 新增 SmartStorageAbility 增加 getAll / setAll 能力

1.12.x

1.12.1 (2024-10-15)

问题修复

  • 修复 SmartAlarmAility 能力内部接口 gid 透传丢失的问题

优化调整

  • 优化 SdmProvider value 类型适配 SmartGroupModel 群组模型
  • 优化 createDpKit 支持在 panel-sdk 入口导出
-import { createDpKit } from '@ray-js/panel-sdk/lib/sdm/interceptors/dp-kit';
+import { createDpKit } from '@ray-js/panel-sdk';

1.12.0 (2024-06-27)

新增功能

1.11.x

1.11.0 (2024-06-25)

新增功能

  • 新增 SmartTapToRunAbility 一键执行标准能力(需要依赖 @ray-js/ray@1.5.15 以后的版本)
  • 新增 dp-kit 以下 sendOptions 配置能力支持:
    • ignoreDpDataResponse: 忽略 dp 上报配置,默认不开启
    • synchronizeDevProperty: 和云端设备属性同步,默认不开启

1.10.x

1.10.5 (2024-05-10)

问题修复

  • 修复 onMusic2RgbChange 兼容回调返回的分贝数据字段名不一致

1.10.4 (2024-04-18)

优化调整

  • 优化 publishDps 在 dps 传参为空对象的情况下,不去调用下发接口,避免出现异常报警

1.10.3 (2024-04-15)

问题修复

  • 修复 Storage 能力可能无法返回云端数据的问题

1.10.2 (2024-04-07)

优化调整

  • 优化 @ray-js/ray 依赖统一换成 *,默认兼容其所有版本

1.10.1 (2024-03-20)

优化调整

  • 优化 Storage 能力新增字段超限提示

1.10.0 (2024-02-28)

新增功能

问题修复

  • 修复 useStructuredProps 在设备初始化处理 raw 型功能点序列化时丢失默认空字符串导致无法通过 useStructuredProps 获取结构化数据的问题
  • 修复 SmartStorageAbility 及 onMusic2RgbChange 一些兼容性问题,建议使用到此类能力及时升级

优化调整

  • 优化 I18N 多语言支持 TS 多语言值类型自动推导提示
  • 优化 SmartGroupModel 也开始支持部分通用能力,如 SmartStorageAbility 及 SmartSupportAbility

1.9.x

1.9.0 (2023-11-08)

新增功能

1.8.x

1.8.0 (2023-10-24)

新增功能

  • 新增照明系列协议解析工具 ColourTransformer、MusicTransformer、MicMusicTransformer、SmearTransformer,详见 协议工具
  • 新增颜色系列转换工具 kelvin2rgb、rgb2kelvin、brightKelvin2rgb、rgb2RgbString、rgb2hsb,详见 颜色工具
  • 新增 JSON 转换工具 stringifyJSON,详见 JSON 工具
  • 新增 DP 解析工具,详见 DP 解析

1.7.x

1.7.1 (2023-10-24)

问题修复

  • 修复 I18N.formatValue 无法获取线上多语言的问题

1.7.0 (2023-09-07)

新增功能

  • 新增 dp-kit 拦截器,详见 dp-kit

1.6.x

1.6.1 (2023-08-17)

问题修复

  • 修复 InitPanelEnvironment 在 App.onReady 时不一定能触发到的问题

1.6.0 (2023-08-14)

新增功能

  • 新增智能设备模型及智能群组模型 publishDps 方法,支持批量下发控制设备功能点
  • 新增微信端云能力配置支持

1.5.x

1.5.0 (2023-06-13)

新增功能

  • 新增 SmartGroupModel 智能群组模型支持
- import { SmartDeviceModel } from '@ray-js/panel-sdk';
+ import { SmartDeviceModel, SmartGroupModel } from '@ray-js/panel-sdk';
+ import { getLaunchOptionsSync } from '@ray-js/ray';

+ const isGroupDevice = !!getLaunchOptionsSync()?.query?.groupId;

type SocketSchema = typeof import('./schema').defaultSchema;

const devices = {
-   socket: new SmartDeviceModel<typeof import('./schema').defaultSchema>(),
+   socket: isGroupDevice
+     ? new SmartGroupModel<SocketSchema>()
+     : new SmartDeviceModel<SocketSchema>(),
};

1.4.x

1.4.1 (2023-04-27)

优化调整

  • 兼容 TuyaLink 协议设备不存在 schema 导致崩溃

1.4.0 (2023-04-13)

新增功能

  • 增加更多微信小程序支持

1.3.x

1.3.3 (2023-04-03)

优化调整

  • 兼容 quickjs

1.3.2 (2023-03-08)

问题修复

  • 修复 getWeathers API

1.3.0 (2023-02-07)

新增功能

  • 开始支持微信小程序

1.2.x

1.2.1 (2022-11-16)

问题修复

  • 修复 useDevice 获取值可能不是最新
  • 修复 useDevInfo 卸载时 unregisterDeviceListListener 导致无法监听到上报

1.2.0 (2022-11-16)

新增功能

  • 新增 useActions Hooks

优化调整

  • useSdmProps -> useProps
  • useSdmDevice -> useDevice
  • 合并 sdm 至 panel-sdk 包
- import { SmartDeviceModel } from '@tuya-miniapp/sdm';
- import { SdmProvider, useSdmProps } from '@ray-js/sdm-react';
+ import { SmartDeviceModel, SdmProvider, useProps } from '@ray-js/panel-sdk';

1.0.x

1.0.4 (2022-10-21)

问题修复

  • 修复 dp code 不存在时使用 useSdmProps 导致的崩溃
useSdmProps((props) => props.switch_not_exist); // crash before 1.0.4

useSdmProps((props) => props.switch_not_exist); // return null now