TFT Version
17.0 --> 17.4
Firmware Version
2026.4.19
Blueprint Version
2026.4.19
Panel Model
EU
What is the bug?
I wanted to update from the (slow) 2026.4.9 (?) version, but I can't perform the TFT update. It detects that version 17.4 is required, but then aborts and reboot.
"[15:03:55.641][D][nextion.upload.esp32:291]: Upload resp: [] 0 B
[15:03:55.641][E][nextion.upload.esp32:299]: Upload prep failed 0 ''
[15:03:55.649][D][nextion.upload.esp32:300]: Close HTTP
[15:03:55.652][E][nextion.upload:020]: Upload failed
[15:03:55.652][D][nextion.upload:027]: Baud: 921600->115200"
Yesterday, it worked without any problems on another NSPanel updating to version 2026.4.16.
Steps to Reproduce
No response
Your Panel's YAML
substitutions:
# Settings - Editable values
device_name: "nspanel_adrian"
friendly_name: "nspanel_adrian"
wifi_ssid: !secret wifi_ssid
wifi_password: !secret wifi_password
ota_password: ${wifi_password}
language: de
#nextion_update_url: "http://homeassistant.local:8123/local/nspanel_eu.tft" # Optional
# Add-on configuration (if needed)
# heater_relay: "1" # Possible values: "1" or "2"
# Customization area
##### My customization - Start #####
##### My customization - End #####
# Core and optional configurations
packages:
remote_package:
url: https://github.com/edwardtfn/NSPanel-Easy
ref: latest
refresh: 300s
files:
- nspanel_esphome.yaml # Basic package
# Optional advanced and add-on configurations
# - esphome/nspanel_esphome_advanced.yaml
# - esphome/nspanel_esphome_addon_ble_tracker.yaml
# - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
# - esphome/nspanel_esphome_addon_climate_cool.yaml
#- esphome/nspanel_esphome_addon_climate_heat.yaml
# - esphome/nspanel_esphome_addon_climate_dual.yaml
# - esphome/nspanel_esphome_addon_cover.yaml
ESPHome Logs
INFO ESPHome 2026.4.0
INFO Reading configuration /config/esphome/nspanel-adrian.yaml...
WARNING 'nspanel_adrian': Using the '_' (underscore) character in the hostname is discouraged as it can cause problems with some DHCP and local name services. For more information, see https://esphome.io/guides/faq/#why-shouldnt-i-use-underscores-in-my-device-name
WARNING GPIO5 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/#why-am-i-getting-a-warning-about-strapping-pins
INFO Detected timezone 'Europe/Berlin'
INFO Starting log output from 192.168.178.132 using esphome API
INFO Successfully resolved nspanel_adrian @ 192.168.178.132 in 0.000s
INFO Successfully connected to nspanel_adrian @ 192.168.178.132 in 0.010s
INFO Successful handshake with nspanel_adrian @ 192.168.178.132 in 0.017s
[14:56:09.900][I][app:141]: ESPHome version 2026.4.0 compiled on 2026-04-17 14:24:37 +0200
[14:56:09.900][I][app:143]: Project edwardtfn.NSPanel-Easy version 2026.4.19
[14:56:09.902][I][app:148]: ESP32 Chip: ESP32 rev3.1, 2 core(s)
[14:56:09.902][W][app:180]: Bootloader too old for OTA rollback and SRAM1 as IRAM (+40KB). Flash via USB once to update the bootloader
[14:56:09.908][C][logger:219]: Logger:
[14:56:09.908][C][logger:219]: Max Level: DEBUG
[14:56:09.908][C][logger:219]: Initial Level: DEBUG
[14:56:09.908][C][logger:226]: Log Baud Rate: 115200
[14:56:09.908][C][logger:226]: Hardware UART: UART0
[14:56:09.927][C][logger:235]: Task Log Buffer Size: 768 bytes
[14:56:09.930][C][uart.idf:254]: UART Bus 1:
[14:56:09.931][C][uart.idf:152]: TX Pin: GPIO16
[14:56:09.931][C][uart.idf:152]: RX Pin: GPIO17
[14:56:09.931][C][uart.idf:259]: RX Buffer Size: 256
[14:56:09.931][C][uart.idf:259]: RX Full Threshold: 120
[14:56:09.931][C][uart.idf:259]: RX Timeout: 2
[14:56:09.960][C][uart.idf:268]: Baud Rate: 921600 baud
[14:56:09.960][C][uart.idf:268]: Data Bits: 8
[14:56:09.960][C][uart.idf:268]: Parity: NONE
[14:56:09.960][C][uart.idf:268]: Stop bits: 1
[14:56:09.960][C][uart.idf:268]: Wake on data RX: ENABLED
[14:56:09.960][W][nextion:109]: Not connected
[14:56:09.960][C][template.text_sensor:016]: Template Sensor 'Version - ESPHome'
[14:56:09.960][C][template.text_sensor:223]: Icon: 'mdi:tag-text-outline'
[14:56:09.979][C][template.text_sensor:016]: Template Sensor 'Version - Blueprint'
[14:56:09.981][C][template.text_sensor:223]: Icon: 'mdi:tag-text-outline'
[14:56:09.985][C][template.text_sensor:016]: Template Sensor 'Version - TFT'
[14:56:09.986][C][template.text_sensor:223]: Icon: 'mdi:tag-text-outline'
[14:56:09.996][C][template.text_sensor:016]: Template Sensor 'Current Page'
[14:56:09.996][C][template.text_sensor:223]: Icon: 'mdi:tablet-dashboard'
[14:56:10.009][C][template.text_sensor:016]: Template Sensor 'Detailed Entity'
[14:56:10.021][C][template.text_sensor:223]: Icon: 'mdi:tablet-dashboard'
[14:56:10.038][C][template.text_sensor:016]: Template Sensor 'Baud rate'
[14:56:10.038][C][template.text_sensor:223]: Icon: 'mdi:swap-horizontal'
[14:56:10.038][C][template.text_sensor:016]: Template Sensor 'Device Name'
[14:56:10.040][C][template.text_sensor:223]: Icon: 'mdi:identifier'
[14:56:10.054][C][gpio.binary_sensor:016]: GPIO Binary Sensor 'Left Button'
[14:56:10.060][C][gpio.binary_sensor:152]: Pin: GPIO14
[14:56:10.060][C][gpio.binary_sensor:067]: Mode: interrupt
[14:56:10.060][C][gpio.binary_sensor:069]: Interrupt Type: ANY_EDGE
[14:56:10.082][C][gpio.binary_sensor:016]: GPIO Binary Sensor 'Right Button'
[14:56:10.083][C][gpio.binary_sensor:152]: Pin: GPIO27
[14:56:10.084][C][gpio.binary_sensor:067]: Mode: interrupt
[14:56:10.084][C][gpio.binary_sensor:069]: Interrupt Type: ANY_EDGE
[14:56:10.113][C][template.binary_sensor:016]: Template Binary Sensor 'Nextion display'
[14:56:10.127][C][template.binary_sensor:232]: Device Class: 'connectivity'
[14:56:10.127][C][template.binary_sensor:016]: Template Binary Sensor 'Notification Unread'
[14:56:10.128][C][template.number:016]: Template Number 'Display Brightness'
[14:56:10.132][C][template.number:238]: Unit of Measurement: '%'
[14:56:10.132][C][template.number:049]: Optimistic: YES
[14:56:10.132][C][template.number:434]: Update Interval: never
[14:56:10.138][C][template.number:016]: Template Number 'Display Brightness Dimdown'
[14:56:10.143][C][template.number:238]: Unit of Measurement: '%'
[14:56:10.143][C][template.number:049]: Optimistic: YES
[14:56:10.158][C][template.number:438]: Update Interval: 60.0s
[14:56:10.158][C][template.number:016]: Template Number 'Display Brightness Sleep'
[14:56:10.166][C][template.number:238]: Unit of Measurement: '%'
[14:56:10.167][C][template.number:049]: Optimistic: YES
[14:56:10.173][C][template.number:434]: Update Interval: never
[14:56:10.173][C][template.number:016]: Template Number 'Timeout Sleep'
[14:56:10.178][C][template.number:223]: Icon: 'mdi:timer'
[14:56:10.194][C][template.number:238]: Unit of Measurement: 's'
[14:56:10.194][C][template.number:049]: Optimistic: YES
[14:56:10.194][C][template.number:434]: Update Interval: never
[14:56:10.206][C][template.number:016]: Template Number 'Timeout Page'
[14:56:10.216][C][template.number:223]: Icon: 'mdi:timer'
[14:56:10.217][C][template.number:238]: Unit of Measurement: 's'
[14:56:10.217][C][template.number:049]: Optimistic: YES
[14:56:10.220][C][template.number:434]: Update Interval: never
[14:56:10.240][C][template.number:016]: Template Number 'Timeout Dimming'
[14:56:10.240][C][template.number:223]: Icon: 'mdi:timer'
[14:56:10.240][C][template.number:238]: Unit of Measurement: 's'
[14:56:10.244][C][template.number:049]: Optimistic: YES
[14:56:10.260][C][template.number:434]: Update Interval: never
[14:56:10.260][C][template.number:016]: Template Number 'Temperature Correction'
[14:56:10.260][C][template.number:238]: Unit of Measurement: '°C'
[14:56:10.271][C][template.number:049]: Optimistic: YES
[14:56:10.283][C][template.number:434]: Update Interval: never
[14:56:10.284][C][template.select:010]: Template Select 'Background type'
[14:56:10.285][C][template.select:223]: Icon: 'mdi:theme-light-dark'
[14:56:10.287][C][template.select:014]: Optimistic: YES
[14:56:10.287][C][template.select:014]: Initial Option: Dark
[14:56:10.287][C][template.select:014]: Restore Value: YES
[14:56:10.312][C][template.select:010]: Template Select 'Display model'
[14:56:10.313][C][template.select:014]: Optimistic: YES
[14:56:10.313][C][template.select:014]: Initial Option: NSpanel EU
[14:56:10.313][C][template.select:014]: Restore Value: NO
[14:56:10.313][C][template.select:010]: Template Select 'Wake-up page'
[14:56:10.318][C][template.select:223]: Icon: 'mdi:page-next-outline'
[14:56:10.341][C][template.select:014]: Optimistic: YES
[14:56:10.341][C][template.select:014]: Initial Option: home
[14:56:10.341][C][template.select:014]: Restore Value: YES
[14:56:10.341][C][switch.gpio:088]: GPIO Switch 'Nextion display - Power'
[14:56:10.341][C][switch.gpio:088]: Restore Mode: always ON
[14:56:10.341][C][switch.gpio:152]: Pin: GPIO4
[14:56:10.350][C][switch.gpio:088]: GPIO Switch 'Relay 1'
[14:56:10.350][C][switch.gpio:088]: Restore Mode: restore defaults to OFF
[14:56:10.372][C][switch.gpio:152]: Pin: GPIO22
[14:56:10.372][C][switch.gpio:088]: GPIO Switch 'Relay 2'
[14:56:10.372][C][switch.gpio:088]: Restore Mode: restore defaults to OFF
[14:56:10.373][C][switch.gpio:152]: Pin: GPIO19
[14:56:10.380][C][ledc.output:208]: Output:
[14:56:10.380][C][ledc.output:208]: Channel: 0
[14:56:10.380][C][ledc.output:208]: PWM Frequency: 1000.0 Hz
[14:56:10.380][C][ledc.output:208]: Phase angle: 0.0°
[14:56:10.380][C][ledc.output:208]: Bit depth: 16
[14:56:10.425][C][ledc.output:152]: Pin GPIO21
[14:56:10.466][W][nextion:109]: Not connected
[14:56:10.858][C][template.switch:088]: Template Switch 'Sound - Notification'
[14:56:10.858][C][template.switch:088]: Restore Mode: restore defaults to OFF
[14:56:10.867][C][template.switch:055]: Optimistic: YES
[14:56:10.871][C][nspanel_easy:015]: NSPanel Easy:
[14:56:10.871][C][nspanel.versioning:133]: Blueprint:
[14:56:10.871][W][nspanel.versioning:138]: Progress: 100.0%
[14:56:10.871][W][nspanel.versioning:139]: State: Pending
[14:56:10.871][C][nspanel.versioning:144]: ESPHome:
[14:56:10.871][C][nspanel.versioning:145]: Version: 2026.4.19
[14:56:10.872][C][nspanel.versioning:146]: Compiler: 2026.4.0
[14:56:10.878][C][nspanel.versioning:150]: Framework: ESP-IDF
[14:56:10.882][C][nspanel.api:368]: API: Connected
[14:56:10.882][C][nspanel.chips:121]: Chips
[14:56:10.891][C][nspanel.chips:122]: Font: 8
[14:56:10.897][C][nspanel.hw.display:227]: Nextion:
[14:56:10.897][C][nspanel.hw.display:228]: Theme: Dark
[14:56:10.903][C][nspanel.hw.display:229]: Queue size: 0
[14:56:10.904][W][nspanel.hw.display:233]: Is setup: False
[14:56:10.915][W][nspanel.hw.display:234]: Is detected: NO
[14:56:10.919][W][nspanel.hw.display:240]: Init: False
[14:56:10.924][W][nspanel.hw.display:244]: TFT: UNKNOWN
[14:56:10.928][C][nspanel.hw.display:248]: Wake-up page: home
[14:56:10.935][C][nspanel.core:048]: Memory:
[14:56:10.941][C][nspanel.core:049]: Heap:
[14:56:10.941][C][nspanel.core:051]: Internal: 233748 / 322448 bytes free (72.5%)
[14:56:10.948][C][nspanel.core:056]: Internal min: 231472 bytes (watermark)
[14:56:10.952][C][nspanel.core:057]: Internal blk: 110592 bytes (largest contiguous)
[14:56:10.960][C][nspanel.core:067]: PSRAM: 2079144 / 2097152 bytes free (99.1%)
[14:56:10.970][C][nspanel.core:072]: PSRAM min: 2057028 bytes (watermark)
[14:56:10.971][C][nspanel.core:073]: PSRAM blk: 2064384 bytes (largest contiguous)
[14:56:10.980][C][nspanel.hw.uart:300]: UART:
[14:56:10.984][C][nspanel.hw.uart:301]: Baud rate (active): 921600 bps
[14:56:10.992][C][nspanel.hw.uart:303]: Baud rate (compiled): 921600 bps
[14:56:10.992][C][nspanel.hw.uart:306]: Baud rate (fallback): 115200 bps
[14:56:11.002][C][nspanel.hw.uart:311]: Mode: primary rate
[14:56:11.014][C][nspanel.hw.uart:313]: Queue size: 0
[14:56:11.022][C][nspanel.hw.wifi:051]: WiFi: Connected (-54 dBm)
[14:56:11.024][C][nspanel.localization:4149]: Localization:
[14:56:11.030][C][nspanel.localization:4149]: Language: 'de'
[14:56:11.037][C][nspanel.localization:4150]: Valid: Yes
[14:56:11.045][C][nspanel.core:105]: Packages:
[14:56:11.049][C][nspanel.core:107]: - Core
[14:56:11.052][C][nspanel.core:116]: - Upload TFT
[14:56:11.052][C][nspanel.hw.temperature:112]: Temperature unit: °C
[14:56:11.053][C][nspanel.addon.upload_tft:119]: Add-on Upload TFT:
[14:56:11.061][C][nspanel.addon.upload_tft:120]: File model: NSpanel EU
[14:56:11.069][C][nspanel.addon.upload_tft:121]: Valid TFT: YES
[14:56:11.076][I][nspanel.core:216]: Receiving settings from Blueprint: 100.0%
[14:56:11.090][D][nspanel.boot:145]: Boot: Blueprint is ready
[14:56:11.091][W][nextion:109]: Not connected
[14:56:11.121][D][nspanel.boot:145]: Boot: Sending display settings
[14:56:11.164][D][nspanel.boot:145]: Boot: Set Home page elements
[14:56:11.223][D][nspanel.boot:145]: Boot: Wait to finish
[14:56:11.307][D][nspanel.boot:145]: Boot: Waiting for Blueprint
[14:56:11.314][I][nspanel.core:216]: Receiving settings from Blueprint: 100.0%
[14:56:11.318][D][nspanel.boot:145]: Boot: Blueprint is ready
[14:56:11.349][W][component:505]: script took a long time for an operation (255 ms), max is 30 ms
[14:56:11.408][C][restart.button:014]: Restart Button 'Restart'
[14:56:11.417][C][restart.button:223]: Icon: 'mdi:restart'
[14:56:11.442][C][homeassistant.time:010]: Home Assistant Time
[14:56:11.443][C][time:049]: Timezone: UTC+1:00 (DST UTC+2:00)
[14:56:11.443][C][time:055]: Current time: 2026-04-17 14:56:10
[14:56:11.461][C][psram:016]: PSRAM:
[14:56:11.473][C][psram:019]: Available: YES
[14:56:11.473][C][psram:021]: Size: 2048 KB
[14:56:11.473][C][rtttl:078]: Rtttl:
[14:56:11.473][C][rtttl:078]: Gain: 0.600000
[14:56:11.480][C][adc.esp32:017]: ADC Sensor 'ntc_source'
[14:56:11.480][C][adc.esp32:017]: State Class: 'measurement'
[14:56:11.480][C][adc.esp32:017]: Unit of Measurement: 'V'
[14:56:11.480][C][adc.esp32:017]: Accuracy Decimals: 2
[14:56:11.481][C][adc.esp32:232]: Device Class: 'voltage'
[14:56:11.481][C][adc.esp32:152]: Pin: GPIO38
[14:56:11.481][C][adc.esp32:125]: Channel: 2
[14:56:11.481][C][adc.esp32:125]: Unit: ADC1
[14:56:11.481][C][adc.esp32:125]: Attenuation: 12 dB
[14:56:11.481][C][adc.esp32:125]: Samples: 16
[14:56:11.481][C][adc.esp32:125]: Sampling mode: average
[14:56:11.481][C][adc.esp32:125]: Setup Status:
[14:56:11.481][C][adc.esp32:125]: Handle Init: OK
[14:56:11.481][C][adc.esp32:125]: Config: OK
[14:56:11.481][C][adc.esp32:125]: Calibration: OK
[14:56:11.481][C][adc.esp32:125]: Overall Init: OK
[14:56:11.490][C][adc.esp32:438]: Update Interval: 1.0s
[14:56:11.499][C][resistance:017]: Resistance Sensor 'resistance_sensor'
[14:56:11.499][C][resistance:017]: State Class: 'measurement'
[14:56:11.499][C][resistance:017]: Unit of Measurement: 'Ω'
[14:56:11.499][C][resistance:017]: Accuracy Decimals: 1
[14:56:11.502][C][resistance:223]: Icon: 'mdi:flash'
[14:56:11.502][C][resistance:011]: Configuration: DOWNSTREAM
[14:56:11.502][C][resistance:011]: Resistor: 11200.00Ω
[14:56:11.502][C][resistance:011]: Reference Voltage: 3.3V
[14:56:11.513][C][ntc:017]: NTC Sensor 'Temperature'
[14:56:11.513][C][ntc:017]: State Class: 'measurement'
[14:56:11.513][C][ntc:017]: Unit of Measurement: '°C'
[14:56:11.513][C][ntc:017]: Accuracy Decimals: 1
[14:56:11.522][C][ntc:232]: Device Class: 'temperature'
[14:56:11.550][C][nextion:176]: Nextion:
[14:56:11.552][C][nextion:182]: Device Model:
[14:56:11.552][C][nextion:182]: FW Version:
[14:56:11.552][C][nextion:182]: Serial Number:
[14:56:11.552][C][nextion:182]: Flash Size:
[14:56:11.552][C][nextion:182]: Max queue age: 8000 ms
[14:56:11.552][C][nextion:182]: Startup override: 8000 ms
[14:56:11.560][C][nextion:193]: Exit reparse: YES
[14:56:11.566][C][nextion:195]: Wake On Touch: YES
[14:56:11.566][C][nextion:195]: Touch Timeout: 0
[14:56:11.566][C][nextion:211]: Start Up Page: 0
[14:56:11.568][C][nextion:216]: Cmd spacing: 3 ms
[14:56:11.579][C][nextion:223]: TFT URL: http://x/x.tft
[14:56:11.579][C][nextion:223]: TFT upload HTTP timeout: 4500ms
[14:56:11.579][C][nextion:223]: TFT upload HTTP retries: 5
[14:56:11.856][W][nextion:109]: Not connected
[14:56:11.940][C][wifi:1505]: WiFi:
[14:56:11.940][C][wifi:1505]: Local MAC: A0:B7:65:54:CF:2C
[14:56:11.940][C][wifi:1505]: Connected: YES
[14:56:11.942][C][wifi:1216]: IP Address: 192.168.178.132
[14:56:11.946][C][wifi:1227]: SSID: [redacted]
[14:56:11.946][C][wifi:1227]: BSSID: [redacted]
[14:56:11.946][C][wifi:1227]: Hostname: 'nspanel_adrian'
[14:56:11.946][C][wifi:1227]: Signal strength: -54 dB ▂▄▆█
[14:56:11.946][C][wifi:1227]: Channel: 13
[14:56:11.946][C][wifi:1227]: Subnet: 255.255.255.0
[14:56:11.946][C][wifi:1227]: Gateway: 192.168.178.1
[14:56:11.946][C][wifi:1227]: DNS1: 192.168.178.1
[14:56:11.946][C][wifi:1227]: DNS2: 0.0.0.0
[14:56:11.951][C][esphome.ota:071]: Over-The-Air updates:
[14:56:11.951][C][esphome.ota:071]: Address: nspanel_adrian.local:3232
[14:56:11.951][C][esphome.ota:071]: Version: 2
[14:56:11.951][C][esphome.ota:078]: Password configured
[14:56:11.965][C][safe_mode:026]: Safe Mode:
[14:56:11.965][C][safe_mode:026]: Successful after: 60s
[14:56:11.965][C][safe_mode:026]: Invoke after: 10 attempts
[14:56:11.965][C][safe_mode:026]: Duration: 300s
[14:56:11.972][C][safe_mode:043]: Bootloader rollback: support unknown
[14:56:11.990][C][api:235]: Server:
[14:56:11.990][C][api:235]: Address: nspanel_adrian.local:6053
[14:56:11.990][C][api:235]: Listen backlog: 4
[14:56:11.990][C][api:235]: Max connections: 8
[14:56:11.993][C][api:247]: Noise encryption: NO
[14:56:12.005][C][mdns:194]: mDNS:
[14:56:12.005][C][mdns:194]: Hostname: nspanel_adrian
[14:56:12.364][W][nextion:109]: Not connected
[14:56:12.493][D][nspanel.boot:145]: Boot: Waiting for TFT version
[14:56:12.878][W][nextion:109]: Not connected
[14:56:12.887][D][nspanel.page.entities:070]: Set value alignment on entities pages: 0
[14:56:13.387][W][nextion:109]: Not connected
[14:56:13.898][W][nextion:109]: Not connected
[14:56:14.137][D][nspanel.page.entities:070]: Set value alignment on entities pages: 0
[14:56:14.419][W][nextion:109]: Not connected
[14:56:14.891][W][nspanel.hw.uart:055]: Baud negotiate: primary rate 921600 bps failed
[14:56:14.895][I][nspanel.hw.uart:057]: Baud negotiate: switching UART to fallback 115200 bps
[14:56:14.896][D][nspanel.boot:145]: Baud: Trying fallback rate
[14:56:14.898][D][nspanel.boot:145]: Boot: Waiting for UART empty queue
[14:56:14.926][W][nextion:109]: Not connected
[14:56:15.058][C][uart.idf:248]: Reloaded UART 1
[14:56:15.063][C][uart.idf:254]: UART Bus 1:
[14:56:15.063][C][uart.idf:152]: TX Pin: GPIO16
[14:56:15.068][C][uart.idf:152]: RX Pin: GPIO17
[14:56:15.068][C][uart.idf:259]: RX Buffer Size: 256
[14:56:15.068][C][uart.idf:259]: RX Full Threshold: 120
[14:56:15.068][C][uart.idf:259]: RX Timeout: 2
[14:56:15.069][C][uart.idf:268]: Baud Rate: 115200 baud
[14:56:15.069][C][uart.idf:268]: Data Bits: 8
[14:56:15.069][C][uart.idf:268]: Parity: NONE
[14:56:15.069][C][uart.idf:268]: Stop bits: 1
[14:56:15.069][C][uart.idf:268]: Wake on data RX: ENABLED
[14:56:15.570][W][component:505]: script took a long time for an operation (510 ms), max is 30 ms
[14:56:15.579][W][component:505]: script took a long time for an operation (513 ms), max is 30 ms
[14:56:15.580][W][nextion:109]: Not connected
[14:56:15.580][S][text_sensor]: 'Baud rate' >> '115200 bps'
[14:56:16.087][W][nextion:109]: Not connected
[14:56:16.599][W][nextion:109]: Not connected
[14:56:17.110][W][nextion:109]: Not connected
[14:56:17.594][D][nspanel.boot:145]: Boot: Waiting for TFT version
[14:56:17.626][W][nextion:109]: Not connected
[14:56:18.279][I][nextion:115]: Connected
[14:56:18.287][C][nextion:176]: Nextion:
[14:56:18.287][C][nextion:182]: Device Model: NX4832F035_011C
[14:56:18.287][C][nextion:182]: FW Version: 115
[14:56:18.287][C][nextion:182]: Serial Number: 16B1340176E52F7D
[14:56:18.287][C][nextion:182]: Flash Size: 16777216
[14:56:18.287][C][nextion:182]: Max queue age: 8000 ms
[14:56:18.287][C][nextion:182]: Startup override: 8000 ms
[14:56:18.290][C][nextion:193]: Exit reparse: YES
[14:56:18.291][C][nextion:195]: Wake On Touch: YES
[14:56:18.291][C][nextion:195]: Touch Timeout: 0
[14:56:18.291][C][nextion:211]: Start Up Page: 0
[14:56:18.296][C][nextion:216]: Cmd spacing: 3 ms
[14:56:18.306][C][nextion:223]: TFT URL: http://x/x.tft
[14:56:18.306][C][nextion:223]: TFT upload HTTP timeout: 4500ms
[14:56:18.306][C][nextion:223]: TFT upload HTTP retries: 5
[14:56:18.307][W][nextion:480]: Invalid instruction
[14:56:18.307][E][nextion:401]: Queue empty
[14:56:18.307][I][nspanel.hw.display:126]: Page changed: 'boot'->'boot'
[14:56:18.317][W][nspanel.hw.display:127]: Same page
[14:56:18.370][D][nspanel.page.boot:179]: Page boot constructor started
[14:56:18.379][W][script:072]: Script 'page_boot_exit_on_timeout' is already running! (mode: single)
[14:56:18.380][D][nspanel.page.boot:192]: Page boot constructor completed
[14:56:18.380][W][nextion:540]: Invalid variable name
[14:56:18.380][E][nextion:401]: Queue empty
[14:56:18.380][W][nextion:540]: Invalid variable name
[14:56:18.380][E][nextion:401]: Queue empty
[14:56:18.384][W][component:505]: display took a long time for an operation (245 ms), max is 30 ms
[14:56:18.392][S][text_sensor]: 'Current Page' >> 'boot'
[14:56:18.393][S][text_sensor]: 'Detailed Entity' >> ''
[14:56:18.399][I][nspanel.hw.display:119]: Nextion setup triggered
[14:56:18.403][I][nspanel.hw.display:126]: Page changed: 'boot'->'boot'
[14:56:18.404][W][nspanel.hw.display:127]: Same page
[14:56:18.404][D][script:090]: Script 'timer_page' restarting (mode: restart)
[14:56:18.412][D][script:090]: Script 'timer_dim' restarting (mode: restart)
[14:56:18.484][D][nspanel.page.boot:179]: Page boot constructor started
[14:56:18.497][W][script:072]: Script 'page_boot_exit_on_timeout' is already running! (mode: single)
[14:56:18.497][D][script:090]: Script 'wait_for_page_boot_exit' restarting (mode: restart)
[14:56:18.500][D][nspanel.page.boot:192]: Page boot constructor completed
[14:56:18.500][W][nspanel.hw.uart:124]: Baud negotiate: connected at fallback 115200 bps
[14:56:18.501][D][nspanel.boot:145]: Baud: Connected at fallback rate
[14:56:18.501][W][script:072]: Script 'wait_for_version_tft' is already running! (mode: single)
[14:56:18.507][S][binary_sensor]: 'Nextion display' >> OFF
[14:56:18.508][S][text_sensor]: 'Current Page' >> 'boot'
[14:56:18.508][S][text_sensor]: 'Detailed Entity' >> ''
[14:56:18.685][W][nextion:498]: Invalid component ID/name
[14:56:18.692][W][nextion:540]: Invalid variable name
[14:56:18.692][W][nextion:540]: Invalid variable name
[14:56:18.692][W][nextion:498]: Invalid component ID/name
[14:56:18.692][W][nextion:540]: Invalid variable name
[14:56:18.693][W][nextion:540]: Invalid variable name
[14:56:18.693][W][nextion:498]: Invalid component ID/name
[14:56:18.693][W][nextion:540]: Invalid variable name
[14:56:18.696][W][nextion:540]: Invalid variable name
[14:56:18.696][W][nextion:498]: Invalid component ID/name
[14:56:18.702][W][nextion:540]: Invalid variable name
[14:56:18.704][W][nextion:540]: Invalid variable name
[14:56:18.713][W][nextion:498]: Invalid component ID/name
[14:56:18.717][W][nextion:540]: Invalid variable name
[14:56:18.717][W][nextion:540]: Invalid variable name
[14:56:18.724][W][nextion:498]: Invalid component ID/name
[14:56:18.729][W][nextion:540]: Invalid variable name
[14:56:18.737][W][nextion:540]: Invalid variable name
[14:56:18.742][W][nextion:498]: Invalid component ID/name
[14:56:18.800][W][nextion:498]: Invalid component ID/name
[14:56:18.812][W][nextion:540]: Invalid variable name
[14:56:18.812][W][nextion:540]: Invalid variable name
[14:56:18.813][W][nextion:498]: Invalid component ID/name
[14:56:18.816][W][nextion:540]: Invalid variable name
[14:56:18.820][W][nextion:540]: Invalid variable name
[14:56:18.825][W][nextion:498]: Invalid component ID/name
[14:56:18.831][W][nextion:540]: Invalid variable name
[14:56:18.832][W][nextion:540]: Invalid variable name
[14:56:19.408][D][nspanel.hw.display:297]: Send generic event to Home Assistant
[14:56:19.417][D][nspanel.component.base:025]: Firing HA event: button_click
[14:56:19.417][D][nspanel.hw.display:305]: Home Assistant generic event sent
[14:56:19.417][I][nspanel.page.boot:103]: Display params:
[14:56:19.417][I][nspanel.page.boot:104]: Contract ver: 1
[14:56:19.417][I][nspanel.page.boot:105]: Mode: 1
[14:56:19.417][W][nspanel.page.boot:120]: Old TFT contract v1 — initializing EEPROM
[14:56:19.417][I][nspanel.versioning:219]: TFT version: 17.0
[14:56:19.425][D][script:090]: Script 'check_versions' restarting (mode: restart)
[14:56:19.429][D][nspanel.versioning:075]: Device not ready for tasks - Skip version check
[14:56:19.439][I][nspanel.page.boot:170]: TFT version: 17.0
[14:56:19.449][D][nextion_textsensor:014]: Text sensor: localevent='boot,params,1,17.0'
[14:56:19.454][I][nspanel.hw.display:126]: Page changed: 'boot'->'boot'
[14:56:19.463][W][nspanel.hw.display:127]: Same page
[14:56:19.463][D][script:090]: Script 'timer_page' restarting (mode: restart)
[14:56:19.464][D][script:090]: Script 'timer_dim' restarting (mode: restart)
[14:56:19.533][D][nspanel.page.boot:179]: Page boot constructor started
[14:56:19.536][W][script:072]: Script 'page_boot_exit_on_timeout' is already running! (mode: single)
[14:56:19.536][D][script:090]: Script 'wait_for_page_boot_exit' restarting (mode: restart)
[14:56:19.537][D][nspanel.page.boot:192]: Page boot constructor completed
[14:56:19.543][S][select]: 'Display model' >> NSpanel EU
[14:56:19.543][S][text_sensor]: 'Version - TFT' >> '17.0'
[14:56:19.544][S][text_sensor]: 'Current Page' >> 'boot'
[14:56:19.544][S][text_sensor]: 'Detailed Entity' >> ''
[14:56:19.551][W][nextion:498]: Invalid component ID/name
[14:56:19.556][W][nextion:540]: Invalid variable name
[14:56:19.564][W][nextion:540]: Invalid variable name
[14:56:19.566][W][nextion:498]: Invalid component ID/name
[14:56:19.572][W][nextion:540]: Invalid variable name
[14:56:19.577][W][nextion:540]: Invalid variable name
[14:56:19.583][W][nextion:498]: Invalid component ID/name
[14:56:19.591][W][nextion:540]: Invalid variable name
[14:56:19.598][W][nextion:540]: Invalid variable name
[14:56:19.604][W][nextion:498]: Invalid component ID/name
[14:56:19.609][I][nspanel.hw.uart:170]: Baud upgrade: attempting to upgrade to 921600 bps
[14:56:19.613][D][nspanel.boot:145]: Baud: Upgrading to primary rate
[14:56:19.620][D][nspanel.hw.uart:184]: Baud upgrade: attempt 1 / 3
[14:56:19.620][D][nspanel.hw.uart:187]: Baud upgrade: waiting for queues to drain
[14:56:19.620][I][nspanel.hw.display:434]: Apply theme: Dark
[14:56:19.622][I][nspanel.hw.display:466]: Applying theme: DARK
[14:56:19.627][I][nspanel.hw.display:473]: Applying DARK theme
[14:56:19.628][D][nspanel.page.home:206]: Update weather pic: 3
[14:56:19.655][D][nspanel.boot:145]: Boot: Jump to wake-up page
[14:56:19.686][D][nspanel.hw.display:605]: Wake-up on page home
[14:56:19.691][D][script:090]: Script 'timer_page' restarting (mode: restart)
[14:56:19.692][D][script:090]: Script 'timer_dim' restarting (mode: restart)
[14:56:19.696][W][component:505]: script took a long time for an operation (75 ms), max is 30 ms
[14:56:19.699][W][nextion:540]: Invalid variable name
[14:56:19.738][S][binary_sensor]: 'Notification Unread' >> OFF
[14:56:19.738][S][binary_sensor]: 'Nextion display' >> ON
[14:56:19.761][W][nextion:498]: Invalid component ID/name
[14:56:19.769][W][nextion:540]: Invalid variable name
[14:56:19.769][W][nextion:540]: Invalid variable name
[14:56:19.769][W][nextion:498]: Invalid component ID/name
[14:56:19.773][W][nextion:540]: Invalid variable name
[14:56:19.773][W][nextion:540]: Invalid variable name
[14:56:19.773][W][nextion:498]: Invalid component ID/name
[14:56:19.775][W][nextion:540]: Invalid variable name
[14:56:19.780][W][nextion:540]: Invalid variable name
[14:56:19.786][W][nextion:498]: Invalid component ID/name
[14:56:19.791][W][nextion:540]: Invalid variable name
[14:56:19.796][W][nextion:540]: Invalid variable name
[14:56:19.801][W][nextion:498]: Invalid component ID/name
[14:56:19.807][W][nextion:540]: Invalid variable name
[14:56:19.813][W][nextion:540]: Invalid variable name
[14:56:19.818][W][nextion:498]: Invalid component ID/name
[14:56:19.823][W][nextion:540]: Invalid variable name
[14:56:19.828][W][nextion:540]: Invalid variable name
[14:56:19.960][I][nspanel.hw.display:126]: Page changed: 'boot'->'home'
[14:56:19.968][D][script:090]: Script 'timer_page' restarting (mode: restart)
[14:56:19.973][D][script:090]: Script 'timer_dim' restarting (mode: restart)
[14:56:19.973][D][nspanel.component.base:025]: Firing HA event: page_changed
[14:56:20.063][S][text_sensor]: 'Current Page' >> 'home'
[14:56:20.063][S][text_sensor]: 'Detailed Entity' >> ''
[14:56:20.072][D][nspanel.page.home:206]: Update weather pic: 3
[14:56:20.174][S][number]: 'Timeout Sleep' >> 0.00
[14:56:20.829][W][nextion:540]: Invalid variable name
[14:56:21.000][W][nextion:540]: Invalid variable name
[14:56:21.128][W][nextion:540]: Invalid variable name
[14:56:21.306][W][nextion:540]: Invalid variable name
[14:56:23.470][W][nextion:540]: Invalid variable name
[14:56:23.593][I][nspanel.base:114]: The system is ready to run actions
[14:56:24.443][D][nspanel.boot:145]: Boot: Check TFT version
[14:56:24.444][D][nspanel.boot:145]: Boot: Waiting for TFT version
[14:56:24.452][D][nspanel.versioning:082]: Versions:
[14:56:24.452][D][nspanel.versioning:083]: Blueprint: 2026.4.19
[14:56:24.452][D][nspanel.versioning:084]: ESPHome: 2026.4.19
[14:56:24.452][D][nspanel.versioning:085]: TFT: 17.0
[14:56:24.456][W][nspanel.versioning:106]: TFT version mismatch!
[14:56:24.456][E][nspanel.versioning:108]: TFT v17.4 is required
[14:56:24.457][D][nspanel.component.base:025]: Firing HA event: version
[14:56:24.463][D][nspanel.versioning:127]: Check version completed
[14:56:24.470][I][nspanel.addon.upload_tft:107]: Auto updating TFT from '17.0' to '17.4'
[14:56:24.473][I][nspanel.addon.upload_tft:158]: Upload TFT sequence started
[14:56:24.474][D][nspanel.addon.upload_tft:179]: Set Nextion unavailable for blueprint calls
[14:56:24.483][D][nspanel.addon.upload_tft:182]: Preparing for upload
[14:56:24.491][D][nspanel.addon.upload_tft:127]: Nextion status:
[14:56:24.494][D][nspanel.addon.upload_tft:128]: Is detected: YES
[14:56:24.502][D][nspanel.addon.upload_tft:129]: Is setup: YES
[14:56:24.513][D][nspanel.addon.upload_tft:130]: Queue size: 2
[14:56:24.519][D][nspanel.addon.upload_tft:186]: Starting the upload script
[14:56:24.525][W][component:505]: script took a long time for an operation (87 ms), max is 30 ms
[14:56:24.544][S][binary_sensor]: 'Nextion display' >> OFF
[14:56:26.225][W][nextion:540]: Invalid variable name
[14:56:26.527][D][nspanel.addon.upload_tft:229]: Stopping other scripts
[14:56:27.532][D][nspanel.addon.upload_tft:127]: Nextion status:
[14:56:27.541][D][nspanel.addon.upload_tft:128]: Is detected: YES
[14:56:27.542][D][nspanel.addon.upload_tft:129]: Is setup: YES
[14:56:27.542][D][nspanel.addon.upload_tft:130]: Queue size: 2
[14:56:27.542][D][main:333]: Attempting to upload TFT
[14:56:27.542][D][nspanel.addon.upload_tft:330]: Attempt #1
[14:56:28.549][D][nspanel.addon.upload_tft:136]: Waiting for empty UART and Nextion queues
[14:56:32.708][S][sensor]: 'Temperature' >> 24.6 °C
[14:56:33.494][W][nextion:540]: Invalid variable name
[14:56:36.496][W][nextion:540]: Invalid variable name
[14:56:40.556][D][nspanel.addon.upload_tft:143]: Starting TFT upload
[14:56:40.566][D][nextion.upload.esp32:165]: TFT upload requested, exit reparse: NO, URL: https://raw.githubusercontent.com/edwardtfn/NSPanel-Easy/v2026.4.19/hmi/nspanel_landscape.tft
[14:56:40.570][D][nextion.upload.esp32:195]: Baud rate: 921600
[14:56:41.164][D][nextion.upload.esp32:240]: TFT size: 13563812 bytes
[14:56:41.174][D][nextion.upload.esp32:253]: Uploading
[14:56:41.671][D][nextion.upload.esp32:280]: Baud: 115200->921600
[14:56:41.683][C][uart.idf:248]: Reloaded UART 1
[14:56:41.684][C][uart.idf:254]: UART Bus 1:
[14:56:41.684][C][uart.idf:152]: TX Pin: GPIO16
[14:56:41.684][C][uart.idf:152]: RX Pin: GPIO17
[14:56:41.685][C][uart.idf:259]: RX Buffer Size: 256
[14:56:41.685][C][uart.idf:259]: RX Full Threshold: 120
[14:56:41.685][C][uart.idf:259]: RX Timeout: 2
[14:56:41.686][C][uart.idf:268]: Baud Rate: 921600 baud
[14:56:41.686][C][uart.idf:268]: Data Bits: 8
[14:56:41.686][C][uart.idf:268]: Parity: NONE
[14:56:41.686][C][uart.idf:268]: Stop bits: 1
[14:56:41.686][C][uart.idf:268]: Wake on data RX: ENABLED
[14:56:46.685][D][nextion.upload.esp32:291]: Upload resp: [] 0 B
[14:56:46.685][E][nextion.upload.esp32:299]: Upload prep failed 0 ''
[14:56:46.691][D][nextion.upload.esp32:300]: Close HTTP
[14:56:46.691][E][nextion.upload:020]: Upload failed
[14:56:46.691][D][nextion.upload:027]: Baud: 921600->115200
[14:56:46.694][C][uart.idf:248]: Reloaded UART 1
[14:56:46.699][C][uart.idf:254]: UART Bus 1:
[14:56:46.699][C][uart.idf:152]: TX Pin: GPIO16
[14:56:46.701][C][uart.idf:152]: RX Pin: GPIO17
[14:56:46.701][C][uart.idf:259]: RX Buffer Size: 256
[14:56:46.701][C][uart.idf:259]: RX Full Threshold: 120
[14:56:46.701][C][uart.idf:259]: RX Timeout: 2
[14:56:46.707][C][uart.idf:268]: Baud Rate: 115200 baud
[14:56:46.707][C][uart.idf:268]: Data Bits: 8
[14:56:46.707][C][uart.idf:268]: Parity: NONE
[14:56:46.707][C][uart.idf:268]: Stop bits: 1
[14:56:46.707][C][uart.idf:268]: Wake on data RX: ENABLED
[14:56:46.723][W][component:505]: script took a long time for an operation (6154 ms), max is 30 ms
[14:56:46.730][W][component:505]: script took a long time for an operation (6165 ms), max is 30 ms
[14:56:46.739][D][nspanel.addon.upload_tft:338]: Attempt #1 returned: FAILED
[14:56:46.744][I][addon_upload_tft.script.upload_tft_attempt:339]: Restarting ESPHome
[14:56:46.744][I][app:222]: Rebooting safely
INFO Processing expected disconnect from ESPHome API for nspanel_adrian @ 192.168.178.132
WARNING Disconnected from API
INFO Successfully resolved nspanel_adrian @ 192.168.178.132 in 0.000s
INFO Successfully connected to nspanel_adrian @ 192.168.178.132 in 1.131s
INFO Successful handshake with nspanel_adrian @ 192.168.178.132 in 0.030s
Home Assistant Logs
TFT Version
17.0 --> 17.4
Firmware Version
2026.4.19
Blueprint Version
2026.4.19
Panel Model
EU
What is the bug?
I wanted to update from the (slow) 2026.4.9 (?) version, but I can't perform the TFT update. It detects that version 17.4 is required, but then aborts and reboot.
"[15:03:55.641][D][nextion.upload.esp32:291]: Upload resp: [] 0 B
[15:03:55.641][E][nextion.upload.esp32:299]: Upload prep failed 0 ''
[15:03:55.649][D][nextion.upload.esp32:300]: Close HTTP
[15:03:55.652][E][nextion.upload:020]: Upload failed
[15:03:55.652][D][nextion.upload:027]: Baud: 921600->115200"
Yesterday, it worked without any problems on another NSPanel updating to version 2026.4.16.
Steps to Reproduce
No response
Your Panel's YAML
ESPHome Logs
Home Assistant Logs