Hi,
I'm trying to recreate the Matter Sensor application from the Template by following your tutorial (Link). After carefully finishing each step in this tutorial, the compilation fails with the following error:
'EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT' was not declared in this scope
Full error log:
[17/34] Building CXX object CMakeFiles/app.dir/src/app_task.cpp.obj
[18/34] Building CXX object CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/util/util.cpp.obj
[19/34] Building CXX object CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj
FAILED: CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj
ccache /opt/nordic/ncs/toolchains/v2.2.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-g++ -DCHIP_HAVE_CONFIG_H -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_USER_CONFIG_FILE=\"nrf-config-user.h\" -DNRF52840_XXAA -DNRF_802154_ACK_TIMEOUT_ENABLED=1 -DNRF_802154_CCA_CORR_LIMIT_DEFAULT=2 -DNRF_802154_CCA_CORR_THRESHOLD_DEFAULT=45 -DNRF_802154_CCA_ED_THRESHOLD_DEFAULT=45 -DNRF_802154_CCA_MODE_DEFAULT=NRF_RADIO_CCA_MODE_ED -DNRF_802154_ECB_PRIORITY=-1 -DNRF_802154_ENCRYPTION_ENABLED=1 -DNRF_802154_IE_WRITER_ENABLED=1 -DNRF_802154_INTERNAL_RADIO_IRQ_HANDLING=0 -DNRF_802154_PENDING_EXTENDED_ADDRESSES=16 -DNRF_802154_PENDING_SHORT_ADDRESSES=16 -DNRF_802154_RX_BUFFERS=16 -DNRF_802154_SECURITY_WRITER_ENABLED=1 -DNRF_802154_SWI_PRIORITY=1 -DNRF_802154_TX_STARTED_NOTIFY_ENABLED=1 -DNRF_802154_USE_RAW_API=1 -DUSE_PARTITION_MANAGER=1 -D_ANSI_SOURCE -D_DEFAULT_SOURCE -D_FORTIFY_SOURCE=1 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I../src -I/opt/nordic/ncs/v2.2.0/nrf/samples/matter/common/src -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/third_party/nlio/repo/include -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/zzz_generated/app-common -I/opt/nordic/ncs/v2.2.0/nrf/drivers/mpsl/clock_control -I/opt/nordic/ncs/v2.2.0/zephyr/include -Izephyr/include/generated -I/opt/nordic/ncs/v2.2.0/zephyr/soc/arm/nordic_nrf/nrf52 -I/opt/nordic/ncs/v2.2.0/zephyr/lib/libc/newlib/include -I/opt/nordic/ncs/v2.2.0/zephyr/lib/util/fnmatch/. -I/opt/nordic/ncs/v2.2.0/zephyr/soc/arm/nordic_nrf/common/. -I/opt/nordic/ncs/v2.2.0/zephyr/subsys/bluetooth -I/opt/nordic/ncs/v2.2.0/zephyr/subsys/net/lib/sockets/. -I/opt/nordic/ncs/v2.2.0/zephyr/subsys/settings/include -I/opt/nordic/ncs/v2.2.0/nrf/include -I/opt/nordic/ncs/v2.2.0/nrf/lib/multithreading_lock/. -I/opt/nordic/ncs/v2.2.0/nrf/subsys/bluetooth/controller/. -I/opt/nordic/ncs/v2.2.0/zephyr/drivers/flash -I/opt/nordic/ncs/v2.2.0/nrf/tests/include -I/opt/nordic/ncs/v2.2.0/zephyr/modules/openthread/platform/. -I/opt/nordic/ncs/v2.2.0/modules/hal/cmsis/CMSIS/Core/Include -I/opt/nordic/ncs/v2.2.0/modules/hal/nordic/nrfx -I/opt/nordic/ncs/v2.2.0/modules/hal/nordic/nrfx/drivers/include -I/opt/nordic/ncs/v2.2.0/modules/hal/nordic/nrfx/mdk -I/opt/nordic/ncs/v2.2.0/zephyr/modules/hal_nordic/nrfx/. -I/opt/nordic/ncs/v2.2.0/modules/debug/segger/SEGGER -I/opt/nordic/ncs/v2.2.0/modules/debug/segger/Config -I/opt/nordic/ncs/v2.2.0/zephyr/modules/segger/. -I/opt/nordic/ncs/v2.2.0/modules/crypto/tinycrypt/lib/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/mpsl/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/mpsl/include/protocol -I/opt/nordic/ncs/v2.2.0/nrfxlib/openthread/include -Imodules/nrfxlib/nrfxlib/nrf_security/src/include/generated -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/include/mbedtls -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/include/psa -I/opt/nordic/ncs/v2.2.0/mbedtls/include -I/opt/nordic/ncs/v2.2.0/mbedtls/include/mbedtls -I/opt/nordic/ncs/v2.2.0/mbedtls/include/psa -I/opt/nordic/ncs/v2.2.0/mbedtls/library -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/../crypto/nrf_oberon/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/../crypto/nrf_oberon/include/mbedtls -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_security/../crypto/nrf_oberon/include/psa -I/opt/nordic/ncs/v2.2.0/nrfxlib/crypto/nrf_oberon/include/mbedtls -I/opt/nordic/ncs/v2.2.0/nrfxlib/crypto/nrf_oberon/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_802154/driver/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/nrf_802154/sl/include -I/opt/nordic/ncs/v2.2.0/nrfxlib/softdevice_controller/include -I/opt/nordic/ncs/v2.2.0/zephyr/include/zephyr/posix -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/src -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/include -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/third_party/nlassert/repo/include -Imodules/connectedhomeip/gen/include -I/opt/nordic/ncs/v2.2.0/modules/lib/matter/examples/providers -isystem /opt/nordic/ncs/v2.2.0/nrfxlib/crypto/nrf_cc310_platform/include "-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=<lib/address_resolve/AddressResolve_DefaultImpl.h>" -fno-strict-aliasing -Os -fcheck-new -std=c++14 -Wno-register -fno-exceptions -fno-rtti -imacros /Users/lukaskirner/Documents/Development/Privat/matter/sensor2/build/zephyr/include/generated/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mfp16-format=ieee --sysroot=/opt/nordic/ncs/toolchains/v2.2.0/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros /opt/nordic/ncs/v2.2.0/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=/Users/lukaskirner/Documents/Development/Privat/matter/sensor2=CMAKE_SOURCE_DIR -fmacro-prefix-map=/opt/nordic/ncs/v2.2.0/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/opt/nordic/ncs/v2.2.0=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=gnu++17 -D_SYS__PTHREADTYPES_H_ -MD -MT CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj -MF CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj.d -o CMakeFiles/app.dir/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp.obj -c /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp
In file included from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp:18:
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.h:88:37: error: 'EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT' was not declared in this scope; did you mean 'EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT'?
88 | EmberEventControl eventControls[EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT];
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.h:88:37: note: maximum limit of 1000 namespaces searched for 'EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT'
In file included from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/system/SystemLayer.h:33,
from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/core/CHIPCore.h:30,
from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/core/Optional.h:28,
from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/ConcreteAttributePath.h:23,
from /opt/nordic/ncs/v2.2.0/modules/lib/matter/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h:27,
from /opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.h:20:
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp: In member function 'EmberEventControl* OnOffServer::getEventControl(chip::EndpointId)':
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp:601:27: error: 'eventControls' was not declared in this scope; did you mean 'getEventControl'?
601 | if (index < ArraySize(eventControls))
| ^~~~~~~~~~~~~
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/support/CodeUtils.h:700:30: note: in definition of macro 'ArraySize'
700 | #define ArraySize(a) (sizeof(a) / sizeof((a)[0]))
| ^
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/app/clusters/on-off-server/on-off-server.cpp:601:27: note: maximum limit of 1000 namespaces searched for 'eventControls'
601 | if (index < ArraySize(eventControls))
| ^~~~~~~~~~~~~
/opt/nordic/ncs/v2.2.0/modules/lib/matter/src/lib/support/CodeUtils.h:700:30: note: in definition of macro 'ArraySize'
700 | #define ArraySize(a) (sizeof(a) / sizeof((a)[0]))
| ^
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/v2.2.0/bin/cmake --build /Users/lukaskirner/Documents/Development/Privat/matter/sensor2/build
Note the ZAP Toole instructions are outdated. I couldn't find the python scripts in the ZAP repository, therefor I just build the electron app on my own.
Thanks for any help in advance.