Skip to content

Comments

Fix 2025.8 changes#47

Open
silvester747 wants to merge 5 commits intoaronsky:mainfrom
silvester747:fix-2025.8-changes
Open

Fix 2025.8 changes#47
silvester747 wants to merge 5 commits intoaronsky:mainfrom
silvester747:fix-2025.8-changes

Conversation

@silvester747
Copy link

@silvester747 silvester747 commented Sep 20, 2025

This fixes some of the missing defines by actually defining the number and select entities in the configuration. These entities will now be properly created by the ESPHome framework.

Some caveats:

  • I had to rework the way the configuration schema is validated. The existing approach that would validate the combinations of encodings and variants and that would apply default variants and forced ids broke when I added the validation schema for the number and select entities.
  • I still need to determine if I can also get rid of the left-over defines for BLE_DEVICE and BLE_UUID. But that seems to be less urgent as I do not think it will break other components.

Fixes: #45

aronsky and others added 5 commits August 22, 2025 22:15
Includes the `esp32_ble_tracker` component in the list of automatically loaded components.
This ensures that the tracker component is readily available for use without manual configuration.
The correct way to add select and number entities is to define them in the configuration. This allows also overriding the actual name they are exposed with.
After introducing the new entity configurations to the schema, the approach of creating a schema per encoding no longer seems to work. Validation fails for previously valid input. Moved the validation and application of defaults for variants and forced ids to a helper function.
@sphen13
Copy link

sphen13 commented Sep 22, 2025

fyi i tried your branch in 2025.9 and got this single error:

INFO ESPHome 2025.9.0
INFO Reading configuration /config/esphome/esphome-web-c9d970.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esp32-lampsmart-pro (board: esp32dev; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21-2/platform-espressif32.zip)
--------------------------------------------------------------------------------
INFO Package configuration completed successfully
INFO Package configuration completed successfully
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.50402.0 (5.4.2) 
 - tool-cmake @ 3.30.2 
 - tool-esp-rom-elfs @ 2024.10.11 
 - tool-esptoolpy @ 5.0.2 
 - tool-mklittlefs @ 3.2.0 
 - tool-ninja @ 1.13.1 
 - tool-scons @ 4.40801.0 (4.8.1) 
 - toolchain-xtensa-esp-elf @ 14.2.0+20241119
Installing standard Python dependencies
Creating a new virtual environment for IDF Python dependencies
Installing ESP-IDF's Python dependencies
Reading CMake configuration...
Dependency Graph
|-- noise-c @ 0.1.10
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/api_frame_helper_noise.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/binary_sensor/automation.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/binary_sensor/binary_sensor.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/binary_sensor/filter.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ble_adv_controller/ble_adv_controller.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ble_adv_controller/ble_adv_handler.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ble_adv_controller/button/ble_adv_button.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ble_adv_controller/fanlamp_pro.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ble_adv_controller/light/ble_adv_light.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ble_adv_controller/zhijia.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/bluetooth_proxy/bluetooth_connection.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/bluetooth_proxy/bluetooth_proxy.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/button/button.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32/core.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32/gpio.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32/helpers.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32/preferences.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32_ble/ble.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32_ble/ble_advertising.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32_ble/ble_uuid.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32_ble_client/ble_characteristic.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32_ble_client/ble_client_base.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32_ble_client/ble_service.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/esphome/ota/ota_esphome.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/addressable_light.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/automation.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/esp_color_correction.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/esp_hsv_color.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/esp_range_view.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/light_call.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/light_effect.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/light_json_schema.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/light_output.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/light/light_state.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/logger/logger_esp32.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/logger/task_log_buffer.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/mdns/mdns_esp32.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/number/automation.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/number/number.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/number/number_call.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/number/number_traits.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ota/ota_backend.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/safe_mode/safe_mode.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/select/select.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/select/select_call.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/select/select_traits.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/sensor/automation.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/sensor/filter.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/sensor/sensor.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/socket/socket.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/status/status_binary_sensor.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/uptime/sensor/uptime_seconds_sensor.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/uptime/sensor/uptime_timestamp_sensor.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/wifi/wifi_component.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/application.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/color.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/component.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/component_iterator.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/controller.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/entity_base.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/log.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/ring_buffer.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/string_ref.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/time.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/esphome/core/util.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/src/main.cpp.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_core/salsa/ref/core_salsa_ref.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_hash/crypto_hash.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_hash/sha256/hash_sha256.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_onetimeauth/crypto_onetimeauth.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_scalarmult/crypto_scalarmult.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/chacha20/ref/chacha20_ref.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/chacha20/stream_chacha20.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/crypto_stream.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/salsa20/ref/salsa20_ref.o
src/main.cpp: In function 'void setup()':
src/main.cpp:305:48: error: cannot convert 'const char [16]' to 'const esphome::LogString*'
  305 |   ble_adv_static_handler->set_component_source("ble_adv_handler");
      |                                                ^~~~~~~~~~~~~~~~~
      |                                                |
      |                                                const char [16]
In file included from src/esphome/core/application.h:7,
                 from src/esphome/components/api/api_frame_helper.h:12,
                 from src/esphome/components/api/api_connection.h:5,
                 from src/esphome.h:3,
                 from src/main.cpp:3:
src/esphome/core/component.h:227:46: note:   initializing argument 1 of 'void esphome::Component::set_component_source(const esphome::LogString*)'
  227 |   void set_component_source(const LogString *source) { component_source_ = source; }
      |                             ~~~~~~~~~~~~~~~~~^~~~~~
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/salsa20/stream_salsa20.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/crypto_verify/verify.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/randombytes/internal/randombytes_internal_random.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/randombytes/randombytes.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/randombytes/sysrandom/randombytes_sysrandom.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/sodium/codecs.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/sodium/core.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/sodium/runtime.o
Compiling .pioenvs/esp32-lampsmart-pro/libc72/libsodium/sodium/utils.o
Compiling .pioenvs/esp32-lampsmart-pro/libfe2/noise-c/backend/openssl/cipher-aesgcm.o
Compiling .pioenvs/esp32-lampsmart-pro/libfe2/noise-c/backend/ref/cipher-aesgcm.o
*** [.pioenvs/esp32-lampsmart-pro/src/main.cpp.o] Error 1
========================= [FAILED] Took 101.12 seconds =========================

@rpalmer2401
Copy link

Same error in 2025.10.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ESPHome did it again, 20205.08.0 breaks the component

4 participants