Skip to content

Bug TFT Update not possible #131

@kroessig

Description

@kroessig

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


Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't workingMigratingUpload TFTPertains to problems encountered during TFT file uploads.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions