A Pump device is a pump that may have variable speed. It may have optional built-in sensors and a regulation mechanism. It is typically used for pumping fluids like water.

PumpDevice requires PumpConfigurationAndControl cluster but PumpConfigurationAndControl is not added by default because you must select the features your device supports. You can add manually using PumpDevice.with().

MatterSpecification.v13.Device § 5.3

interface PumpDevice {
    behaviors: {
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    } & {
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    };
    defaults: StateOf<{
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    }>;
    deviceClass: DeviceClassification;
    deviceRevision: number;
    deviceType: DeviceTypeId;
    name: "Pump";
    requirements: typeof PumpRequirements;
    set(defaults: InputStateOf<{
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    }>): With<For<{
        behaviors: {
            onOff: typeof OnOffServer;
        } & {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 3;
        deviceType: 771;
        name: "Pump";
        requirements: typeof PumpRequirements;
    }>, {
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    }>;
    with<const BL>(...behaviors: BL): With<For<{
        behaviors: {
            onOff: typeof OnOffServer;
        } & {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 3;
        deviceType: 771;
        name: "Pump";
        requirements: typeof PumpRequirements;
    }>, With<{
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    }, BL>>;
}

Hierarchy (view full)

Properties

behaviors: {
    onOff: typeof OnOffServer;
} & {
    identify: typeof IdentifyServer;
} & {
    onOff: typeof OnOffServer;
} & {
    identify: typeof IdentifyServer;
}
defaults: StateOf<{
    onOff: typeof OnOffServer;
} & {
    identify: typeof IdentifyServer;
}>

Access default state values.

deviceRevision: number
deviceType: DeviceTypeId
name
requirements: typeof PumpRequirements

Methods

  • Define an endpoint like this one with different defaults. Only updates values present in the input object.

    Parameters

    • defaults: InputStateOf<{
          onOff: typeof OnOffServer;
      } & {
          identify: typeof IdentifyServer;
      }>

    Returns With<For<{
        behaviors: {
            onOff: typeof OnOffServer;
        } & {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 3;
        deviceType: 771;
        name: "Pump";
        requirements: typeof PumpRequirements;
    }>, {
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    }>

  • Define an endpoint like this one with additional and/or replacement server behaviors.

    Type Parameters

    • const BL extends List

    Parameters

    • Rest...behaviors: BL

    Returns With<For<{
        behaviors: {
            onOff: typeof OnOffServer;
        } & {
            identify: typeof IdentifyServer;
        };
        deviceRevision: 3;
        deviceType: 771;
        name: "Pump";
        requirements: typeof PumpRequirements;
    }>, With<{
        onOff: typeof OnOffServer;
    } & {
        identify: typeof IdentifyServer;
    }, BL>>