getSceneRuleDetail(params: GetSceneRuleDetailParams)

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

描述

查询单个场景规则的详情

参数

参数类型必填说明
是请求体(ruleId 来自 getSceneListByHomeID 或保存场景后的 ruleId)

返回值

类型:Promise<SceneRuleDetail>
SceneRuleDetail(单条场景规则的完整详情)

引用对象

interfaceSceneRuleDetail`getSceneRuleDetail` 返回:单条场景规则的完整详情
属性类型描述
动作列表
arrowIconUrlstring列表箭头图标 URL
attributenumber业务属性标记(与云端约定)
auditStatusnumber审核状态
backgroundstring场景背景图 URL
boundForPanelboolean面板绑定
boundForWiFiPanelbooleanWiFi 面板绑定
categorysstring[]场景分类标签列表
codestring场景/规则编码
commonFieldstring通用扩展字段(与云端约定,常为序列化对象,如 `{"subMatchType":1}`)
条件列表
containDeviceDeleteboolean是否包含已删除设备相关标记
coverIconstring图标 URL
descriptionstring场景描述
deviceIdsstring[]关联设备 ID 列表
disableTimenumber禁用截止时间戳(若有,毫秒)
displayColorstring背景色(无 `#` 前缀)
enabledboolean是否启用
forceCloudTriggerboolean是否强制云端触发
gmtCreatenumber创建时间戳(毫秒)
gmtModifiednumber最近修改时间戳(毫秒)
idstring场景/规则 ID
iotAutoAlarmbooleanIoT 自动化告警相关标记
isAlarmIssueboolean是否告警类联动
isLogicRuleboolean是否为逻辑规则类场景
linkageTypenumber联动类型
localLinkageboolean是否本地联动
matchTypenumber匹配类型 1:任一条件 2:全部满足 3:表态式匹配
namestring场景名称
needCleanGidSidboolean是否需要清理 gid/sid 等关联缓存
needValidOutOfWorkboolean是否校验非工作时段
newLocalSceneboolean是否新本地场景模型
offGwSyncboolean网关同步标记
offGwSyncSuccessboolean网关同步是否已成功
orderWeightnumber列表排序权重
outOfWorknumber非工作时段等状态标记
ownerIdstring家庭 ID
panelTypenumber面板类型
permissionCodestring权限码
roomIdsstring[]关联房间 ID 列表
ruleGenrenumber规则类型 1:场景 2:自动化
ruleSourcenumber规则来源渠道/系统
ruleTypenumber规则来源类型
1.系统定义 2.商家定义 3.用户定义 4.安防规则 5.服务定义
runtimeEnvstring运行环境(如 `prod`)
scenarioRuleboolean是否在 App 场景 tab 中展示
statusboolean场景/规则状态
statusConditionsunknown[]状态型条件集合(结构由云端定义)
stickyOnTopboolean是否置顶展示
subMatchTypenumber子匹配类型
uidstring用户 ID

示例代码

请求示例

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

getSceneRuleDetail({
  gid: '46718684',
  ruleId: 'rMoXvUMZWDTckvau',
  ruleGenre: 2,        // 1:场景 2:自动化
  homeModel: true,
})
  .then(detail => {
    console.log('Scene detail:', detail.name);
    // 定时器条件(entityType=6)的 expr 为对象数组
    const timer = detail.conditions.find(c => c.entityType === 6);
    console.log('Timer expr:', timer?.expr);
  })
  .catch(error => {
    console.error('Failed:', error);
  });

返回示例(节选)

{
  "id": "rMoXvUMZWDTckvau",
  "name": "嘻嘻嘻",
  "ruleGenre": 2,
  "actions": [
    {
      "actionExecutor": "appPushTrigger",
      "actionStrategy": "edge",
      "devDelMark": false,
      "enabled": true
    }
  ],
  "conditions": [
    {
      "entityId": "timer",
      "entitySubIds": "timer",
      "entityType": 6,
      "expr": [
        {
          "date": "20260714",
          "time": "11:28",
          "dayLoops": "229376",
          "monthLoops": "000000100000"
        }
      ],
      "extraInfo": {
        "jumpUrl": "/pages/duration/index"
      }
    }
  ]
}