saveDeviceLinkageScene(params: SaveDeviceLinkageSceneParams)

Requires:
@tuya-miniapp/cloud-api≥1.1.0

Description

Save or edit a scene (device-to-device linkage only)

Parameters

ParameterTypeRequiredDescription
YesRequest body

Return Value

Type: Promise<SaveDeviceLinkageSceneResult>
SaveDeviceLinkageSceneResult (see type definitions and minituya return parameters for field meanings)

Referenced Types

typeSaveDeviceLinkageSceneResult
PropertyTypeDescription
namestringScene name
ruleIdstringScene ID
ruleGenrenumberRule type: 1 - Scene, 2 - Automation

Examples

Request example

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

// Create scene
saveDeviceLinkageScene({
  gid: '123456789',
  name: 'Home Mode',
  coverIcon: 'https://example.com/icon.png',
  actions: [
    {
      devDelMark: false,
      entityId: 'device_001',
      executorProperty: {
        '1': true,
        '2': 50,
      },
      extraProperty: {},
    },
  ],
  conditions: [
    {
      entitySubIds: '1',
      iconUrl: 'https://example.com/icon.png',
      entityId: 'device_002',
      expr: [['1', '==', 'true']],
      devDelMark: false,
      entityType: 1,
      extraInfo: {},
    },
  ],
  enabled: true,
  matchType: 1,
  displayColor: '#FF5722',
})
  .then(response => {
    console.log('Scene saved:', response);
  })
  .catch(error => {
    console.error('Failed to save scene:', error);
  });

// Update scene
saveDeviceLinkageScene({
  gid: '123456789',
  id: 'scene_001',
  name: 'Home Mode (Updated)',
  coverIcon: 'https://example.com/icon.png',
  actions: [
    {
      id: 'action_001',
      devDelMark: false,
      entityId: 'device_001',
      executorProperty: {
        '1': true,
        '2': 80,
      },
      extraProperty: {},
    },
  ],
  conditions: [],
  enabled: true,
  matchType: 1,
  displayColor: '#FF5722',
})
  .then(response => {
    console.log('Scene updated:', response);
  })
  .catch(error => {
    console.error('Failed to update scene:', error);
  });

Response example

{
  "name": "Home mode",
  "ruleId": "scene_001",
  "ruleGenre": 1
}