matterbridge-dyson-robot
Version:
A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices to the Matter smart home ecosystem via their local or cloud MQTT APIs.
359 lines • 24 kB
TypeScript
import { Endpoint, MaybePromise } from 'matterbridge/matter';
import { Thermostat } from 'matterbridge/matter/clusters';
import { ThermostatServer } from 'matterbridge/matter/behaviors';
import type { ClusterType as _ClusterType } from 'matterbridge/matter/types';
declare const ThermostatServerAir_base: import("matterbridge/matter").ClusterBehavior.Type<import("matterbridge/matter/types").ClusterComposer.WithFeatures<_ClusterType.Of<{
readonly id: 513;
readonly name: "Thermostat";
readonly revision: 8;
readonly features: {
readonly heating: import("matterbridge/matter/types").BitFlag;
readonly cooling: import("matterbridge/matter/types").BitFlag;
readonly occupancy: import("matterbridge/matter/types").BitFlag;
readonly scheduleConfiguration: import("matterbridge/matter/types").BitFlag;
readonly setback: import("matterbridge/matter/types").BitFlag;
readonly autoMode: import("matterbridge/matter/types").BitFlag;
readonly localTemperatureNotExposed: import("matterbridge/matter/types").BitFlag;
readonly matterScheduleConfiguration: import("matterbridge/matter/types").BitFlag;
readonly presets: import("matterbridge/matter/types").BitFlag;
};
readonly attributes: {
readonly localTemperature: import("matterbridge/matter/types").Attribute<number | null, any>;
readonly outdoorTemperature: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
readonly hvacSystemTypeConfiguration: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
coolingStage: import("matterbridge/matter/types").BitField;
heatingStage: import("matterbridge/matter/types").BitField;
heatingIsHeatPump: import("matterbridge/matter/types").BitFlag;
heatingUsesFuel: import("matterbridge/matter/types").BitFlag;
}>, any>;
readonly remoteSensing: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
localTemperature: import("matterbridge/matter/types").BitFlag;
outdoorTemperature: import("matterbridge/matter/types").BitFlag;
occupancy: import("matterbridge/matter/types").BitFlag;
}>, any>;
readonly controlSequenceOfOperation: import("matterbridge/matter/types").WritableAttribute<Thermostat.ControlSequenceOfOperation, any>;
readonly systemMode: import("matterbridge/matter/types").WritableAttribute<Thermostat.SystemMode, any>;
readonly temperatureSetpointHold: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.TemperatureSetpointHold, any>;
readonly temperatureSetpointHoldDuration: import("matterbridge/matter/types").OptionalWritableAttribute<number | null, any>;
readonly thermostatProgrammingOperationMode: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
scheduleActive: import("matterbridge/matter/types").BitFlag;
autoRecovery: import("matterbridge/matter/types").BitFlag;
economy: import("matterbridge/matter/types").BitFlag;
}>, any>;
readonly thermostatRunningState: import("matterbridge/matter/types").OptionalAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
heat: import("matterbridge/matter/types").BitFlag;
cool: import("matterbridge/matter/types").BitFlag;
fan: import("matterbridge/matter/types").BitFlag;
heatStage2: import("matterbridge/matter/types").BitFlag;
coolStage2: import("matterbridge/matter/types").BitFlag;
fanStage2: import("matterbridge/matter/types").BitFlag;
fanStage3: import("matterbridge/matter/types").BitFlag;
}>, any>;
readonly setpointChangeSource: import("matterbridge/matter/types").OptionalAttribute<Thermostat.SetpointChangeSource, any>;
readonly setpointChangeAmount: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
readonly setpointChangeSourceTimestamp: import("matterbridge/matter/types").OptionalAttribute<number, any>;
readonly emergencyHeatDelta: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
readonly acType: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcType, any>;
readonly acCapacity: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
readonly acRefrigerantType: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcRefrigerantType, any>;
readonly acCompressorType: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcCompressorType, any>;
readonly acErrorCode: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
compressorFail: import("matterbridge/matter/types").BitFlag;
roomSensorFail: import("matterbridge/matter/types").BitFlag;
outdoorSensorFail: import("matterbridge/matter/types").BitFlag;
coilSensorFail: import("matterbridge/matter/types").BitFlag;
fanFail: import("matterbridge/matter/types").BitFlag;
}>, any>;
readonly acLouverPosition: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcLouverPosition, any>;
readonly acCoilTemperature: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
readonly acCapacityFormat: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcCapacityFormat, any>;
readonly setpointHoldExpiryTimestamp: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
};
readonly commands: {
readonly setpointRaiseLower: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
mode: import("matterbridge/matter/types").FieldType<Thermostat.SetpointRaiseLowerMode>;
amount: import("matterbridge/matter/types").FieldType<number>;
}>, void, any>;
};
readonly extensions: readonly [{
readonly flags: {
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly occupancy: import("matterbridge/matter/types").Attribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
occupied: import("matterbridge/matter/types").BitFlag;
}>, any>;
};
};
}, {
readonly flags: {
readonly heating: true;
};
readonly component: {
readonly attributes: {
readonly absMinHeatSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
readonly absMaxHeatSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
readonly piHeatingDemand: import("matterbridge/matter/types").OptionalAttribute<number, any>;
readonly occupiedHeatingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
readonly minHeatSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
readonly maxHeatSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly cooling: true;
};
readonly component: {
readonly attributes: {
readonly absMinCoolSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
readonly absMaxCoolSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
readonly piCoolingDemand: import("matterbridge/matter/types").OptionalAttribute<number, any>;
readonly occupiedCoolingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
readonly minCoolSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
readonly maxCoolSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly localTemperatureNotExposed: false;
};
readonly component: {
readonly attributes: {
readonly localTemperatureCalibration: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly cooling: true;
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly unoccupiedCoolingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly heating: true;
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly unoccupiedHeatingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
};
};
}, {
readonly flags: {
readonly autoMode: true;
};
readonly component: {
readonly attributes: {
readonly minSetpointDeadBand: import("matterbridge/matter/types").WritableAttribute<number, any>;
readonly thermostatRunningMode: import("matterbridge/matter/types").OptionalAttribute<Thermostat.ThermostatRunningMode, any>;
};
};
}, {
readonly flags: {
readonly scheduleConfiguration: true;
};
readonly component: {
readonly attributes: {
readonly startOfWeek: import("matterbridge/matter/types").FixedAttribute<Thermostat.StartOfWeek, any>;
readonly numberOfWeeklyTransitions: import("matterbridge/matter/types").FixedAttribute<number, any>;
readonly numberOfDailyTransitions: import("matterbridge/matter/types").FixedAttribute<number, any>;
};
readonly commands: {
readonly setWeeklySchedule: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
numberOfTransitionsForSequence: import("matterbridge/matter/types").FieldType<number>;
dayOfWeekForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
sunday: import("matterbridge/matter/types").BitFlag;
monday: import("matterbridge/matter/types").BitFlag;
tuesday: import("matterbridge/matter/types").BitFlag;
wednesday: import("matterbridge/matter/types").BitFlag;
thursday: import("matterbridge/matter/types").BitFlag;
friday: import("matterbridge/matter/types").BitFlag;
saturday: import("matterbridge/matter/types").BitFlag;
away: import("matterbridge/matter/types").BitFlag;
}>>;
modeForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
heatSetpointPresent: import("matterbridge/matter/types").BitFlag;
coolSetpointPresent: import("matterbridge/matter/types").BitFlag;
}>>;
transitions: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromFields<{
transitionTime: import("matterbridge/matter/types").FieldType<number>;
heatSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
coolSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
}>[]>;
}>, void, any>;
readonly getWeeklySchedule: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
daysToReturn: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
sunday: import("matterbridge/matter/types").BitFlag;
monday: import("matterbridge/matter/types").BitFlag;
tuesday: import("matterbridge/matter/types").BitFlag;
wednesday: import("matterbridge/matter/types").BitFlag;
thursday: import("matterbridge/matter/types").BitFlag;
friday: import("matterbridge/matter/types").BitFlag;
saturday: import("matterbridge/matter/types").BitFlag;
away: import("matterbridge/matter/types").BitFlag;
}>>;
modeToReturn: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
heatSetpointPresent: import("matterbridge/matter/types").BitFlag;
coolSetpointPresent: import("matterbridge/matter/types").BitFlag;
}>>;
}>, import("matterbridge/matter/types").TypeFromFields<{
numberOfTransitionsForSequence: import("matterbridge/matter/types").FieldType<number>;
dayOfWeekForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
sunday: import("matterbridge/matter/types").BitFlag;
monday: import("matterbridge/matter/types").BitFlag;
tuesday: import("matterbridge/matter/types").BitFlag;
wednesday: import("matterbridge/matter/types").BitFlag;
thursday: import("matterbridge/matter/types").BitFlag;
friday: import("matterbridge/matter/types").BitFlag;
saturday: import("matterbridge/matter/types").BitFlag;
away: import("matterbridge/matter/types").BitFlag;
}>>;
modeForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
heatSetpointPresent: import("matterbridge/matter/types").BitFlag;
coolSetpointPresent: import("matterbridge/matter/types").BitFlag;
}>>;
transitions: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromFields<{
transitionTime: import("matterbridge/matter/types").FieldType<number>;
heatSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
coolSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
}>[]>;
}>, any>;
readonly clearWeeklySchedule: import("matterbridge/matter/types").Command<void, void, any>;
};
};
}, {
readonly flags: {
readonly setback: true;
};
readonly component: {
readonly attributes: {
readonly occupiedSetback: import("matterbridge/matter/types").WritableAttribute<number | null, any>;
readonly occupiedSetbackMin: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
readonly occupiedSetbackMax: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly setback: true;
readonly occupancy: true;
};
readonly component: {
readonly attributes: {
readonly unoccupiedSetback: import("matterbridge/matter/types").WritableAttribute<number | null, any>;
readonly unoccupiedSetbackMin: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
readonly unoccupiedSetbackMax: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
};
};
}, {
readonly flags: {
readonly presets: true;
};
readonly component: {
readonly attributes: {
readonly presetTypes: import("matterbridge/matter/types").FixedAttribute<import("matterbridge/matter/types").TypeFromFields<{
presetScenario: import("matterbridge/matter/types").FieldType<Thermostat.PresetScenario>;
numberOfPresets: import("matterbridge/matter/types").FieldType<number>;
presetTypeFeatures: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
automatic: import("matterbridge/matter/types").BitFlag;
supportsNames: import("matterbridge/matter/types").BitFlag;
}>>;
}>[], any>;
readonly numberOfPresets: import("matterbridge/matter/types").FixedAttribute<number, any>;
readonly activePresetHandle: import("matterbridge/matter/types").Attribute<Uint8Array<ArrayBufferLike> | null, any>;
readonly presets: import("matterbridge/matter/types").WritableAttribute<import("matterbridge/matter/types").TypeFromFields<{
presetHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike> | null>;
presetScenario: import("matterbridge/matter/types").FieldType<Thermostat.PresetScenario>;
name: import("matterbridge/matter/types").OptionalFieldType<string | null>;
coolingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
heatingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
builtIn: import("matterbridge/matter/types").FieldType<boolean | null>;
}>[], any>;
};
readonly commands: {
readonly setActivePresetRequest: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
presetHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike> | null>;
}>, void, any>;
};
};
}, {
readonly flags: {
readonly matterScheduleConfiguration: true;
};
readonly component: {
readonly attributes: {
readonly scheduleTypes: import("matterbridge/matter/types").FixedAttribute<import("matterbridge/matter/types").TypeFromFields<{
systemMode: import("matterbridge/matter/types").FieldType<Thermostat.SystemMode>;
numberOfSchedules: import("matterbridge/matter/types").FieldType<number>;
scheduleTypeFeatures: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
supportsPresets: import("matterbridge/matter/types").BitFlag;
supportsSetpoints: import("matterbridge/matter/types").BitFlag;
supportsNames: import("matterbridge/matter/types").BitFlag;
supportsOff: import("matterbridge/matter/types").BitFlag;
}>>;
}>[], any>;
readonly numberOfSchedules: import("matterbridge/matter/types").FixedAttribute<number, any>;
readonly numberOfScheduleTransitions: import("matterbridge/matter/types").FixedAttribute<number, any>;
readonly numberOfScheduleTransitionPerDay: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
readonly activeScheduleHandle: import("matterbridge/matter/types").Attribute<Uint8Array<ArrayBufferLike> | null, any>;
readonly schedules: import("matterbridge/matter/types").WritableAttribute<import("matterbridge/matter/types").TypeFromFields<{
scheduleHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike> | null>;
systemMode: import("matterbridge/matter/types").FieldType<Thermostat.SystemMode>;
name: import("matterbridge/matter/types").OptionalFieldType<string>;
presetHandle: import("matterbridge/matter/types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
transitions: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromFields<{
dayOfWeek: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
sunday: import("matterbridge/matter/types").BitFlag;
monday: import("matterbridge/matter/types").BitFlag;
tuesday: import("matterbridge/matter/types").BitFlag;
wednesday: import("matterbridge/matter/types").BitFlag;
thursday: import("matterbridge/matter/types").BitFlag;
friday: import("matterbridge/matter/types").BitFlag;
saturday: import("matterbridge/matter/types").BitFlag;
away: import("matterbridge/matter/types").BitFlag;
}>>;
transitionTime: import("matterbridge/matter/types").FieldType<number>;
presetHandle: import("matterbridge/matter/types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
systemMode: import("matterbridge/matter/types").OptionalFieldType<Thermostat.SystemMode>;
coolingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
heatingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
}>[]>;
builtIn: import("matterbridge/matter/types").FieldType<boolean | null>;
}>[], any>;
};
readonly commands: {
readonly setActiveScheduleRequest: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
scheduleHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike>>;
}>, void, 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.Heating]>, typeof ThermostatServer, import("matterbridge/matter/behaviors").ThermostatInterface>;
export declare class ThermostatServerAir extends ThermostatServerAir_base {
setpointRaiseLower(request: Thermostat.SetpointRaiseLowerRequest): MaybePromise;
}
export declare function createThermostatClusterServer({ behaviors }: Endpoint): void;
export {};
//# sourceMappingURL=endpoint-air-thermostat.d.ts.map