The Pump Configuration and Control cluster provides an interface for the setup and control of pump devices, and the automatic reporting of pump status information. Note that control of pump speed is not included – speed is controlled by the On/Off and Level Control clusters.

Per the Matter specification you cannot use PumpConfigurationAndControlCluster without enabling certain feature combinations. You must use the with factory method to obtain a working cluster.

MatterSpecification.v13.Cluster § 4.2

interface Cluster {
    id: ClusterId;
    name: string;
    with: (<const SelectionT>(...selection: SelectionT) => Of<Of<{
        attributes: {
            capacity: Attribute<null | number, any>;
            controlMode: OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>;
            effectiveControlMode: Attribute<PumpConfigurationAndControl.ControlMode, any>;
            effectiveOperationMode: Attribute<PumpConfigurationAndControl.OperationMode, any>;
            lifetimeEnergyConsumed: OptionalWritableAttribute<null | number, any>;
            lifetimeRunningHours: OptionalWritableAttribute<null | number, any>;
            maxFlow: FixedAttribute<null | number, any>;
            maxPressure: FixedAttribute<null | number, any>;
            maxSpeed: FixedAttribute<null | number, any>;
            operationMode: WritableAttribute<PumpConfigurationAndControl.OperationMode, any>;
            power: OptionalAttribute<null | number, any>;
            pumpStatus: OptionalAttribute<TypeFromPartialBitSchema<{
                deviceFault: BitFlag;
                localOverride: BitFlag;
                remoteFlow: BitFlag;
                remotePressure: BitFlag;
                remoteTemperature: BitFlag;
                running: BitFlag;
                speedHigh: BitFlag;
                speedLow: BitFlag;
                supplyFault: BitFlag;
            }>, any>;
            speed: OptionalAttribute<null | number, any>;
        };
        events: {
            airDetection: OptionalEvent<void, any>;
            dryRunning: OptionalEvent<void, any>;
            electronicFatalFailure: OptionalEvent<void, any>;
            electronicNonFatalFailure: OptionalEvent<void, any>;
            electronicTemperatureHigh: OptionalEvent<void, any>;
            generalFault: OptionalEvent<void, any>;
            leakage: OptionalEvent<void, any>;
            motorTemperatureHigh: OptionalEvent<void, any>;
            powerMissingPhase: OptionalEvent<void, any>;
            pumpBlocked: OptionalEvent<void, any>;
            pumpMotorFatalFailure: OptionalEvent<void, any>;
            sensorFailure: OptionalEvent<void, any>;
            supplyVoltageHigh: OptionalEvent<void, any>;
            supplyVoltageLow: OptionalEvent<void, any>;
            systemPressureHigh: OptionalEvent<void, any>;
            systemPressureLow: OptionalEvent<void, any>;
            turbineOperation: OptionalEvent<void, any>;
        };
        extensions: readonly [{
            component: {
                attributes: {
                    maxConstPressure: FixedAttribute<null | number, any>;
                    minConstPressure: FixedAttribute<null | number, any>;
                };
            };
            flags: {
                constantPressure: true;
            };
        }, {
            component: {
                attributes: {
                    maxCompPressure: OptionalFixedAttribute<null | number, any>;
                    maxConstFlow: OptionalFixedAttribute<null | number, any>;
                    maxConstPressure: OptionalFixedAttribute<null | number, any>;
                    maxConstSpeed: OptionalFixedAttribute<null | number, any>;
                    maxConstTemp: OptionalFixedAttribute<null | number, any>;
                    minCompPressure: OptionalFixedAttribute<null | number, any>;
                    minConstFlow: OptionalFixedAttribute<null | number, any>;
                    minConstPressure: OptionalFixedAttribute<null | number, any>;
                    minConstSpeed: OptionalFixedAttribute<null | number, any>;
                    minConstTemp: OptionalFixedAttribute<null | number, any>;
                };
            };
            flags: {
                automatic: true;
            };
        }, {
            component: {
                attributes: {
                    maxCompPressure: FixedAttribute<null | number, any>;
                    minCompPressure: FixedAttribute<null | number, any>;
                };
            };
            flags: {
                compensatedPressure: true;
            };
        }, {
            component: {
                attributes: {
                    maxConstSpeed: FixedAttribute<null | number, any>;
                    minConstSpeed: FixedAttribute<null | number, any>;
                };
            };
            flags: {
                constantSpeed: true;
            };
        }, {
            component: {
                attributes: {
                    maxConstFlow: FixedAttribute<null | number, any>;
                    minConstFlow: FixedAttribute<null | number, any>;
                };
            };
            flags: {
                constantFlow: true;
            };
        }, {
            component: {
                attributes: {
                    maxConstTemp: FixedAttribute<null | number, any>;
                    minConstTemp: FixedAttribute<null | number, any>;
                };
            };
            flags: {
                constantTemperature: true;
            };
        }, {
            component: false;
            flags: {
                compensatedPressure: false;
                constantFlow: false;
                constantPressure: false;
                constantSpeed: false;
                constantTemperature: false;
            };
        }];
        features: {
            automatic: BitFlag;
            compensatedPressure: BitFlag;
            constantFlow: BitFlag;
            constantPressure: BitFlag;
            constantSpeed: BitFlag;
            constantTemperature: BitFlag;
            localOperation: BitFlag;
        };
        id: 512;
        name: "PumpConfigurationAndControl";
        revision: 4;
    }>, SelectionT>);
}

Hierarchy (view full)

Properties

Properties

name: string
with: (<const SelectionT>(...selection: SelectionT) => Of<Of<{
    attributes: {
        capacity: Attribute<null | number, any>;
        controlMode: OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>;
        effectiveControlMode: Attribute<PumpConfigurationAndControl.ControlMode, any>;
        effectiveOperationMode: Attribute<PumpConfigurationAndControl.OperationMode, any>;
        lifetimeEnergyConsumed: OptionalWritableAttribute<null | number, any>;
        lifetimeRunningHours: OptionalWritableAttribute<null | number, any>;
        maxFlow: FixedAttribute<null | number, any>;
        maxPressure: FixedAttribute<null | number, any>;
        maxSpeed: FixedAttribute<null | number, any>;
        operationMode: WritableAttribute<PumpConfigurationAndControl.OperationMode, any>;
        power: OptionalAttribute<null | number, any>;
        pumpStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            deviceFault: BitFlag;
            localOverride: BitFlag;
            remoteFlow: BitFlag;
            remotePressure: BitFlag;
            remoteTemperature: BitFlag;
            running: BitFlag;
            speedHigh: BitFlag;
            speedLow: BitFlag;
            supplyFault: BitFlag;
        }>, any>;
        speed: OptionalAttribute<null | number, any>;
    };
    events: {
        airDetection: OptionalEvent<void, any>;
        dryRunning: OptionalEvent<void, any>;
        electronicFatalFailure: OptionalEvent<void, any>;
        electronicNonFatalFailure: OptionalEvent<void, any>;
        electronicTemperatureHigh: OptionalEvent<void, any>;
        generalFault: OptionalEvent<void, any>;
        leakage: OptionalEvent<void, any>;
        motorTemperatureHigh: OptionalEvent<void, any>;
        powerMissingPhase: OptionalEvent<void, any>;
        pumpBlocked: OptionalEvent<void, any>;
        pumpMotorFatalFailure: OptionalEvent<void, any>;
        sensorFailure: OptionalEvent<void, any>;
        supplyVoltageHigh: OptionalEvent<void, any>;
        supplyVoltageLow: OptionalEvent<void, any>;
        systemPressureHigh: OptionalEvent<void, any>;
        systemPressureLow: OptionalEvent<void, any>;
        turbineOperation: OptionalEvent<void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                maxConstPressure: FixedAttribute<null | number, any>;
                minConstPressure: FixedAttribute<null | number, any>;
            };
        };
        flags: {
            constantPressure: true;
        };
    }, {
        component: {
            attributes: {
                maxCompPressure: OptionalFixedAttribute<null | number, any>;
                maxConstFlow: OptionalFixedAttribute<null | number, any>;
                maxConstPressure: OptionalFixedAttribute<null | number, any>;
                maxConstSpeed: OptionalFixedAttribute<null | number, any>;
                maxConstTemp: OptionalFixedAttribute<null | number, any>;
                minCompPressure: OptionalFixedAttribute<null | number, any>;
                minConstFlow: OptionalFixedAttribute<null | number, any>;
                minConstPressure: OptionalFixedAttribute<null | number, any>;
                minConstSpeed: OptionalFixedAttribute<null | number, any>;
                minConstTemp: OptionalFixedAttribute<null | number, any>;
            };
        };
        flags: {
            automatic: true;
        };
    }, {
        component: {
            attributes: {
                maxCompPressure: FixedAttribute<null | number, any>;
                minCompPressure: FixedAttribute<null | number, any>;
            };
        };
        flags: {
            compensatedPressure: true;
        };
    }, {
        component: {
            attributes: {
                maxConstSpeed: FixedAttribute<null | number, any>;
                minConstSpeed: FixedAttribute<null | number, any>;
            };
        };
        flags: {
            constantSpeed: true;
        };
    }, {
        component: {
            attributes: {
                maxConstFlow: FixedAttribute<null | number, any>;
                minConstFlow: FixedAttribute<null | number, any>;
            };
        };
        flags: {
            constantFlow: true;
        };
    }, {
        component: {
            attributes: {
                maxConstTemp: FixedAttribute<null | number, any>;
                minConstTemp: FixedAttribute<null | number, any>;
            };
        };
        flags: {
            constantTemperature: true;
        };
    }, {
        component: false;
        flags: {
            compensatedPressure: false;
            constantFlow: false;
            constantPressure: false;
            constantSpeed: false;
            constantTemperature: false;
        };
    }];
    features: {
        automatic: BitFlag;
        compensatedPressure: BitFlag;
        constantFlow: BitFlag;
        constantPressure: BitFlag;
        constantSpeed: BitFlag;
        constantTemperature: BitFlag;
        localOperation: BitFlag;
    };
    id: 512;
    name: "PumpConfigurationAndControl";
    revision: 4;
}>, SelectionT>)

Type declaration

    • <const SelectionT>(...selection): Of<Of<{
          attributes: {
              capacity: Attribute<null | number, any>;
              controlMode: OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>;
              effectiveControlMode: Attribute<PumpConfigurationAndControl.ControlMode, any>;
              effectiveOperationMode: Attribute<PumpConfigurationAndControl.OperationMode, any>;
              lifetimeEnergyConsumed: OptionalWritableAttribute<null | number, any>;
              lifetimeRunningHours: OptionalWritableAttribute<null | number, any>;
              maxFlow: FixedAttribute<null | number, any>;
              maxPressure: FixedAttribute<null | number, any>;
              maxSpeed: FixedAttribute<null | number, any>;
              operationMode: WritableAttribute<PumpConfigurationAndControl.OperationMode, any>;
              power: OptionalAttribute<null | number, any>;
              pumpStatus: OptionalAttribute<TypeFromPartialBitSchema<{
                  deviceFault: BitFlag;
                  localOverride: BitFlag;
                  remoteFlow: BitFlag;
                  remotePressure: BitFlag;
                  remoteTemperature: BitFlag;
                  running: BitFlag;
                  speedHigh: BitFlag;
                  speedLow: BitFlag;
                  supplyFault: BitFlag;
              }>, any>;
              speed: OptionalAttribute<null | number, any>;
          };
          events: {
              airDetection: OptionalEvent<void, any>;
              dryRunning: OptionalEvent<void, any>;
              electronicFatalFailure: OptionalEvent<void, any>;
              electronicNonFatalFailure: OptionalEvent<void, any>;
              electronicTemperatureHigh: OptionalEvent<void, any>;
              generalFault: OptionalEvent<void, any>;
              leakage: OptionalEvent<void, any>;
              motorTemperatureHigh: OptionalEvent<void, any>;
              powerMissingPhase: OptionalEvent<void, any>;
              pumpBlocked: OptionalEvent<void, any>;
              pumpMotorFatalFailure: OptionalEvent<void, any>;
              sensorFailure: OptionalEvent<void, any>;
              supplyVoltageHigh: OptionalEvent<void, any>;
              supplyVoltageLow: OptionalEvent<void, any>;
              systemPressureHigh: OptionalEvent<void, any>;
              systemPressureLow: OptionalEvent<void, any>;
              turbineOperation: OptionalEvent<void, any>;
          };
          extensions: readonly [{
              component: {
                  attributes: {
                      maxConstPressure: FixedAttribute<null | number, any>;
                      minConstPressure: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantPressure: true;
              };
          }, {
              component: {
                  attributes: {
                      maxCompPressure: OptionalFixedAttribute<null | number, any>;
                      maxConstFlow: OptionalFixedAttribute<null | number, any>;
                      maxConstPressure: OptionalFixedAttribute<null | number, any>;
                      maxConstSpeed: OptionalFixedAttribute<null | number, any>;
                      maxConstTemp: OptionalFixedAttribute<null | number, any>;
                      minCompPressure: OptionalFixedAttribute<null | number, any>;
                      minConstFlow: OptionalFixedAttribute<null | number, any>;
                      minConstPressure: OptionalFixedAttribute<null | number, any>;
                      minConstSpeed: OptionalFixedAttribute<null | number, any>;
                      minConstTemp: OptionalFixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  automatic: true;
              };
          }, {
              component: {
                  attributes: {
                      maxCompPressure: FixedAttribute<null | number, any>;
                      minCompPressure: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  compensatedPressure: true;
              };
          }, {
              component: {
                  attributes: {
                      maxConstSpeed: FixedAttribute<null | number, any>;
                      minConstSpeed: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantSpeed: true;
              };
          }, {
              component: {
                  attributes: {
                      maxConstFlow: FixedAttribute<null | number, any>;
                      minConstFlow: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantFlow: true;
              };
          }, {
              component: {
                  attributes: {
                      maxConstTemp: FixedAttribute<null | number, any>;
                      minConstTemp: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantTemperature: true;
              };
          }, {
              component: false;
              flags: {
                  compensatedPressure: false;
                  constantFlow: false;
                  constantPressure: false;
                  constantSpeed: false;
                  constantTemperature: false;
              };
          }];
          features: {
              automatic: BitFlag;
              compensatedPressure: BitFlag;
              constantFlow: BitFlag;
              constantPressure: BitFlag;
              constantSpeed: BitFlag;
              constantTemperature: BitFlag;
              localOperation: BitFlag;
          };
          id: 512;
          name: "PumpConfigurationAndControl";
          revision: 4;
      }>, SelectionT>
    • Select features using ClusterComposer.compose.

      Type Parameters

      • const SelectionT extends FeatureSelection<Of<{
            attributes: {
                capacity: Attribute<null | number, any>;
                controlMode: OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>;
                effectiveControlMode: Attribute<PumpConfigurationAndControl.ControlMode, any>;
                effectiveOperationMode: Attribute<PumpConfigurationAndControl.OperationMode, any>;
                lifetimeEnergyConsumed: OptionalWritableAttribute<null | number, any>;
                lifetimeRunningHours: OptionalWritableAttribute<null | number, any>;
                maxFlow: FixedAttribute<null | number, any>;
                maxPressure: FixedAttribute<null | number, any>;
                maxSpeed: FixedAttribute<null | number, any>;
                operationMode: WritableAttribute<PumpConfigurationAndControl.OperationMode, any>;
                power: OptionalAttribute<null | number, any>;
                pumpStatus: OptionalAttribute<TypeFromPartialBitSchema<{
                    deviceFault: BitFlag;
                    localOverride: BitFlag;
                    remoteFlow: BitFlag;
                    remotePressure: BitFlag;
                    remoteTemperature: BitFlag;
                    running: BitFlag;
                    speedHigh: BitFlag;
                    speedLow: BitFlag;
                    supplyFault: BitFlag;
                }>, any>;
                speed: OptionalAttribute<null | number, any>;
            };
            events: {
                airDetection: OptionalEvent<void, any>;
                dryRunning: OptionalEvent<void, any>;
                electronicFatalFailure: OptionalEvent<void, any>;
                electronicNonFatalFailure: OptionalEvent<void, any>;
                electronicTemperatureHigh: OptionalEvent<void, any>;
                generalFault: OptionalEvent<void, any>;
                leakage: OptionalEvent<void, any>;
                motorTemperatureHigh: OptionalEvent<void, any>;
                powerMissingPhase: OptionalEvent<void, any>;
                pumpBlocked: OptionalEvent<void, any>;
                pumpMotorFatalFailure: OptionalEvent<void, any>;
                sensorFailure: OptionalEvent<void, any>;
                supplyVoltageHigh: OptionalEvent<void, any>;
                supplyVoltageLow: OptionalEvent<void, any>;
                systemPressureHigh: OptionalEvent<void, any>;
                systemPressureLow: OptionalEvent<void, any>;
                turbineOperation: OptionalEvent<void, any>;
            };
            extensions: readonly [{
                component: {
                    attributes: {
                        maxConstPressure: FixedAttribute<null | number, any>;
                        minConstPressure: FixedAttribute<null | number, any>;
                    };
                };
                flags: {
                    constantPressure: true;
                };
            }, {
                component: {
                    attributes: {
                        maxCompPressure: OptionalFixedAttribute<null | number, any>;
                        maxConstFlow: OptionalFixedAttribute<null | number, any>;
                        maxConstPressure: OptionalFixedAttribute<null | number, any>;
                        maxConstSpeed: OptionalFixedAttribute<null | number, any>;
                        maxConstTemp: OptionalFixedAttribute<null | number, any>;
                        minCompPressure: OptionalFixedAttribute<null | number, any>;
                        minConstFlow: OptionalFixedAttribute<null | number, any>;
                        minConstPressure: OptionalFixedAttribute<null | number, any>;
                        minConstSpeed: OptionalFixedAttribute<null | number, any>;
                        minConstTemp: OptionalFixedAttribute<null | number, any>;
                    };
                };
                flags: {
                    automatic: true;
                };
            }, {
                component: {
                    attributes: {
                        maxCompPressure: FixedAttribute<null | number, any>;
                        minCompPressure: FixedAttribute<null | number, any>;
                    };
                };
                flags: {
                    compensatedPressure: true;
                };
            }, {
                component: {
                    attributes: {
                        maxConstSpeed: FixedAttribute<null | number, any>;
                        minConstSpeed: FixedAttribute<null | number, any>;
                    };
                };
                flags: {
                    constantSpeed: true;
                };
            }, {
                component: {
                    attributes: {
                        maxConstFlow: FixedAttribute<null | number, any>;
                        minConstFlow: FixedAttribute<null | number, any>;
                    };
                };
                flags: {
                    constantFlow: true;
                };
            }, {
                component: {
                    attributes: {
                        maxConstTemp: FixedAttribute<null | number, any>;
                        minConstTemp: FixedAttribute<null | number, any>;
                    };
                };
                flags: {
                    constantTemperature: true;
                };
            }, {
                component: false;
                flags: {
                    compensatedPressure: false;
                    constantFlow: false;
                    constantPressure: false;
                    constantSpeed: false;
                    constantTemperature: false;
                };
            }];
            features: {
                automatic: BitFlag;
                compensatedPressure: BitFlag;
                constantFlow: BitFlag;
                constantPressure: BitFlag;
                constantSpeed: BitFlag;
                constantTemperature: BitFlag;
                localOperation: BitFlag;
            };
            id: 512;
            name: "PumpConfigurationAndControl";
            revision: 4;
        }>>

      Parameters

      Returns Of<Of<{
          attributes: {
              capacity: Attribute<null | number, any>;
              controlMode: OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>;
              effectiveControlMode: Attribute<PumpConfigurationAndControl.ControlMode, any>;
              effectiveOperationMode: Attribute<PumpConfigurationAndControl.OperationMode, any>;
              lifetimeEnergyConsumed: OptionalWritableAttribute<null | number, any>;
              lifetimeRunningHours: OptionalWritableAttribute<null | number, any>;
              maxFlow: FixedAttribute<null | number, any>;
              maxPressure: FixedAttribute<null | number, any>;
              maxSpeed: FixedAttribute<null | number, any>;
              operationMode: WritableAttribute<PumpConfigurationAndControl.OperationMode, any>;
              power: OptionalAttribute<null | number, any>;
              pumpStatus: OptionalAttribute<TypeFromPartialBitSchema<{
                  deviceFault: BitFlag;
                  localOverride: BitFlag;
                  remoteFlow: BitFlag;
                  remotePressure: BitFlag;
                  remoteTemperature: BitFlag;
                  running: BitFlag;
                  speedHigh: BitFlag;
                  speedLow: BitFlag;
                  supplyFault: BitFlag;
              }>, any>;
              speed: OptionalAttribute<null | number, any>;
          };
          events: {
              airDetection: OptionalEvent<void, any>;
              dryRunning: OptionalEvent<void, any>;
              electronicFatalFailure: OptionalEvent<void, any>;
              electronicNonFatalFailure: OptionalEvent<void, any>;
              electronicTemperatureHigh: OptionalEvent<void, any>;
              generalFault: OptionalEvent<void, any>;
              leakage: OptionalEvent<void, any>;
              motorTemperatureHigh: OptionalEvent<void, any>;
              powerMissingPhase: OptionalEvent<void, any>;
              pumpBlocked: OptionalEvent<void, any>;
              pumpMotorFatalFailure: OptionalEvent<void, any>;
              sensorFailure: OptionalEvent<void, any>;
              supplyVoltageHigh: OptionalEvent<void, any>;
              supplyVoltageLow: OptionalEvent<void, any>;
              systemPressureHigh: OptionalEvent<void, any>;
              systemPressureLow: OptionalEvent<void, any>;
              turbineOperation: OptionalEvent<void, any>;
          };
          extensions: readonly [{
              component: {
                  attributes: {
                      maxConstPressure: FixedAttribute<null | number, any>;
                      minConstPressure: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantPressure: true;
              };
          }, {
              component: {
                  attributes: {
                      maxCompPressure: OptionalFixedAttribute<null | number, any>;
                      maxConstFlow: OptionalFixedAttribute<null | number, any>;
                      maxConstPressure: OptionalFixedAttribute<null | number, any>;
                      maxConstSpeed: OptionalFixedAttribute<null | number, any>;
                      maxConstTemp: OptionalFixedAttribute<null | number, any>;
                      minCompPressure: OptionalFixedAttribute<null | number, any>;
                      minConstFlow: OptionalFixedAttribute<null | number, any>;
                      minConstPressure: OptionalFixedAttribute<null | number, any>;
                      minConstSpeed: OptionalFixedAttribute<null | number, any>;
                      minConstTemp: OptionalFixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  automatic: true;
              };
          }, {
              component: {
                  attributes: {
                      maxCompPressure: FixedAttribute<null | number, any>;
                      minCompPressure: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  compensatedPressure: true;
              };
          }, {
              component: {
                  attributes: {
                      maxConstSpeed: FixedAttribute<null | number, any>;
                      minConstSpeed: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantSpeed: true;
              };
          }, {
              component: {
                  attributes: {
                      maxConstFlow: FixedAttribute<null | number, any>;
                      minConstFlow: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantFlow: true;
              };
          }, {
              component: {
                  attributes: {
                      maxConstTemp: FixedAttribute<null | number, any>;
                      minConstTemp: FixedAttribute<null | number, any>;
                  };
              };
              flags: {
                  constantTemperature: true;
              };
          }, {
              component: false;
              flags: {
                  compensatedPressure: false;
                  constantFlow: false;
                  constantPressure: false;
                  constantSpeed: false;
                  constantTemperature: false;
              };
          }];
          features: {
              automatic: BitFlag;
              compensatedPressure: BitFlag;
              constantFlow: BitFlag;
              constantPressure: BitFlag;
              constantSpeed: BitFlag;
              constantTemperature: BitFlag;
              localOperation: BitFlag;
          };
          id: 512;
          name: "PumpConfigurationAndControl";
          revision: 4;
      }>, SelectionT>