自动化场景的问题和需要的接口

小程序开发相关产品技术讨论,包括面板、智能小程序、React Native、Ray跨端框架、Panel SDK、微信小程序、小程序开发工具(IDE)及其他开发技术相关等话题


Post Reply
huangzh
Posts: 5

问题:目前提供的api入参很多没有解释,且逻辑方面没有明确的案例,不知道该如何创建(虽然tab栏可以创建自动化场景,但是业务需要,希望在小程序页面中可以创建,并且创建的可以和该设备绑定,通过设备id也可以查出创建的场景)

业务场景:
在小程序中,需要创建自动化场景的页面,设置条件(如果当前设备上报的dp值符合某个条件,如大于多少,小于多少)和执行(当前家庭组中根据品类选择单个或多个设备,设置目标dp值),当条件吻合自动执行场景

增:创建自动化场景,选择当前设备的dp并设置条件,然后设置关联的家庭组下的某个品类下的设备,并设置目标dp和目标dp值
删:可以删除该设备下创建的场景
改:对已经创建的场景进行修改,可以修改条件和执行,并且可以修改该场景的开启状态
查:需要查询到当前设备下创建的自动化场景列表,和是否开启状态

需要的接口
1.查询当前设备下的自动化场景和对应的开启状态
2.查询当前家庭组下某个品类的设备列表
3.创建当前设备的自动化场景,输入devId,条件判断的dp,条件(> = <),条件值,执行的设备对象,执行设备对象的dp和 目标dp值
4.根据sceneId删除自动化场景
5.根据sceneId修改自动化场景
6.根据sceneId对自动化场景进行开启或关闭

例子:举个例子来说,目前做的产品是温湿度传感器,用户可以自己设置场景,当温度大于多少度,就设置家庭组下的哪个设备的dp值为多少,当湿度大于多少,就设置家庭组下的哪个设备的dp值为多少,然后在我的场景页面下中可以查看这些自己设置的场景,可以选择是否开启这些场景,也可以进行修改


Tags:
xuanyi
Posts: 102
Location: 涂鸦玄一

Re: 自动化场景的问题和需要的接口

相关场景可以尝试使用以下 api 集合进行实现。
https://developer.tuya.com/cn/miniapp/d ... ustomalarm

在文档的基础上添加 actions 参数即可实现以上需求

2.png
1.png

actions 数据结构如下:

Code: Select all

[{
            "entityId": "vdevo157767633987152",     //设备id 或群组id
            "actionExecutor": "dpIssue",    //dp点下发
            "executorProperty": {
                "1": true
            },      //动作执行信息,key:dpId,value:dpValue
            "extraProperty": {},        //额外信息,没有传 {}
        },
        {     
"entityId": "", //场景id "actionExecutor": "ruleTrigger", //场景作为动作被触发 "executorProperty": {},
"extraProperty": {}, //额外信息,没有传 {} } ]

修改可以先删除再重新添加。

huangzh
Posts: 5

Re: 自动化场景的问题和需要的接口

您好,这边根据这几个接口进行了测试,发现了如下几个问题:

  1. 告警列表可以正常返回
  2. 新增告警Alarm.addCustomAlarm和删除告警Alarm.deleteCustomAlarm的时候 经常返回 errorCode: "PERMISSION_DENIED"
    errorMsg: "没权限",不知道是什么原因,检查了账号是家庭的管理员,并且使用真实设备和虚拟设备都尝试过,均有这个问题,同样的接口同样的请求,在偶发情况下,会发现列表里有之前请求新增的告警,但不知道是什么时候成功的,也排查不出成功的条件是什么
    3.setBuiltInAlarmStatus 根据设备 id 启用或禁用该产品内置的告警,这个接口在ide中会报错 请先在小程序开发者平台里添加 API 白名单: tuya.m.linkage.bind.enable ,不清楚这个api白名单是怎么绑定的,一般涂鸦内部sdk中的接口都不需要添加api白名单
Post Reply