Viam SDK
    Preparing search index...

    Interface Sensor

    Represents a physical sensing device that can provide measurement readings.

    interface Sensor {
        name: string;
        doCommand(command: Struct | Record<string, JsonValue>): Promise<JsonValue>;
        getReadings(extra?: Struct): Promise<Record<string, JsonValue>>;
        getStatus(): Promise<JsonValue>;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    name: string

    The name of the resource.

    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' } }));
    • Return the readings of a sensor.

      Parameters

      Returns Promise<Record<string, JsonValue>>

      const sensor = new VIAM.SensorClient(machine, 'my_sensor');

      // Get the readings of a sensor.
      const readings = await sensor.getReadings();

      For more information, see Sensor API.