saveLightScene(data: SaveLightSceneParams)

版本要求:
@tuya-miniapp/cloud-api≥1.2.0

描述

新增、编辑并保存照明场景。该接口用于保存灯光场景的规则配置,包括场景名称、图标、执行动作等信息。

参数

参数类型必填说明
是请求参数:ownerId(家庭 ID)、sceneExpr(场景规则 JSON 数据,包含场景的完整配置信息;SaveExprData 字段说明见文档「sceneExpr 字段说明」)

返回值

类型:Promise<SaveLightSceneResult>
保存后的场景信息(含 id、code、name、parentRegionId、ownerId、icon、enabled、status、sceneType 等,详见文档「返回参数」表);

引用对象

interfaceSaveLightSceneResult
属性类型描述
idnumber主键 ID
codestring场景编码
namestring名称
parentRegionIdstring归属父区域 ID
ownerIdstring家庭 ID
uidstring用户 ID
actualRuleIdstring真实规则 ID
iconstring图标
clickIconstring根据 icon 字段,拼接点击图标
enablednumber是否启用 (1: 启用, 0: 未启用)
statusnumber状态 (0: 已删除, 1: 正常)
sortnumber排序
sceneType1 | 2 | 3场景类型 (1: 基础场景开, 2: 基础场景关, 3: 自定义场景)
subSceneTypenumber子类型,0 是默认值,无业务含义
执行动作
条件,目前只有分布式蓝牙灯光场景会使用该字段
modifyUidstring更新当前记录的用户 ID
brightPercentnumber亮度值百分比
brightVisibleboolean亮度值百分比是否可见
displayColorstring背景色
backgroundstring背景图片
scheduleBoundboolean是否被日程引用
distributedAbnormalCode0 | 1 | 2 | 100分布式灯光场景的异常状态 (0: 正常, 1: 暂存状态, 2: 房间设备变动导致的未同步, 100: 其他异常状态)
distributeShortAddressnumber分布式规则的短地址
matchTypenumber条件匹配类型, 目前只有蓝牙分布式灯光场景才会用到该字段
gmtCreatenumber创建时间
gmtModifiednumber更新时间

合法值

SaveLightSceneResult.sceneType
值说明最低版本
1--
2--
3--
SaveLightSceneResult.distributedAbnormalCode
值说明最低版本
0--
1--
2--
100--

示例代码

请求示例

import { saveLightScene } from '@tuya-miniapp/cloud-api';

const params = {
  ownerId: '194137',
  sceneExpr: JSON.stringify({
    actions: [
      {
        actionExecutor: 'lightDevice',
        entityId: 'vdevo176127325226099',
        entityName: '调试-步进调光-vdevo',
        executorProperty: {
          switch_led: true,
          work_mode: 'scene',
          smb_scene: '0132010100000000000003e80000320101000000000000000a0000',
        },
        extraProperty: {
          parentRegionId: '57939115',
          sceneName: '500毫秒渐变(暖光)',
          sceneId: '22304912',
          sceneType: 1,
          selectCellBackground: 'https://images.tuyacn.com/light/library/icon/img_scene.png',
        },
      },
    ],
    parentRegionId: 57939115,
    name: '500毫秒渐变(暖光)',
    displayColor: 'BA7B69',
    sceneType: 3,
    matchType: 1,
    icon: 'https://images.tuyacn.com/smart/rule/light/dianji_default.png',
  }),
};

saveLightScene(params)
  .then(result => {
    console.log('场景保存成功:', result);
  })
  .catch(error => {
    console.error('场景保存失败:', error);
  });

返回示例

{
  "id": 123456,
  "code": "light_scene_001",
  "name": "500毫秒渐变(暖光)",
  "parentRegionId": "57939115",
  "ownerId": "194137",
  "uid": "ay1234567890",
  "icon": "https://images.tuyacn.com/smart/rule/light/dianji_default.png",
  "enabled": 1,
  "status": 1,
  "sort": 1,
  "sceneType": 3,
  "displayColor": "BA7B69",
  "matchType": 1,
  "gmtCreate": 1766558627585,
  "gmtModified": 1766558627585
}