Interface Button

Represents a physical button.

interface Button {
    name: string;
    push: (extra?: Struct) => Promise<void>;
    doCommand(command: Struct | Record<string, JsonValue>): Promise<JsonValue>;
}

Hierarchy (View Summary)

Implemented by

Properties

Methods

Properties

name: string

The name of the resource.

push: (extra?: Struct) => Promise<void>

Push the button.

const button = new VIAM.ButtonClient(machine, 'my_button');

// Push the button
await button.push();

For more information, see Button API.

Methods

  • Send/Receive arbitrary commands to the resource.

    Parameters

    • command: Struct | Record<string, JsonValue>

      The command to execute. Accepts either a Struct or a plain object, which will be converted automatically.

    Returns Promise<JsonValue>

    // Plain object (recommended)
    const result = await resource.doCommand({
    myCommand: { key: 'value' },
    });

    // Struct (still supported)
    import { Struct } from '@viamrobotics/sdk';

    const result = await resource.doCommand(
    Struct.fromJson({ myCommand: { key: 'value' } })
    );