matterbridge
Version:
Matterbridge plugin manager for Matter
843 lines • 117 kB
TypeScript
import { AnsiLogger } from './logger/export.js';
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
import { MatterbridgeIdentifyServer, MatterbridgeOnOffServer, MatterbridgeLevelControlServer, MatterbridgeColorControlServer, MatterbridgeWindowCoveringServer, MatterbridgeThermostatServer, MatterbridgeFanControlServer, MatterbridgeDoorLockServer, MatterbridgeModeSelectServer, MatterbridgeValveConfigurationAndControlServer, MatterbridgeSmokeCoAlarmServer, MatterbridgeBooleanStateConfigurationServer } from './matterbridgeBehaviors.js';
import { Behavior, ClusterId, Endpoint } from '@matter/main';
import { ClusterType } from '@matter/main/types';
import { PowerSource } from '@matter/main/clusters/power-source';
import { OnOff } from '@matter/main/clusters/on-off';
import { LevelControl } from '@matter/main/clusters/level-control';
import { WindowCovering } from '@matter/main/clusters/window-covering';
import { Thermostat } from '@matter/main/clusters/thermostat';
import { ValveConfigurationAndControl } from '@matter/main/clusters/valve-configuration-and-control';
import { PumpConfigurationAndControl } from '@matter/main/clusters/pump-configuration-and-control';
import { SmokeCoAlarm } from '@matter/main/clusters/smoke-co-alarm';
import { BooleanState } from '@matter/main/clusters/boolean-state';
import { ElectricalPowerMeasurement } from '@matter/main/clusters/electrical-power-measurement';
import { AirQuality } from '@matter/main/clusters/air-quality';
import { PowerSourceServer } from '@matter/main/behaviors/power-source';
import { UserLabelServer } from '@matter/main/behaviors/user-label';
import { FixedLabelServer } from '@matter/main/behaviors/fixed-label';
import { BasicInformationServer } from '@matter/main/behaviors/basic-information';
import { BridgedDeviceBasicInformationServer } from '@matter/main/behaviors/bridged-device-basic-information';
import { GroupsServer } from '@matter/main/behaviors/groups';
import { PumpConfigurationAndControlServer } from '@matter/main/behaviors/pump-configuration-and-control';
import { SwitchServer } from '@matter/main/behaviors/switch';
import { BooleanStateServer } from '@matter/main/behaviors/boolean-state';
import { PowerTopologyServer } from '@matter/main/behaviors/power-topology';
import { ElectricalPowerMeasurementServer } from '@matter/main/behaviors/electrical-power-measurement';
import { ElectricalEnergyMeasurementServer } from '@matter/main/behaviors/electrical-energy-measurement';
import { TemperatureMeasurementServer } from '@matter/main/behaviors/temperature-measurement';
import { RelativeHumidityMeasurementServer } from '@matter/main/behaviors/relative-humidity-measurement';
import { PressureMeasurementServer } from '@matter/main/behaviors/pressure-measurement';
import { FlowMeasurementServer } from '@matter/main/behaviors/flow-measurement';
import { IlluminanceMeasurementServer } from '@matter/main/behaviors/illuminance-measurement';
import { OccupancySensingServer } from '@matter/main/behaviors/occupancy-sensing';
import { AirQualityServer } from '@matter/main/behaviors/air-quality';
import { CarbonMonoxideConcentrationMeasurementServer } from '@matter/main/behaviors/carbon-monoxide-concentration-measurement';
import { CarbonDioxideConcentrationMeasurementServer } from '@matter/main/behaviors/carbon-dioxide-concentration-measurement';
import { NitrogenDioxideConcentrationMeasurementServer } from '@matter/main/behaviors/nitrogen-dioxide-concentration-measurement';
import { OzoneConcentrationMeasurementServer } from '@matter/main/behaviors/ozone-concentration-measurement';
import { FormaldehydeConcentrationMeasurementServer } from '@matter/main/behaviors/formaldehyde-concentration-measurement';
import { Pm1ConcentrationMeasurementServer } from '@matter/main/behaviors/pm1-concentration-measurement';
import { Pm25ConcentrationMeasurementServer } from '@matter/main/behaviors/pm25-concentration-measurement';
import { Pm10ConcentrationMeasurementServer } from '@matter/main/behaviors/pm10-concentration-measurement';
import { RadonConcentrationMeasurementServer } from '@matter/main/behaviors/radon-concentration-measurement';
import { TotalVolatileOrganicCompoundsConcentrationMeasurementServer } from '@matter/main/behaviors/total-volatile-organic-compounds-concentration-measurement';
export declare function capitalizeFirstLetter(name: string): string;
export declare function lowercaseFirstLetter(name: string): string;
export declare function checkNotLatinCharacters(deviceName: string): boolean;
export declare function generateUniqueId(deviceName: string): string;
export declare function createUniqueId(param1: string, param2: string, param3: string, param4: string): string;
export declare function getBehaviourTypesFromClusterServerIds(clusterServerList: ClusterId[]): Behavior.Type[];
export declare function getBehaviourTypesFromClusterClientIds(clusterClientList: ClusterId[]): Behavior.Type[];
export declare function getBehaviourTypeFromClusterServerId(clusterId: ClusterId): typeof MatterbridgeIdentifyServer | typeof MatterbridgeColorControlServer | typeof MatterbridgeDoorLockServer | typeof MatterbridgeModeSelectServer | typeof MatterbridgeFanControlServer | typeof MatterbridgeBooleanStateConfigurationServer | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<PowerSource.Cluster, readonly [PowerSource.Feature.Wired]>, typeof PowerSourceServer, {
components: never[];
}> | typeof UserLabelServer | typeof FixedLabelServer | typeof BasicInformationServer | typeof BridgedDeviceBasicInformationServer | typeof GroupsServer | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<import("@matter/main/types").ClusterComposer.WithFeatures<OnOff.Cluster, readonly [OnOff.Feature.Lighting]>, readonly ["Lighting"]>, typeof MatterbridgeOnOffServer, import("@matter/node/behaviors").OnOffInterface> | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<import("@matter/main/types").ClusterComposer.WithFeatures<import("@matter/main/types").ClusterComposer.WithFeatures<LevelControl.Cluster, readonly [LevelControl.Feature.OnOff, LevelControl.Feature.Lighting]>, readonly [LevelControl.Feature.OnOff]>, readonly ["OnOff", "Lighting"]>, typeof MatterbridgeLevelControlServer, import("@matter/node/behaviors").LevelControlInterface> | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<import("@matter/main/types").ClusterComposer.WithFeatures<ClusterType.Of<{
readonly id: 258;
readonly name: "WindowCovering";
readonly revision: 5;
readonly features: {
readonly lift: import("@matter/main/types").BitFlag;
readonly tilt: import("@matter/main/types").BitFlag;
readonly positionAwareLift: import("@matter/main/types").BitFlag;
readonly absolutePosition: import("@matter/main/types").BitFlag;
readonly positionAwareTilt: import("@matter/main/types").BitFlag;
};
readonly attributes: {
readonly type: import("@matter/main/types").FixedAttribute<WindowCovering.WindowCoveringType, any>;
readonly configStatus: import("@matter/main/types").Attribute<import("@matter/main/types").TypeFromPartialBitSchema<{
operational: import("@matter/main/types").BitFlag;
onlineReserved: import("@matter/main/types").BitFlag;
liftMovementReversed: import("@matter/main/types").BitFlag;
liftPositionAware: import("@matter/main/types").BitFlag;
tiltPositionAware: import("@matter/main/types").BitFlag;
liftEncoderControlled: import("@matter/main/types").BitFlag;
tiltEncoderControlled: import("@matter/main/types").BitFlag;
}>, any>;
readonly operationalStatus: import("@matter/main/types").Attribute<import("@matter/main/types").TypeFromPartialBitSchema<{
global: import("@matter/main/types").BitFieldEnum<WindowCovering.MovementStatus>;
lift: import("@matter/main/types").BitFieldEnum<WindowCovering.MovementStatus>;
tilt: import("@matter/main/types").BitFieldEnum<WindowCovering.MovementStatus>;
}>, any>;
readonly endProductType: import("@matter/main/types").FixedAttribute<WindowCovering.EndProductType, any>;
readonly mode: import("@matter/main/types").WritableAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
motorDirectionReversed: import("@matter/main/types").BitFlag;
calibrationMode: import("@matter/main/types").BitFlag;
maintenanceMode: import("@matter/main/types").BitFlag;
ledFeedback: import("@matter/main/types").BitFlag;
}>, any>;
readonly safetyStatus: import("@matter/main/types").OptionalAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
remoteLockout: import("@matter/main/types").BitFlag;
tamperDetection: import("@matter/main/types").BitFlag;
failedCommunication: import("@matter/main/types").BitFlag;
positionFailure: import("@matter/main/types").BitFlag;
thermalProtection: import("@matter/main/types").BitFlag;
obstacleDetected: import("@matter/main/types").BitFlag;
power: import("@matter/main/types").BitFlag;
stopInput: import("@matter/main/types").BitFlag;
motorJammed: import("@matter/main/types").BitFlag;
hardwareFailure: import("@matter/main/types").BitFlag;
manualOperation: import("@matter/main/types").BitFlag;
protection: import("@matter/main/types").BitFlag;
}>, any>;
};
readonly commands: {
readonly upOrOpen: import("@matter/main/types").Command<void, void, any>;
readonly downOrClose: import("@matter/main/types").Command<void, void, any>;
readonly stopMotion: import("@matter/main/types").Command<void, void, any>;
};
readonly extensions: readonly [{
readonly flags: {
readonly lift: true;
readonly positionAwareLift: true;
readonly absolutePosition: true;
};
readonly component: {
readonly attributes: {
readonly physicalClosedLimitLift: import("@matter/main/types").OptionalFixedAttribute<number, any>;
readonly currentPositionLift: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly installedOpenLimitLift: import("@matter/main/types").Attribute<number, any>;
readonly installedClosedLimitLift: import("@matter/main/types").Attribute<number, any>;
};
};
}, {
readonly flags: {
readonly tilt: true;
readonly positionAwareTilt: true;
readonly absolutePosition: true;
};
readonly component: {
readonly attributes: {
readonly physicalClosedLimitTilt: import("@matter/main/types").OptionalFixedAttribute<number, any>;
readonly currentPositionTilt: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly installedOpenLimitTilt: import("@matter/main/types").Attribute<number, any>;
readonly installedClosedLimitTilt: import("@matter/main/types").Attribute<number, any>;
};
};
}, {
readonly flags: {
readonly lift: true;
};
readonly component: {
readonly attributes: {
readonly numberOfActuationsLift: import("@matter/main/types").OptionalAttribute<number, any>;
};
readonly commands: {
readonly goToLiftPercentage: import("@matter/main/types").OptionalCommand<import("@matter/main/types").TypeFromFields<{
liftPercent100thsValue: import("@matter/main/types").FieldType<number>;
}>, void, any>;
};
};
}, {
readonly flags: {
readonly tilt: true;
};
readonly component: {
readonly attributes: {
readonly numberOfActuationsTilt: import("@matter/main/types").OptionalAttribute<number, any>;
};
readonly commands: {
readonly goToTiltPercentage: import("@matter/main/types").OptionalCommand<import("@matter/main/types").TypeFromFields<{
tiltPercent100thsValue: import("@matter/main/types").FieldType<number>;
}>, void, any>;
};
};
}, {
readonly flags: {
readonly lift: true;
readonly positionAwareLift: true;
};
readonly component: {
readonly attributes: {
readonly currentPositionLiftPercentage: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly targetPositionLiftPercent100ths: import("@matter/main/types").Attribute<number | null, any>;
readonly currentPositionLiftPercent100ths: import("@matter/main/types").Attribute<number | null, any>;
};
readonly commands: {
readonly goToLiftPercentage: import("@matter/main/types").Command<import("@matter/main/types").TypeFromFields<{
liftPercent100thsValue: import("@matter/main/types").FieldType<number>;
}>, void, any>;
};
};
}, {
readonly flags: {
readonly tilt: true;
readonly positionAwareTilt: true;
};
readonly component: {
readonly attributes: {
readonly currentPositionTiltPercentage: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly targetPositionTiltPercent100ths: import("@matter/main/types").Attribute<number | null, any>;
readonly currentPositionTiltPercent100ths: import("@matter/main/types").Attribute<number | null, any>;
};
readonly commands: {
readonly goToTiltPercentage: import("@matter/main/types").Command<import("@matter/main/types").TypeFromFields<{
tiltPercent100thsValue: import("@matter/main/types").FieldType<number>;
}>, void, any>;
};
};
}, {
readonly flags: {
readonly lift: true;
readonly absolutePosition: true;
};
readonly component: {
readonly commands: {
readonly goToLiftValue: import("@matter/main/types").OptionalCommand<import("@matter/main/types").TypeFromFields<{
liftValue: import("@matter/main/types").FieldType<number>;
}>, void, any>;
};
};
}, {
readonly flags: {
readonly tilt: true;
readonly absolutePosition: true;
};
readonly component: {
readonly commands: {
readonly goToTiltValue: import("@matter/main/types").OptionalCommand<import("@matter/main/types").TypeFromFields<{
tiltValue: import("@matter/main/types").FieldType<number>;
}>, void, any>;
};
};
}, {
readonly flags: {
readonly positionAwareLift: true;
readonly lift: false;
};
readonly component: false;
}, {
readonly flags: {
readonly positionAwareTilt: true;
readonly tilt: false;
};
readonly component: false;
}, {
readonly flags: {
readonly lift: false;
readonly tilt: false;
};
readonly component: false;
}];
}>, readonly [WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift]>, readonly ["Lift", "PositionAwareLift"]>, typeof MatterbridgeWindowCoveringServer, import("@matter/node/behaviors").WindowCoveringInterface> | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<import("@matter/main/types").ClusterComposer.WithFeatures<ClusterType.Of<{
readonly id: 513;
readonly name: "Thermostat";
readonly revision: 6;
readonly features: {
readonly heating: import("@matter/main/types").BitFlag;
readonly cooling: import("@matter/main/types").BitFlag;
readonly occupancy: import("@matter/main/types").BitFlag;
readonly scheduleConfiguration: import("@matter/main/types").BitFlag;
readonly setback: import("@matter/main/types").BitFlag;
readonly autoMode: import("@matter/main/types").BitFlag;
readonly localTemperatureNotExposed: import("@matter/main/types").BitFlag;
};
readonly attributes: {
readonly localTemperature: import("@matter/main/types").Attribute<number | null, any>;
readonly outdoorTemperature: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly hvacSystemTypeConfiguration: import("@matter/main/types").OptionalWritableAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
coolingStage: import("@matter/main/types").BitField;
heatingStage: import("@matter/main/types").BitField;
heatingIsHeatPump: import("@matter/main/types").BitFlag;
heatingUsesFuel: import("@matter/main/types").BitFlag;
}>, any>;
readonly remoteSensing: import("@matter/main/types").OptionalWritableAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
localTemperature: import("@matter/main/types").BitFlag;
outdoorTemperature: import("@matter/main/types").BitFlag;
occupancy: import("@matter/main/types").BitFlag;
}>, any>;
readonly controlSequenceOfOperation: import("@matter/main/types").WritableAttribute<Thermostat.ControlSequenceOfOperation, any>;
readonly systemMode: import("@matter/main/types").WritableAttribute<Thermostat.SystemMode, any>;
readonly temperatureSetpointHold: import("@matter/main/types").OptionalWritableAttribute<Thermostat.TemperatureSetpointHold, any>;
readonly temperatureSetpointHoldDuration: import("@matter/main/types").OptionalWritableAttribute<number | null, any>;
readonly thermostatProgrammingOperationMode: import("@matter/main/types").OptionalWritableAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
scheduleActive: import("@matter/main/types").BitFlag;
autoRecovery: import("@matter/main/types").BitFlag;
economy: import("@matter/main/types").BitFlag;
}>, any>;
readonly thermostatRunningState: import("@matter/main/types").OptionalAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
heat: import("@matter/main/types").BitFlag;
cool: import("@matter/main/types").BitFlag;
fan: import("@matter/main/types").BitFlag;
heatStage2: import("@matter/main/types").BitFlag;
coolStage2: import("@matter/main/types").BitFlag;
fanStage2: import("@matter/main/types").BitFlag;
fanStage3: import("@matter/main/types").BitFlag;
}>, any>;
readonly setpointChangeSource: import("@matter/main/types").OptionalAttribute<Thermostat.SetpointChangeSource, any>;
readonly setpointChangeAmount: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly setpointChangeSourceTimestamp: import("@matter/main/types").OptionalAttribute<number, any>;
readonly emergencyHeatDelta: import("@matter/main/types").OptionalWritableAttribute<number, any>;
readonly acType: import("@matter/main/types").OptionalWritableAttribute<Thermostat.AcType, any>;
readonly acCapacity: import("@matter/main/types").OptionalWritableAttribute<number, any>;
readonly acRefrigerantType: import("@matter/main/types").OptionalWritableAttribute<Thermostat.AcRefrigerantType, any>;
readonly acCompressorType: import("@matter/main/types").OptionalWritableAttribute<Thermostat.AcCompressorType, any>;
readonly acErrorCode: import("@matter/main/types").OptionalWritableAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
compressorFail: import("@matter/main/types").BitFlag;
roomSensorFail: import("@matter/main/types").BitFlag;
outdoorSensorFail: import("@matter/main/types").BitFlag;
coilSensorFail: import("@matter/main/types").BitFlag;
fanFail: import("@matter/main/types").BitFlag;
}>, any>;
readonly acLouverPosition: import("@matter/main/types").OptionalWritableAttribute<Thermostat.AcLouverPosition, any>;
readonly acCoilTemperature: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly acCapacityFormat: import("@matter/main/types").OptionalWritableAttribute<Thermostat.AcCapacityFormat, any>;
};
readonly commands: {
readonly setpointRaiseLower: import("@matter/main/types").Command<import("@matter/main/types").TypeFromFields<{
mode: import("@matter/main/types").FieldType<Thermostat.SetpointRaiseLowerMode>;
amount: import("@matter/main/types").FieldType<number>;
}>, void, any>;
};
readonly extensions: readonly [{
readonly flags: {
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly occupancy: import("@matter/main/types").Attribute<import("@matter/main/types").TypeFromPartialBitSchema<{
occupied: import("@matter/main/types").BitFlag;
}>, any>;
};
};
}, {
readonly flags: {
readonly heating: true;
};
readonly component: {
readonly attributes: {
readonly absMinHeatSetpointLimit: import("@matter/main/types").OptionalFixedAttribute<number, any>;
readonly absMaxHeatSetpointLimit: import("@matter/main/types").OptionalFixedAttribute<number, any>;
readonly piHeatingDemand: import("@matter/main/types").OptionalAttribute<number, any>;
readonly occupiedHeatingSetpoint: import("@matter/main/types").WritableAttribute<number, any>;
readonly minHeatSetpointLimit: import("@matter/main/types").OptionalWritableAttribute<number, any>;
readonly maxHeatSetpointLimit: import("@matter/main/types").OptionalWritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly cooling: true;
};
readonly component: {
readonly attributes: {
readonly absMinCoolSetpointLimit: import("@matter/main/types").OptionalFixedAttribute<number, any>;
readonly absMaxCoolSetpointLimit: import("@matter/main/types").OptionalFixedAttribute<number, any>;
readonly piCoolingDemand: import("@matter/main/types").OptionalAttribute<number, any>;
readonly occupiedCoolingSetpoint: import("@matter/main/types").WritableAttribute<number, any>;
readonly minCoolSetpointLimit: import("@matter/main/types").OptionalWritableAttribute<number, any>;
readonly maxCoolSetpointLimit: import("@matter/main/types").OptionalWritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly localTemperatureNotExposed: false;
};
readonly component: {
readonly attributes: {
readonly localTemperatureCalibration: import("@matter/main/types").OptionalWritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly cooling: true;
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly unoccupiedCoolingSetpoint: import("@matter/main/types").WritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly heating: true;
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly unoccupiedHeatingSetpoint: import("@matter/main/types").WritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly autoMode: true;
};
readonly component: {
readonly attributes: {
readonly minSetpointDeadBand: import("@matter/main/types").WritableAttribute<number, any>;
readonly thermostatRunningMode: import("@matter/main/types").OptionalAttribute<Thermostat.ThermostatRunningMode, any>;
};
};
}, {
readonly flags: {
readonly scheduleConfiguration: true;
};
readonly component: {
readonly attributes: {
readonly startOfWeek: import("@matter/main/types").FixedAttribute<Thermostat.StartOfWeek, any>;
readonly numberOfWeeklyTransitions: import("@matter/main/types").FixedAttribute<number, any>;
readonly numberOfDailyTransitions: import("@matter/main/types").FixedAttribute<number, any>;
};
readonly commands: {
readonly setWeeklySchedule: import("@matter/main/types").Command<import("@matter/main/types").TypeFromFields<{
numberOfTransitionsForSequence: import("@matter/main/types").FieldType<number>;
dayOfWeekForSequence: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromPartialBitSchema<{
sunday: import("@matter/main/types").BitFlag;
monday: import("@matter/main/types").BitFlag;
tuesday: import("@matter/main/types").BitFlag;
wednesday: import("@matter/main/types").BitFlag;
thursday: import("@matter/main/types").BitFlag;
friday: import("@matter/main/types").BitFlag;
saturday: import("@matter/main/types").BitFlag;
away: import("@matter/main/types").BitFlag;
}>>;
modeForSequence: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromPartialBitSchema<{
heatSetpointPresent: import("@matter/main/types").BitFlag;
coolSetpointPresent: import("@matter/main/types").BitFlag;
}>>;
transitions: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromFields<{
transitionTime: import("@matter/main/types").FieldType<number>;
heatSetpoint: import("@matter/main/types").FieldType<number | null>;
coolSetpoint: import("@matter/main/types").FieldType<number | null>;
}>[]>;
}>, void, any>;
readonly getWeeklySchedule: import("@matter/main/types").Command<import("@matter/main/types").TypeFromFields<{
daysToReturn: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromPartialBitSchema<{
sunday: import("@matter/main/types").BitFlag;
monday: import("@matter/main/types").BitFlag;
tuesday: import("@matter/main/types").BitFlag;
wednesday: import("@matter/main/types").BitFlag;
thursday: import("@matter/main/types").BitFlag;
friday: import("@matter/main/types").BitFlag;
saturday: import("@matter/main/types").BitFlag;
away: import("@matter/main/types").BitFlag;
}>>;
modeToReturn: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromPartialBitSchema<{
heatSetpointPresent: import("@matter/main/types").BitFlag;
coolSetpointPresent: import("@matter/main/types").BitFlag;
}>>;
}>, import("@matter/main/types").TypeFromFields<{
numberOfTransitionsForSequence: import("@matter/main/types").FieldType<number>;
dayOfWeekForSequence: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromPartialBitSchema<{
sunday: import("@matter/main/types").BitFlag;
monday: import("@matter/main/types").BitFlag;
tuesday: import("@matter/main/types").BitFlag;
wednesday: import("@matter/main/types").BitFlag;
thursday: import("@matter/main/types").BitFlag;
friday: import("@matter/main/types").BitFlag;
saturday: import("@matter/main/types").BitFlag;
away: import("@matter/main/types").BitFlag;
}>>;
modeForSequence: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromPartialBitSchema<{
heatSetpointPresent: import("@matter/main/types").BitFlag;
coolSetpointPresent: import("@matter/main/types").BitFlag;
}>>;
transitions: import("@matter/main/types").FieldType<import("@matter/main/types").TypeFromFields<{
transitionTime: import("@matter/main/types").FieldType<number>;
heatSetpoint: import("@matter/main/types").FieldType<number | null>;
coolSetpoint: import("@matter/main/types").FieldType<number | null>;
}>[]>;
}>, any>;
readonly clearWeeklySchedule: import("@matter/main/types").Command<void, void, any>;
};
};
}, {
readonly flags: {
readonly setback: true;
};
readonly component: {
readonly attributes: {
readonly occupiedSetback: import("@matter/main/types").WritableAttribute<number | null, any>;
readonly occupiedSetbackMin: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly occupiedSetbackMax: import("@matter/main/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly setback: true;
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly unoccupiedSetback: import("@matter/main/types").WritableAttribute<number | null, any>;
readonly unoccupiedSetbackMin: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly unoccupiedSetbackMax: import("@matter/main/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly autoMode: true;
readonly heating: false;
};
readonly component: false;
}, {
readonly flags: {
readonly autoMode: true;
readonly cooling: false;
};
readonly component: false;
}, {
readonly flags: {
readonly heating: false;
readonly cooling: false;
};
readonly component: false;
}];
}>, readonly [Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode]>, readonly ["AutoMode", "Heating", "Cooling"]>, typeof MatterbridgeThermostatServer, import("@matter/node/behaviors").ThermostatInterface> | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<import("@matter/main/types").ClusterComposer.WithFeatures<ValveConfigurationAndControl.Cluster, readonly [ValveConfigurationAndControl.Feature.Level]>, readonly ["Level"]>, typeof MatterbridgeValveConfigurationAndControlServer, import("@matter/node/behaviors").ValveConfigurationAndControlInterface> | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<ClusterType.Of<{
readonly id: 512;
readonly name: "PumpConfigurationAndControl";
readonly revision: 4;
readonly features: {
readonly constantPressure: import("@matter/main/types").BitFlag;
readonly compensatedPressure: import("@matter/main/types").BitFlag;
readonly constantFlow: import("@matter/main/types").BitFlag;
readonly constantSpeed: import("@matter/main/types").BitFlag;
readonly constantTemperature: import("@matter/main/types").BitFlag;
readonly automatic: import("@matter/main/types").BitFlag;
readonly localOperation: import("@matter/main/types").BitFlag;
};
readonly attributes: {
readonly maxPressure: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly maxSpeed: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly maxFlow: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly pumpStatus: import("@matter/main/types").OptionalAttribute<import("@matter/main/types").TypeFromPartialBitSchema<{
deviceFault: import("@matter/main/types").BitFlag;
supplyFault: import("@matter/main/types").BitFlag;
speedLow: import("@matter/main/types").BitFlag;
speedHigh: import("@matter/main/types").BitFlag;
localOverride: import("@matter/main/types").BitFlag;
running: import("@matter/main/types").BitFlag;
remotePressure: import("@matter/main/types").BitFlag;
remoteFlow: import("@matter/main/types").BitFlag;
remoteTemperature: import("@matter/main/types").BitFlag;
}>, any>;
readonly effectiveOperationMode: import("@matter/main/types").Attribute<PumpConfigurationAndControl.OperationMode, any>;
readonly effectiveControlMode: import("@matter/main/types").Attribute<PumpConfigurationAndControl.ControlMode, any>;
readonly capacity: import("@matter/main/types").Attribute<number | null, any>;
readonly speed: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly lifetimeRunningHours: import("@matter/main/types").OptionalWritableAttribute<number | null, any>;
readonly power: import("@matter/main/types").OptionalAttribute<number | null, any>;
readonly lifetimeEnergyConsumed: import("@matter/main/types").OptionalWritableAttribute<number | null, any>;
readonly operationMode: import("@matter/main/types").WritableAttribute<PumpConfigurationAndControl.OperationMode, any>;
readonly controlMode: import("@matter/main/types").OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>;
readonly alarmMask: import("@matter/main/types").OptionalAttribute<number, any>;
};
readonly events: {
readonly supplyVoltageLow: import("@matter/main/types").OptionalEvent<void, any>;
readonly supplyVoltageHigh: import("@matter/main/types").OptionalEvent<void, any>;
readonly powerMissingPhase: import("@matter/main/types").OptionalEvent<void, any>;
readonly systemPressureLow: import("@matter/main/types").OptionalEvent<void, any>;
readonly systemPressureHigh: import("@matter/main/types").OptionalEvent<void, any>;
readonly dryRunning: import("@matter/main/types").OptionalEvent<void, any>;
readonly motorTemperatureHigh: import("@matter/main/types").OptionalEvent<void, any>;
readonly pumpMotorFatalFailure: import("@matter/main/types").OptionalEvent<void, any>;
readonly electronicTemperatureHigh: import("@matter/main/types").OptionalEvent<void, any>;
readonly pumpBlocked: import("@matter/main/types").OptionalEvent<void, any>;
readonly sensorFailure: import("@matter/main/types").OptionalEvent<void, any>;
readonly electronicNonFatalFailure: import("@matter/main/types").OptionalEvent<void, any>;
readonly electronicFatalFailure: import("@matter/main/types").OptionalEvent<void, any>;
readonly generalFault: import("@matter/main/types").OptionalEvent<void, any>;
readonly leakage: import("@matter/main/types").OptionalEvent<void, any>;
readonly airDetection: import("@matter/main/types").OptionalEvent<void, any>;
readonly turbineOperation: import("@matter/main/types").OptionalEvent<void, any>;
};
readonly extensions: readonly [{
readonly flags: {
readonly constantPressure: true;
};
readonly component: {
readonly attributes: {
readonly minConstPressure: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly maxConstPressure: import("@matter/main/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly automatic: true;
};
readonly component: {
readonly attributes: {
readonly minConstPressure: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly maxConstPressure: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly minCompPressure: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly maxCompPressure: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly minConstSpeed: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly maxConstSpeed: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly minConstFlow: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly maxConstFlow: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly minConstTemp: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
readonly maxConstTemp: import("@matter/main/types").OptionalFixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly compensatedPressure: true;
};
readonly component: {
readonly attributes: {
readonly minCompPressure: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly maxCompPressure: import("@matter/main/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly constantSpeed: true;
};
readonly component: {
readonly attributes: {
readonly minConstSpeed: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly maxConstSpeed: import("@matter/main/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly constantFlow: true;
};
readonly component: {
readonly attributes: {
readonly minConstFlow: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly maxConstFlow: import("@matter/main/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly constantTemperature: true;
};
readonly component: {
readonly attributes: {
readonly minConstTemp: import("@matter/main/types").FixedAttribute<number | null, any>;
readonly maxConstTemp: import("@matter/main/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly constantPressure: false;
readonly compensatedPressure: false;
readonly constantFlow: false;
readonly constantSpeed: false;
readonly constantTemperature: false;
};
readonly component: false;
}];
}>, readonly ["ConstantSpeed"]>, typeof PumpConfigurationAndControlServer, {
components: never[];
}> | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<import("@matter/main/types").ClusterComposer.WithFeatures<ClusterType.Of<{
readonly id: 92;
readonly name: "SmokeCoAlarm";
readonly revision: 1;
readonly features: {
readonly smokeAlarm: import("@matter/main/types").BitFlag;
readonly coAlarm: import("@matter/main/types").BitFlag;
};
readonly attributes: {
readonly expressedState: import("@matter/main/types").Attribute<SmokeCoAlarm.ExpressedState, any>;
readonly batteryAlert: import("@matter/main/types").Attribute<SmokeCoAlarm.AlarmState, any>;
readonly deviceMuted: import("@matter/main/types").OptionalAttribute<SmokeCoAlarm.MuteState, any>;
readonly testInProgress: import("@matter/main/types").Attribute<boolean, any>;
readonly hardwareFaultAlert: import("@matter/main/types").Attribute<boolean, any>;
readonly endOfServiceAlert: import("@matter/main/types").Attribute<SmokeCoAlarm.EndOfService, any>;
readonly interconnectSmokeAlarm: import("@matter/main/types").OptionalAttribute<SmokeCoAlarm.AlarmState, any>;
readonly interconnectCoAlarm: import("@matter/main/types").OptionalAttribute<SmokeCoAlarm.AlarmState, any>;
readonly expiryDate: import("@matter/main/types").OptionalFixedAttribute<number, any>;
};
readonly commands: {
readonly selfTestRequest: import("@matter/main/types").OptionalCommand<void, void, any>;
};
readonly events: {
readonly lowBattery: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
alarmSeverityLevel: import("@matter/main/types").FieldType<SmokeCoAlarm.AlarmState>;
}>, any>;
readonly hardwareFault: import("@matter/main/types").Event<void, any>;
readonly endOfService: import("@matter/main/types").Event<void, any>;
readonly selfTestComplete: import("@matter/main/types").Event<void, any>;
readonly alarmMuted: import("@matter/main/types").OptionalEvent<void, any>;
readonly muteEnded: import("@matter/main/types").OptionalEvent<void, any>;
readonly allClear: import("@matter/main/types").Event<void, any>;
};
readonly extensions: readonly [{
readonly flags: {
readonly smokeAlarm: true;
};
readonly component: {
readonly attributes: {
readonly smokeState: import("@matter/main/types").Attribute<SmokeCoAlarm.AlarmState, any>;
readonly contaminationState: import("@matter/main/types").OptionalAttribute<SmokeCoAlarm.ContaminationState, any>;
readonly smokeSensitivityLevel: import("@matter/main/types").OptionalWritableAttribute<SmokeCoAlarm.Sensitivity, any>;
};
readonly events: {
readonly smokeAlarm: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
alarmSeverityLevel: import("@matter/main/types").FieldType<SmokeCoAlarm.AlarmState>;
}>, any>;
readonly interconnectSmokeAlarm: import("@matter/main/types").OptionalEvent<import("@matter/main/types").TypeFromFields<{
alarmSeverityLevel: import("@matter/main/types").FieldType<SmokeCoAlarm.AlarmState>;
}>, any>;
};
};
}, {
readonly flags: {
readonly coAlarm: true;
};
readonly component: {
readonly attributes: {
readonly coState: import("@matter/main/types").Attribute<SmokeCoAlarm.AlarmState, any>;
};
readonly events: {
readonly coAlarm: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
alarmSeverityLevel: import("@matter/main/types").FieldType<SmokeCoAlarm.AlarmState>;
}>, any>;
readonly interconnectCoAlarm: import("@matter/main/types").OptionalEvent<import("@matter/main/types").TypeFromFields<{
alarmSeverityLevel: import("@matter/main/types").FieldType<SmokeCoAlarm.AlarmState>;
}>, any>;
};
};
}, {
readonly flags: {
readonly smokeAlarm: false;
readonly coAlarm: false;
};
readonly component: false;
}];
}>, readonly [SmokeCoAlarm.Feature.SmokeAlarm, SmokeCoAlarm.Feature.CoAlarm]>, readonly ["SmokeAlarm", "CoAlarm"]>, typeof MatterbridgeSmokeCoAlarmServer, import("@matter/node/behaviors").SmokeCoAlarmInterface> | import("@matter/main").ClusterBehavior.Type<import("@matter/main/types").ClusterComposer.WithFeatures<ClusterType.Of<{
readonly id: 59;
readonly name: "Switch";
readonly revision: 1;
readonly features: {
readonly latchingSwitch: import("@matter/main/types").BitFlag;
readonly momentarySwitch: import("@matter/main/types").BitFlag;
readonly momentarySwitchRelease: import("@matter/main/types").BitFlag;
readonly momentarySwitchLongPress: import("@matter/main/types").BitFlag;
readonly momentarySwitchMultiPress: import("@matter/main/types").BitFlag;
};
readonly attributes: {
readonly numberOfPositions: import("@matter/main/types").FixedAttribute<number, any>;
readonly currentPosition: import("@matter/main/types").Attribute<number, any>;
};
readonly extensions: readonly [{
readonly flags: {
readonly momentarySwitchMultiPress: true;
};
readonly component: {
readonly attributes: {
readonly multiPressMax: import("@matter/main/types").FixedAttribute<number, any>;
};
readonly events: {
readonly multiPressOngoing: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
newPosition: import("@matter/main/types").FieldType<number>;
currentNumberOfPressesCounted: import("@matter/main/types").FieldType<number>;
}>, any>;
readonly multiPressComplete: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
previousPosition: import("@matter/main/types").FieldType<number>;
totalNumberOfPressesCounted: import("@matter/main/types").FieldType<number>;
}>, any>;
};
};
}, {
readonly flags: {
readonly latchingSwitch: true;
};
readonly component: {
readonly events: {
readonly switchLatched: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
newPosition: import("@matter/main/types").FieldType<number>;
}>, any>;
};
};
}, {
readonly flags: {
readonly momentarySwitch: true;
};
readonly component: {
readonly events: {
readonly initialPress: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
newPosition: import("@matter/main/types").FieldType<number>;
}>, any>;
};
};
}, {
readonly flags: {
readonly momentarySwitchLongPress: true;
};
readonly component: {
readonly events: {
readonly longPress: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
newPosition: import("@matter/main/types").FieldType<number>;
}>, any>;
readonly longRelease: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
previousPosition: import("@matter/main/types").FieldType<number>;
}>, any>;
};
};
}, {
readonly flags: {
readonly momentarySwitchRelease: true;
};
readonly component: {
readonly events: {
readonly shortRelease: import("@matter/main/types").Event<import("@matter/main/types").TypeFromFields<{
previousPosition: import("@matter/main/types").FieldType<number>;
}>, any>;
};
};
}, {
readonly flags: {
readonly momentarySwitchRelease: true;
readonly momentarySwitch: false;
};
readonly component: false;
}, {
readonly flags: {
readonly momentarySwitchLongPress: true;
readonly momentarySwitch: false;
};
readonly component: false;
}, {
readonly flags: {
readonly momentarySwitchLongPress: true;
readonly momentarySwitchRelease: false;
};
readonly component: false;
}, {
readonly flags: {
readonly momentarySwitchMultiPress: true;
readonly momentarySwitch: false;
};
readonly component: false;
}, {
readonly flags: {
readonly momentarySwitchMultiPress: true;
readonly momentarySwitchRelease: false;
};
readonly component: false;
}, {
readonly flags: {
readonly latchingSwitch: true;
readonly momentarySwitch: true;
};
readonly component: false;
}, {
readonly flags: {
readonly latchingSwitch: false;
readonly momentarySwitch: false;
};
readonly component: false;
}];
}>,