This is the default server implementation of PumpConfigurationAndControlBehavior.

The Matter specification requires the PumpConfigurationAndControl cluster to support features we do not enable by default. You should use PumpConfigurationAndControlServer.with to specialize the class for the features your implementation supports.

Hierarchy (view full)

Constructors

Properties

[reference]: Datasource<StateType>
agent: Agent
cluster: never

The implemented cluster.

context: ActionContext
endpoint: Endpoint<Empty>
events: EventEmitter & Omit<Events, never> & {
    capacity$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    effectiveControlMode$Changing: ClusterEvents.AttributeObservable<Attribute<PumpConfigurationAndControl.ControlMode, any>>;
    effectiveOperationMode$Changing: ClusterEvents.AttributeObservable<Attribute<PumpConfigurationAndControl.OperationMode, any>>;
    maxFlow$Changing: ClusterEvents.AttributeObservable<FixedAttribute<null | number, any>>;
    maxPressure$Changing: ClusterEvents.AttributeObservable<FixedAttribute<null | number, any>>;
    maxSpeed$Changing: ClusterEvents.AttributeObservable<FixedAttribute<null | number, any>>;
    operationMode$Changing: ClusterEvents.AttributeObservable<WritableAttribute<PumpConfigurationAndControl.OperationMode, any>>;
} & {
    controlMode$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>>;
    lifetimeEnergyConsumed$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lifetimeRunningHours$Changing: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    power$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
    pumpStatus$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<TypeFromPartialBitSchema<{
        deviceFault: BitFlag;
        localOverride: BitFlag;
        remoteFlow: BitFlag;
        remotePressure: BitFlag;
        remoteTemperature: BitFlag;
        running: BitFlag;
        speedHigh: BitFlag;
        speedLow: BitFlag;
        supplyFault: BitFlag;
    }>, any>>;
    speed$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
} & {
    capacity$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    effectiveControlMode$Changed: ClusterEvents.AttributeObservable<Attribute<PumpConfigurationAndControl.ControlMode, any>>;
    effectiveOperationMode$Changed: ClusterEvents.AttributeObservable<Attribute<PumpConfigurationAndControl.OperationMode, any>>;
    maxFlow$Changed: ClusterEvents.AttributeObservable<FixedAttribute<null | number, any>>;
    maxPressure$Changed: ClusterEvents.AttributeObservable<FixedAttribute<null | number, any>>;
    maxSpeed$Changed: ClusterEvents.AttributeObservable<FixedAttribute<null | number, any>>;
    operationMode$Changed: ClusterEvents.AttributeObservable<WritableAttribute<PumpConfigurationAndControl.OperationMode, any>>;
} & {
    controlMode$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>>;
    lifetimeEnergyConsumed$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    lifetimeRunningHours$Changed: undefined | ClusterEvents.AttributeObservable<OptionalWritableAttribute<null | number, any>>;
    power$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
    pumpStatus$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<TypeFromPartialBitSchema<{
        deviceFault: BitFlag;
        localOverride: BitFlag;
        remoteFlow: BitFlag;
        remotePressure: BitFlag;
        remoteTemperature: BitFlag;
        running: BitFlag;
        speedHigh: BitFlag;
        speedLow: BitFlag;
        supplyFault: BitFlag;
    }>, any>>;
    speed$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
} & {} & {
    airDetection?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    dryRunning?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    electronicFatalFailure?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    electronicNonFatalFailure?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    electronicTemperatureHigh?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    generalFault?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    leakage?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    motorTemperatureHigh?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    powerMissingPhase?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    pumpBlocked?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    pumpMotorFatalFailure?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    sensorFailure?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    supplyVoltageHigh?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    supplyVoltageLow?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    systemPressureHigh?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    systemPressureLow?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
    turbineOperation?: ClusterEvents.EventObservable<OptionalEvent<void, any>>;
}

Access the behavior's events.

features: TypeFromBitSchema<{
    automatic: BitFlag;
    compensatedPressure: BitFlag;
    constantFlow: BitFlag;
    constantPressure: BitFlag;
    constantSpeed: BitFlag;
    constantTemperature: BitFlag;
    localOperation: BitFlag;
}>

Supported features as a flag object.

session: SecureSession
state: Omit<{}, never> & {
    capacity: null | number;
    effectiveControlMode: PumpConfigurationAndControl.ControlMode;
    effectiveOperationMode: PumpConfigurationAndControl.OperationMode;
    operationMode: PumpConfigurationAndControl.OperationMode;
} & {
    controlMode?: PumpConfigurationAndControl.ControlMode;
    lifetimeEnergyConsumed?: null | number;
    lifetimeRunningHours?: null | number;
    power?: null | number;
    pumpStatus?: TypeFromPartialBitSchema<{
        deviceFault: BitFlag;
        localOverride: BitFlag;
        remoteFlow: BitFlag;
        remotePressure: BitFlag;
        remoteTemperature: BitFlag;
        running: BitFlag;
        speedHigh: BitFlag;
        speedLow: BitFlag;
        supplyFault: BitFlag;
    }>;
    speed?: null | number;
} & {
    maxFlow: null | number;
    maxPressure: null | number;
    maxSpeed: null | number;
} & {}

Access the behavior's state.

cluster: 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;
}>

Base cluster state include all attribute values but may be extended by subclasses.

defaults: ClusterState.Type<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;
}>, typeof ClusterBehavior>
dependencies?: Iterable<Type, any, any>
early: boolean
Events: ClusterEvents.Type<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;
}>, typeof ClusterBehavior>
ExtensionInterface: {}
id

The behavior ID for ClusterBehaviors is the name of the cluster.

Interface: {
    components: never[];
}
Internal: (new () => {})

Type declaration

    • new (): {}
    • Implementation of internal state. Subclasses may override to extend.

      Returns {}

    name: string
    schema?: Schema
    State: (new () => ClusterState.Type<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;
    }>, typeof ClusterBehavior>)
    supervisor: RootSupervisor
    supports: ((other: Type) => boolean)

    Type declaration

      • (other): boolean
      • Does this behavior support functionality of a specific implementation?

        Parameters

        Returns boolean

    Methods

    • Execute logic with elevated privileges.

      The provided function executes with privileges escalated to offline mode. This is not commonly necessary.

      Elevated logic effectively ignores ACLs so should be used with care.

      Note that interactions with the behavior will remain elevated until the synchronous completion of this call. You should only elevate privileges for synchronous logic.

      Parameters

      • fn: (() => void)

        the elevated logic

          • (): void
          • Returns void

      Returns void

    • Create a generic callback function that has the same properties as a Reactor.

      Like a reactor, the callback's "this" will be bound to an active Behavior instance. Because of this: The reactor MUST be a real JS function - arrow functions will not work!

      Type Parameters

      • A extends any[]
      • R

      Parameters

      Returns ((...args: A) => undefined | R)

        • (...args): undefined | R
        • Parameters

          • Rest...args: A

          Returns undefined | R

    • Behaviors are ephemeral and should not perform initialization in their constructor. They can override this method instead.

      This method may be synchronous or asyncronous. If asynchronous, the behavior will not be available for external use until initialization completes.

      Parameters

      • Optional_options: {}

        Returns MaybePromise

      • Install a Reactor.

        Important: The reactor MUST be a real JS function - arrow functions will not work!

        Type Parameters

        Parameters

        Returns void

      • Type Parameters

        Parameters

        Returns This