Sonoff NSPanel - Uploading tft to Nextion display fails

Worked For me! Thanks

Thanks ! I have also tried everything, but this helped instantly! Should be part of the FAQ

I’ve been fighting with the TFT update failure as well. I’ve tried many different YAMLs, moved the device to the strongest possible network connection, reduced baud to 9600. Still I get the following:

[11:32:32][D][button:010]: 'nspanel2 Update TFT display' Pressed.
[11:32:32][D][main:1556]: Button pressed: Update TFT display
[11:32:32][D][nextion_upload:169]: Connected
[11:32:32][D][nextion_upload:175]: Requesting URL: http://____:8123/local/nspanel_us.tft
[11:32:32][D][nextion_upload:209]: Updating Nextion ...
[11:32:33][D][nextion_upload:235]: Waiting for upgrade response
[11:32:33][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:33][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:33][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:33][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:33][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:33][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:33][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:34][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:35][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:35][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:35][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:35][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:35][D][nextion_upload:239]: Upgrade response is  20
[11:32:35][D][nextion_upload:242]: Available 0 : 0x00
[11:32:35][D][nextion_upload:242]: Available 1 : 0x00
[11:32:35][D][nextion_upload:242]: Available 2 : 0x00
[11:32:35][D][nextion_upload:242]: Available 3 : 0x00
[11:32:35][D][nextion_upload:242]: Available 4 : 0x00
[11:32:35][D][nextion_upload:242]: Available 5 : 0x00
[11:32:35][D][nextion_upload:242]: Available 6 : 0x00
[11:32:35][D][nextion_upload:242]: Available 7 : 0x00
[11:32:35][D][nextion_upload:242]: Available 8 : 0x00
[11:32:35][D][nextion_upload:242]: Available 9 : 0x00
[11:32:35][D][nextion_upload:242]: Available 10 : 0x00
[11:32:35][D][nextion_upload:242]: Available 11 : 0x00
[11:32:35][D][nextion_upload:242]: Available 12 : 0x00
[11:32:35][D][nextion_upload:242]: Available 13 : 0x00
[11:32:35][D][nextion_upload:242]: Available 14 : 0x00
[11:32:35][D][nextion_upload:242]: Available 15 : 0x00
[11:32:35][D][nextion_upload:242]: Available 16 : 0x00
[11:32:35][D][nextion_upload:242]: Available 17 : 0x00
[11:32:35][D][nextion_upload:242]: Available 18 : 0x00
[11:32:35][D][nextion_upload:242]: Available 19 : 0x00
[11:32:35][D][nextion_upload:248]: preparation for tft update failed 0 ""
[11:32:35][D][nextion_upload:310]: Restarting Nextion
[11:32:36][D][nextion_upload:313]: Restarting esphome
WARNING nspanel2.local: Connection error occurred: [Errno 104] Connection reset by peer
INFO Processing unexpected disconnect from ESPHome API for nspanel2.local
WARNING Disconnected from API
INFO Successfully connected to nspanel2.local
[11:32:47][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:47][W][nextion:072]: Nextion is not connected! 
[11:32:47][W][component:204]: Component nextion.display took a long time for an operation (0.11 s).
[11:32:47][W][component:205]: Components should block for at most 20-30ms.
[11:32:48][E][uart:015]: Reading from UART timed out at byte 0!
[11:32:48][W][nextion:072]: Nextion is not connected! 

Has anyone solved this in a different way? I’ve also tried to upload a blank tft file, no luck with that either.

I had this same issue with 9 new Napanels and 2 existing ones already running on 3.0x which I was trying to update to the latest (4.04) or flash for the first time. After days of trying to work it out the one thing that worked every time was disabling the nspanel under ESPhome in HA and leaving it disabled whilst uploading the hmi (either from webserver eg nspanel.local or developer tools service). When I did this it worked fine.

So for the new panels I waiting to ‘Configure New Device’ in HA until it completed and for existing just disabled them.

When i disable it in esphome, i get this error in devtools to upload the tft:
Failed to call service esphome.nspanelnew_upload_tft_url. Unknown error

Have you tried the webserver ie nspanelname.local (nspanelnew.local in your example) in a web browser and use the upload function.

i dont’t have a webserver running on my esp.
can i add that in the esphome config en reupload it again ?

Yes. See the documentation here.

As a minimum something like this (you don’t have to use authentication but it’s a good idea):

# Example configuration entry
web_server:
  port: 80
  auth:
    username: !secret web_server_username
    password: !secret web_server_password

mmmmm when i choose there the upgrade button i get the same error:

10:52:37 [D] [script.upload_tft.upload_tft_esp_idf:667] Nextion TFT upload requested
10:52:37 [D] [script.upload_tft.upload_tft_esp_idf:668] url: http://10.0.0.50:8123/local/nspanel_blank.tft
10:52:37 [D] [script.upload_tft.upload_tft_esp_idf:669] baud_rate: 921600
10:52:37 [D] [script.upload_tft.upload_tft_esp_idf:682] Setting Nextion protocol reparse mode to passive
10:52:37 [D] [main:2591] Exit reparse
10:52:37 [D] [script.upload_tft:144] Wait 5 seconds
10:52:42 [D] [script.upload_tft.upload_tft_esp_idf:722] TFT file size: 275288
10:52:42 [D] [script.upload_tft.upload_tft_esp_idf:729] File size check passed. Proceeding…
10:52:42 [D] [script.upload_tft.upload_tft_esp_idf:734] Updating Nextion
10:52:42 [D] [script.upload_tft.send_nextion_command:206] Sending: whmi-wris 275288,921600,1
10:52:42 [C] [uart.idf:073] Setting up UART 1…
10:52:42 [D] [esp-idf:000] e[0;32mI (319333) uart: queue free spaces: 20
10:52:42 [D] [script.upload_tft.upload_tft_esp_idf:758] Waiting for upgrade response
10:52:44 [D] [script.upload_tft.upload_tft_esp_idf:763] Upgrade response is [00.00.00.80.80.80 (6)]
10:52:44 [E] [script.upload_tft.upload_tft_esp_idf:768] Preparation for tft update failed 0 “”
10:52:44 [D] [script.upload_tft.upload_end_:274] Completed: 0
10:52:44 [D] [script.upload_tft.upload_end_:284] Nextion TFT upload will try again
10:52:44 [W] [script.upload_tft:805] Try #1 failed
10:52:44 [D] [script.upload_tft:144] Wait 5 seconds
10:52:49 [D] [script.upload_tft:808] Try #2 at 921600 bps
10:52:49 [D] [script.upload_tft.upload_tft_esp_idf:667] Nextion TFT upload requested
10:52:49 [D] [script.upload_tft.upload_tft_esp_idf:668] url: http://10.0.0.50:8123/local/nspanel_blank.tft
10:52:49 [D] [script.upload_tft.upload_tft_esp_idf:669] baud_rate: 921600
10:52:49 [D] [script.upload_tft.upload_tft_esp_idf:682] Setting Nextion protocol reparse mode to passive
10:52:49 [D] [main:2591]

@philbart could you please elaborate more on what you did and if you could provide a “step-by-step guide” it would be much appreciated.

I have bought 15 NSPanels and so far I have had a 50% succesrate in flashing. Cant get my head around whats happening because I do the same procedure every time.

EDIT:
For anyone having problem.
As @philbart suggested, go to the ESPHome integration and press on the 3 dots and disable/deactivate.
To flash devices I failed with previously I did the following (don’t know) if all are needed:

  1. diable the device in ESPHome
  2. re flash device and ad TFT upload to left button
  3. uploaded a small TFT (blank)
  4. after success of this upload I changed to the actual TFT and flashed again
  5. after success of this upload I changed the left button to what I wanted it to do

I’m having similar problems

Can I check if I’ve followed the right process to upgrade?

I’ve updated the blueprint, I’ve resaved the script, I’ve downloaded the config and tft off the website - then pressed the button to upload yet

I can see the other elements have upgraded successfully from the following error

The device reacts - there is a blue screen with a Ha logo- then a blue on grey progress bar

Then when it’s all done - the screen comes up - the physical buttons work - but I can’t swipe for the other screens or do anything else

Am I missing something obvious?

I got it working, doing the following:

Context= I’m migrating from tasmota to esphome

It appears when trying this, your nspanel gets stuck on the loading window of tasmota, and you cant flash this, with the current esphome blueprint method.

Currently at version 4.1.4 I did the following to move beyond this state

for future readers, this might no longer work, or the beta version might no longer resolve this issue.

Follow all guides for setup, but for the ESPHome yaml, copy this in:

# Example configuration entry
web_server:
  port: 80
  version: 1

substitutions:
  ###### CHANGE ME START ######
  device_name: "dummy" 
  wifi_ssid: !secret your wifi
  wifi_password: !secret your wifi code

  #nextion_update_url: "HTTP://yourHAUrl/nspanel_eu.tft"
  #nextion_blank_url: "HTTP://yourHAUrl/nspanel_blank.tft"
  nextion_update_url: "HTTP://yourHAUrl/nspanel_blank.tft"
  
  ##### addon-configuration #####
  ## addon_climate ##
  # addon_climate_heater_relay: "1" # possible values: 1/2

  ##### CHANGE ME END #####

packages:
  remote_package:
    url: https://github.com/Blackymas/NSPanel_HA_Blueprint
    ref: beta
    files:
      - nspanel_esphome.yaml # Core package
      # - advanced/esphome/nspanel_esphome_advanced.yaml # activate advanced (legacy) elements - can be useful for troubleshooting
      # - nspanel_esphome_addon_climate_cool.yaml # activate for local climate (cooling) control
      # - nspanel_esphome_addon_climate_heat.yaml # activate for local climate (heater) control
    refresh: 3s

##### My customization - Start #####
##### My customization - End #####

#### Custom ####
esp32:
  framework:
    type: esp-idf
uart:
  - id: !extend tf_uart
    baud_rate: 115200
time:
  - id: !extend time_provider
    on_time:
      - seconds: /6
        then:
          - lambda: |-
              ESP_LOGD("DEBUG", "Version: ${version}");
              ESP_LOGD("DEBUG", "Baud rate: %d", tf_uart->get_baud_rate());
              #ifdef ARDUINO
              ESP_LOGD("DEBUG", "Free heap: %d", ESP.getFreeHeap());
              #elif defined(USE_ESP_IDF)
              ESP_LOGD("DEBUG", "Free heap: %d", esp_get_free_heap_size());
              #endif
              ESP_LOGD("DEBUG", "disp1->is_setup(): %s", disp1->is_setup() ? "True" : "False");
              if (!disp1->is_setup()) exit_reparse->execute();

Make note of the nextion update piece. here I force the blueprint to grab the blank.
second note, I’m running ref: beta instead of main

Once you have flashed it.
Add the device to your esphome ha setup.
go to the device, scroll to the update section, and watch your esphome device logs.
Once it found the screen, run the update.

Perhaps run it again, or reboot the device, but at some point the device will show the QR code nextion setup screen.

Once you are there, revert the yaml in the esphome setup to the normal code:

substitutions:
  ###### CHANGE ME START ######
  device_name: "dummy" 
  wifi_ssid: !secret your wifi
  wifi_password: !secret your wifi code

  nextion_update_url: "HTTP://yourHAUrl/nspanel_eu.tft"
  nextion_blank_url: "HTTP://yourHAUrl/nspanel_blank.tft"

  ##### addon-configuration #####
  ## addon_climate ##
  # addon_climate_heater_relay: "1" # possible values: 1/2

  ##### CHANGE ME END #####

packages:
  remote_package:
    url: https://github.com/Blackymas/NSPanel_HA_Blueprint
    ref: main
    files:
      - nspanel_esphome.yaml # Core package
      # - advanced/esphome/nspanel_esphome_advanced.yaml # activate advanced (legacy) elements - can be useful for troubleshooting
      # - nspanel_esphome_addon_climate_cool.yaml # activate for local climate (cooling) control
      # - nspanel_esphome_addon_climate_heat.yaml # activate for local climate (heater) control
    refresh: 1s

esp32:
  framework:
    type: esp-idf

##### My customization - Start #####
##### My customization - End #####

Once this is flashed again, wait for the device to fully boot, keep an eye on the esphome device logs. And then run the nextion screen update function again, this should now run the normal install, and after a few minutes your screen should now show the regular esphome screen showing 4.1.4

Good luck!

1 Like

Sorry I missed your question but pleased to hear you got there in the end

I had similar upload tft upload related issues and found that it was due to network traffic congestion. My first clue was that TFT upload would go through once I turn off all the WiFi cameras off.

So I went back to the network topology and created VLANs on Opensense and separated WiFi networks into separate VLANs for following:

  1. Cameras
  2. All other IoTs
  3. Home Devices (laptops, phones, TV etc)
  4. Guest Wifi

And now things are much better, although configuring few L2 switches to manage VLANs was quiet a learning curve!

having similar issue getting the tft to update fails. tried various methods to get the setup of this nspanel completed but so far stuck at the upload_tft.

not very experienced with coding but know enough basics to get through my intial challenges and get it responding and mostly integrated into home assistant, but not having any luck getting past the screen update.

esphome 2023.12.9

home assistant OS 11.5.rc3

home assistant core 2024.1.6

supervisor version 2024.01.0

mqtt Firmware: esphome v2023.12.9 Jan 31 2024, 15:28:11

switches relays sensor and screenpower all work from the device info screen for the nspanel, just no option for tft upload as all the documentation that i have read so far has pointed to.
yesterday i noticed the guide i was following on gihub now says coming soon under the section for manual tft upload too

[15:30:37][I][app:102]: ESPHome version 2023.12.9 compiled on Jan 31 2024, 15:28:11
[15:30:37][C][wifi:573]: WiFi:
[15:30:37][C][wifi:405]:   Local MAC: A0:B7:65:54:B8:5C
[15:30:37][C][wifi:410]:   SSID: [redacted]
[15:30:37][C][wifi:411]:   IP Address: 192.168.0.185
[15:30:37][C][wifi:413]:   BSSID: [redacted]
[15:30:37][C][wifi:414]:   Hostname: 'nspanel'
[15:30:37][C][wifi:416]:   Signal strength: -47 dB ▂▄▆█
[15:30:37][C][wifi:420]:   Channel: 1
[15:30:37][C][wifi:421]:   Subnet: 255.255.255.0
[15:30:37][C][wifi:422]:   Gateway: 192.168.0.1
[15:30:37][C][wifi:423]:   DNS1: 192.168.0.1
[15:30:37][C][wifi:424]:   DNS2: 0.0.0.0
[15:30:37][C][logger:439]: Logger:
[15:30:37][C][logger:440]:   Level: DEBUG
[15:30:37][C][logger:441]:   Log Baud Rate: 115200
[15:30:37][C][logger:443]:   Hardware UART: UART0
[15:30:37][C][logger:447]:   Level for 'sensor': WARN
[15:30:37][C][logger:447]:   Level for 'resistance': WARN
[15:30:37][C][logger:447]:   Level for 'text_sensor': WARN
[15:30:37][C][logger:447]:   Level for 'ntc': WARN
[15:30:37][C][uart.arduino_esp32:137]: UART Bus 1:
[15:30:37][C][uart.arduino_esp32:138]:   TX Pin: GPIO16
[15:30:37][C][uart.arduino_esp32:139]:   RX Pin: GPIO17
[15:30:37][C][uart.arduino_esp32:141]:   RX Buffer Size: 256
[15:30:37][C][uart.arduino_esp32:143]:   Baud Rate: 9600 baud
[15:30:37][C][uart.arduino_esp32:144]:   Data Bits: 8
[15:30:37][C][uart.arduino_esp32:145]:   Parity: NONE
[15:30:37][C][uart.arduino_esp32:146]:   Stop bits: 1
[15:30:37][C][ledc.output:164]: LEDC Output:
[15:30:37][C][ledc.output:165]:   Pin GPIO21
[15:30:37][C][ledc.output:166]:   LEDC Channel: 0
[15:30:37][C][ledc.output:167]:   PWM Frequency: 1000.0 Hz
[15:30:37][C][ledc.output:168]:   Bit depth: 16
[15:30:37][C][switch.gpio:068]: GPIO Switch 'nspanel Relay 1'
[15:30:37][C][switch.gpio:091]:   Restore Mode: always OFF
[15:30:37][C][switch.gpio:031]:   Pin: GPIO22
[15:30:38][C][switch.gpio:068]: GPIO Switch 'nspanel Relay 2'
[15:30:38][C][switch.gpio:091]:   Restore Mode: always OFF
[15:30:38][C][switch.gpio:031]:   Pin: GPIO19
[15:30:38][C][switch.gpio:068]: GPIO Switch 'Screen Power'
[15:30:38][C][switch.gpio:091]:   Restore Mode: always ON
[15:30:38][C][switch.gpio:031]:   Pin: GPIO4
[15:30:38][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'nspanel Left Button'
[15:30:38][C][gpio.binary_sensor:016]:   Pin: GPIO14
[15:30:38][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'nspanel Right Button'
[15:30:38][C][gpio.binary_sensor:016]:   Pin: GPIO27
[15:30:38][C][nspanel_lovelace:116]: NSPanelLovelace:
[15:30:38][C][adc:097]: ADC Sensor 'ntc_source'
[15:30:38][C][adc:097]:   Device Class: 'voltage'
[15:30:38][C][adc:097]:   State Class: 'measurement'
[15:30:38][C][adc:097]:   Unit of Measurement: 'V'
[15:30:38][C][adc:097]:   Accuracy Decimals: 2
[15:30:38][C][adc:107]:   Pin: GPIO38
[15:30:38][C][adc:122]:  Attenuation: 11db
[15:30:38][C][adc:142]:   Update Interval: 10.0s
[15:30:38][C][rtttl:029]: Rtttl
[15:30:38][C][web_server:168]: Web Server:
[15:30:38][C][web_server:169]:   Address: nspanel.local:80
[15:30:38][C][mdns:115]: mDNS:
[15:30:38][C][mdns:116]:   Hostname: nspanel
[15:30:38][C][ota:097]: Over-The-Air Updates:
[15:30:38][C][ota:098]:   Address: nspanel.local:3232
[15:30:38][C][api:139]: API Server:
[15:30:38][C][api:140]:   Address: nspanel.local:6053
[15:30:38][C][api:142]:   Using noise encryption: YES
[15:30:38][C][mqtt:133]: MQTT:
[15:30:38][C][mqtt:135]:   Server Address: 192.168.0.204:1883 (192.168.0.204)
[15:30:38][C][mqtt:136]:   Username: [redacted]
[15:30:38][C][mqtt:137]:   Client ID: [redacted]
[15:30:38][C][mqtt:139]:   Discovery prefix: 'homeassistant'
[15:30:38][C][mqtt:140]:   Discovery retain: YES
[15:30:38][C][mqtt:142]:   Topic Prefix: 'nspanel'
[15:30:38][C][mqtt:144]:   Log Topic: 'nspanel/debug'
[15:30:38][C][mqtt:147]:   Availability: 'nspanel/status'
[15:30:38][C][mqtt.sensor:028]: MQTT Sensor 'nspanel Temperature':
[15:30:38][C][mqtt.sensor:032]:   State Topic: 'nspanel/sensor/nspanel_temperature/state'
[15:30:38][C][mqtt.switch:041]: MQTT Switch 'nspanel Relay 1': 
[15:30:38][C][mqtt.switch:042]:   State Topic: 'nspanel/switch/nspanel_relay_1/state'
[15:30:38][C][mqtt.switch:042]:   Command Topic: 'nspanel/switch/nspanel_relay_1/command'
[15:30:38][C][mqtt.switch:041]: MQTT Switch 'nspanel Relay 2': 
[15:30:38][C][mqtt.switch:042]:   State Topic: 'nspanel/switch/nspanel_relay_2/state'
[15:30:38][C][mqtt.switch:042]:   Command Topic: 'nspanel/switch/nspanel_relay_2/command'
[15:30:38][C][mqtt.switch:041]: MQTT Switch 'Screen Power': 
[15:30:38][C][mqtt.switch:042]:   State Topic: 'nspanel/switch/screen_power/state'
[15:30:38][C][mqtt.switch:042]:   Command Topic: 'nspanel/switch/screen_power/command'
[15:30:38][C][mqtt.binary_sensor:022]: MQTT Binary Sensor 'nspanel Left Button':
[15:30:38][C][mqtt.binary_sensor:023]:   State Topic: 'nspanel/binary_sensor/nspanel_left_button/state'
[15:30:38][C][mqtt.binary_sensor:022]: MQTT Binary Sensor 'nspanel Right Button':
[15:30:38][C][mqtt.binary_sensor:023]:   State Topic: 'nspanel/binary_sensor/nspanel_right_button/state'
[15:30:40][D][api:102]: Accepted 192.168.0.204
[15:30:40][W][component:214]: Component api took a long time for an operation (0.06 s).
[15:30:40][W][component:215]: Components should block for at most 20-30ms.
[15:30:40][D][api.connection:1121]: Home Assistant 2024.1.6 (192.168.0.204): Connected successfully

here is log output when i attempt to do manually from the esp web interface logger

15:34:05	[W]	[api.connection:104]	
ESPHome Logs 2023.12.9 (192.168.0.204): Connection closed
15:35:24	[D]	[nspanel_lovelace:119]	
Sending: DRAKJHSUYDGBNCJHGJKSHBDN
15:35:24	[D]	[nspanel_lovelace:119]	
Sending: recmod=0
15:35:24	[D]	[nspanel_lovelace:119]	
Sending: recmod=0
15:35:24	[D]	[nspanel_lovelace:119]	
Sending: recmod=0
15:35:24	[D]	[nspanel_lovelace:119]	
Sending: connect
15:35:24	[D]	[nspanel_lovelace_upload:150]	
Connected
15:35:24	[D]	[nspanel_lovelace_upload:156]	
Requesting URL: http://192.168.0.204:8123/www/nspanel_blank.tft
15:35:24	[W]	[nspanel_lovelace_upload:166]	
HTTP Request failed; URL: http://192.168.0.204:8123/www/nspanel_blank.tft; Error: , retrying (1/5)
15:35:25	[W]	[nspanel_lovelace_upload:166]	
HTTP Request failed; URL: http://192.168.0.204:8123/www/nspanel_blank.tft; Error: , retrying (2/5)
15:35:25	[W]	[nspanel_lovelace_upload:166]	
HTTP Request failed; URL: http://192.168.0.204:8123/www/nspanel_blank.tft; Error: , retrying (3/5)
15:35:25	[W]	[nspanel_lovelace_upload:166]	
HTTP Request failed; URL: http://192.168.0.204:8123/www/nspanel_blank.tft; Error: , retrying (4/5)
15:35:25	[W]	[nspanel_lovelace_upload:166]	
HTTP Request failed; URL: http://192.168.0.204:8123/www/nspanel_blank.tft; Error: , retrying (5/5)
15:35:26	[D]	[nspanel_lovelace_upload:276]	
Restarting Nextion
15:35:26	[D]	[nspanel_lovelace:119]	
Sending: rest
15:35:27	[D]	[nspanel_lovelace_upload:279]	
Restarting esphome

I have tried using various addresses and using the web based addresses, and with my limited experience im lost.

forgot the rest of the output from log

5:35:27	[D]	[nspanel_lovelace_upload:279]	
Restarting esphome
15:38:52	[D]	[nspanel_lovelace:119]	
Sending: DRAKJHSUYDGBNCJHGJKSHBDN
15:38:52	[D]	[nspanel_lovelace:119]	
Sending: recmod=0
15:38:52	[D]	[nspanel_lovelace:119]	
Sending: recmod=0
15:38:52	[D]	[nspanel_lovelace:119]	
Sending: recmod=0
15:38:52	[D]	[nspanel_lovelace:119]	
Sending: connect
15:38:52	[D]	[nspanel_lovelace_upload:150]	
Connected
15:38:52	[D]	[nspanel_lovelace_upload:156]	
Requesting URL: http://192.168.0.204:8123/local/nspanel_blank.tft
15:38:52	[D]	[nspanel_lovelace_upload:188]	
Updating Nextion
15:38:52	[D]	[nspanel_lovelace:119]	
Sending: whmi-wris 274896,921600,1
15:38:52	[C]	[uart.arduino_esp32:077]	
Setting up UART...
15:38:52	[D]	[nspanel_lovelace_upload:213]	
Waiting for upgrade response
15:38:52	[D]	[nspanel_lovelace_upload:213]	
Waiting for upgrade response
15:38:54	[D]	[nspanel_lovelace_upload:218]	
Upgrade response is []
15:38:54	[D]	[nspanel_lovelace_upload:223]	
preparation for tft update failed 0 ""
15:38:54	[D]	[nspanel_lovelace_upload:276]	
Restarting Nextion
15:38:54	[D]	[nspanel_lovelace_upload:276]	
Restarting Nextion
15:38:54	[D]	[nspanel_lovelace:119]	
Sending: rest
15:38:56	[D]	[nspanel_lovelace_upload:279]	
Restarting esphome

after a few more hours of trouble shooting and checking various causes
the screen not receiving the initial tft was because of baud rate needing changed to 115200 via upload_tft_baud substituion that got that to compete with 4.2.4 tft.

07:45:45	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x29
07:45:45	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x73
07:45:45	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x29
07:45:45	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x61
07:45:45	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x9c
07:45:45	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x94
07:45:45	[W]	[nspanel_lovelace:054]	
Unparsed data: 0xff
07:45:45	[W]	[component:214]	
Component nspanel_lovelace took a long time for an operation (0.11 s).
07:45:45	[W]	[component:215]	
Components should block for at most 20-30ms.
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0xff
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x84
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x7f
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x7f
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x1d
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x29
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x6f
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x75
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x29
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x73
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x29
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x61
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x9c
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0x94
07:45:47	[W]	[nspanel_lovelace:054]	
Unparsed data: 0xff
07:45:47	[W]	[component:214]	
Component nspanel_lovelace took a long time for an operation (0.11 s).
07:45:47	[W]	[component:215]	
Components should block for at most 20-30ms.
07:45:49	[D]	[switch:016]	
'Screen Power' Turning OFF.
07:45:49	[D]	[switch:055]	
'Screen Power': Sending state OFF

so at this point its communicating with wifi, flashed with esp firmware, arduino, has the gpio relays and mqtt events visible in HA but still will not download updated screens, is just initializing until its retries 30x then reboots.

update:
started over reflashed from an ubuntu machine with everything new and boom all is good…
switched to esp-idf framework, larger cpu and more ram on machine made difference in compiling time and in the end everything up and running

Time	level	Tag	Message
17:52:17	[D]	[sensor:094]	
'ntc_source': Sending state 1.68200 V with 2 decimals of accuracy
17:52:17	[D]	[resistance:039]	
'resistance_sensor' - Resistance 11643.0Ω
17:52:17	[D]	[sensor:094]	
'resistance_sensor': Sending state 11643.01660 Ω with 1 decimals of accuracy
17:52:17	[D]	[ntc:026]	
'nspanel Temperature' - Temperature: 21.6°C
17:52:17	[D]	[sensor:094]	
'nspanel Temperature': Sending state 21.61542 °C with 1 decimals of accuracy
17:52:19	[D]	[sensor:094]	
'nspanel RSSI': Sending state -55.00000 dBm with 0 decimals of accuracy
17:52:20	[D]	[sensor:094]	
'nspanel Display Current brightness': Sending state 10.00000 % with 0 decimals of accuracy
17:52:20	[D]	[sensor.current_brightness:1366]	
Current brightness: 10%
17:52:21	[D]	[switch:012]	
'nspanel Relay 1' Turning ON.
17:52:21	[D]	[switch:055]	
'nspanel Relay 1': Sending state ON
17:52:27	[D]	[switch:016]	
'nspanel Relay 1' Turning OFF.
17:52:27	[D]	[switch:055]	
'nspanel Relay 1': Sending state OFF
17:52:30	[I]	[script.watchdog:3115]	
Wi-Fi:         Good (-55 dBm)
17:52:30	[I]	[script.watchdog:3135]	
API:           Connected
17:52:30	[I]	[script.watchdog:3153]	
Blueprint:     4.2.4
17:52:30	[I]	[script.watchdog:3166]	
ESPHome:
17:52:30	[I]	[script.watchdog:3167]	
  Version:     4.2.4
17:52:30	[I]	[script.watchdog:3172]	
  Framework:   esp-idf
17:52:30	[I]	[script.watchdog:3176]	
UART:
17:52:30	[I]	[script.watchdog:3177]	
  Baud rate:   115200 bps
17:52:30	[I]	[script.watchdog:3178]	
  Queue size:  8
17:52:30	[I]	[script.watchdog:3182]	
Nextion:
17:52:30	[I]	[script.watchdog:3183]	
  Queue size:  2
17:52:30	[I]	[script.watchdog:3185]	
  Is setup:    True
17:52:30	[I]	[script.watchdog:3192]	
  Init:        True
17:52:30	[I]	[script.watchdog:3200]	
  TFT:         4.2.4
17:52:45	[D]	[script.timer_sleep:2967]	
Going to sleep from page home
17:52:45	[D]	[script.set_brightness:2504]	
brightness: 0%
17:52:45	[D]	[nextion:464]	
Got new page: 9
17:52:45	[D]	[display.disp1.on_page:716]	
Nextion page changed
17:52:45	[D]	[display.disp1.on_page:717]	
New page: screensaver (9)
17:52:45	[D]	[text_sensor:064]	
'nspanel Current page': Sending state 'screensaver'
17:52:45	[D]	[text_sensor:064]	
'nspanel Detailed Entity': Sending state ''
17:52:45	[D]	[script.page_changed:2110]	
New page: screensaver
17:52:45	[D]	[sensor:094]	
'nspanel Display Current brightness': Sending state 0.00000 % with 0 decimals of accuracy
17:52:45	[D]	[sensor.current_brightness:1366]	
Current brightness: 0%
17:52:45	[D]	[sensor:094]	
'nspanel Page Id': Sending state 9.00000  with 0 decimals of accuracy
17:52:45	[D]	[sensor.page_id:1381]	
New page Id: 9
17:52:45	[D]	[sensor:094]	
'nspanel Display Current brightness': Sending state 0.00000 % with 0 decimals of accuracy
17:52:45	[D]	[sensor.current_brightness:1366]	
Current brightness: 0%
17:52:50	[D]	[sensor:094]	
'nspanel Display Current brightness': Sending state 0.00000 % with 0 decimals of accuracy
17:52:50	[D]	[sensor.current_brightness:1366]	
Current brightness: 0%