Skip to content

Latest commit

 

History

History
88 lines (82 loc) · 41 KB

File metadata and controls

88 lines (82 loc) · 41 KB

Cluster default implementations included with matter.js

Each cluster that has commands also needs to have them implemented based on the chosen feature set.

Matter.js provides a specification-compliant implementation of all Matter 1.4 clusters. For many clusters our implementations perform high-level business logic. For other clusters you provide the needed business logic by extending the matter.js implementation. In all cases matter.js takes care of details like the Matter protocol, input and output validation and persistence. The developer can then decide if own functionality needs to be implemented and can overwrite and extend these implementations or just use them.

For examples for nearly all clusters check the All Clusters Test App.

Matter.js allows the following clusters to be used directly with a default implementation for all relevant commands - or the clusters do not need any commands and so the standard feature set of Matter.js for attributes is sufficient. All clusters contained in this list are also verified using the CI YAML project-chip certification tests.

PICS Cluster name Features Matter-Version Additional Information
ACL Access Control None 1.4.2 Access Restriction List (ARL) feature is not implemented
ACFREMON Activated Carbon Filter Monitoring All 1.4.2 No command implementations needed.
CADMIN Administrator Commissioning All 1.4.2 Internal Root cluster implemented, no need to customize
APBSC Application Basic None 1.4.2 No command implementations needed
BC Ballast Configuration None 1.4.2 No command implementations needed, Cluster provisional
BINFO Basic Information None 1.4.2 Internal Root cluster implemented, no need to customize, all events are automatically emitted by matter.js
BOOL Boolean State None 1.4.2 No command implementations needed. If the StateChanged event is enabled it is emitted automatically on state change.
BRBINFO Bridged Device Basic Information None 1.4.2 reachabilityChanged event is automatically emitted by matter.js
CDOCONC Carbon Dioxide (CO2) Concentration Measurement All 1.4.2 No command implementations needed.
CMOCONC Carbon Monoxide (CO) Concentration Measurement All 1.4.2 No command implementations needed.
CC Color Control All 1.4.2 Default implementation supports all features.
DESC Descriptor None 1.4.2 Internal Root cluster implemented, no need to customize, data are automatically managed by matter.js
DEMM Device Energy management Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
EEM Electrical Energy Measurement None 1.4.2 When the convenience method "setMeasurement" is used then also the required events are sent, else developer needs to trigger them.
EPM Electrical Power Measurement All 1.4.2 No command implementations needed. Required events need to be triggered by the developer.
EEVSEM Energy EVSE Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
DGETH Ethernet Network Diagnostics None 1.4.2 No command implementations needed when used without any features. The cluster data needs to be provided by the platform.
FLABEL Fixed Label None 1.4.2 No command implementations needed
FLW Flow Measurement None 1.4.2 No command implementations needed
FLDCONC Formaldehyde (CH2O) Concentration Measurement All 1.4.2 No command implementations needed.
CGEN General Commissioning None 1.4.2 Internal Root cluster implemented, except TC feature. Provides convenience methods to register and clear Faults and to handle triggered Test Events.
DGGEN General Diagnostics None 1.4.2 No command implementations needed when used without test event triggers. All mandatory attributes and events supported. Optional attributes, events and Test event triggers needs to be implemented by developer if needed.
DISHM Dishwasher Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
DRLK Door Lock All except ALIRO and ALBU 1.4.2 Full implementation with User, credential, and schedule management. Credentials are encrypted at rest. Supports both User-feature and legacy non-User commands.
HEPAFREMON HEPA Filter Monitoring All 1.4.2 No command implementations needed.
I Identify All 1.4.2 All mandatory commands implemented. Additionally, state isIdentifying and events start/stopIdentifying are available to easily extend the server.
ILL Illuminance Measurement None 1.4.2 No command implementations needed
LWM Laundry Washer Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
LVL Level Control All 1.4.2 Default implementation sets currentLevel and remainingTime attributes by respecting the feature requirements on best-effort basis. Use managedTransitionTimeHandling state to true to use transitions managed by matter.js.
LCFG Localization Configuration None 1.4.2 The active locale is determined via JavaScript Intl package, can be overridden
LOWPOWER Low Power None 1.4.2 The default implementation emits the internal event enterLowPowerMode that an implementation can listen too. Alternatively, you can override the sleep command by extending the cluster.
MWOM Microwave Oven Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
CNET Network Commissioning None 1.4.2 No command implementations needed when using with Ethernet network, needs custom implementation for Wi-Fi or Thread, see examples
NDOCONC Nitrogen Dioxide (NO2) Concentration Measurement All 1.4.2 No command implementations needed.
MOD Mode Select OnOff 1.4.2 Default implementation sets the new mode when change command is used and automatically handles StartUpMode and OnMode.
OCC Occupancy Sensing None 1.4.2 No command implementations needed. The optional event is not implemented. Default Logic automatically fills the legacy attributes occupancySensorTypeBitmap and occupancySensorType based on the enabled features.
OO OnOff All 1.4.2 LevelControl-For-Lighting feature is enabled automatically in default implementation. offWithEffect currently ignores requested effects and turns off. onWithRecallGlobalScene currently ignores the global scene and turns on. No special logic is implemented for DeadFrontBehavior feature because too use-case specific but can be used and logic adjusted as needed.
OPCREDS Operational Credentials None 1.4.2 Internal Root cluster implemented, no need to customize
OTAP OTA Software Update Provider None 1.4.2 Full implementation with additional UIs and components for controller, can be used by developers for their own use cases
OTAR OTA Software Update Requestor None 1.4.2 Basically fully functional, but applying the update needs to be implemented by the developer.
OPSTATE Operational State All 1.4.2 Attribute values are basically verified as defined by specification. For relevant commands we offer basic validation methods in OperationalStateUtils, but the commands - when supported - needs to be implemented by the developer. The OperationalErrorevent is automatically emitted when an error state is set. The operationalError attribute is also reset to NoError as soon as anew Non-Error State is set.
OVENOPSTATE Oven Cavity Operational State All 1.4.2 Attribute values are basically verified as defined by specification. For relevant commands we offer basic validation methods in OperationalStateUtils, but the commands - when supported - needs to be implemented by the developer. The OperationalErrorevent is automatically emitted when an error state is set.
OTCCM Oven Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
OZCONC Ozone (O3) Concentration Measurement All 1.4.2 No command implementations needed.
PMHCONC PM1 Concentration Measurement All 1.4.2 No command implementations needed.
PMICONC PM2.5 Concentration Measurement All 1.4.2 No command implementations needed.
PMKCONC PM10 Concentration Measurement All 1.4.2 No command implementations needed.
PS Power Source None 1.4.2 No command implementations needed. Optional events needs to be emitted by the developer if needed
PSCFG Power Source Configuration None 1.4.2 No command implementations needed
PWRTL Power Topology None 1.4.2 No command implementations needed
PRS Pressure Measurement None 1.4.2 No command implementations needed
PXCFG Proxy Configuration None 1.4.2 No command implementations needed
PCC Pump Configuration and Control None 1.4.2 No command implementations needed, Relevant Events need to be enabled and emitted by the developer when needed, Cluster client dependencies are not yet possible with matter.js
RNCONC Radon (Rn) Concentration Measurement All 1.4.2 No command implementations needed.
TCCM Refrigerator And Temperature Controlled Cabinet Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
RH Relative Humidity Measurement None 1.1 No command implementations needed
RVCOPSTATE RVC Operational State All 1.4.2 Attribute values are basically verified as defined by specification. For relevant commands we offer basic validation methods in OperationalStateUtils, but the commands - when supported - needs to be implemented by the developer. The OperationalErrorevent is automatically emitted when an error state is set. The operationalError attribute is also reset to NoError as soon as anew Non-Error State is set.
RVCCLEANM RVC Clean Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
RVCRUNM RVC Run Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
S Scenes Management All 1.4.2 No command implementations needed.
SWTCH Switch All 1.4.2 Matter.js provides a full implementation with all features in a configurable way including release, long- and multi-press detection. Just set currentPosition state and all events will be triggered automatically. Alternatively, an additional state rawPosition is available which will be debounced based on a defined debounce delay. Check the SwitchCluster documentation for the details and additional state values.
TMP Temperature Measurement None 1.4.2 No command implementations needed
TSTAT Thermostat All except MSCH and SB 1.4.2 No command implementations needed, but the own implementation needs to implement all thermostat relevant logic. Some basic logic is available when you enable the useAutomaticModeManagement flag. See ThermostatServer documentation for more details.
TSUIC Thermostat User Interface None 1.4.2 No command implementations needed
LTIME Time Format Localization None 1.4.2 The hour format and calendar type are determined automatically using the JavaScript Intl package.
TVOCCONC Total Volatile Organic Compounds (TVOC) Concentration Measurement All 1.4.2 No command implementations needed.
LUNIT Unit Localization None 1.4.2 No command implementations needed. If not provided we set Celsius as Temperature unit
ULABEL User Label None 1.4.2 No command implementations needed
WAKEONLAN WakeOnLan None 1.4.2 No command implementations needed
RH Water Content Measurement None 1.4.2 No command implementations needed
WHM Water Heater Mode All 1.4.2 Attribute values are basically verified as defined by specification. We offer basic validation methods in ModeUtils if the default implemented method can not be used because of device specific reasoning.
WNCV Window Covering All 1.4.2 All commands for all feature sets are implemented. Movements will by default be executed as fast as possible by just setting the new value, so own movement logic needs to be implemented.
WTLREPMON Water Tank Level Monitoring All 1.4.2 No command implementations needed.

More will come over time and can also be contributed by the community!