11. Application User Guide

11.1. Delegate Implementation

As per the implementation in the connectedhomeip repository, some of the clusters require an application defined delegate to consume specific data and actions. In order to provide this flexibity to the application, esp-matter facilitates delegate initialization callbacks in the cluster create API. It is expected that application will define it’s data and actions in the form of delegate-impl class and set the delegate while creating cluster/device type.

List of clusters with delegate:

  • Account Login Cluster.

  • Actions Cluster.

  • Application Basic Cluster.

  • Application Launcher Cluster.

  • Audio Output Cluster.

  • Boolean State Configuration Cluster.

  • Camera AV Settings User Level Management Cluster.

  • Channel Cluster.

  • Chime Cluster.

  • Closure Control Cluster.

  • Closure Dimension Cluster.

  • Commissioner Control Cluster.

  • Commodity Price Cluster.

  • Commodity Tariff Cluster.

  • Content App Observer Cluster.

  • Content Control Cluster.

  • Content Launcher Cluster.

  • Device Energy Management Cluster.

  • Dishwasher Alarm Cluster.

  • Door Lock Cluster.

  • Electrical Grid Conditions Cluster.

  • Electrical Power Measurement Cluster.

  • Energy EVSE Cluster.

  • Energy Preference Cluster.

  • Fan Control Cluster.

  • Keypad Input Cluster.

  • Laundry Dryer Controls Cluster.

  • Laundry Washer Controls Cluster.

  • Low Power Cluster.

  • Media Input Cluster.

  • Media Playback Cluster.

  • Messages Cluster.

  • Microwave Oven Control Cluster.

  • Mode Base Cluster (all derived types of clusters).

  • Mode Select Cluster.

  • Operational State Cluster.

  • Power Topology Cluster.

  • Push AV Stream Transport Cluster.

  • Resource Monitoring Cluster.

  • Service Area Cluster.

  • Target Navigator Cluster.

  • Thermostat Cluster.

  • Time Synchronization Cluster.

  • Valve Configuration And Control Cluster.

  • Wake On Lan Cluster.

  • Water Heater Management Cluster.

  • WebRTC Transport Provider Cluster.

  • Window Covering Cluster.

Below is the list of clusters with delegate and their reference implementation header files:

11.1.1. Account Login Cluster

Delegate Class

Reference Implementation

Account Login

Account Login Delegate

11.1.2. Actions Cluster

Delegate Class

Reference Implementation

Actions

None

11.1.3. Application Basic Cluster

Delegate Class

Reference Implementation

Application Basic

Application Basic Delegate

11.1.4. Application Launcher Cluster

Delegate Class

Reference Implementation

Application Launcher

Application Launcher Delegate

11.1.5. Audio Output Cluster

Delegate Class

Reference Implementation

Audio Output

Audio Output Delegate

11.1.6. Boolean State Configuration Cluster

Delegate Class

Reference Implementation

Boolean State Configuration

Boolean State Configuration Delegate

11.1.7. Camera AV Settings User Level Management Cluster

Delegate Class

Reference Implementation

Camera AV Settings User Level Management

Camera AV Settings User Level Management Delegate

11.1.8. Channel Cluster

Delegate Class

Reference Implementation

Channel

Channel Delegate

11.1.9. Chime Cluster

Delegate Class

Reference Implementation

Chime

Chime Delegate

11.1.10. Closure Control Cluster

Delegate Class

Reference Implementation

Closure Control

Closure Control Delegate

11.1.11. Closure Dimension Cluster

Delegate Class

Reference Implementation

Closure Dimension

Closure Dimension Delegate

11.1.12. Commissioner Control Cluster

Delegate Class

Reference Implementation

Commissioner Control

Commissioner Control Delegate

11.1.13. Commodity Price Cluster

Delegate Class

Reference Implementation

Commodity Price

Commodity Price Delegate

11.1.14. Commodity Tariff Cluster

Delegate Class

Reference Implementation

Commodity Tariff

Commodity Tariff Delegate

11.1.15. Content App Observer Cluster

Delegate Class

Reference Implementation

Content App Observer

None

11.1.16. Content Control Cluster

Delegate Class

Reference Implementation

Content Control

None

11.1.17. Content Launcher Cluster

Delegate Class

Reference Implementation

Content Launcher

Content Launcher Delegate

11.1.18. Device Energy Management Cluster

Delegate Class

Reference Implementation

Device Energy Management

Device Energy Management Delegate

11.1.19. Dishwasher Alarm Cluster

Delegate Class

Reference Implementation

Dishwasher Alarm

Dishwasher Alarm Delegate

11.1.20. Door Lock Cluster

Delegate Class

Reference Implementation

Door Lock

Door Lock Delegate

11.1.21. Electrical Grid Conditions Cluster

Delegate Class

Reference Implementation

Electrical Grid Conditions

Electrical Grid Conditions Delegate

Note

Make sure that after implementing delegate class, you set the delegate class pointer at the time of creating cluster.

robotic_vacuum_cleaner::config_t rvc_config;
rvc_config.rvc_run_mode.delegate = object_of_delegate_class;
endpoint_t *endpoint = robotic_vacuum_cleaner::create(node, & rvc_config, ENDPOINT_FLAG_NONE);

11.1.22. Electrical Power Measurement Cluster

Delegate Class

Reference Implementation

Electrical Power Measurement

Electrical Power Measurement Delegate

11.1.23. Energy Evse Cluster

Delegate Class

Reference Implementation

Energy Evse

Energy Evse Delegate

11.1.24. Energy Preference Cluster

Delegate Class

Reference Implementation

Energy Preference

Energy Preference Delegate

11.1.25. Fan Control Cluster

Delegate Class

Reference Implementation

Fan Control

Fan Control Delegate

11.1.26. Keypad Input Cluster

Delegate Class

Reference Implementation

Keypad Input

Keypad Input Delegate

11.1.27. Laundry Dryer Controls Cluster

Delegate Class

Reference Implementation

Laundry Dryer Controls

Laundry Dryer Controls Delegate

11.1.28. Laundry Washer Controls Cluster

Delegate Class

Reference Implementation

Laundry Washer Controls

Laundry Washer Controls Delegate

11.1.29. Low Power Cluster

Delegate Class

Reference Implementation

Low Power

Low Power Delegate

11.1.30. Media Input Cluster

Delegate Class

Reference Implementation

Media Input

Media Input Delegate

11.1.31. Media Playback Cluster

Delegate Class

Reference Implementation

Media Playback

Media Playback Delegate

11.1.32. Messages Cluster

Delegate Class

Reference Implementation

Messages

Messages Delegate

11.1.33. Microwave Oven Control Cluster

Delegate Class

Reference Implementation

Microwave Oven Control

Microwave Oven Control Delegate

11.1.34. Mode Base Cluster

It is a base cluster for ModeEVSE, ModeOven, ModeRVSRun, ModeRVSClean, ModeDishwasher, ModeWaterHeater, ModeRefrigerator, ModeLaundryWasher and ModeMicrowaveOven.

Delegate Class

Reference Implementation

Mode Base

Refrigeratore And TCC Mode

Laundry Washer Mode

Dish Washer Mode

Rvc Run And Rvc Clean Mode

Energy Evse Mode

Microwave Oven Mode

Device Energy Management Mode

Water Heater Mode

11.1.35. Mode Select Cluster

Delegate Class

Reference Implementation

Mode Select

Mode Select Delegate

11.1.36. Operational State Cluster

Delegate Class

Reference Implementation

Operational State

Operational State Delegate

11.1.37. Power Topology Cluster

Delegate Class

Reference Implementation

Power Topology

Power Topology Delegate

11.1.38. Push AV Stream Transport Cluster

Delegate Class

Reference Implementation

Push AV Stream Transport

Push AV Stream Transport Delegate

11.1.39. Resource Monitoring Cluster

Delegate Class

Reference Implementation

Resource Monitoring

HEPA Filter Monitoring Delegate

Activated Carbon Filter Monitoring Delegate

Water Tank Level Monitoring Delegate

11.1.40. Service Area Cluster

Delegate Class

Reference Implementation

Service Area

Service Area Delegate

11.1.41. Target Navigator Cluster

Delegate Class

Reference Implementation

Target Navigator

Target Navigator Delegate

11.1.42. Thermostat Cluster

Delegate Class

Reference Implementation

Thermostat

Thermostat Delegate

11.1.43. Time Synchronization Cluster

Delegate Class

Reference Implementation

Time Synchronization

Time Synchronization Delegate

11.1.44. Valve Configuration And Control Cluster

Delegate Class

Reference Implementation

Valve Configuration And Control

Valve Configuration And Control Delegate

11.1.45. Wake On LAN Cluster

Delegate Class

Reference Implementation

Wake On LAN

Wake On LAN Delegate

11.1.46. Water Heater Management Cluster

Delegate Class

Reference Implementation

Water Heater Management

Water Heater Management Delegate

11.1.47. WebRTC Transport Provider Cluster

Delegate Class

Reference Implementation

WebRTC Transport Provider

WebRTC Transport Provider Delegate

11.1.48. Window Covering Cluster

Delegate Class

Reference Implementation

Window Covering

Window Covering Delegate