Matter Water Heater#181
Open
Ludovic BOUÉ (lboue) wants to merge 9 commits into
Open
Conversation
- Introduced MatterWaterHeater class to manage water heater functionalities. - Implemented DeviceWaterHeater class to handle device-specific attributes and methods. - Added new device type for Water Heater in MatterEndpoint.h. - Updated readme.md to include Water Heater in the list of supported devices. - Implemented necessary attributes and methods for temperature, heating setpoints, tank volume, and boost state management. - Enhanced MatterDevice.h to include Water Heater as a device type.
Ludovic BOUÉ (lboue)
marked this pull request as ready for review
July 15, 2026 13:13
Ludovic BOUÉ (lboue)
requested a review
from Tamas Jozsi (silabs-bozont)
as a code owner
July 15, 2026 13:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Matter Water Heater support
Summary
MatterWaterHeaterdevice class +matter_waterheaterexample, based on the existingMatterThermostat/DeviceThermostatarchitecture (single dynamic endpoint, device type0x050F"Water Heater").DeviceThermostat): local temperature, heating setpoint, min/max limits, system mode (HEAT/OFF).HeaterTypes,HeatDemand,TankVolume,TankPercentage,BoostState, plus theBoost/CancelBoostcommands.CurrentMode(cross-synced with the Thermostat'sSystemMode) and theSupportedModeslist attribute, plus theChangeToModecommand.WaterHeaterMode's list attribute and both clusters' commands can't be represented through this library's usual "ember external-attribute" pattern (flat byte-buffer callbacks), since it has no support for list-type attributes or command dispatch. These are instead served throughchip::app::AttributeAccessInterfaceandchip::app::CommandHandlerInterfaceoverrides, registered per-endpoint inbegin()/unregistered inend()— the first use of this pattern in the library, should any future device need list attributes or custom commands.Test plan
arduino-cli compile,--warnings all) fornano_matterandxg24explorerkitwithprotocol_stack=matter.0x050Fand clustersDescriptor,BridgedDeviceBasicInformation,WaterHeaterManagement,Thermostat,WaterHeaterModewith correct IDs.matter_waterheater.inototest/build/test_build.py's Matter test list for CI coverage.