Page 1 of 1
关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 3日 01:49
by 18565078111
- Tuya MiniApp Tools 版本信息:0.6.4
- @ray-js/ray@1.5.7
@ray-js/cli@1.5.7
首先我想实现一个这样的逻辑,将DP与某些场景绑定在一起(场景是利用getSceneList 获取到的数据),但是我需要查询已经绑定到该Device的场景,我目前是根据getBindRuleList 接口来获取的,但是获取不到任何数据。
Code: Select all
getBindRuleList({
devId,
gid: homeId,
bizDomain: 'wirelessSwitchBindScene',
entityType: 2,
})
// devId: 'vdevo171682956155248', gid: '176170055'
- 对于我的需求,该接口是否可以满足,如果不满足我应该用哪个接口来实现该功能(查询已经绑定到该Device的场景)。
entityType
参数的枚举有哪些?在哪里可以查到相关的定义,以及在我的需求中,我应该传递什么值?
Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 3日 09:08
by xuanyi
问题1:将 devId 替换为 sourceEntityId
问题2:entityType 取值: 1:关联实体为设备;2:关联实体是联动规则。 需求中使用2即可
Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 3日 12:19
by 18565078111
Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 3日 12:19
by 18565078111
Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 3日 13:26
by xuanyi
Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 4日 01:21
by 18565078111
xuanyi 2024年 Jun 3日 13:26
绑定逻辑如何实现的
Code: Select all
bindRule({
associativeEntityId: `${dpId}#single_click`,
ruleId: v,
entitySubIds: dpId,
expr: [[`$dp${dpId}`, '==', 'single_click']],
bizDomain: 'wirelessSwitchBindScene',
devId,
})
其中v 是通过getSceneList 接口获取的数据中ID字段。
Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 4日 08:54
by xuanyi
bindRule 和 getSceneList 都加一下 gid 参数。 更新一下 @ray-js/ray 的版本
Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问
Posted: 2024年 Jun 7日 12:46
by 18565078111
xuanyi 2024年 Jun 4日 08:54
bindRule 和 getSceneList 都加一下 gid 参数。 更新一下 @ray-js/ray 的版本
好的,更新到1.5.10 加了参数可以了。