docs/interfaces/ClusterStateMap.html
Maps known cluster names to their typed state interfaces.
Plugin developers get autocomplete for known clusters while unknown clusters fall back to Record<string, unknown>.
// With typed overload on api.matter:await api.matter?.updateAccessoryState(uuid, 'onOff', { onOff: true })// ^-- autocomplete!const state = await api.matter?.getAccessoryState(uuid, 'levelControl')// state is Partial<LevelControlState> | undefinedCopy
interface ClusterStateMap {
airQuality: { airQuality: number };
booleanState: { stateValue: boolean };
carbonMonoxideConcentrationMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
};
colorControl: ColorControlState;
doorLock: DoorLockState;
fanControl: FanControlState;
identify: { identifyTime: number; identifyType: number };
illuminanceMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
minMeasuredValue?: number | null;
};
levelControl: LevelControlState;
nitrogenDioxideConcentrationMeasurement: {
maxMeasuredValue?: number
| null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
};
occupancySensing: {
occupancy: { occupied: boolean };
occupancySensorType?: number;
occupancySensorTypeBitmap?: {
physicalContact?: boolean;
pir?: boolean;
ultrasonic?: boolean;
};
};
onOff: OnOffState;
ozoneConcentrationMeasurement: {
maxMeasuredValue?: number
| null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
};
pm10ConcentrationMeasurement: {
maxMeasuredValue?: number
| null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
};
pm25ConcentrationMeasurement: {
maxMeasuredValue?: number
| null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
};
powerSource: PowerSourceState;
relativeHumidityMeasurement: {
maxMeasuredValue?: number
| null;
measuredValue: number | null;
minMeasuredValue?: number | null;
};
rvcCleanMode: RvcCleanModeState;
rvcOperationalState: RvcOperationalState;
rvcRunMode: RvcRunModeState;
serviceArea: ServiceAreaState;
switch: { currentPosition: number; numberOfPositions?: number };
temperatureMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
minMeasuredValue?: number | null;
};
thermostat: ThermostatState;
valveConfigurationAndControl: ValveConfigurationAndControlState;
windowCovering: WindowCoveringState;
}
airQualitybooleanStatecarbonMonoxideConcentrationMeasurementcolorControldoorLockfanControlidentifyilluminanceMeasurementlevelControlnitrogenDioxideConcentrationMeasurementoccupancySensingonOffozoneConcentrationMeasurementpm10ConcentrationMeasurementpm25ConcentrationMeasurementpowerSourcerelativeHumidityMeasurementrvcCleanModervcOperationalStatervcRunModeserviceAreaswitchtemperatureMeasurementthermostatvalveConfigurationAndControlwindowCovering
airQuality: { airQuality: number }
booleanState: { stateValue: boolean }
carbonMonoxideConcentrationMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
}
colorControl: ColorControlState
doorLock: DoorLockState
fanControl: FanControlState
identify: { identifyTime: number; identifyType: number }
illuminanceMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
minMeasuredValue?: number | null;
}
levelControl: LevelControlState
nitrogenDioxideConcentrationMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
}
occupancySensing: {
occupancy: { occupied: boolean };
occupancySensorType?: number;
occupancySensorTypeBitmap?: {
physicalContact?: boolean;
pir?: boolean;
ultrasonic?: boolean;
};
}
onOff: OnOffState
ozoneConcentrationMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
}
pm10ConcentrationMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
}
pm25ConcentrationMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
measurementMedium: number;
measurementUnit?: number;
minMeasuredValue?: number | null;
}
powerSource: PowerSourceState
relativeHumidityMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
minMeasuredValue?: number | null;
}
rvcCleanMode: RvcCleanModeState
rvcOperationalState: RvcOperationalState
rvcRunMode: RvcRunModeState
serviceArea: ServiceAreaState
switch: { currentPosition: number; numberOfPositions?: number }
temperatureMeasurement: {
maxMeasuredValue?: number | null;
measuredValue: number | null;
minMeasuredValue?: number | null;
}
thermostat: ThermostatState
valveConfigurationAndControl: ValveConfigurationAndControlState
windowCovering: WindowCoveringState
Member Visibility
ThemeOSLightDark
Properties airQualitybooleanStatecarbonMonoxideConcentrationMeasurementcolorControldoorLockfanControlidentifyilluminanceMeasurementlevelControlnitrogenDioxideConcentrationMeasurementoccupancySensingonOffozoneConcentrationMeasurementpm10ConcentrationMeasurementpm25ConcentrationMeasurementpowerSourcerelativeHumidityMeasurementrvcCleanModervcOperationalStatervcRunModeserviceAreaswitchtemperatureMeasurementthermostatvalveConfigurationAndControlwindowCovering