I went on vacation for a few weeks. I came back and upgraded to 2023.8.2
I also upgraded my EspHome since it needed upgrading as well.
I then restarted everything.
All of 8 of my sensors units that have screens attached to them, the screens stopped working.
I am still getting data from the sensors. I have been running these sensors and screen for almost 2 years with no problems.
There are no errors identified in the EspHome file. See code below. But I am getting the following error in the logs.
I have searched to see what changes may have been made in EspHome but it does not look like any thing that will affect what I have.
[07:06:14][W][component:204]: Component interval took a long time for an operation (0.14 s).
[07:06:14][W][component:205]: Components should block for at most 20-30ms.
INFO ESPHome 2023.12.9
INFO Reading configuration /config/esphome/esp32-2x8-USBc.yaml...
WARNING GPIO15 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO2 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
WARNING GPIO12 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
INFO Generating C++ source...
INFO Compiling app...
Processing esp32-2x8lcd-usbc (board: esp32dev; framework: arduino; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- WiFi @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- Update @ 2.0.0
|-- noise-c @ 0.1.4
|-- SPI @ 2.0.0
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/debug/debug_component.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/display/display.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/display/display_buffer.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/display/rect.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/esp32/gpio.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/esp32/preferences.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/ili9xxx/ili9xxx_display.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/mdns/mdns_esp32.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/mdns/mdns_host.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/mdns/mdns_libretiny.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/mdns/mdns_rp2040.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/ota/ota_backend_arduino_libretiny.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/ota/ota_component.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/psram/psram.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/socket/lwip_sockets_impl.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/socket/socket.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/spi/spi.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/spi/spi_arduino.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/spi/spi_esp_idf.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/wifi/wifi_component.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/wifi/wifi_component_libretiny.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/components/wifi/wifi_component_pico_w.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/application.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/component.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/component_iterator.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/controller.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/entity_base.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/log.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/ring_buffer.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/string_ref.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/esphome/core/util.cpp.o
Compiling .pioenvs/esp32-2x8lcd-usbc/src/main.cpp.o
Linking .pioenvs/esp32-2x8lcd-usbc/firmware.elf
RAM: [= ] 12.3% (used 40200 bytes from 327680 bytes)
Flash: [===== ] 48.4% (used 887717 bytes from 1835008 bytes)
Building .pioenvs/esp32-2x8lcd-usbc/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/esp32-2x8lcd-usbc/firmware.bin"], [".pioenvs/esp32-2x8lcd-usbc/firmware.elf"])
Wrote 0xea230 bytes to file /data/build/esp32-2x8lcd-usbc/.pioenvs/esp32-2x8lcd-usbc/firmware-factory.bin, ready to flash to offset 0x0
========================= [SUCCESS] Took 84.79 seconds =========================
INFO Successfully compiled program.
esptool.py v4.6.2
Serial port /dev/ttyUSB1
Connecting....
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: fc:b4:67:f6:4e:84
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00010000 to 0x000eafff...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Compressed 893488 bytes to 589868...
Wrote 893488 bytes (589868 compressed) at 0x00010000 in 13.5 seconds (effective 530.9 kbit/s)...
Hash of data verified.
Compressed 17440 bytes to 12128...
Wrote 17440 bytes (12128 compressed) at 0x00001000 in 0.5 seconds (effective 254.5 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.1 seconds (effective 372.6 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 519.5 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyUSB1 with baud rate 115200
[19:24:34]E (261) psram: PSRAM ID read error: 0xffffffff
[19:24:34][I][logger:351]: Log initialized
[19:24:34][C][ota:473]: There have been 0 suspected unsuccessful boot attempts.
[19:24:34][D][esp32.preferences:114]: Saving 1 preferences to flash...
[19:24:34][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[19:24:34][I][app:029]: Running through setup()...
[19:24:34][D][spi:039]: Setting up SPI bus...
[19:24:34][D][ili9xxx:021]: Setting up ILI9xxx
[19:24:34][D][spi_device:369]: mode 0, data_rate 80000kHz
[19:24:34][E][display:017]: Could not allocate buffer for display!
[19:24:34][C][wifi:038]: Setting up WiFi...
[19:24:34][C][wifi:051]: Starting WiFi...
[19:24:34][C][wifi:052]: Local MAC: FC:B4:67:F6:4E:84
[19:24:34][D][wifi:455]: Starting scan...
[19:24:34][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:24:34][W][component:215]: Components should block for at most 20-30ms.
[19:24:40][D][wifi:470]: Found networks:
[19:24:40][I][wifi:514]: - 'BTHub6-X8H7' (C4:E5:32:90:55:8D) [redacted]▂▄▆█
[19:24:40][D][wifi:515]: Channel: 6
[19:24:40][D][wifi:516]: RSSI: -72 dB
[19:24:40][D][wifi:519]: - 'EE WiFi'[redacted] (6A:E5:32:90:55:8E) [redacted]▂▄▆█
[19:24:40][I][wifi:300]: WiFi Connecting to 'BTHub6-X8H7'...
[19:24:41][I][wifi:587]: WiFi Connected!
[19:24:41][C][wifi:405]: Local MAC: FC:B4:67:F6:4E:84
[19:24:41][C][wifi:410]: SSID: 'BTHub6-X8H7'[redacted]
[19:24:41][C][wifi:411]: IP Address: 192.168.0.48
[19:24:41][C][wifi:413]: BSSID: C4:E5:32:90:55:8D[redacted]
[19:24:41][C][wifi:414]: Hostname: 'esp32-2x8lcd-usbc'
[19:24:41][C][wifi:416]: Signal strength: -74 dB ▂▄▆█
[19:24:41][C][wifi:420]: Channel: 6
[19:24:41][C][wifi:421]: Subnet: 255.255.255.0
[19:24:41][C][wifi:422]: Gateway: 192.168.0.1
[19:24:41][C][wifi:423]: DNS1: 0.0.0.0
[19:24:41][C][wifi:424]: DNS2: 0.0.0.0
[19:24:41][C][ota:097]: Over-The-Air Updates:
[19:24:41][C][ota:098]: Address: 192.168.0.48:3232
[19:24:41][C][ota:101]: Using Password.
[19:24:41][C][api:025]: Setting up Home Assistant API server...
[19:24:41][I][app:062]: setup() finished successfully!
[19:24:41][I][app:102]: ESPHome version 2023.12.9 compiled on Jan 27 2024, 19:23:40
[19:24:41][C][wifi:573]: WiFi:
[19:24:41][C][wifi:405]: Local MAC: FC:B4:67:F6:4E:84
[19:24:41][C][wifi:410]: SSID: 'BTHub6-X8H7'[redacted]
[19:24:41][C][wifi:411]: IP Address: 192.168.0.48
[19:24:41][C][wifi:413]: BSSID: C4:E5:32:90:55:8D[redacted]
[19:24:41][C][wifi:414]: Hostname: 'esp32-2x8lcd-usbc'
[19:24:41][C][wifi:416]: Signal strength: -74 dB ▂▄▆█
[19:24:41][C][wifi:420]: Channel: 6
[19:24:41][C][wifi:421]: Subnet: 255.255.255.0
[19:24:41][C][wifi:422]: Gateway: 192.168.0.1
[19:24:41][C][wifi:423]: DNS1: 0.0.0.0
[19:24:41][C][wifi:424]: DNS2: 0.0.0.0
[19:24:41][C][logger:439]: Logger:
[19:24:41][C][logger:440]: Level: DEBUG
[19:24:41][C][logger:441]: Log Baud Rate: 115200
[19:24:41][C][logger:443]: Hardware UART: UART0
[19:24:41][C][spi:067]: SPI bus:
[19:24:41][C][spi:068]: CLK Pin: GPIO14
[19:24:41][C][spi:069]: SDI Pin:
[19:24:41][C][spi:070]: SDO Pin: GPIO13
[19:24:41][C][spi:072]: Using HW SPI: SPI
[19:24:41][C][ili9xxx:069]: ili9xxx
[19:24:41][C][ili9xxx:069]: Rotations: 0 °
[19:24:41][C][ili9xxx:069]: Dimensions: 320px x 240px
[19:24:41][C][ili9xxx:070]: Width Offset: 0
[19:24:41][C][ili9xxx:071]: Height Offset: 0
[19:24:41][C][ili9xxx:080]: Color mode: 8bit 332 mode
[19:24:41][C][ili9xxx:086]: Data rate: 80MHz
[19:24:41][C][ili9xxx:088]: Reset Pin: GPIO12
[19:24:41][C][ili9xxx:089]: CS Pin: GPIO15
[19:24:41][C][ili9xxx:090]: DC Pin: GPIO2
[19:24:41][C][ili9xxx:092]: Swap_xy: NO
[19:24:41][C][ili9xxx:093]: Mirror_x: YES
[19:24:41][C][ili9xxx:094]: Mirror_y: NO
[19:24:41][C][ili9xxx:099]: Update Interval: 8.0s
[19:24:41][C][psram:020]: PSRAM:
[19:24:41][C][psram:021]: Available: NO
[19:24:41][C][mdns:115]: mDNS:
[19:24:41][C][mdns:116]: Hostname: esp32-2x8lcd-usbc
[19:24:41][C][ota:097]: Over-The-Air Updates:
[19:24:41][C][ota:098]: Address: 192.168.0.48:3232
[19:24:41][C][ota:101]: Using Password.
[19:24:41][C][api:139]: API Server:
[19:24:41][C][api:140]: Address: 192.168.0.48:6053
[19:24:41][C][api:142]: Using noise encryption: YES
[19:24:41][C][debug:064]: Debug component:
[19:24:41][D][debug:076]: ESPHome version 2023.12.9
[19:24:41][D][debug:080]: Free Heap Size: 160348 bytes
[19:24:41][D][debug:110]: Flash Chip: Size=4096kB Speed=40MHz Mode=DIO
[19:24:41][D][debug:159]: Chip: Model=ESP32, Features=WIFI_BGN,BLE,BT, Cores=2, Revision=3
[19:24:41][D][debug:167]: ESP-IDF Version: v4.4.2
[19:24:41][D][debug:172]: EFuse MAC: FC:B4:67:F6:4E:84
[19:24:41][D][debug:272]: Reset Reason: Power On Reset
[19:24:41][D][debug:317]: Wakeup Reason: Unknown
[19:24:42][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:24:42][W][component:215]: Components should block for at most 20-30ms.
[19:24:45][D][api:102]: Accepted 192.168.0.31
[19:24:45][W][api.connection:092]: : Socket operation failed: HANDSHAKESTATE_READ_FAILED errno=11
[19:24:50][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:24:50][W][component:215]: Components should block for at most 20-30ms.
[19:24:58][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:24:58][W][component:215]: Components should block for at most 20-30ms.
[19:25:06][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:25:06][W][component:215]: Components should block for at most 20-30ms.
[19:25:14][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:25:14][W][component:215]: Components should block for at most 20-30ms.
[19:25:22][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:25:22][W][component:215]: Components should block for at most 20-30ms.
[19:25:30][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:25:30][W][component:215]: Components should block for at most 20-30ms.
[19:25:38][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:25:38][W][component:215]: Components should block for at most 20-30ms.
[19:25:45][D][api:102]: Accepted 192.168.0.31
[19:25:45][W][api.connection:092]: : Socket operation failed: HANDSHAKESTATE_READ_FAILED errno=11
[19:25:46][W][component:214]: Component display took a long time for an operation (0.06 s).
[19:25:46][W][component:215]: Components should block for at most 20-30ms.
The display I’m using is a ESP32-2432S028 which has a ESP32-WROOM-32 module with a claimed 520kB of SRAM, 4MB FLASH and a 2.8" 16 bit RGB display at 240x320 resolution driven by an ILI9341 chip.
This worked ok with the verison of the ILI9341 display platform that I last used (March 2023) but with the ILI9xxx version when I tryto add code to use the display I’ve has to add the dimensions parameters and cange rotation values in yaml. The big problem however is that when I try to write to the display, locally source information (e.g. wifi signal strength) display ok but I cna’t get updates from remote sensors.
Looking at the log I notice:
RAM This lists as 327680 bytes (320kB) but the data sheet for the part lists 520kB… but it is Chinese so that could just be a specification error. Even with the smaller RAM size, only 12% is reported as being used.
When it runs, it reports “Could not allocate buffer for display!” - why not!
It them reports "Component display took a long time for an operation (0.06 s)". I tried different SPI clock rates and got similar results - 0.06 seconds at 80MHz and 0.07 seconds at 40MHz. On a more complex YAML version where I was updating the display these times were unchanged.
There is also an error that I don’t understand “Socket operation failed: HANDSHAKESTATE_READ_FAILED errno=11”
Deleted the component from ESPHome and reinstalled it… and it is now reading the sensors again. The “Socket operation failed” message has gone too.
The display works ok with a 80MHz SPI clcok but I’m left witht the display buffer failing to allocate and the display class (when I use a lambda) has changed to “Display” from “DisplayBuffer”.
Interestingly, that crashes my validation. There’s no problem if I enter hex: a00000 or anything else that doesn’t start with a number. Also fine if I use hex: "000000"