ncs-zigbee - Configuration issue with custom cluster

Hi,

I write this information for the sake of completeness. I don´t need Zigbee2MQTT support from you. Instead, support with the Zigbee firmware is required.

I´m working on an open-source Zigbee environment sensor, based on an nRF54L14, and I have a problem with a customized cluster for VOC. You can find the complete repo with the firmware here:

https://github.com/Kampi/BeeLight

I use Zigbee2MQTT for the Zigbee network, and I get a configuration error when starting the service. The Zigbee2MQTT team told me that this issue is firmware-based. You can see the ticket for this problem here:

https://github.com/Koenkk/zigbee-herdsman-converters/issues/10831#issuecomment-3568319658

I don´t understand why this issue is related to the VOC cluster only, because the cluster looks basically the same. But I don´t have a deep understanding of ZBOSS and the underlying mechanism, so I need some help to understand the issue and a potential solution. The complete VOC cluster looks like this

#ifndef ZB_ZCL_BEELIGHT_VOC_MEASUREMENT_H_
#define ZB_ZCL_BEELIGHT_VOC_MEASUREMENT_H_

#include <zcl/zb_zcl_common.h>
#include <zcl/zb_zcl_commands.h>

enum zb_zcl_voc_cluster_attr_e
{
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_ID        = 0x0000,
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_ID    = 0x0001,
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_ID    = 0x0002,
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_TOLERANCE_ID    = 0x0003,
};

/** @brief Default value for VOC Measurement cluster revision global attribute */
#define ZB_ZCL_BEELIGHT_VOC_MEASUREMENT_CLUSTER_REVISION_DEFAULT             ((zb_uint16_t)0x0001U)

/** @brief MeasuredValue attribute unknown value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_UNKNOWN                   ((zb_uint16_t)0x8000)

/** @brief MinMeasuredValue attribute minimum value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_MIN_VALUE             ((zb_uint16_t)0x0000)

/** @brief MinMeasuredValue attribute maximum value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_MAX_VALUE             ((zb_uint16_t)0x2710)

/** @brief MinMeasuredValue attribute invalid value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_INVALID               ((zb_uint16_t)0x8000)

/** @brief MaxMeasuredValue attribute minimum value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_MIN_VALUE             ((zb_uint16_t)0x0000)

/** @brief MaxMeasuredValue attribute maximum value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_MAX_VALUE             ((zb_uint16_t)0x2710)

/** @brief MaxMeasuredValue attribute invalid value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_INVALID               ((zb_uint16_t)0x8000)

/** @brief Tolerance attribute minimum value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_TOLERANCE_MIN_VALUE             ((zb_uint16_t)0x0000)

/** @brief Tolerance attribute maximum value */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_TOLERANCE_MAX_VALUE             ((zb_uint16_t)0x000F)

/** @brief Default value for Value attribute */
#define ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_DEFAULT_VALUE             ((zb_uint16_t)0x0000)

#define ZB_SET_ATTR_DESCR_WITH_ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_ID(data_ptr)          \
{                                                                                               \
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_ID,                                              \
    ZB_ZCL_ATTR_TYPE_U16,                                                                       \
    ZB_ZCL_ATTR_ACCESS_READ_ONLY | ZB_ZCL_ATTR_ACCESS_REPORTING,                                \
    (ZB_ZCL_NON_MANUFACTURER_SPECIFIC),                                                         \
    (void*) data_ptr                                                                            \
}

#define ZB_SET_ATTR_DESCR_WITH_ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_ID(data_ptr)      \
{                                                                                               \
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_ID,                                          \
    ZB_ZCL_ATTR_TYPE_U16,                                                                       \
    ZB_ZCL_ATTR_ACCESS_READ_ONLY,                                                               \
    (ZB_ZCL_NON_MANUFACTURER_SPECIFIC),                                                         \
    (void*) data_ptr                                                                            \
}

#define ZB_SET_ATTR_DESCR_WITH_ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_ID(data_ptr)      \
{                                                                                               \
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_ID,                                          \
    ZB_ZCL_ATTR_TYPE_U16,                                                                       \
    ZB_ZCL_ATTR_ACCESS_READ_ONLY,                                                               \
    (ZB_ZCL_NON_MANUFACTURER_SPECIFIC),                                                         \
    (void*) data_ptr                                                                            \
}

#define ZB_SET_ATTR_DESCR_WITH_ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_TOLERANCE_ID(data_ptr)      \
{                                                                                               \
    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_TOLERANCE_ID,                                          \
    ZB_ZCL_ATTR_TYPE_U8,                                                                        \
    ZB_ZCL_ATTR_ACCESS_READ_ONLY,                                                               \
    (ZB_ZCL_NON_MANUFACTURER_SPECIFIC),                                                         \
    (void*) data_ptr                                                                            \
}

/** @brief Number of attributes mandatory for reporting in BeeLight VOC Measurement cluster */
#define ZB_ZCL_BEELIGHT_VOC_MEASUREMENT_REPORT_ATTR_COUNT 1

/** @brief Declare attribute list for BeeLight VOC Measurement cluster - server side
    @param attr_list - attribute list name
    @param value - pointer to variable to store MeasuredValue attribute
    @param min_value - pointer to variable to store MinMeasuredValue attribute
    @param max_value - pointer to variable to store MAxMeasuredValue attribute
    @param tolerance - pointer to variable to store Tolerance attribute
*/
#define ZB_ZCL_DECLARE_BEELIGHT_VOC_MEASUREMENT_ATTRIB_LIST(attr_list, value, min_value, max_value, tolerance)  \
    ZB_ZCL_START_DECLARE_ATTRIB_LIST_CLUSTER_REVISION(attr_list, ZB_ZCL_BEELIGHT_VOC_MEASUREMENT)               \
    ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_ID, (value))                                \
    ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_ID, (min_value))                        \
    ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_ID, (max_value))                        \
    ZB_ZCL_SET_ATTR_DESC(ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_TOLERANCE_ID, (tolerance))                        \
    ZB_ZCL_FINISH_DECLARE_ATTRIB_LIST

void zb_zcl_beelight_voc_measurement_init_server(void);
void zb_zcl_beelight_voc_measurement_init_client(void);

#define ZB_ZCL_CLUSTER_ID_BEELIGHT_VOC_MEASUREMENT_SERVER_ROLE_INIT zb_zcl_beelight_voc_measurement_init_server
#define ZB_ZCL_CLUSTER_ID_BEELIGHT_VOC_MEASUREMENT_CLIENT_ROLE_INIT zb_zcl_beelight_voc_measurement_init_client

#endif /* ZB_ZCL_BEELIGHT_VOC_MEASUREMENT_H_ */

#include "zb_common.h"

#if defined (ZB_ZCL_SUPPORT_CLUSTER_BEELIGHT_VOC_MEASUREMENT)

#include "zb_zcl.h"
#include "zb_aps.h"
#include "zcl/zb_zcl_common.h"

zb_ret_t check_value_beelight_voc_measurement_server(zb_uint16_t attr_id, zb_uint8_t endpoint, zb_uint8_t *value);
void zb_zcl_beelight_voc_measurement_write_attr_hook_server(zb_uint8_t endpoint, zb_uint16_t attr_id, zb_uint8_t *new_value, zb_uint16_t manuf_code);

void zb_zcl_beelight_voc_measurement_init_server(void)
{
    zb_zcl_add_cluster_handlers(ZB_ZCL_CLUSTER_ID_BEELIGHT_VOC_MEASUREMENT,
                                ZB_ZCL_CLUSTER_SERVER_ROLE,
                                check_value_beelight_voc_measurement_server,
                                zb_zcl_beelight_voc_measurement_write_attr_hook_server,
                                (zb_zcl_cluster_handler_t)NULL);
}

void zb_zcl_voc_measurement_init_client(void)
{
    zb_zcl_add_cluster_handlers(ZB_ZCL_CLUSTER_ID_BEELIGHT_VOC_MEASUREMENT,
                                ZB_ZCL_CLUSTER_CLIENT_ROLE,
                                (zb_zcl_cluster_check_value_t)NULL,
                                (zb_zcl_cluster_write_attr_hook_t)NULL,
                                (zb_zcl_cluster_handler_t)NULL);
}

zb_ret_t check_value_beelight_voc_measurement_server(zb_uint16_t attr_id, zb_uint8_t endpoint, zb_uint8_t *value)
{
    zb_ret_t ret = RET_OK;
    zb_int16_t val = ZB_ZCL_ATTR_GET16(value);

    TRACE_MSG(TRACE_ZCL1, "> check_value_beelight_voc_measurement, attr_id %d, val %d", (FMT__D_D, attr_id, val));

    switch (attr_id)
    {
        case ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_ID:
            if (ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_VALUE_UNKNOWN == val)
            {
                ret = RET_OK;
            }
            else
            {
                zb_zcl_attr_t *attr_desc = zb_zcl_get_attr_desc_a(endpoint,
                    ZB_ZCL_CLUSTER_ID_BEELIGHT_VOC_MEASUREMENT,
                    ZB_ZCL_CLUSTER_SERVER_ROLE,
                    ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_ID);
                ZB_ASSERT(attr_desc);

                ret = (ZB_ZCL_GET_ATTRIBUTE_VAL_16(attr_desc) == ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_INVALID ||
                    ZB_ZCL_GET_ATTRIBUTE_VAL_16(attr_desc) <= val)
                    ? RET_OK : RET_ERROR;

                if (ret)
                {
                    attr_desc = zb_zcl_get_attr_desc_a(endpoint,
                        ZB_ZCL_CLUSTER_ID_BEELIGHT_VOC_MEASUREMENT,
                        ZB_ZCL_CLUSTER_SERVER_ROLE,
                        ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_ID);
                    ZB_ASSERT(attr_desc);

                    ret = ZB_ZCL_GET_ATTRIBUTE_VAL_16(attr_desc) == ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_INVALID ||
                            val <= ZB_ZCL_GET_ATTRIBUTE_VAL_16(attr_desc)
                        ? RET_OK : RET_ERROR;
                }
            }
            break;

        case ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_ID:
            ret = ((ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_MIN_VALUE <= val) &&
                    (val <= ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_MAX_VALUE)) ||
                    (ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MIN_VALUE_INVALID == val)
                    ? RET_OK : RET_ERROR;
            break;

        case ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_ID:
            ret = ( (ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_MIN_VALUE <= ZB_ZCL_ATTR_GET16(value)) &&
                    (ZB_ZCL_ATTR_GET16(value) <= ZB_ZCL_ATTR_BEELIGHT_VOC_MEASUREMENT_MAX_VALUE_MAX_VALUE) )
                    ? RET_OK : RET_ERROR;
            break;

        default:
            break;
    }

    TRACE_MSG(TRACE_ZCL1, "< check_value_beelight_voc_measurement ret %hd", (FMT__H, ret));

    return ret;
}

void zb_zcl_beelight_voc_measurement_write_attr_hook_server(zb_uint8_t endpoint, zb_uint16_t attr_id, zb_uint8_t *new_value, zb_uint16_t manuf_code)
{
    ZVUNUSED(new_value);
    ZVUNUSED(endpoint);
    ZVUNUSED(manuf_code);
    ZVUNUSED(attr_id);

    TRACE_MSG(TRACE_ZCL1, ">> zb_zcl_beelight_voc_measurement_write_attr_hook endpoint %hd, attr_id 0x%x, manuf_code 0x%x",
                (FMT__H_D_D, endpoint, attr_id, manuf_code));

    /* All attributes in this cluster are read-only. Do nothing */

    TRACE_MSG(TRACE_ZCL1, "<< zb_zcl_beelight_voc_measurement_write_attr_hook", (FMT__0));
}

#endif /* ZB_ZCL_SUPPORT_CLUSTER_VOC_MEASUREMENT */

As far as I understand the error message, the error happens somewhere during the configuration of this cluster. Where does this configuration happen and how can I enable debug outputs to see the issue in the firmware? Or is something wrong with the cluster definition (it´s based on the temperature measurement cluster). The current firmware doesn´t output any Zigbee-related errors yet.

Parents
  • Hello,

    Can you please specify exactly what error message you are seeing? Also, what HW are you running on? nRF54L15 DK or custom HW? And do you have access to UART Logging? USB logging? RTT Logging?

    And what NCS version are you using?

    Best regards,

    Edvin

  • Hi Edvin,

    it´s a custom hardware with an nRF54L15 module and I have RTT logging available. I´m using NCS v2.9.2 with ncs-zigbee main.

    https://github.com/Kampi/BeeLight/blob/2.1_Dev/firmware/app/west.yml

    The error message from Z2M is the following

    [2025-11-23 13:10:04] error:    z2m: Failed to configure '0x86d79ac5bae41fa3', attempt 4 (Error: ZCL command 0x86d79ac5bae41fa3/10 msBeelightVOC.configReport([{"minimumReportInterval":300,"maximumReportInterval":3600,"reportableChange":5,"attribute":"measuredValue"}], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Status 'FAILURE')

  • Ok, it no longer complains about that. But it still doesn't build. Can you please a standalone application folder that will build with the NCS Zigbee addon v1.2.1, with no other modifications than the bme68x driver, please?

    Best regards,

    Edvin

  • Hi,

    please use this app folder. I also add the README so you have everything in place.

    0131.app.zip

  • I see the same build log now, that I did when I tried to pull it from github:

    C:\Users\edho\Downloads\0131.app\app>west build -b nrf54l15dk/nrf54l15/cpuapp -d _build -- -DEXTRA_CONF_FILE=config/debug.conf
    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: C:/nordic/SDKs/ncs/toolchains/b620d30767/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/.cache
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: nrf54l15dk, qualifiers: nrf54l15/cpuapp
    Parsing C:/Users/edho/Downloads/0131.app/app/Kconfig.sysbuild
    Loaded configuration 'C:/Users/edho/Downloads/0131.app/app/_build/_sysbuild/empty.conf'
    Merged configuration 'C:/Users/edho/Downloads/0131.app/app/_build/_sysbuild/empty.conf'
    Configuration saved to 'C:/Users/edho/Downloads/0131.app/app/_build/zephyr/.config'
    Kconfig header saved to 'C:/Users/edho/Downloads/0131.app/app/_build/_sysbuild/autoconf.h'
    --
       *************************
       * Running CMake for app *
       *************************
    
    Execute patch patches/zephyr/0001-drivers-sensor-Add-support-for-Broadcom-APDS-9306.patch
    Execute patch patches/zephyr/0003-drivers-sensor-apds9306-fix-unchecked-return-value-c.patch
    Execute patch patches/zephyr/0004-Remove-reset-from-apds9306-driver.patch
    Execute patch patches/zephyr/0005-drivers-sensor-APDS9306-Add-lux-conversion.patch
    Execute patch patches/ncs-zigbee/0001-Add-BeeLight-specific-clusters.patch
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/Users/edho/Downloads/0131.app/app
    -- CMake version: 3.21.0
    -- Using NCS Toolchain 2.8.20241119.782234748775 for building. (C:/nordic/SDKs/ncs/toolchains/b620d30767/cmake)
    -- Found Python3: C:/nordic/SDKs/ncs/toolchains/b620d30767/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.8") found components: Interpreter
    -- Cache files will be written to: C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/.cache
    -- Zephyr version: 3.7.99 (C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: nrf54l15dk, qualifiers: nrf54l15/cpuapp
    -- Found host-tools: zephyr 0.17.0 (C:/nordic/SDKs/ncs/toolchains/b620d30767/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.17.0 (C:/nordic/SDKs/ncs/toolchains/b620d30767/opt/zephyr-sdk)
    -- Found Dtc: C:/nordic/SDKs/ncs/toolchains/b620d30767/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found BOARD.dts: C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts
    -- Found devicetree overlay: C:/Users/edho/Downloads/0131.app/app/boards/nrf54l15dk_nrf54l15_cpuapp.overlay
    unit address and first address in 'reg' (0x5004c000) don't match for /soc/peripheral@50000000/vpr@4c000/mailbox@1
    -- Generated zephyr.dts: C:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/include/generated/zephyr/devicetree_generated.h
    -- Including generated dts.cmake file: C:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/dts.cmake
    Parsing C:/Users/edho/Downloads/0131.app/app/Kconfig
    Loaded configuration 'C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_defconfig'
    Merged configuration 'C:/Users/edho/Downloads/0131.app/app/prj.conf'
    Merged configuration 'C:/Users/edho/Downloads/0131.app/app/boards/nrf54l15dk_nrf54l15_cpuapp.conf'
    Merged configuration 'C:/Users/edho/Downloads/0131.app/app/config/debug.conf'
    Merged configuration 'C:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/.config.sysbuild'
    Configuration saved to 'C:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/.config'
    Kconfig header saved to 'C:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/include/generated/zephyr/autoconf.h'
    -- Found GnuLd: c:/nordic/sdks/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38")
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/nordic/SDKs/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    CMake Warning at C:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/cmake/version_app.cmake:19 (message):
      APP_VERSION: git rev-parse failed: fatal: not a git repository (or any of
      the parent directories): .git
    Call Stack (most recent call first):
      C:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/CMakeLists.txt:26 (include)
    
    
    =========== Generating psa_crypto_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_config ===============
    =========== Generating psa_crypto_library_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
    Backup: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
    Restore: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_library_config ===============
    -- Setting build type to 'MinSizeRel' as none was specified.
    CMake Warning at C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/CMakeLists.txt:2164 (message):
    
    
            The CMake build type was set to 'MinSizeRel', but the optimization flag was set to '-Og'.
            This may be intentional and the warning can be turned off by setting the CMake variable 'NO_BUILD_TYPE_WARNING'
    
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/edho/Downloads/0131.app/app/_build/app
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/edho/Downloads/0131.app/app/_build
    ←[92m-- west build: building application
    [5/10] Performing build step for 'app'
    [1/491] Generating include/generated/zephyr/app_version.h
    -- git describe failed: fatal: not a git repository (or any of the parent directories): .git
    [5/491] Generating include/generated/zephyr/version.h
    -- Zephyr version: 3.7.99 (C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr), build: v3.7.99-ncs2-2
    [231/491] Building C object modules/ncs-zigbee/lib/zboss/src/CMakeFiles/zboss-sources.dir/zcl/zcl_groups.c.obj
    In file included from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_zcl.h:50,
                     from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api.h:63,
                     from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/src/include/zb_common.h:54,
                     from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/src/zcl/zcl_groups.c:46:
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zcl/zb_zcl_common.h: In function 'get_group_membership_handler':
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zcl/zb_zcl_common.h:1630:56: warning: 'conf' may be used uninitialized [-Wmaybe-uninitialized]
     1630 | #define ZB_ZCL_PACKET_PUT_DATA16_VAL(ptr, val) (ptr) = zb_put_next_htole16((ptr), val)
          |                                                        ^~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/src/zcl/zcl_groups.c:498:41: note: 'conf' was declared here
      498 |   zb_apsme_get_group_membership_conf_t *conf;
          |                                         ^~~~
    [371/491] Building C object CMakeFiles/app.dir/src/main.c.obj
    FAILED: CMakeFiles/app.dir/src/main.c.obj
    C:\nordic\SDKs\ncs\toolchains\b620d30767\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -DCUSTOM_IEEE802154_L2=ZIGBEE_L2 -DKERNEL -DK_HEAP_MEM_POOL_SIZE=1024 -DLIBZBOSS_CONFIG_FILE=\"C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/osif/libzboss_config.ed.h\" -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE=\"nrf-psa-crypto-config.h\" -DMBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE=\"nrf-psa-crypto-user-config.h\" -DNRF54L15_XXAA -DNRF_802154_ACK_TIMEOUT_ENABLED=1 -DNRF_802154_CARRIER_FUNCTIONS_ENABLED=0 -DNRF_802154_CCA_CORR_LIMIT_DEFAULT=2 -DNRF_802154_CCA_CORR_THRESHOLD_DEFAULT=45 -DNRF_802154_CCA_ED_THRESHOLD_DEFAULT=17 -DNRF_802154_CCA_MODE_DEFAULT=NRF_RADIO_CCA_MODE_ED -DNRF_802154_ECB_PRIORITY=-1 -DNRF_802154_ENCRYPTION_ENABLED=0 -DNRF_802154_IE_WRITER_ENABLED=0 -DNRF_802154_INTERNAL_RADIO_IRQ_HANDLING=0 -DNRF_802154_PENDING_EXTENDED_ADDRESSES=16 -DNRF_802154_PENDING_SHORT_ADDRESSES=16 -DNRF_802154_PLATFORM_ASSERT_INCLUDE=\"nrf_802154_assert_zephyr.h\" -DNRF_802154_RX_BUFFERS=16 -DNRF_802154_SECURITY_KEY_STORAGE_SIZE=3 -DNRF_802154_SECURITY_WRITER_ENABLED=0 -DNRF_802154_SERIALIZATION_HOST=0 -DNRF_802154_SWI_PRIORITY=1 -DNRF_802154_TX_STARTED_NOTIFY_ENABLED=1 -DNRF_802154_USE_RAW_API=1 -DNRF_APPLICATION -DNRF_CONFIG_CPU_FREQ_MHZ=128 -DUSE_PARTITION_MANAGER=1 -DZB_ED_ROLE -DZIGBEE_L2=ZIGBEE_ADD_ON -D_ANSI_SOURCE -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/Users/edho/Downloads/0131.app/app/src -IC:/Users/edho/Downloads/0131.app/app/src/events -IC:/Users/edho/Downloads/0131.app/app/src/sensors -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/drivers/mpsl/clock_control -IC:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/include/generated/zephyr -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/include -IC:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/include/generated -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/soc/nordic -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/lib/libc/newlib/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/soc/nordic/nrf54l/. -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/soc/nordic/common/. -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/subsys/settings/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/lib/multithreading_lock/. -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/drivers/flash -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/tests/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/modules/cmsis/. -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/hal/nordic/nrfx -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/hal/nordic/nrfx/drivers/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/hal/nordic/nrfx/mdk -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/modules/hal_nordic/nrfx/. -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/debug/segger/SEGGER -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/debug/segger/Config -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/common/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/nrf21540_gpio/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/nrf21540_gpio_spi/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/nrf2220/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/nrf2240/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/nrf22xx/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/simple_gpio/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/fem/include/protocol -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/mpsl/include/protocol -IC:/Users/edho/Downloads/0131.app/app/_build/app/generated/library_nrf_security_psa -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/threading/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/utils -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/drivers/cracen/common/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/drivers/cracen/sxsymcrypt/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/drivers/cracen/silexpk/target/baremetal_ba414e_with_ik -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/drivers/cracen/silexpk/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/drivers/cracen/sicrypto/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrf/subsys/nrf_security/src/drivers/cracen/cracenpsa/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/crypto/oberon-psa-crypto/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/crypto/oberon-psa-crypto/library -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/crypto/mbedtls/library -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/crypto/mbedtls/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/modules/crypto/mbedtls/include/library -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/nrf_802154/driver/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/nrf_802154/sl/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/nrf_802154/sl/sl/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/nrfxlib/nrf_802154/common/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/modules/hal_nordic/nrf_802154/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/src/zb_error -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/addons -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zcl -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/ha -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/se -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/osif -IC:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/subsys/osif -isystem C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/lib/libc/common/include -Os -DNDEBUG -fno-strict-aliasing -Og -imacros C:/Users/edho/Downloads/0131.app/app/_build/app/zephyr/include/generated/zephyr/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mfp16-format=ieee --sysroot=C:/nordic/SDKs/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=C:/Users/edho/Downloads/0131.app/app=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/nordic/SDKs/ncs/zigbee/v1.2.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/nordic/SDKs/ncs/zigbee/v1.2.1=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=c99 -Wno-packed-bitfield-compat -MD -MT CMakeFiles/app.dir/src/main.c.obj -MF CMakeFiles\app.dir\src\main.c.obj.d -o CMakeFiles/app.dir/src/main.c.obj -c C:/Users/edho/Downloads/0131.app/app/src/main.c
    C:/Users/edho/Downloads/0131.app/app/src/main.c:141:26: error: expected ')' before '&' token
      141 |     co2_sensor_attr_list,
          |                          ^
          |                          )
      142 |     &dev_ctx.co2_attr.measurement_attr,
          |     ~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:150:26: error: expected ')' before '&' token
      150 |     iaq_sensor_attr_list,
          |                          ^
          |                          )
      151 |     &dev_ctx.iaq_attr.measurement_attr,
          |     ~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:159:26: error: expected ')' before '&' token
      159 |     voc_sensor_attr_list,
          |                          ^
          |                          )
      160 |     &dev_ctx.voc_attr.measurement_attr,
          |     ~
    In file included from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api.h:52,
                     from C:/Users/edho/Downloads/0131.app/app/src/main.c:28:
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:289:9: error: 'ZB_BEELIGHT_CLUSTER_ID_CO2_MEASUREMENT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_PM2_5_MEASUREMENT'?
      289 |         ZB_BEELIGHT_CLUSTER_ID_CO2_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:597:4: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      597 |   (cluster_id),                                                                                            \
          |    ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:88:9: note: in expansion of macro 'BEELIGHT_CLUSTER_CO2_DESC'
       88 |         BEELIGHT_CLUSTER_CO2_DESC(co2_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:177:5: error: 'co2_sensor_attr_list' undeclared here (not in a function); did you mean 'hum_sensor_attr_list'?
      177 |     co2_sensor_attr_list,
          |     ^~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:598:4: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      598 |   (attr_count),                                                                                            \
          |    ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:290:9: note: in expansion of macro 'ZB_ZCL_ARRAY_SIZE'
      290 |         ZB_ZCL_ARRAY_SIZE(co2_attr_list, zb_zcl_attr_t), \
          |         ^~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:88:9: note: in expansion of macro 'BEELIGHT_CLUSTER_CO2_DESC'
       88 |         BEELIGHT_CLUSTER_CO2_DESC(co2_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:289:9: error: 'ZB_BEELIGHT_CLUSTER_ID_CO2_MEASUREMENT_SERVER_ROLE_INIT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_SERVER_ROLE_INIT'?
      289 |         ZB_BEELIGHT_CLUSTER_ID_CO2_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:602:58: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      602 |   (((cluster_role_mask) == ZB_ZCL_CLUSTER_SERVER_ROLE) ? cluster_id##_SERVER_ROLE_INIT : \
          |                                                          ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:88:9: note: in expansion of macro 'BEELIGHT_CLUSTER_CO2_DESC'
       88 |         BEELIGHT_CLUSTER_CO2_DESC(co2_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:289:9: error: 'ZB_BEELIGHT_CLUSTER_ID_CO2_MEASUREMENT_CLIENT_ROLE_INIT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_CLIENT_ROLE_INIT'?
      289 |         ZB_BEELIGHT_CLUSTER_ID_CO2_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:603:59: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      603 |    (((cluster_role_mask) == ZB_ZCL_CLUSTER_CLIENT_ROLE) ? cluster_id##_CLIENT_ROLE_INIT : NULL)) \
          |                                                           ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:88:9: note: in expansion of macro 'BEELIGHT_CLUSTER_CO2_DESC'
       88 |         BEELIGHT_CLUSTER_CO2_DESC(co2_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:298:9: error: 'ZB_BEELIGHT_CLUSTER_ID_IAQ_MEASUREMENT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT'?
      298 |         ZB_BEELIGHT_CLUSTER_ID_IAQ_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:597:4: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      597 |   (cluster_id),                                                                                            \
          |    ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:89:9: note: in expansion of macro 'BEELIGHT_CLUSTER_IAQ_DESC'
       89 |         BEELIGHT_CLUSTER_IAQ_DESC(iaq_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:178:5: error: 'iaq_sensor_attr_list' undeclared here (not in a function); did you mean 'hum_sensor_attr_list'?
      178 |     iaq_sensor_attr_list,
          |     ^~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:598:4: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      598 |   (attr_count),                                                                                            \
          |    ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:299:9: note: in expansion of macro 'ZB_ZCL_ARRAY_SIZE'
      299 |         ZB_ZCL_ARRAY_SIZE(iaq_attr_list, zb_zcl_attr_t), \
          |         ^~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:89:9: note: in expansion of macro 'BEELIGHT_CLUSTER_IAQ_DESC'
       89 |         BEELIGHT_CLUSTER_IAQ_DESC(iaq_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:298:9: error: 'ZB_BEELIGHT_CLUSTER_ID_IAQ_MEASUREMENT_SERVER_ROLE_INIT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_SERVER_ROLE_INIT'?
      298 |         ZB_BEELIGHT_CLUSTER_ID_IAQ_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:602:58: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      602 |   (((cluster_role_mask) == ZB_ZCL_CLUSTER_SERVER_ROLE) ? cluster_id##_SERVER_ROLE_INIT : \
          |                                                          ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:89:9: note: in expansion of macro 'BEELIGHT_CLUSTER_IAQ_DESC'
       89 |         BEELIGHT_CLUSTER_IAQ_DESC(iaq_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:298:9: error: 'ZB_BEELIGHT_CLUSTER_ID_IAQ_MEASUREMENT_CLIENT_ROLE_INIT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_CLIENT_ROLE_INIT'?
      298 |         ZB_BEELIGHT_CLUSTER_ID_IAQ_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:603:59: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      603 |    (((cluster_role_mask) == ZB_ZCL_CLUSTER_CLIENT_ROLE) ? cluster_id##_CLIENT_ROLE_INIT : NULL)) \
          |                                                           ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:89:9: note: in expansion of macro 'BEELIGHT_CLUSTER_IAQ_DESC'
       89 |         BEELIGHT_CLUSTER_IAQ_DESC(iaq_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:307:9: error: 'ZB_BEELIGHT_CLUSTER_ID_VOC_MEASUREMENT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT'?
      307 |         ZB_BEELIGHT_CLUSTER_ID_VOC_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:597:4: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      597 |   (cluster_id),                                                                                            \
          |    ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:90:9: note: in expansion of macro 'BEELIGHT_CLUSTER_VOC_DESC'
       90 |         BEELIGHT_CLUSTER_VOC_DESC(voc_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:179:5: error: 'voc_sensor_attr_list' undeclared here (not in a function); did you mean 'hum_sensor_attr_list'?
      179 |     voc_sensor_attr_list
          |     ^~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:598:4: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      598 |   (attr_count),                                                                                            \
          |    ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:308:9: note: in expansion of macro 'ZB_ZCL_ARRAY_SIZE'
      308 |         ZB_ZCL_ARRAY_SIZE(voc_attr_list, zb_zcl_attr_t), \
          |         ^~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:90:9: note: in expansion of macro 'BEELIGHT_CLUSTER_VOC_DESC'
       90 |         BEELIGHT_CLUSTER_VOC_DESC(voc_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:307:9: error: 'ZB_BEELIGHT_CLUSTER_ID_VOC_MEASUREMENT_SERVER_ROLE_INIT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_SERVER_ROLE_INIT'?
      307 |         ZB_BEELIGHT_CLUSTER_ID_VOC_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:602:58: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      602 |   (((cluster_role_mask) == ZB_ZCL_CLUSTER_SERVER_ROLE) ? cluster_id##_SERVER_ROLE_INIT : \
          |                                                          ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:90:9: note: in expansion of macro 'BEELIGHT_CLUSTER_VOC_DESC'
       90 |         BEELIGHT_CLUSTER_VOC_DESC(voc_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight.h:307:9: error: 'ZB_BEELIGHT_CLUSTER_ID_VOC_MEASUREMENT_CLIENT_ROLE_INIT' undeclared here (not in a function); did you mean 'ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT_CLIENT_ROLE_INIT'?
      307 |         ZB_BEELIGHT_CLUSTER_ID_VOC_MEASUREMENT, \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api_af.h:603:59: note: in definition of macro 'ZB_ZCL_CLUSTER_DESC'
      603 |    (((cluster_role_mask) == ZB_ZCL_CLUSTER_CLIENT_ROLE) ? cluster_id##_CLIENT_ROLE_INIT : NULL)) \
          |                                                           ^~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/beelight/beelight_bsec2.h:90:9: note: in expansion of macro 'BEELIGHT_CLUSTER_VOC_DESC'
       90 |         BEELIGHT_CLUSTER_VOC_DESC(voc_attr_list)                            \
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:166:1: note: in expansion of macro 'BEELIGHT_DECLARE_CLUSTER_LIST'
      166 | BEELIGHT_DECLARE_CLUSTER_LIST(
          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c: In function 'app_clusters_attr_init':
    C:/Users/edho/Downloads/0131.app/app/src/main.c:351:33: error: 'ZB_BEELIGHT_ATTR_IAQ_MEASUREMENT_MIN_VALUE_INVALID' undeclared (first use in this function); did you mean 'ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_INVALID'?
      351 |     dev_ctx.iaq_attr.min_attr = ZB_BEELIGHT_ATTR_IAQ_MEASUREMENT_MIN_VALUE_INVALID;
          |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                                 ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_INVALID
    C:/Users/edho/Downloads/0131.app/app/src/main.c:351:33: note: each undeclared identifier is reported only once for each function it appears in
    C:/Users/edho/Downloads/0131.app/app/src/main.c:352:33: error: 'ZB_BEELIGHT_ATTR_IAQ_MEASUREMENT_MAX_VALUE_INVALID' undeclared (first use in this function); did you mean 'ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_INVALID'?
      352 |     dev_ctx.iaq_attr.max_attr = ZB_BEELIGHT_ATTR_IAQ_MEASUREMENT_MAX_VALUE_INVALID;
          |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                                 ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_INVALID
    In file included from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/osif/zb_vendor.h:21,
                     from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zb_config.h:58,
                     from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zb_channel_page.h:46,
                     from C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/zboss_api.h:47:
    C:/Users/edho/Downloads/0131.app/app/src/main.c: In function 'zbus_on_env_callback':
    C:/Users/edho/Downloads/0131.app/app/src/main.c:574:13: error: 'ZB_BEELIGHT_ATTR_CO2_MEASUREMENT_VALUE_ID' undeclared (first use in this function); did you mean 'ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID'?
      574 |             ZB_BEELIGHT_ATTR_CO2_MEASUREMENT_VALUE_ID,
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/osif/zb_config_platform.h:55:30: note: in definition of macro 'ZVUNUSED'
       55 | #define ZVUNUSED(v)    (void)v
          |                              ^
    C:/Users/edho/Downloads/0131.app/app/src/main.c:570:9: note: in expansion of macro 'ZB_ZCL_SET_ATTRIBUTE'
      570 |         ZB_ZCL_SET_ATTRIBUTE(
          |         ^~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:591:13: error: 'ZB_BEELIGHT_ATTR_IAQ_MEASUREMENT_VALUE_ID' undeclared (first use in this function); did you mean 'ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID'?
      591 |             ZB_BEELIGHT_ATTR_IAQ_MEASUREMENT_VALUE_ID,
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/osif/zb_config_platform.h:55:30: note: in definition of macro 'ZVUNUSED'
       55 | #define ZVUNUSED(v)    (void)v
          |                              ^
    C:/Users/edho/Downloads/0131.app/app/src/main.c:587:9: note: in expansion of macro 'ZB_ZCL_SET_ATTRIBUTE'
      587 |         ZB_ZCL_SET_ATTRIBUTE(
          |         ^~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c:608:13: error: 'ZB_BEELIGHT_ATTR_VOC_MEASUREMENT_VALUE_ID' undeclared (first use in this function); did you mean 'ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID'?
      608 |             ZB_BEELIGHT_ATTR_VOC_MEASUREMENT_VALUE_ID,
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:/nordic/SDKs/ncs/zigbee/v1.2.1/ncs-zigbee/lib/zboss/include/osif/zb_config_platform.h:55:30: note: in definition of macro 'ZVUNUSED'
       55 | #define ZVUNUSED(v)    (void)v
          |                              ^
    C:/Users/edho/Downloads/0131.app/app/src/main.c:604:9: note: in expansion of macro 'ZB_ZCL_SET_ATTRIBUTE'
      604 |         ZB_ZCL_SET_ATTRIBUTE(
          |         ^~~~~~~~~~~~~~~~~~~~
    C:/Users/edho/Downloads/0131.app/app/src/main.c: At top level:
    C:/Users/edho/Downloads/0131.app/app/src/main.c:382:13: warning: 'on_zcl_cb_handler' defined but not used [-Wunused-function]
      382 | static void on_zcl_cb_handler(zb_bufid_t bufid)
          |             ^~~~~~~~~~~~~~~~~
    [394/491] Building C object modules/hal_nordic/nrfx/CMakeF....2.1/modules/hal/nordic/nrfx/drivers/src/nrfx_gpiote.c.obj
    ninja: build stopped: subcommand failed.
    FAILED: _sysbuild/sysbuild/images/app-prefix/src/app-stamp/app-build C:/Users/edho/Downloads/0131.app/app/_build/_sysbuild/sysbuild/images/app-prefix/src/app-stamp/app-build
    cmd.exe /C "cd /D C:\Users\edho\Downloads\0131.app\app\_build\app && C:\nordic\SDKs\ncs\toolchains\b620d30767\opt\bin\cmake.exe --build ."
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: 'C:\nordic\SDKs\ncs\toolchains\b620d30767\opt\bin\cmake.EXE' --build C:/Users/edho/Downloads/0131.app/app/_build

    I did not see the same in the previous version of the app that you uploaded (the one where I couldn't read the cluster).

    Did you test this in an unmodified version of the zigbee addon? One where you, apart from the two west commands in this guide, doesn't have any modified files inside the SDK?

    BR,
    Edvin

  • Hi Edvin,

    No, I didn´t test it in an unmodified version of the Zigbee Addon because it requires additional clusters. I will test the app folder on my system and see what´s going on here and keep you updated.

  • Hi  ,

    I tested the app directory on my Ubuntu machine and after adding "+bsec" to the group-filter in the west.yml of the "app" directory, it works:

    1. Change group-filter in west.yml to group-filter: [+bsec, +bsec2]
    2. Run west init -l . in "app" directory
    3. Run "west update"
    4. Run a build for the nRF54L15 DK

    west build --build-dir /home/daniel/Downloads/app/build /home/daniel/Downloads/app --pristine --board nrf54l15dk/nrf54l15/cpuapp -- -DNCS_TOOLCHAIN_VERSION="NONE" -DEXTRA_CONF_FILE="config/debug.conf;boards/log_on_uart.conf" -DEXTRA_DTC_OVERLAY_FILE=boards/nrf54l15dk_nrf54l15_cpuapp.overlay -DDEBUG_THREAD_INFO=Off -Dapp_DEBUG_THREAD_INFO=Off

    I use VS Code for building

Reply
  • Hi  ,

    I tested the app directory on my Ubuntu machine and after adding "+bsec" to the group-filter in the west.yml of the "app" directory, it works:

    1. Change group-filter in west.yml to group-filter: [+bsec, +bsec2]
    2. Run west init -l . in "app" directory
    3. Run "west update"
    4. Run a build for the nRF54L15 DK

    west build --build-dir /home/daniel/Downloads/app/build /home/daniel/Downloads/app --pristine --board nrf54l15dk/nrf54l15/cpuapp -- -DNCS_TOOLCHAIN_VERSION="NONE" -DEXTRA_CONF_FILE="config/debug.conf;boards/log_on_uart.conf" -DEXTRA_DTC_OVERLAY_FILE=boards/nrf54l15dk_nrf54l15_cpuapp.overlay -DDEBUG_THREAD_INFO=Off -Dapp_DEBUG_THREAD_INFO=Off

    I use VS Code for building

Children
Related