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

https://developer.tuya.com/cn/miniapp/d ... ndRuleList 文档上这个接口没有定义sourceEntityId参数,是文档错了还是怎么处理


Re: 关于Ray-js 中 如何查询已经绑定到某Device的场景的疑问

Posted: 2024年 Jun 3日 12:19
by 18565078111
18565078111 2024年 Jun 3日 12:19

https://developer.tuya.com/cn/miniapp/d ... ndRuleList 文档上这个接口没有定义sourceEntityId参数,是文档错了还是怎么处理

现在查绑定过的场景查不到


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 加了参数可以了。