Application User Guide

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

  • Closure Control Cluster.

  • Closure Dimension Cluster.

  • Commissioner Control Cluster.

  • Content App Observer Cluster.

  • Content Control Cluster.

  • Content Launcher Cluster.

  • Device Energy Management Cluster.

  • Dishwasher Alarm Cluster.

  • Door Lock 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.

  • 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:

1.1 Account Login Cluster

Delegate Class

Reference Implementation

Account Login

Account Login Delegate

1.2 Actions Cluster

Delegate Class

Reference Implementation

Actions

None

1.3 Application Basic Cluster

Delegate Class

Reference Implementation

Application Basic

Application Basic Delegate

1.4 Application Launcher Cluster

Delegate Class

Reference Implementation

Application Launcher

Application Launcher Delegate

1.5 Audio Output Cluster

Delegate Class

Reference Implementation

Audio Output

Audio Output Delegate

1.6 Boolean State Configuration Cluster

Delegate Class

Reference Implementation

Boolean State Configuration

Boolean State Configuration Delegate

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

1.8 Channel Cluster

Delegate Class

Reference Implementation

Channel

Channel Delegate

1.9 Closure Control Cluster

Delegate Class

Reference Implementation

Closure Control

Closure Control Delegate

1.10 Closure Dimension Cluster

Delegate Class

Reference Implementation

Closure Dimension

Closure Dimension Delegate

1.11 Commissioner Control Cluster

Delegate Class

Reference Implementation

Commissioner Control

Commissioner Control Delegate

1.12 Content App Observer Cluster

Delegate Class

Reference Implementation

Content App Observer

None

1.13 Content Control Cluster

Delegate Class

Reference Implementation

Content Control

None

1.14 Content Launcher Cluster

Delegate Class

Reference Implementation

Content Launcher

Content Launcher Delegate

1.15 Device Energy Management Cluster

Delegate Class

Reference Implementation

Device Energy Management

Device Energy Management Delegate

1.16 Dishwasher Alarm Cluster

Delegate Class

Reference Implementation

Dishwasher Alarm

Dishwasher Alarm Delegate

1.17 Door Lock Cluster

Delegate Class

Reference Implementation

Door Lock

Door Lock Delegate

1.18 Electrical Power Measurement Cluster

Delegate Class

Reference Implementation

Electrical Power Measurement

Electrical Power Measurement Delegate

1.19 Energy Evse Cluster

Delegate Class

Reference Implementation

Energy Evse

Energy Evse Delegate

1.20 Energy Preference Cluster

Delegate Class

Reference Implementation

Energy Preference

Energy Preference Delegate

1.21 Fan Control Cluster

Delegate Class

Reference Implementation

Fan Control

Fan Control Delegate

1.22 Keypad Input Cluster

Delegate Class

Reference Implementation

Keypad Input

Keypad Input Delegate

1.23 Laundry Dryer Controls Cluster

Delegate Class

Reference Implementation

Laundry Dryer Controls

Laundry Dryer Controls Delegate

1.24 Laundry Washer Controls Cluster

Delegate Class

Reference Implementation

Laundry Washer Controls

Laundry Washer Controls Delegate

1.25 Low Power Cluster

Delegate Class

Reference Implementation

Low Power

Low Power Delegate

1.26 Media Input Cluster

Delegate Class

Reference Implementation

Media Input

Media Input Delegate

1.27 Media Playback Cluster

Delegate Class

Reference Implementation

Media Playback

Media Playback Delegate

1.28 Messages Cluster

Delegate Class

Reference Implementation

Messages

Messages Delegate

1.29 Microwave Oven Control Cluster

Delegate Class

Reference Implementation

Microwave Oven Control

Microwave Oven Control Delegate

1.30 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

1.31 Mode Select Cluster

Delegate Class

Reference Implementation

Mode Select

Mode Select Delegate

1.32 Operational State Cluster

Delegate Class

Reference Implementation

Operational State

Operational State Delegate

1.33 Power Topology Cluster

Delegate Class

Reference Implementation

Power Topology

Power Topology Delegate

1.34 Resource Monitoring Cluster

Delegate Class

Reference Implementation

Resource Monitoring

HEPA Filter Monitoring Delegate

Activated Carbon Filter Monitoring Delegate

Water Tank Level Monitoring Delegate

1.35 Service Area Cluster

Delegate Class

Reference Implementation

Service Area

Service Area Delegate

1.36 Target Navigator Cluster

Delegate Class

Reference Implementation

Target Navigator

Target Navigator Delegate

1.37 Thermostat Cluster

Delegate Class

Reference Implementation

Thermostat

Thermostat Delegate

1.38 Time Synchronization Cluster

Delegate Class

Reference Implementation

Time Synchronization

Time Synchronization Delegate

1.39 Valve Configuration And Control Cluster

Delegate Class

Reference Implementation

Valve Configuration And Control

Valve Configuration And Control Delegate

1.40 Wake On LAN Cluster

Delegate Class

Reference Implementation

Wake On LAN

Wake On LAN Delegate

1.41 Water Heater Management Cluster

Delegate Class

Reference Implementation

Water Heater Management

Water Heater Management Delegate

1.42 WebRTC Transport Provider Cluster

Delegate Class

Reference Implementation

WebRTC Transport Provider

WebRTC Transport Provider Delegate

1.43 Window Covering Cluster

Delegate Class

Reference Implementation

Window Covering

Window Covering 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);