Skip to content

Compilation fail on esphome 2026.2.1 #35

@lawrencehead

Description

@lawrencehead

Trying this out on an S3 supermini and getting this error on compilation when using an 'addressable_ddp' effect. Compiles ok when using 'ddp' effect.

INFO ESPHome 2026.2.1
INFO Reading configuration /config/esphome/esp-candle-1.yaml...
INFO Updating https://github.com/KaufHA/common@None
INFO Generating C++ source...
INFO Setting CONFIG_LWIP_MAX_SOCKETS to 18 (registered: api=4, captive_portal=4, ddp=1, mdns=2, ota=1, web_server=6)
INFO Compiling app... Build path: /data/build/esp-candle-1
Processing esp-candle-1 (board: esp32-s3-devkitc-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip)
--------------------------------------------------------------------------------
Library Manager: Installing esphome/noise-c @ 0.1.10
INFO Installing esphome/noise-c @ 0.1.10
Unpacking  [####################################]  100%
Library Manager: noise-c@0.1.10 has been installed!
INFO noise-c@0.1.10 has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10020.7
INFO Installing esphome/libsodium @ 1.10020.7
Unpacking  [####################################]  100%
Library Manager: libsodium@1.10020.7 has been installed!
INFO libsodium@1.10020.7 has been installed!
HARDWARE: ESP32S3 240MHz, 320KB RAM, 4MB Flash
 - contrib-piohome @ 3.4.4 
 - framework-espidf @ 3.50502.0 (5.5.2) 
 - tool-cmake @ 4.0.3 
 - tool-esp-rom-elfs @ 2024.10.11 
 - tool-esptoolpy @ 5.1.2 
 - tool-ninja @ 1.13.1 
 - tool-scons @ 4.40801.0 (4.8.1) 
 - toolchain-xtensa-esp-elf @ 14.2.0+20251107
Reading CMake configuration...
Generating assembly for certificate bundle...
Dependency Graph
|-- noise-c @ 0.1.10
Compiling .pioenvs/esp-candle-1/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/esp-candle-1/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/esp-candle-1/src/esphome/components/api/api_frame_helper_noise.cpp.o
Compiling .pioenvs/esp-candle-1/src/esphome/components/api/api_pb2.cpp.o
In file included from src/esphome/components/api/api_frame_helper.h:13,
                 from src/esphome/components/api/api_frame_helper.cpp:1:
src/esphome/core/application.h:35:10: fatal error: esphome/components/binary_sensor/binary_sensor.h: No such file or directory
   35 | #include "esphome/components/binary_sensor/binary_sensor.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from src/esphome/components/api/api_frame_helper.h:13,
                 from src/esphome/components/api/api_connection.h:5,
                 from src/esphome/components/api/api_connection.cpp:1:
src/esphome/core/application.h:35:10: fatal error: esphome/components/binary_sensor/binary_sensor.h: No such file or directory
   35 | #include "esphome/components/binary_sensor/binary_sensor.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from src/esphome/components/api/api_frame_helper.h:13,
                 from src/esphome/components/api/api_frame_helper_noise.h:2,
                 from src/esphome/components/api/api_frame_helper_noise.cpp:1:
src/esphome/core/application.h:35:10: fatal error: esphome/components/binary_sensor/binary_sensor.h: No such file or directory
   35 | #include "esphome/components/binary_sensor/binary_sensor.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/esp-candle-1/src/esphome/components/api/api_connection.cpp.o] Error 1
*** [.pioenvs/esp-candle-1/src/esphome/components/api/api_frame_helper_noise.cpp.o] Error 1
*** [.pioenvs/esp-candle-1/src/esphome/components/api/api_frame_helper.cpp.o] Error 1
========================= [FAILED] Took 13.94 seconds =========================

and here's my yaml:

substitutions:
  name: esp-candle-1
  friendly_name: "esp-candle-1"
  comment: "ESP32 S3 supermini candle led strip"

packages:
  common: !include common/common.yaml # esphome, wifi, api, ota, logger
  common_sensors: !include common/common_sensors.yaml # Wifi info, esphome ver, uptime, restart button
  esp32s3supermini: !include common/esp32-s3-supermini.yaml # esphome, esp32, onboard_rgb_led

ddp:
  stats_interval: 60s

logger:
  level: VERBOSE

light:
  - platform: esp32_rmt_led_strip
    rgb_order: GRB
    pin: GPIO8
    chipset: SK6812
    is_rgbw: true
    num_leds: 4
    name: "Strip"
    effects:
      - addressable_ddp:
          name: Addressable DDP
          timeout: 10s
          disable_gamma: true
          brightness_scaling: none
          active_sensor: true

external_components:
  - source:
      type: git
      url: https://github.com/KaufHA/common
    components: [ ddp ]
    refresh: always

#binary_sensor:
#  - platform: status
#    name: "${friendly_name} Status"
#    internal: true

If I uncomment that last binary_sensor, it compiles just fine.

I'm no coder, but chatgpt reckons there's a missing dependency:

In components/ddp/__init__.py, ensure binary_sensor is auto-loaded or listed as a dependency. Conceptually either of these is fine:

AUTO_LOAD = ["binary_sensor"] (plus whatever else you need), or

DEPENDENCIES = ["network", "binary_sensor"]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions