I would like to run the following example using PlatformIO esp-zigbee-sdk/examples/esp_zigbee_HA_sample/HA_on_off_switch at main · espressif/esp-zigbee-sdk · GitHub
I’m trying to understand how this should work. From ducking around how to add IDF components I found multiple references to this bit of documentation: Espressif IoT Development Framework — PlatformIO latest documentation
However, that seems to be about locally splitting up your code into components, rather than installing dependencies as appears to be the case with a idf_component.yml file.
Should I just manually check them out in the components folder and add them that way, or is there a way to use the idf_component.yml method?
Any other tricky things I’m going to run into when trying to run this example? There are some bits about idf.py menuconfig and sdkconfig.defaults and such.
It turns out that just putting idf_component.yml in your src directory tries to install the components. However, I get the following error
Processing 3 dependencies:
[1/3] espressif/esp-zboss-lib (1.2.1)
[2/3] espressif/esp-zigbee-lib (1.2.1)
[3/3] idf (5.1.2)
-- Configuring incomplete, errors occurred!
See also "/home/pepijn/Documents/PlatformIO/Projects/floracle/.pio/build/esp32-c6-devkitc-1/CMakeFiles/CMakeOutput.log".
fatal: not a git repository (or any of the parent directories): .git
CMake Error at /home/pepijn/.platformio/packages/framework-espidf/tools/cmake/component.cmake:250 (message):
ERROR: 2 problems were found in the manifest file
/home/pepijn/Documents/PlatformIO/Projects/floracle/managed_components/espressif__esp-zboss-lib/idf_component.yml:
Invalid manifest format
Unknown keys: repository_info
SUGGESTION: This component may be using a newer version of the component
manager.
You can try to update the component manager by running:
/home/pepijn/.platformio/penv/.espidf-5.1.2/bin/python -m pip install --upgrade idf-component-manager
Call Stack (most recent call first):
/home/pepijn/.platformio/packages/framework-espidf/tools/cmake/build.cmake:574 (__component_get_requirements)
/home/pepijn/.platformio/packages/framework-espidf/tools/cmake/project.cmake:547 (idf_build_process)
CMakeLists.txt:3 (project)
I tried the suggestion but it doesn’t seem to do anything.
I’m running into this as well,
I’ve narrowed it down to platformio forcefully reinstalling version 1.2.3
Installing collected packages: idf-component-manager
Attempting uninstall: idf-component-manager
Found existing installation: idf-component-manager 2.0.1
Uninstalling idf-component-manager-2.0.1:
Successfully uninstalled idf-component-manager-2.0.1
Successfully installed idf-component-manager-1.2.3
Reading CMake configuration...
It then errors out, because the wrong version is used again. (the suggestion installs an update)
Not sure how to fix this. I think platformio needs to update some stuff on their end to be able to use the newer version
If anyone comes looking for a solution
inside platform-espressif32/builder/frameworks/espidf.py at e9dbab3109bb301f0f33b7a65ec46059b644e131 · platformio/platform-espressif32 · GitHub
it lists the dependency for idf-component-manager. If you change the version it will install that on platformio run
However as shown in the github link the current version should be at 1.5.2, which supports the key repository_info
in my experience
running pio pkg update
should fix the issue therefore