diff --git a/src/app/clusters/window-covering-server/window-covering-server.cpp b/src/app/clusters/window-covering-server/window-covering-server.cpp index 0474a1f961d049..bbb33c71b653d0 100644 --- a/src/app/clusters/window-covering-server/window-covering-server.cpp +++ b/src/app/clusters/window-covering-server/window-covering-server.cpp @@ -947,6 +947,11 @@ bool emberAfWindowCoveringClusterGoToTiltPercentageCallback(app::CommandHandler /** * @brief Cluster Attribute Changed Callback + * + * The method is implemented by default as a weak function and it takes care of updating + * the server attribute values by calling the PostAttributeChange method. If the application overrides + * this method, it needs to handle updating attributes (ideally by calling PostAttributeChange). + * */ void __attribute__((weak)) MatterWindowCoveringClusterServerAttributeChangedCallback(const app::ConcreteAttributePath & attributePath) diff --git a/src/app/clusters/window-covering-server/window-covering-server.h b/src/app/clusters/window-covering-server/window-covering-server.h index 7c8eb49d771cde..15282f2411ed6e 100644 --- a/src/app/clusters/window-covering-server/window-covering-server.h +++ b/src/app/clusters/window-covering-server/window-covering-server.h @@ -140,7 +140,11 @@ void TiltPositionSet(chip::EndpointId endpoint, NPercent100ths position); EmberAfStatus GetMotionLockStatus(chip::EndpointId endpoint); /** - * @brief PostAttributeChange is called when an Attribute is modified + * @brief PostAttributeChange is called when an Attribute is modified. + * + * The method is called by MatterWindowCoveringClusterServerAttributeChangedCallback + * to update cluster attributes values. If the application overrides MatterWindowCoveringClusterServerAttributeChangedCallback, + * it should call the PostAttributeChange on its own. * * @param[in] endpoint * @param[in] attributeId