下面这里示例都没加init,而且我这里加了init() ts会报错 类型“Promise<SmartAlarmAbility>”上不存在属性“addCustomAlarm”。
自动化场景的问题后续没权限问题
Re: 自动化场景的问题后续没权限问题
Code: Select all
const Alarm = new SmartAlarmAbility();
Alarm.init();
Alarm.addCustomAlarm({
...
});
请尝试一下这种写法, 文档示例存在误导,我们将尽快调修复。
Re: 自动化场景的问题后续没权限问题
https://developer.tuya.com/cn/miniapp/d ... e#ray--sdm
如果需要多个地方调用,建议使用上述文档中的方式进行初始化。 初始化完成后可通过 devices.xxx.model.abilities.alarm.funcName({}); 来调用,就不用每次都初始化一个Alarm实例了。 其中 xxx 是可以自定义的。在示例中 xxx 是 sensor :
Code: Select all
const devices = {
sensor: new SmartDeviceModel<SmartDeviceSchema, { alarm: SmartAlarmAbility }>(options)
};
Re: 自动化场景的问题后续没权限问题
根据刚刚的方法加入init()修改过后 addCustomAlarm的时候会提示这个问题,请问是什么原因导致的?根据getLinkageDeviceList接口查询的家庭下的设备不是当前家庭下的设备吗
Re: 自动化场景的问题后续没权限问题
请按以下步骤整理一下信息:
- 打开node_modules/@ray-js/panel-sdk/lib/sdm/abilities/alarm/index.js,在addCustomAlarm方法中以下代码前添加打印
Code: Select all
... console.log('param', param) const bindResult = await bindLinkageRule(param); const newAlarmList = await this.__findCustomAlarmByBindIdAndReFetch__(bindResult.bindId);
- 打开 node_modules/@ray-js/panel-sdk/package.json 确认版本信息
- 打印getLinkageDeviceList 请求参数,确认 gid 与第一步打印的 param 中的 gid 是否相同
- 提供设备id,并上传 app 日志