10. Application User Guide

10.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:

10.1.1. Account Login Cluster

Delegate Class

Reference Implementation

Account Login

Account Login Delegate

10.1.2. Actions Cluster

Delegate Class

Reference Implementation

Actions

None

10.1.3. Application Basic Cluster

Delegate Class

Reference Implementation

Application Basic

Application Basic Delegate

10.1.4. Application Launcher Cluster

Delegate Class

Reference Implementation

Application Launcher

Application Launcher Delegate

10.1.5. Audio Output Cluster

Delegate Class

Reference Implementation

Audio Output

Audio Output Delegate

10.1.6. Boolean State Configuration Cluster

Delegate Class

Reference Implementation

Boolean State Configuration

Boolean State Configuration Delegate

10.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

10.1.8. Channel Cluster

Delegate Class

Reference Implementation

Channel

Channel Delegate

10.1.9. Chime Cluster

Delegate Class

Reference Implementation

Chime

Chime Delegate

10.1.10. Closure Control Cluster

Delegate Class

Reference Implementation

Closure Control

Closure Control Delegate

10.1.11. Closure Dimension Cluster

Delegate Class

Reference Implementation

Closure Dimension

Closure Dimension Delegate

10.1.12. Commissioner Control Cluster

Delegate Class

Reference Implementation

Commissioner Control

Commissioner Control Delegate

10.1.13. Commodity Price Cluster

Delegate Class

Reference Implementation

Commodity Price

Commodity Price Delegate

10.1.14. Commodity Tariff Cluster

Delegate Class

Reference Implementation

Commodity Tariff

Commodity Tariff Delegate

10.1.15. Content App Observer Cluster

Delegate Class

Reference Implementation

Content App Observer

None

10.1.16. Content Control Cluster

Delegate Class

Reference Implementation

Content Control

None

10.1.17. Content Launcher Cluster

Delegate Class

Reference Implementation

Content Launcher

Content Launcher Delegate

10.1.18. Device Energy Management Cluster

Delegate Class

Reference Implementation

Device Energy Management

Device Energy Management Delegate

10.1.19. Dishwasher Alarm Cluster

Delegate Class

Reference Implementation

Dishwasher Alarm

Dishwasher Alarm Delegate

10.1.20. Door Lock Cluster

Delegate Class

Reference Implementation

Door Lock

Door Lock Delegate

10.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);

10.1.22. Electrical Power Measurement Cluster

Delegate Class

Reference Implementation

Electrical Power Measurement

Electrical Power Measurement Delegate

10.1.23. Energy Evse Cluster

Delegate Class

Reference Implementation

Energy Evse

Energy Evse Delegate

10.1.24. Energy Preference Cluster

Delegate Class

Reference Implementation

Energy Preference

Energy Preference Delegate

10.1.25. Fan Control Cluster

Delegate Class

Reference Implementation

Fan Control

Fan Control Delegate

10.1.26. Keypad Input Cluster

Delegate Class

Reference Implementation

Keypad Input

Keypad Input Delegate

10.1.27. Laundry Dryer Controls Cluster

Delegate Class

Reference Implementation

Laundry Dryer Controls

Laundry Dryer Controls Delegate

10.1.28. Laundry Washer Controls Cluster

Delegate Class

Reference Implementation

Laundry Washer Controls

Laundry Washer Controls Delegate

10.1.29. Low Power Cluster

Delegate Class

Reference Implementation

Low Power

Low Power Delegate

10.1.30. Media Input Cluster

Delegate Class

Reference Implementation

Media Input

Media Input Delegate

10.1.31. Media Playback Cluster

Delegate Class

Reference Implementation

Media Playback

Media Playback Delegate

10.1.32. Messages Cluster

Delegate Class

Reference Implementation

Messages

Messages Delegate

10.1.33. Microwave Oven Control Cluster

Delegate Class

Reference Implementation

Microwave Oven Control

Microwave Oven Control Delegate

10.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

10.1.35. Mode Select Cluster

Delegate Class

Reference Implementation

Mode Select

Mode Select Delegate

10.1.36. Operational State Cluster

Delegate Class

Reference Implementation

Operational State

Operational State Delegate

10.1.37. Power Topology Cluster

Delegate Class

Reference Implementation

Power Topology

Power Topology Delegate

10.1.38. Push AV Stream Transport Cluster

Delegate Class

Reference Implementation

Push AV Stream Transport

Push AV Stream Transport Delegate

10.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

10.1.40. Service Area Cluster

Delegate Class

Reference Implementation

Service Area

Service Area Delegate

10.1.41. Target Navigator Cluster

Delegate Class

Reference Implementation

Target Navigator

Target Navigator Delegate

10.1.42. Thermostat Cluster

Delegate Class

Reference Implementation

Thermostat

Thermostat Delegate

10.1.43. Time Synchronization Cluster

Delegate Class

Reference Implementation

Time Synchronization

Time Synchronization Delegate

10.1.44. Valve Configuration And Control Cluster

Delegate Class

Reference Implementation

Valve Configuration And Control

Valve Configuration And Control Delegate

10.1.45. Wake On LAN Cluster

Delegate Class

Reference Implementation

Wake On LAN

Wake On LAN Delegate

10.1.46. Water Heater Management Cluster

Delegate Class

Reference Implementation

Water Heater Management

Water Heater Management Delegate

10.1.47. WebRTC Transport Provider Cluster

Delegate Class

Reference Implementation

WebRTC Transport Provider

WebRTC Transport Provider Delegate

10.1.48. Window Covering Cluster

Delegate Class

Reference Implementation

Window Covering

Window Covering Delegate