Can't compile anymore a FastLed platform

Hi all,
I have this config into my NodeMCU ESP8266:

esphome:
  name: stripled
  friendly_name: stripled

esp8266:
  board: nodemcuv2
  framework:
      version: 2.7.4

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "Gcv+pii+cWWIJD0N5t1CEo97A/3Y/sD4nrPXC9D0WZ0="

ota:
  password: #####

wifi:
  networks:
  - ssid: ####
    password: ####
    bssid: "D0:21:F9:67:52:46"
    hidden: yes
    manual_ip:
      static_ip: 192.168.1.69
      subnet: 255.255.255.0
      gateway: 192.168.1.1


  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Stripled Fallback Hotspot"
    password:###
web_server:
  port: 80
captive_portal:


light:
  - platform: fastled_spi
    chipset: P9813
    data_pin: GPIO12
    clock_pin: GPIO13  # D1
    num_leds: 12
    rgb_order: GRB
    name: "Ledstrip"
    id: ledstrip_bureau
    effects:
      - pulse:
      - addressable_rainbow:
      - flicker:
      - flicker:
          name: Flicker more deviant
          alpha: 60%
      - flicker:
          name: Flicker more intense and deviant
          intensity: 20%
          alpha: 60%
      - random:
      - addressable_twinkle:
      - addressable_random_twinkle:
      - addressable_fireworks:
      - addressable_fireworks:
          name: Fireworks Effect With Random Colors
          use_random_color: true
      - addressable_fireworks:
          name: Very slow Fireworks Effect With Random Colors
          use_random_color: true
          spark_probability: 20%
          fade_out_rate: 90
      - addressable_flicker:
      - addressable_flicker:
          name: Addressable Flicker more intense
          intensity: 60%
      - addressable_color_wipe:
      - addressable_color_wipe:
          name: Color Wipe Effect With Custom Values
          add_led_interval: 1s    

and this is what I get during compiling:

INFO ESPHome 2023.12.7
INFO Reading configuration /config/esphome/stripled.yaml...
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
INFO Generating C++ source...
INFO Compiling app...
Processing stripled (board: nodemcuv2; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
Dependency Graph
|-- ESPAsyncTCP-esphome @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.1.0
|-- DNSServer @ 1.1.1
|-- ESP8266WiFi @ 1.0
|-- ESP8266mDNS @ 1.2
|-- noise-c @ 0.1.4
|-- ArduinoJson @ 6.18.5
|-- FastLED @ 3.3.2
Compiling .pioenvs/stripled/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/stripled/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/stripled/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/stripled/src/esphome/components/api/subscribe_state.cpp.o
In file included from src/esphome/components/api/api_connection.h:6:0,
                 from src/esphome/components/api/subscribe_state.cpp:2:
src/esphome/components/api/api_server.h:118:96: error: invalid use of '::'
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                ^
In file included from src/esphome/components/api/api_connection.h:6:0,
                 from src/esphome/components/api/api_connection.cpp:1:
src/esphome/components/api/api_server.h:118:96: error: invalid use of '::'
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                ^
In file included from src/esphome/components/api/api_server.cpp:1:0:
src/esphome/components/api/api_server.h:118:96: error: invalid use of '::'
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                ^
In file included from src/esphome/components/api/api_connection.h:6:0,
                 from src/esphome/components/api/list_entities.cpp:5:
src/esphome/components/api/api_server.h:118:96: error: invalid use of '::'
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                ^
src/esphome/components/api/api_server.h:118:96: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:118:96: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:118:96: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:118:96: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:118:102: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                      ^
src/esphome/components/api/api_server.h:118:102: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                      ^
src/esphome/components/api/api_server.h:118:102: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                      ^
src/esphome/components/api/api_server.h:118:102: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                      ^
src/esphome/components/api/api_server.h:119:99: error: invalid use of '::'
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                   ^
src/esphome/components/api/api_server.h:119:99: error: invalid use of '::'
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                   ^
src/esphome/components/api/api_server.h:119:99: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:119:99: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:119:105: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                         ^
src/esphome/components/api/api_server.h:119:99: error: invalid use of '::'
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                   ^
src/esphome/components/api/api_server.h:119:105: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                         ^
src/esphome/components/api/api_server.h:119:99: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:119:105: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                         ^
src/esphome/components/api/api_server.h:119:99: error: invalid use of '::'
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                   ^
src/esphome/components/api/api_server.h:119:99: error: expected ';' at end of member declaration
src/esphome/components/api/api_server.h:119:105: error: expected unqualified-id before '>' token
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                                         ^
src/esphome/components/api/api_server.h:118:83: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                   ^
src/esphome/components/api/api_server.h:119:86: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                      ^
src/esphome/components/api/api_server.h:118:83: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                   ^
src/esphome/components/api/api_server.h:119:86: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                      ^
src/esphome/components/api/api_server.h:118:83: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                   ^
src/esphome/components/api/api_server.h:119:86: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                      ^
src/esphome/components/api/api_server.h:118:83: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_connected_trigger_ = new Trigger<std::string, std::string>();
                                                                                   ^
src/esphome/components/api/api_server.h:119:86: error: template argument 1 is invalid
   Trigger<std::string, std::string> *client_disconnected_trigger_ = new Trigger<std::string, std::string>();
                                                                                      ^
cc1plus: warning: unrecognized command line option "-Wno-nonnull-compare" [enabled by default]
cc1plus: warning: unrecognized command line option "-Wno-nonnull-compare" [enabled by default]
cc1plus: warning: unrecognized command line option "-Wno-nonnull-compare" [enabled by default]
cc1plus: warning: unrecognized command line option "-Wno-nonnull-compare" [enabled by default]
*** [.pioenvs/stripled/src/esphome/components/api/subscribe_state.cpp.o] Error 1
*** [.pioenvs/stripled/src/esphome/components/api/api_server.cpp.o] Error 1
*** [.pioenvs/stripled/src/esphome/components/api/api_connection.cpp.o] Error 1
*** [.pioenvs/stripled/src/esphome/components/api/list_entities.cpp.o] Error 1
========================= [FAILED] Took 13.04 seconds =========================

No idea of reasons why.

Could somebody help me out?
Thanks a lot.

There have been a lot of problems with the external FastLed library lately. I switched for all my LED devices to the neopixelbus component. NeoPixelBus Light — ESPHome

You need some smaller code changes for that, but all your troubels will be gone :slight_smile:

Fasled and neopixel have their own issues from time to time. If your project is solely an led strip, why not just use wled? Youll have far better loghting options and effects

Great idea.
I’m currently testing an ESP32-S3 N16R8 board and had to do a lot of trickery before the upload to the 16 MB flash memory finally worked. And the FastLED component cannot be translated for this board either. So in the end I had no more desire to research in the source code what exactly is broken in the FastLED component. And all just to make the onboard LED flash. The NeoPixelBus works out of the box.

The fact that fastLED requires an Arduino downgrade and has been this way for quite sime time. I get the impression that no one is actively maintaining the library or keeping it up-to-date so FastLED may not be a good choice moving forward.

Well, I have just started with esphome, and only ported a few Tasmota devices, which worked surprisingly well. The plan is to be able to do without MQTT for HA at some point. To be honest I don’t have the NeoPixel LED stripes in focus, I just wanted to use this stupid onboard LED e.g. as a status indicator. But I found out that the ESP32-S3 board seems to be too special or too new for the esphome world. Anyway, I’m glad that it’s working now and I can concentrate on the actual project.