WiFi and Thread network diagnostics clusters were unconditionally
created on the root node when their Kconfig flags were enabled,
regardless of the actual transport. A Thread-only device would
incorrectly include the WiFi Network Diagnostics cluster.
Gate cluster creation on transport-level defines so that WiFi
diagnostics are only added when WiFi is enabled, and Thread
diagnostics only when Thread is enabled.
Fixes https://github.com/espressif/esp-matter/issues/1649
Skip the Network Commissioning cluster on the root node when
CONFIG_CUSTOM_NETWORK_CONFIG is enabled, per Matter spec condition
(!CustomNetworkConfig). This allows devices with out-of-band network
configuration (rich UI, manufacturer-specific means) to omit the
cluster as the spec permits.
- Add CONFIG_CUSTOM_NETWORK_CONFIG Kconfig option
- Conditionally skip network_commissioning in root_node config/add
- Exclude integration.cpp from build when custom config enabled
- Add weak stubs for Plugin callbacks as fallback
- Also guarded secondary network device type and all the
attributes and commands that are part of network commissioning
cluster
cluster::destroy() freed the cluster memory and its children (attributes,
commands, events) but never removed the cluster from the parent endpoint's
linked list, leaving a dangling pointer. This caused use-after-free crashes
when creating a new cluster on the same endpoint after destroying one.
Fix: look up the parent endpoint via the endpoint_id stored in the cluster
struct and unlink before freeing, consistent with how attribute::destroy,
command::destroy and event::destroy handle their parent lists.
attribute::report() was ignoring the return value from set_val() and
always returning ESP_OK. This hid errors like ESP_ERR_NOT_SUPPORTED
for internally managed attributes (e.g., BooleanState::StateValue).
This fix:
- Propagates the error from set_val() back to the caller
- Checks return value of get_val() in report()
- Adds void cast to intentionally unchecked get_data_from_attr_val()
call in update()
Related: https://github.com/espressif/esp-matter/issues/1724
Backport of !1441 (main), !1458 (v1.5)
CI: run all the pytest example builds with the same IDF version and fix managed component example build
See merge request app-frameworks/esp-matter!1284
As we are using the static file for showing versions in the drop-down
this would be outdated with each new release, so use it from the main
branch, with the assumption that it would always be up-to-date.
esp-idf v4.4 requires construct==2.10.56, but latest changes in
esp-secure-cert-tool changed it to construct>=2.10.76.
install.sh script installs the esp-matter-mfg-tool which depends on
esp-secure-cert-tool which depends on construct>=2.10.76
[v1.4] components/esp_matter: Fixed the default value for color temperature physical min mireds attribute.
See merge request app-frameworks/esp-matter!1183
- The latest esp-matter docker image for failing on
the esp-idf path export.
- Fixed the export path issue as per latest changes
in esp-idf export script.