esp-matter/example/sensors Config is NULL or mandatory feature_flags are missing.

beameye
Posts: 4
Joined: Sat Apr 01, 2023 1:29 pm

esp-matter/example/sensors Config is NULL or mandatory feature_flags are missing.

Postby beameye » Fri Sep 12, 2025 2:10 am

I am using the esp-matter/examples/sensors occupancy sensor for my project without the temperature and humidity sensors. A few months ago I was able compile and run the program, commission and change/notify application (Alexa) with my custom hardware sensor. Recently I had to reinstall the ubuntu/matter SDK environment and when I build and run the example (with temperature and humidity endpoints removed) I get the error:

E (501) esp_matter_cluster: Config is NULL or mandatory feature_flags are missing.

When I compile the sensors example unchanged, I get the error:

E (463) i2c: CONFLICT! driver_ng is not allowed to be used with this old driver

Which leads me to believe there is a version change since I had a working program. Been doing clean installs from Espressif’s SDK for Matter web page: https://docs.espressif.com/projects/esp ... index.html

Had many version and path problems trying to use the installation manager in the ESP-IDF extension for VSCode so gave up.

Any ideas what is wrong?

Thanks

occupancy sensor only:
  • Executing action: monitor
    Serial port /dev/ttyACM0
    Connecting...
    Detecting chip type... ESP32-C3
    Running idf_monitor in directory /home/alex/esp-matter/examples/sensors
    Executing "/home/alex/.espressif/python_env/idf5.4_py3.12_env/bin/python /home/alex/esp-idf/tools/idf_monitor.py -p /dev/ttyACM0 -b 115200 --toolchain-prefix riscv32-esp-elf- --target esp32c3 --revision 3 --decode-panic backtrace /home/alex/esp-matter/examples/sensors/build/sensors.elf -m '/home/alex/.espressif/python_env/idf5.4_py3.12_env/bin/python' '/home/alex/esp-idf/tools/idf.py'"...
    --- esp-idf-monitor 1.7.0 on /dev/ttyACM0 115200
    --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
    ESP-ROM:esp32c3-api1-20210207
    Build:Feb 7 2021
    rst:0x15 (USB_UART_CHIP_RESET),boot:0xe (SPI_FAST_FLASH_BOOT)
    Saved PC:0x4004c98c
    --- 0x4004c98c: usb_uart_rx_one_char in ROM
    SPIWP:0xee
    mode:DIO, clock div:1
    load:0x3fcd5820,len:0x1574
    load:0x403cc710,len:0xc30
    load:0x403ce710,len:0x2f64
    entry 0x403cc71a
    I (24) boot: ESP-IDF v5.4.1 2nd stage bootloader
    I (24) boot: compile time Sep 11 2025 17:04:07
    I (24) boot: chip revision: v0.3
    I (25) boot: efuse block revision: v1.1
    I (28) boot.esp32c3: SPI Speed : 80MHz
    I (32) boot.esp32c3: SPI Mode : DIO
    I (36) boot.esp32c3: SPI Flash Size : 4MB
    I (39) boot: Enabling RNG early entropy source...
    I (44) boot: Partition Table:
    I (46) boot: ## Label Usage Type ST Offset Length
    I (53) boot: 0 esp_secure_cert unknown 3f 06 0000d000 00002000
    I (59) boot: 1 nvs WiFi data 01 02 00010000 0000c000
    I (66) boot: 2 nvs_keys NVS keys 01 04 0001c000 00001000
    I (72) boot: 3 otadata OTA data 01 00 0001d000 00002000
    I (79) boot: 4 phy_init RF data 01 01 0001f000 00001000
    I (85) boot: 5 ota_0 OTA app 00 10 00020000 001e0000
    I (92) boot: 6 ota_1 OTA app 00 11 00200000 001e0000
    I (98) boot: 7 fctry WiFi data 01 02 003e0000 00006000
    I (105) boot: End of partition table
    I (108) esp_image: segment 0: paddr=00020020 vaddr=3c130020 size=35878h (219256) map
    I (151) esp_image: segment 1: paddr=000558a0 vaddr=3fc97600 size=03d60h ( 15712) load
    I (154) esp_image: segment 2: paddr=00059608 vaddr=40380000 size=06a10h ( 27152) load
    I (160) esp_image: segment 3: paddr=00060020 vaddr=42000020 size=123774h (1193844) map
    I (352) esp_image: segment 4: paddr=0018379c vaddr=40386a10 size=10a78h ( 68216) load
    I (365) esp_image: segment 5: paddr=0019421c vaddr=50000200 size=0001ch ( 28) load
    I (373) boot: Loaded app from partition at offset 0x20000
    I (373) boot: Disabling RNG early entropy source...
    I (384) cpu_start: Unicore app
    I (392) cpu_start: Pro cpu start user code
    I (392) cpu_start: cpu freq: 160000000 Hz
    I (392) app_init: Application information:
    I (392) app_init: Project name: sensors
    I (396) app_init: App version: 1.0
    I (399) app_init: Compile time: Sep 11 2025 17:11:10
    I (404) app_init: ELF file SHA256: d09140ff7...
    I (409) app_init: ESP-IDF: v5.4.1
    I (413) efuse_init: Min chip rev: v0.3
    I (416) efuse_init: Max chip rev: v1.99
    I (420) efuse_init: Chip rev: v0.3
    I (424) heap_init: Initializing. RAM available for dynamic allocation:
    I (431) heap_init: At 3FCAEFA0 len 00011060 (68 KiB): RAM
    I (436) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
    I (442) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
    I (448) heap_init: At 5000021C len 00001DCC (7 KiB): RTCRAM
    I (454) spi_flash: detected chip: generic
    I (457) spi_flash: flash io: dio
    I (462) sleep_gpio: Configure to isolate all GPIO pins in sleep state
    I (466) sleep_gpio: Enable automatic switching of GPIO sleep configuration
    I (473) coexist: coex firmware version: e727207
    I (477) coexist: coexist rom version 9387209
    I (481) main_task: Started on CPU0
    I (481) main_task: Calling app_main()
    I (491) gpio: GPIO[9]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
    I (491) button: IoT Button Version: 4.1.3
    E (501) esp_matter_cluster: Config is NULL or mandatory feature_flags are missing.

    assert failed: esp_matter::cluster_t* esp_matter::cluster::occupancy_sensing::create(esp_matter::endpoint_t*, config_t*, uint8_t) esp_matter_cluster.cpp:2154 (false)
    Core 0 register dump:
    --- Stack dump detected
    MEPC : 0x4038082c RA : 0x4038ac46 SP : 0x3fcb1b10 GP : 0x3fc97e00
    --- 0x4038082c: panic_abort at /home/alex/esp-idf/components/esp_system/panic.c:468
    --- 0x4038ac46: __ubsan_include at /home/alex/esp-idf/components/esp_system/ubsan.c:311
    TP : 0x3fcb1dd0 T0 : 0x37363534 T1 : 0x7271706f T2 : 0x33323130
    S0/FP : 0x00000001 S1 : 0x3fcb1cd5 A0 : 0x3fcb1b68 A1 : 0x3fc9a7c1
    A2 : 0x00000001 A3 : 0x00000029 A4 : 0x00000001 A5 : 0x3fcad000
    A6 : 0x7a797877 A7 : 0x76757473 S2 : 0x00000022 S3 : 0x3fcb1b68
    S4 : 0x3fcb1b68 S5 : 0x00000000 S6 : 0x00000000 S7 : 0x00000000
    S8 : 0x00000000 S9 : 0x00000000 S10 : 0x00000000 S11 : 0x00000000
    T3 : 0x6e6d6c6b T4 : 0x6a696867 T5 : 0x66656463 T6 : 0x62613938
    MSTATUS : 0x00001881 MTVEC : 0x40380001 MCAUSE : 0x00000002 MTVAL : 0x00000000
    --- 0x40380001: _vector_table at /home/alex/esp-idf/components/riscv/vectors_intc.S:54
    MHARTID : 0x00000000
sensor example unchanged:
  • Executing action: monitor
    Serial port /dev/ttyACM0
    Connecting...
    Detecting chip type... ESP32-C3
    Running idf_monitor in directory /home/alex/esp-matter/examples/sensors
    Executing "/home/alex/.espressif/python_env/idf5.4_py3.12_env/bin/python /home/alex/esp-idf/tools/idf_monitor.py -p /dev/ttyACM0 -b 115200 --toolchain-prefix riscv32-esp-elf- --target esp32c3 --revision 3 --decode-panic backtrace /home/alex/esp-matter/examples/sensors/build/sensors.elf -m '/home/alex/.espressif/python_env/idf5.4_py3.12_env/bin/python' '/home/alex/esp-idf/tools/idf.py'"...
    --- esp-idf-monitor 1.7.0 on /dev/ttyACM0 115200
    --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
    ESP-ROM:esp32c3-api1-20210207
    Build:Feb 7 2021
    rst:0x15 (USB_UART_CHIP_RESET),boot:0xe (SPI_FAST_FLASH_BOOT)
    Saved PC:0x4004c97e
    --- 0x4004c97e: usb_uart_rx_one_char in ROM
    SPIWP:0xee
    mode:DIO, clock div:1
    load:0x3fcd5820,len:0x1574
    load:0x403cc710,len:0xc30
    load:0x403ce710,len:0x2f64
    entry 0x403cc71a
    I (24) boot: ESP-IDF v5.4.1 2nd stage bootloader
    I (24) boot: compile time Sep 11 2025 17:04:07
    I (24) boot: chip revision: v0.3
    I (25) boot: efuse block revision: v1.1
    I (28) boot.esp32c3: SPI Speed : 80MHz
    I (32) boot.esp32c3: SPI Mode : DIO
    I (36) boot.esp32c3: SPI Flash Size : 4MB
    I (39) boot: Enabling RNG early entropy source...
    I (44) boot: Partition Table:
    I (46) boot: ## Label Usage Type ST Offset Length
    I (53) boot: 0 esp_secure_cert unknown 3f 06 0000d000 00002000
    I (59) boot: 1 nvs WiFi data 01 02 00010000 0000c000
    I (66) boot: 2 nvs_keys NVS keys 01 04 0001c000 00001000
    I (72) boot: 3 otadata OTA data 01 00 0001d000 00002000
    I (79) boot: 4 phy_init RF data 01 01 0001f000 00001000
    I (85) boot: 5 ota_0 OTA app 00 10 00020000 001e0000
    I (92) boot: 6 ota_1 OTA app 00 11 00200000 001e0000
    I (98) boot: 7 fctry WiFi data 01 02 003e0000 00006000
    I (105) boot: End of partition table
    I (108) esp_image: segment 0: paddr=00020020 vaddr=3c130020 size=368b0h (223408) map
    I (151) esp_image: segment 1: paddr=000568d8 vaddr=3fc98800 size=03d88h ( 15752) load
    I (155) esp_image: segment 2: paddr=0005a668 vaddr=40380000 size=059b0h ( 22960) load
    I (159) esp_image: segment 3: paddr=00060020 vaddr=42000020 size=125c90h (1203344) map
    I (355) esp_image: segment 4: paddr=00185cb8 vaddr=403859b0 size=12ca8h ( 76968) load
    I (369) esp_image: segment 5: paddr=00198968 vaddr=50000200 size=0001ch ( 28) load
    I (377) boot: Loaded app from partition at offset 0x20000
    I (377) boot: Disabling RNG early entropy source...
    I (388) cpu_start: Unicore app
    I (396) cpu_start: Pro cpu start user code
    I (396) cpu_start: cpu freq: 160000000 Hz
    I (396) app_init: Application information:
    I (396) app_init: Project name: sensors
    I (400) app_init: App version: 1.0
    I (403) app_init: Compile time: Sep 11 2025 17:11:10
    I (408) app_init: ELF file SHA256: 6260132b1...
    I (413) app_init: ESP-IDF: v5.4.1
    I (417) efuse_init: Min chip rev: v0.3
    I (420) efuse_init: Max chip rev: v1.99
    I (424) efuse_init: Chip rev: v0.3
    I (428) heap_init: Initializing. RAM available for dynamic allocation:
    I (435) heap_init: At 3FCB0210 len 0000FDF0 (63 KiB): RAM
    I (440) heap_init: At 3FCC0000 len 0001C710 (113 KiB): Retention RAM
    I (446) heap_init: At 3FCDC710 len 00002950 (10 KiB): Retention RAM
    I (452) heap_init: At 5000021C len 00001DCC (7 KiB): RTCRAM
    I (458) spi_flash: detected chip: generic
    I (461) spi_flash: flash io: dio
    E (464) i2c: CONFLICT! driver_ng is not allowed to be used with this old driver

    abort() was called at PC 0x420afb75 on core 0
    --- 0x420afb75: check_i2c_driver_conflict at /home/alex/esp-idf/components/driver/i2c/i2c.c:1723
    --- Stack dump detected
    Core 0 register dump:
    MEPC : 0x4038082c RA : 0x4038bce6 SP : 0x3fcde220 GP : 0x3fc99000
    --- 0x4038082c: panic_abort at /home/alex/esp-idf/components/esp_system/panic.c:468
    --- 0x4038bce6: __ubsan_include at /home/alex/esp-idf/components/esp_system/ubsan.c:311
    TP : 0x00000000 T0 : 0x37363534 T1 : 0x7271706f T2 : 0x33323130
    S0/FP : 0x3fcde25c S1 : 0x3fcde25c A0 : 0x3fcde25c A1 : 0x3fcde23e
    A2 : 0x00000000 A3 : 0x3fcde289 A4 : 0x00000001 A5 : 0x3fcae000
    A6 : 0x7a797877 A7 : 0x76757473 S2 : 0x3fcde240 S3 : 0x0000003e
    S4 : 0x3fcde42c S5 : 0x3c800000 S6 : 0x3c130000 S7 : 0xffff0000
    S8 : 0x00060020 S9 : 0x00020020 S10 : 0x00000006 S11 : 0x3fcde3c4
    T3 : 0x6e6d6c6b T4 : 0x6a696867 T5 : 0x66656463 T6 : 0x62613938
    MSTATUS : 0x00001881 MTVEC : 0x40380001 MCAUSE : 0x00000002 MTVAL : 0x00000000
    --- 0x40380001: _vector_table at /home/alex/esp-idf/components/riscv/vectors_intc.S:54
    MHARTID : 0x00000000
Compiler warnings:
  • /home/alex/esp-idf/components/esp_hw_support/include/intr_types.h:8:2: warning: #warning "This header is deprecated. Please use esp_intr_types.h instead" [-Wcpp]
    8 | #warning "This header is deprecated. Please use esp_intr_types.h instead"
    | ^~~~~~~
    [1839/2125] Building C object esp-idf/espressif__esp_diagn...essif__esp_diagnostics.dir/src/esp_diagnostics_utils.c.obj
    In file included from /home/alex/esp-matter/examples/sensors/managed_components/espressif__esp_diagnostics/src/esp_diagnostics_utils.c:53:
    /home/alex/esp-idf/components/freertos/esp_additions/include/freertos/task_snapshot.h:8:2: warning: #warning freertos/task_snapshot.h header is no longer used, and will be removed in future versions. [-Wcpp]
    8 | #warning freertos/task_snapshot.h header is no longer used, and will be removed in future versions.
    | ^~~~~~~
    [1917/2125] Building CXX object esp-idf/esp_matter/CMakeFiles/__idf_esp_matter.dir/esp_matter_attribute_utils.cpp.obj
    /home/alex/esp-matter/components/esp_matter/esp_matter_attribute_utils.cpp:1025:30: warning: 'esp_matter_val_type_t esp_matter::attribute::get_val_type_from_attribute_type(int)' defined but not used [-Wunused-function]
    1025 | static esp_matter_val_type_t get_val_type_from_attribute_type(int attribute_type)
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    [1954/2125] Building CXX object esp-idf/esp_matter/CMakeFi...eip/connectedhomeip/src/app/util/attribute-storage.cpp.obj
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp: In function 'void emberAfEndpointConfigure()':
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp:183:40: warning: comparison is always true due to limited range of data type [-Wtype-limits]
    183 | static_assert(FIXED_ENDPOINT_COUNT <= std::numeric_limits<decltype(ep)>::max(),
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp: In function 'uint16_t emberAfGetClusterServerEndpointIndex(chip::EndpointId, chip::ClusterId, uint16_t)':
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/util/attribute-storage.cpp:932:17: warning: comparison is always false due to limited range of data type [-Wtype-limits]
    932 | if (epIndex < FIXED_ENDPOINT_COUNT)
    [1986/2125] Building CXX object esp-idf/esp_matter/CMakeFi...er/camera-av-settings-user-level-management-server.cpp.obj
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp: In member function 'void chip::app::Clusters::CameraAvSettingsUserLevelManagement::CameraAvSettingsUserLevelMgmtServer::HandleMPTZSetPosition(chip::app::CommandHandlerInterface::HandlerContext&, const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MPTZSetPosition::DecodableType&)':
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp:802:9: warning: '*(unsigned char*)((char*)&zoom + offsetof(chip::Optional<unsigned char>,chip::Optional<unsigned char>::mValueHolder.chip::Optional<unsigned char>::ValueHolder::<unnamed>.chip::Optional<unsigned char>::TrivialDestructor::mValue))' may be used uninitialized [-Wmaybe-uninitialized]
    802 | if ((zoomValue > mZoomMax) || (zoomValue < kMinZoomValue))
    | ^~
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp:750:23: note: '*(unsigned char*)((char*)&zoom + offsetof(chip::Optional<unsigned char>,chip::Optional<unsigned char>::mValueHolder.chip::Optional<unsigned char>::ValueHolder::<unnamed>.chip::Optional<unsigned char>::TrivialDestructor::mValue))' was declared here
    750 | Optional<uint8_t> zoom = commandData.zoom;
    | ^~~~
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp: In member function 'void chip::app::Clusters::CameraAvSettingsUserLevelManagement::CameraAvSettingsUserLevelMgmtServer::HandleMPTZRelativeMove(chip::app::CommandHandlerInterface::HandlerContext&, const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::MPTZRelativeMove::DecodableType&)':
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp:949:13: warning: '*(signed char*)((char*)&zoomDelta + offsetof(chip::Optional<signed char>,chip::Optional<signed char>::mValueHolder.chip::Optional<signed char>::ValueHolder::<unnamed>.chip::Optional<signed char>::TrivialDestructor::mValue))' may be used uninitialized [-Wmaybe-uninitialized]
    949 | if (zoomDeltaValue > (mZoomMax - 1) || zoomDeltaValue < -(mZoomMax - 1))
    | ^~~~~~~~~~~~~~
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp:856:22: note: '*(signed char*)((char*)&zoomDelta + offsetof(chip::Optional<signed char>,chip::Optional<signed char>::mValueHolder.chip::Optional<signed char>::ValueHolder::<unnamed>.chip::Optional<signed char>::TrivialDestructor::mValue))' was declared here
    856 | Optional<int8_t> zoomDelta = commandData.zoomDelta;
    | ^~~~~~~~~
    In file included from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/lib/core/TLVReader.h:36,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/lib/core/TLVBackingStore.h:32,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/lib/core/TLV.h:32,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/MessageDef/Builder.h:28,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/MessageDef/ArrayBuilder.h:20,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/MessageDef/AttributeReportIBs.h:26,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/AttributeReportBuilder.h:19,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/AttributeAccessInterface.h:21,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/AttributeAccessInterfaceRegistry.h:18,
    from /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp:19:
    In copy constructor 'constexpr chip::Optional<T>::Optional(const chip::Optional<T>&) [with T = signed char]',
    inlined from 'constexpr chip::Optional<T>::Optional(const chip::Optional<T>&) [with T = signed char]' at /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/lib/core/Optional.h:74:5,
    inlined from 'void chip::app::Clusters::CameraAvSettingsUserLevelManagement::CameraAvSettingsUserLevelMgmtServer::HandleDPTZRelativeMove(chip::app::CommandHandlerInterface::HandlerContext&, const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DPTZRelativeMove::DecodableType&)' at /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp:1286:47:
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/lib/core/Optional.h:72:13: warning: '*(signed char*)((char*)&zoomDelta + offsetof(chip::Optional<signed char>,chip::Optional<signed char>::mValueHolder.chip::Optional<signed char>::ValueHolder::<unnamed>.chip::Optional<signed char>::TrivialDestructor::mValue))' may be used uninitialized [-Wmaybe-uninitialized]
    72 | new (&mValueHolder.mValue.mData) T(other.mValueHolder.mValue.mData);
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp: In member function 'void chip::app::Clusters::CameraAvSettingsUserLevelManagement::CameraAvSettingsUserLevelMgmtServer::HandleDPTZRelativeMove(chip::app::CommandHandlerInterface::HandlerContext&, const chip::app::Clusters::CameraAvSettingsUserLevelManagement::Commands::DPTZRelativeMove::DecodableType&)':
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/camera-av-settings-user-level-management-server/camera-av-settings-user-level-management-server.cpp:1257:22: note: '*(signed char*)((char*)&zoomDelta + offsetof(chip::Optional<signed char>,chip::Optional<signed char>::mValueHolder.chip::Optional<signed char>::ValueHolder::<unnamed>.chip::Optional<signed char>::TrivialDestructor::mValue))' was declared here
    1257 | Optional<int8_t> zoomDelta = commandData.zoomDelta;
    | ^~~~~~~~~
    [1988/2125] Building CXX object esp-idf/esp_matter/CMakeFi...clusters/color-control-server/color-control-server.cpp.obj
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/color-control-server/color-control-server.cpp: In member function 'chip::Protocols::InteractionModel::Status ColorControlServer::moveToHueCommand(chip::EndpointId, uint16_t, DirectionEnum, uint16_t, chip::BitMask<chip::app::Clusters::ColorControl::OptionsBitmap>, chip::BitMask<chip::app::Clusters::ColorControl::OptionsBitmap>, bool)':
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/color-control-server/color-control-server.cpp:1602:58: warning: 'direction' may be used uninitialized [-Wmaybe-uninitialized]
    1602 | colorHueTransitionState->up = (direction == DirectionEnum::kUp);
    | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    /home/alex/esp-matter/connectedhomeip/connectedhomeip/src/app/clusters/color-control-server/color-control-server.cpp:1525:19: note: 'direction' was declared here
    1525 | DirectionEnum direction;
    | ^~~~~~~~~

beameye
Posts: 4
Joined: Sat Apr 01, 2023 1:29 pm

Re: esp-matter/example/sensors Config is NULL or mandatory feature_flags are missing.

Postby beameye » Sat Sep 13, 2025 4:06 am

I found the solution to the 2nd error "CONFLICT! driver_ng is not allowed to be used with this old driver" on https://github.com/espressif/esp-matter/issues/1449. The fix for that included using esp-idf v5.5 . Unfortunately it doesn't fix the first error(which is my problem) but v5.5 does provide a better error message:

esp_matter_cluster: At least one of the feature(s) must be supported from (Other,Passive Infrared,Ultrasonic,Physical Contact,Active Infrared,Radar,RF Sensing,Vision)

This error is seen in the unchanged example with:
CONFIG_SUPPORT_OCCUPANCY_SENSING_CLUSTER=y
CONFIG_PIR_DATA_PIN=7

The new matter specification has more sensor types and maybe that has to be indicated.

beameye
Posts: 4
Joined: Sat Apr 01, 2023 1:29 pm

Re: esp-matter/example/sensors Config is NULL or mandatory feature_flags are missing.

Postby beameye » Sat Sep 13, 2025 8:46 pm

Fixed the error "Config is NULL or mandatory feature_flags are missing."

Added this line to set the passive_infrared feature flag in the config struct:

occupancy_sensor_config.occupancy_sensing.feature_flags =
cluster::occupancy_sensing::feature::passive_infrared::get_id();

Before the creation line:

endpoint_t * occupancy_sensor_ep = occupancy_sensor::create(node, &occupancy_sensor_config, ENDPOINT_FLAG_NONE, NULL);

Beedee
Posts: 1
Joined: Wed Sep 24, 2025 6:07 pm

Re: esp-matter/example/sensors Config is NULL or mandatory feature_flags are missing.

Postby Beedee » Wed Sep 24, 2025 6:12 pm

Thanks so much for your useful information. I hit this exact same scenario just today.

Who is online

Users browsing this forum: Amazon [Bot], Applebot, Bytespider, Qwantbot, YisouSpider and 3 guests