自动化场景的问题后续没权限问题

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


huangzh
Posts: 13

Snipaste_2025-02-12_14-24-16.png

下面这里示例都没加init,而且我这里加了init() ts会报错 类型“Promise<SmartAlarmAbility>”上不存在属性“addCustomAlarm”。


Tags:
huangzh
Posts: 13

Re: 自动化场景的问题后续没权限问题

Snipaste_2025-02-12_14-24-16.png
xuanyi
Posts: 122
Location: 涂鸦玄一

Re: 自动化场景的问题后续没权限问题

Code: Select all

    
const Alarm = new SmartAlarmAbility(); Alarm.init(); Alarm.addCustomAlarm({ ... });

请尝试一下这种写法, 文档示例存在误导,我们将尽快调修复。

xuanyi
Posts: 122
Location: 涂鸦玄一

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)
};
huangzh
Posts: 13

Re: 自动化场景的问题后续没权限问题

Snipaste_2025-02-12_15-12-08.png

根据刚刚的方法加入init()修改过后 addCustomAlarm的时候会提示这个问题,请问是什么原因导致的?根据getLinkageDeviceList接口查询的家庭下的设备不是当前家庭下的设备吗

xuanyi
Posts: 122
Location: 涂鸦玄一

Re: 自动化场景的问题后续没权限问题

请按以下步骤整理一下信息:

  1. 打开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);
    
  2. 打开 node_modules/@ray-js/panel-sdk/package.json 确认版本信息
  3. 打印getLinkageDeviceList 请求参数,确认 gid 与第一步打印的 param 中的 gid 是否相同
  4. 提供设备id,并上传 app 日志
Post Reply