面板开发常见问题

为什么虚拟设备调试功能点为空且项目工程里获取到的设备 schema 为空?

原因:

  • 因为智能化方式为 生态设备接入 的产品的功能点获取方式与 产品开发 的产品不同,而当前虚拟设备插件及项目模板工程暂未开放支持这块功能,因此虚拟设备调试插件和项目模板工程里获取到的功能点都是空白的,这个功能我们正在规划中,敬请期待。

解决方案:

  • 可基于我们当前提供的 基础物模型 API 能力 自行封装实现,其中:
    • 获取设备功能点可通过 getDeviceThingModelInfo 方法
    • 控制设备可通过 publishThingModelMessage 方法
    • 监听设备功能点可通过 onReceivedThingModelMessage

如何判断当前设备是单个设备还是群组?

  • 根据启动参数里是否包含 groupId 判断

如何调试群组设备?

  • 在开发者工具的编译参数的启动参数设置 groupId

如何进行多设备控制?

在一个面板下控制多个设备,需要将需要额外控制的设备 id 存储在当前设备的属性里面。

如何获取设备ID (deviceId)?

  • 进入 App 设备面板, 点击右上角进设备详情页,再点击设备信息, 进入设备信息页, 页面中显示的虚拟 ID 就是设备 ID, 也就是调试时需要传参数 deviceId。

  • 如果是开发中需要获取设备id, 可以通过调用 api getDeviceInfo , getLaunchOptions 或者 useDevice 来获取。