Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't update the Nextion / Display Firmware using the 'id(nspanel).upload_tft(url);' service #20

Open
vmarquar opened this issue Aug 1, 2024 · 36 comments

Comments

@vmarquar
Copy link

vmarquar commented Aug 1, 2024

I just bought a brand new Sonoff NS Panel and tried to flash the nspanel.tft firmware (version 53) onto it. Unfortunately, I wasn't able to complete the display firmware update. I tried several attemps and all updates freezed at random percentages (6%, 18%, 47%, 2% etc.). I used the firmware v53, downloaded from this url, and hosted it on ha locally in the www-folder.

My workaround was to flash Tasmota onto the esp and using the FlashNextion http://my-ha-ip:8123/local/nspanel.tft command to successfully update the display firmware onto it. After that I was able to flash the esphome firmware onto the display as intended.

However, these little issues apart - thank you very much for this project! :) It looks really promising to me and I hope to get rid of the AppDaemon solution for my NS Panels.

@olicooper
Copy link
Owner

olicooper commented Aug 2, 2024

Hi, thanks for trying out the project! I recently discovered this issue too and I have been trying to figure out what the cause is without success so far!.. I did push an update yesterday which improved it (you can read more about the issue in the commit message), are you using the latest code?

@vmarquar
Copy link
Author

vmarquar commented Aug 2, 2024

Hi,
I was using the latest code from the dev branch - but I only tried it on 31.07. So probably your recent changes weren't included while I was trying to flash the tft firmware.

@vmarquar
Copy link
Author

vmarquar commented Aug 2, 2024

@onyxkyr
Copy link

onyxkyr commented Aug 5, 2024

Hello, I am facing a similar problem, for the me the upload process does not even start.
Setting the log-level of esphome to DEBUG I get the following log trying to upload the nspanel.tft :

[23:35:08][I][app:100]: ESPHome version 2024.7.3 compiled on Aug  5 2024, 23:31:22
[...]
[23:35:11][D][nspanel_lovelace_upload:194]: Nextion TFT upload requested
[23:35:11][D][nspanel_lovelace_upload:195]: URL: http://192.168.X.Y/nspanel.tft
[23:35:11][D][nspanel_lovelace_upload:209]: Exiting Nextion reparse mode
[23:35:11][D][nspanel_lovelace_upload:222]: Initializing HTTP client
[23:35:11][D][nspanel_lovelace_upload:223]: Free heap: 2154355
[23:35:11][D][nspanel_lovelace_upload:245]: Check if the client could connect
[23:35:11][D][nspanel_lovelace_upload:246]: Free heap: 2155479
[23:35:11][D][nspanel_lovelace_upload:255]: Check the HTTP Status Code
[23:35:11][D][nspanel_lovelace_upload:256]: Free heap: 2154971
[23:35:11][D][nspanel_lovelace_upload:264]: TFT file size: 297995 bytes
[23:35:11][D][nspanel_lovelace_upload:273]: File size check passed. Proceeding...
[23:35:11][D][nspanel_lovelace_upload:277]: Uploading Nextion
[23:35:11][D][nspanel_lovelace_upload:280]: Wake-up Nextion
[23:35:11][D][nspanel_lovelace:1130]: Sending: dimmode~100~100
[23:35:12][D][nspanel_lovelace_upload:286]: Free heap: 2158347
[23:35:12][D][nspanel_lovelace_upload:296]: Clear serial receive buffer
[23:35:12][D][nspanel_lovelace_upload:303]: Free heap: 2158347
[23:35:12][D][nspanel_lovelace_upload:305]: Send upload instruction: whmi-wris 297995,115200,1
[23:35:12][D][nspanel_lovelace:1130]: Sending: whmi-wris 297995,115200,1
[23:35:12][C][uart.idf:093]: Setting up UART 1...
[23:35:12][D][esp-idf:000]: I (21761) uart: queue free spaces: 20

[23:35:12][D][nspanel_lovelace_upload:319]: Waiting for upgrade response
[23:35:17][D][nspanel_lovelace_upload:325]: Upgrade response is [] - 0 byte(s)
[23:35:17][D][nspanel_lovelace_upload:326]: Free heap: 2154803
[23:35:17][E][nspanel_lovelace_upload:331]: Preparation for TFT upload failed 0 ""
[23:35:17][D][nspanel_lovelace_upload:332]: Close HTTP connection
[23:35:17][D][nspanel_lovelace_upload:335]: Connection closed
[23:35:17][D][nspanel_lovelace_upload:381]: Nextion TFT upload finished: NO
[23:35:17][D][nspanel_lovelace:1130]: Sending: rest
[23:35:17][E][nspanel_lovelace_upload:397]: Nextion TFT upload failed
[23:35:17][W][component:237]: Component api took a long time for an operation (5601 ms).
[23:35:17][W][component:238]: Components should block for at most 30 ms.

Reading the links above, I also tried to set the uart baud_rate to 9600, which makes no difference for me.
I reseated the flex cable to make sure its no connection issue, the display is turned on and shows a default screen; also it is possible to turn it off and on. I am wondering why the uart response is 0 byte(s) in size?

@olicooper
Copy link
Owner

olicooper commented Aug 6, 2024

It sounds like your issue is different because of the nextion response.. Do you have the original TFT firmware on your panel? Is the panel blank/off when you start the uploading? I will push an update based on a theory I have.

Also, the firmware size 297995 looks too small? Have you tried using these links from the nspanel setup page instead?

It should look something like this:

Send update instruction: whmi-wris 8373568,115200,1
Waiting for upgrade response
Upgrade response is [05] - 1 bytes

@onyxkyr
Copy link

onyxkyr commented Aug 6, 2024

I am quite sure, I bought a used NSPanel to test this, it appeared to be still with the default Sonoff firmware, I just flashed esphome with the basic configuration of this repo. The screen does not change at all. When I power on the device, a sonoff animation plays and then a default screen with time 0:00 and null temperatures etc. is displayed. The display can be toggled via esphome, but during flash it remains exactly like that.
I will check with the other tft file, the latest tft I tried was around 8MB in size.

@olicooper
Copy link
Owner

I have pushed a commit for you to test :) Try deleting the .esphome\.build directory before rebuilding too (sometimes platformio has issues with caching old versions of stuff).

@onyxkyr
Copy link

onyxkyr commented Aug 6, 2024

Is "clean build files" sufficient? Otherwise I need to find out where the build directory is.
If it is sufficient, I just tested it, and it makes no difference as far as I can tell.

[11:11:09][D][nspanel_lovelace:1157]: Sending: time~11:11
[11:11:31][D][nspanel_lovelace_upload:194]: Nextion TFT upload requested
[11:11:31][D][nspanel_lovelace_upload:195]: URL: http://nspanel.pky.eu/lui-release.tft
[11:11:31][D][nspanel_lovelace_upload:209]: Exiting Nextion reparse mode
[11:11:31][D][nspanel_lovelace_upload:222]: Initializing HTTP client
[11:11:31][D][nspanel_lovelace_upload:223]: Free heap: 2157639
[11:11:31][D][nspanel_lovelace_upload:245]: Check if the client could connect
[11:11:31][D][nspanel_lovelace_upload:246]: Free heap: 2155391
[11:11:31][D][nspanel_lovelace_upload:255]: Check the HTTP Status Code
[11:11:31][D][nspanel_lovelace_upload:256]: Free heap: 2156415
[11:11:31][D][nspanel_lovelace_upload:264]: TFT file size: 8373568 bytes
[11:11:31][D][nspanel_lovelace_upload:273]: File size check passed. Proceeding...
[11:11:31][D][nspanel_lovelace_upload:277]: Uploading Nextion
[11:11:31][D][nspanel_lovelace_upload:280]: Wake-up Nextion
[11:11:31][D][nspanel_lovelace:1130]: Sending: dimmode~100~100
[11:11:31][D][nspanel_lovelace_upload:286]: Free heap: 2158247
[11:11:31][D][nspanel_lovelace_upload:296]: Clear serial receive buffer
[11:11:31][D][nspanel_lovelace_upload:303]: Free heap: 2158247
[11:11:31][D][nspanel_lovelace_upload:305]: Send upload instruction: whmi-wris 8373568,115200,1
[11:11:31][D][nspanel_lovelace:1130]: Sending: whmi-wris 8373568,115200,1
[11:11:31][C][uart.idf:093]: Setting up UART 1...
[11:11:31][D][esp-idf:000]: I (28643) uart: queue free spaces: 20

[11:11:31][D][nspanel_lovelace_upload:319]: Waiting for upgrade response
[11:11:36][D][nspanel_lovelace_upload:325]: Upgrade response is [] - 0 byte(s)
[11:11:36][D][nspanel_lovelace_upload:326]: Free heap: 2155019
[11:11:36][E][nspanel_lovelace_upload:331]: Preparation for TFT upload failed 0 ""
[11:11:36][D][nspanel_lovelace_upload:332]: Close HTTP connection
[11:11:36][D][nspanel_lovelace_upload:335]: Connection closed
[11:11:36][D][nspanel_lovelace_upload:381]: Nextion TFT upload finished: NO
[11:11:36][D][nspanel_lovelace:1130]: Sending: rest
[11:11:36][E][nspanel_lovelace_upload:397]: Nextion TFT upload failed
[11:11:36][W][component:237]: Component api took a long time for an operation (5639 ms).
[11:11:36][W][component:238]: Components should block for at most 30 ms.

Here is how the screen looks all the time after the bootup animation
20240806_105913

@olicooper
Copy link
Owner

olicooper commented Aug 6, 2024

I only see Sending: dimmode~100~100 in the logs which means that your firmware doesn't include the latest commit..
Try changing the refresh property to something small on the esphome config?

      url: https://github.com/olicooper/esphome-nspanel-lovelace-native
      ref: dev
    refresh: 60s  <--

I'm not sure the update will change anything given that the screen is already awake though... I wonder if it has some other firmware on it so that update commands are slightly different? I'm not sure what the stock firmware looks like because I immediately deleted it when I got mine! I expected it to look like this: https://www.espthings.io/wp-content/uploads/2021/10/nspanel-1024x825.png?v=1633549657 ... I guess it is pretty similar?

Based on the links in the comment above, maybe the quickest solution for now is to temporarily upload Tasmota and use it to upload the TFT like vmarquar did? You can also try switching to the Arduino variant of the firmware if you want to try that but I assume that won't help in this case...

esp32:
...
  framework:
    type: arduino   <--

...
      url: https://github.com/olicooper/esphome-nspanel-lovelace-native
      ref: arduino-panic-fix   <--

It seems even esphome has issues with the TFT sometimes. It will need more investigation for sure.

@onyxkyr
Copy link

onyxkyr commented Aug 6, 2024

I tried again with the following config

esp32:
  board: esp32dev
  framework:
    type: arduino #esp-idf
    #sdkconfig_options:
      ## These are required to allow access to the PSRAM
      ## NOTE: This is temporary and will be removed in a 
      ##       future release when the build script is improved
    #  CONFIG_D0WD_PSRAM_CLK_IO: '5'
    #  CONFIG_D0WD_PSRAM_CS_IO: '18'

external_components:
  - source:
      type: git
      url: https://github.com/olicooper/esphome-nspanel-lovelace-native
      ref: arduino-panic-fix #dev
    refresh: 1s
    components: [nspanel_lovelace]



## UART for the Nextion display
uart:
  id: uart_nextion
  tx_pin: 16
  rx_pin: 17
  baud_rate: 9600

I tried the update command multiple times, getting the following feedback ( the currently updating part).

[11:54:16][D][nspanel_lovelace_upload:133]: Currently updating
[11:54:46][D][nspanel_lovelace_upload:133]: Currently updating
[11:57:23][D][nspanel_lovelace_upload:133]: Currently updating
[11:58:58][D][time:051]: Synchronized time: 2024-08-06 11:58:58
[11:58:58][D][time:051]: Synchronized time: 2024-08-06 11:58:58
[12:02:05][D][nspanel_lovelace_upload:133]: Currently updating
[12:13:58][D][time:051]: Synchronized time: 2024-08-06 12:13:58
[12:13:58][D][time:051]: Synchronized time: 2024-08-06 12:13:58
[12:28:58][D][time:051]: Synchronized time: 2024-08-06 12:28:58
[12:28:58][D][time:051]: Synchronized time: 2024-08-06 12:28:58
[12:34:11][D][nspanel_lovelace_upload:133]: Currently updating

I probably missed the initial log. I assume it should not take more than 30 minutes? Should I give it some more time, or try after a reboot?

@olicooper
Copy link
Owner

You'll have to restart the esp to issue the update command again because the is_updating_ flag is set to stop the code from starting an update during an existing update. I'd have to see more of the logs to know what is happening but the display will show an update bar if it is working properly so I imagine it probably isn't working still..

Right now I think your quickest option is to use the NSPanel guide to flash Tasmota using a USB TTL like the CH340 and then flash ESPHome again after updating the TFT. The process is roughly as follows:

  • Head over to https://tasmota.github.io/install/ and select Tasmota32 Sonoff-NSPanel (english) from the dropdown list, then follow the instructions to upload the firmware to your NSPanel
  • Connect to the panel serial console and run this command to install the berry driver Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; SetOption151 0;Restart 1
  • Again in the serial console, upload the TFT FlashNextion http://nspanel.pky.eu/lui-release.tft
  • Upload ESPHome using the USB TTL (not via the Tasmota webui as this doesn't work properly).

Once the custom TFT is uploaded, this issue shouldn't happen again based on what I've read online (although there are still other issues with the upload process I still need to fix).

@onyxkyr
Copy link

onyxkyr commented Aug 6, 2024

Flashing via Tasmota does indeed work without any troubles, looking forward to test your project now!

olicooper added a commit that referenced this issue Aug 21, 2024
This is an attempt at fixing the TFT upload failure when overwriting the stock FW.
Added an edge case where the 'baud_rate' can be set to 9600 in the 'uart' section of the esphome config to initiate a legacy protocol upload.
@olicooper
Copy link
Owner

olicooper commented Aug 21, 2024

I have added a commit which will hopefully address the issue you had. I haven't tested it though so I'm not sure it will work. Any testers out there that want to try this?

For anyone else reading this... If you have the stock TFT firmware installed on your device, please set the baud_rate to 9600 in the uart section of your esphome config before trying to use the TFT upload feature. This will trigger an upload using the old/legacy upload protocol.
It is a good idea to leave on DEBUG logging too so we have got more information to work with if there is an issue with the upload.
After the initial upload is complete, you are safe to set the baud_rate back to 115200 as the custom firmware uses this baud by default.

Also worth noting, I recently made some updates to the code which addressed memory usage and should also improve the reliability of the upload process too. If you are having issues with the upload failing part way through the upload, try to reduce the amount of cards and entities you have as these use up memory.

@vmarquar
Copy link
Author

@olicooper Thanks for your effort! I will test the latest changes in the upcoming days and will let you know if it works. Just to make sure I understood you correctly:

  • I would pull the latest dev branch and test it using following uart-config.
  • then I would start the upload_tft service from HA and log the output of the esp / nextion display via the uart port.

My minimal config looks like this:

(...)

external_components:
  - source:
      type: git
      url: https://github.com/olicooper/esphome-nspanel-lovelace-native
      ref: dev
    refresh: 3h
    components: [nspanel_lovelace]

## UART for the Nextion display
uart:
  id: uart_nextion
  tx_pin: 16
  rx_pin: 17
  baud_rate: 115200 #baud-rate 115.200 should be ok, since I'm already on Firmware v53?

logger:
  baud_rate: 115200
  level: DEBUG

api:
  encryption:
    key: !secret password
    
  services:
    ## Service to update the TFT firmware using a URL that is accessible to the nspanel
    - service: upload_tft
      variables:
        url: string # in my case with the local HA webserver: http://192.xxx.xxx.xxx:8123/local/nspanel.tft 
      then:
        - lambda: 'id(nspanel).upload_tft(url);'

(...)

Referrring to the stock firmware issue: Maybe it would be a good idea to update the Readme.md with a little Warning section to inform new users there, e.g.:

Important

If you have the stock TFT firmware installed on your device, please set the baud_rate to 9600 in the uart section of your esphome config before trying to use the TFT upload feature.

@olicooper
Copy link
Owner

Yes that looks okay to me.. The standard update procedure is mostly the same as it was before, so I would hope that updating the lovelace-ui firmware from an older version works as it did before. My main concern is whether it is possible to replace the stock firmware with the lovelace-ui firmware. I only have one NSPanel which is in active use so it is difficult to test these things sometimes 😄

If you look at the variable update_baud_rate_ you'll see that it actually switches to 921600 baud to do the update. This is static right now which might be an issue based on how I've seen Tasmota handle it, but I wanted to provide a low friction way for people to update when the standard way fails (it might not fail for everyone, so sometimes it might not be necessary to change the baud to 9600).

Yes, that is a good idea to add a warning to the readme, but to avoid confusion, I think I will hold off adding that until I have got confirmation that the fix works.

@vmarquar
Copy link
Author

vmarquar commented Aug 26, 2024

I've just tested the upload_tft() feature but unfortunately it didn't work. As soon as i send the upload_service() the nextion display freezes and isn't usable anymore. I collected following logs:

[17:33:45][D][nspanel_lovelace:1299]: TFT CMD OUT: pageType~screensaver
[17:33:45][D][nspanel_lovelace:1299]: TFT CMD OUT: timeout~20
[17:33:45][D][nspanel_lovelace:1299]: TFT CMD OUT: weatherUpdate~~~~31728~~15.6°C~~~~31728~Mo~15.7°C~~~~31728~Di~22.7°C~~~~65504~Mi~27.8°C~~~~65504~Do~28.8°C
[17:33:57][I][nspanel_lovelace_upload:198]: Nextion TFT upload requested
[17:33:57][D][nspanel_lovelace_upload:199]: URL: http://192.168.178.2:8123/local/nspanel.tft
[17:33:57][I][nspanel_lovelace_upload:217]: Using protocol v1.2
[17:33:57][D][nspanel_lovelace_upload:219]: Exiting Nextion reparse mode
[17:33:57][D][nspanel_lovelace_upload:232]: Initializing HTTP client
[17:33:57][D][nspanel_lovelace_upload:233]: Free heap: 2210727
[17:33:57][D][nspanel_lovelace_upload:255]: Check if the client could connect
[17:33:57][D][nspanel_lovelace_upload:256]: Free heap: 2213147
[17:33:57][D][nspanel_lovelace_upload:265]: Check the HTTP Status Code
[17:33:57][D][nspanel_lovelace_upload:266]: Free heap: 2212347
[17:33:57][D][nspanel_lovelace_upload:274]: TFT file size: 8371116 bytes
[17:33:57][D][nspanel_lovelace_upload:283]: File size check passed. Proceeding...
[17:33:57][D][nspanel_lovelace_upload:288]: Wake-up Nextion
[17:33:57][D][nspanel_lovelace:1272]: Sending: dimmode~100~100
[17:33:58][D][nspanel_lovelace_upload:310]: Clear serial receive buffer
[17:33:58][D][nspanel_lovelace_upload:317]: Free heap: 2212635
[17:33:58][D][nspanel_lovelace:1272]: Sending: whmi-wris 8371116,921600,1
[17:33:58][C][uart.idf:153]: UART 1 was reloaded.
[17:33:58][C][uart.idf:159]: UART Bus 1:
[17:33:58][C][uart.idf:160]:   TX Pin: GPIO16
[17:33:58][C][uart.idf:161]:   RX Pin: GPIO17
[17:33:58][C][uart.idf:163]:   RX Buffer Size: 256
[17:33:58][C][uart.idf:165]:   Baud Rate: 921600 baud
[17:33:58][C][uart.idf:166]:   Data Bits: 8
[17:33:58][C][uart.idf:167]:   Parity: NONE
[17:33:58][C][uart.idf:168]:   Stop bits: 1
[17:33:58][D][nspanel_lovelace_upload:333]: Waiting for upgrade response
[17:34:03][D][nspanel_lovelace_upload:339]: Upgrade response is [] - 0 byte(s)
[17:34:03][D][nspanel_lovelace_upload:340]: Free heap: 2212339
[17:34:03][E][nspanel_lovelace_upload:345]: Preparation for TFT upload failed 0 ""
[17:34:03][D][nspanel_lovelace_upload:346]: Close HTTP connection
[17:34:03][D][nspanel_lovelace_upload:349]: Connection closed
[17:34:03][I][nspanel_lovelace_upload:395]: Nextion TFT upload finished: NO
[17:34:03][D][nspanel_lovelace:1272]: Sending: rest
[17:34:03][E][nspanel_lovelace_upload:411]: Nextion TFT upload failed
[17:34:03][W][component:237]: Component api took a long time for an operation (5635 ms).
[17:34:03][W][component:238]: Components should block for at most 30 ms.
[17:34:03][D][nspanel_lovelace:1299]: TFT CMD OUT: time~17:34
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 00000000
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 0080
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 0080
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 0080
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 0080
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 00000080
[17:34:58][W][nspanel_lovelace:347]: Unparsed data: 80
(...)

Reflashing the device with esphome run ns-panel-buero.yaml brings it back to life (maybe a reboot would be also sufficient).

@olicooper
Copy link
Owner

olicooper commented Aug 27, 2024

I will have to look in to that, I am hoping that a recent update to the TFT communication mechanism hasn't messed this up. Thanks for testing 👍
P.S. a reboot should be fine (the TFT might need power cycling too though - which can be done on Home Assistant).

olicooper added a commit that referenced this issue Aug 28, 2024
* Account for updating from stock FW by cycling through common baud rates and trying to connect to the device.
* Fix HTTP range request issue.
* Only reset the TFT instead of restarting the ESP after upload finishes.
@olicooper
Copy link
Owner

I've added another update which fixes some of the issues found during my testing today. It seems to work for my panel even when restarting a failed upload.

Originally I was doing all my testing on a random ESP32 test device (which is way easier to test on) but this only simulates the TFT responses which is why I didn't spot the issues you encountered 🤦

It is not required to set 9600 baud now as I loop through some common baud rates to figure it out instead (so no need for the readme update!). I haven't tested the upload from a stock FW to the custom FW to confirm this works though.

@ditheo
Copy link

ditheo commented Sep 13, 2024

Well I have the same proble. I tried to update the tft without success Here is my Log:

here is my log
INFO Successfully connected to nspanel @ 10.100.0.153 in 7.187s
INFO Successful handshake with nspanel @ 10.100.0.153 in 0.031s
[17:21:04][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:21
[17:21:04][D][nspanel_lovelace:1290]: TFT CMD OUT: date~Friday, 13. September 2024
[17:21:04][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:21
[17:21:04][D][nspanel_lovelace:2121]: HA update: light.living_room supported_color_modes='onoff'
[17:21:04][D][nspanel_lovelace:2121]: HA update: light.living_room color_mode=''
[17:21:04][D][nspanel_lovelace:2121]: HA update: light.living_room state='off'
[17:21:04][D][nspanel_lovelace:2121]: HA update: light.dining_room supported_color_modes='onoff'
[17:21:04][D][nspanel_lovelace:2121]: HA update: light.dining_room color_mode=''
[17:21:04][D][nspanel_lovelace:2121]: HA update: light.dining_room state='off'
[17:21:04][D][nspanel_lovelace:2121]: HA update: light.kitchen_2 supported_color_modes='onoff'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.kitchen_2 color_mode=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.kitchen_2 state='off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.sink supported_color_modes='onoff'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.sink color_mode=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.sink state='off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.souzanna_bedroom supported_color_modes='onoff'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.souzanna_bedroom color_mode=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.souzanna_bedroom state='off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.chronis_bedroom supported_color_modes='onoff'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.chronis_bedroom color_mode=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.chronis_bedroom state='off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bedroom_light supported_color_modes='onoff'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bedroom_light color_mode=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bedroom_light state='off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bathroom supported_color_modes='onoff'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bathroom color_mode=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bathroom state='off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bathroom_small_right supported_color_modes='onoff'
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bathroom_small_right color_mode=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: light.bathroom_small_right state='off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.boiler_outdoortemp device_class='temperature'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.boiler_outdoortemp unit_of_measurement='°C'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.boiler_outdoortemp state='28.2'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.temperature device_class='temperature'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.temperature unit_of_measurement='°C'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.temperature state='31.5'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.kitchen_temperature device_class='temperature'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.kitchen_temperature unit_of_measurement='°C'
[17:21:05][D][nspanel_lovelace:2121]: HA update: sensor.kitchen_temperature state='27.43'
[17:21:05][D][nspanel_lovelace:2121]: HA update: alarm_control_panel.alarmo code_arm_required='on'
[17:21:05][D][nspanel_lovelace:2121]: HA update: alarm_control_panel.alarmo open_sensors=''
[17:21:05][D][nspanel_lovelace:2121]: HA update: alarm_control_panel.alarmo state='disarmed'
[17:21:05][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 temperature='20.0'
[17:21:05][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 current_temperature='27.3'
[17:21:05][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 target_temp_step='0.5'
[17:21:05][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 min_temp='5.0'
[17:21:05][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 max_temp='30.0'
[17:21:05][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 hvac_modes='auto,heat,off'
[17:21:05][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 state='auto'
[17:21:49][D][sensor:094]: 'ntc_source': Sending state 1.33600 V with 2 decimals of accuracy
[17:21:49][D][resistance:039]: 'resistance_sensor' - Resistance 7618.7Ω
[17:21:49][D][sensor:094]: 'resistance_sensor': Sending state 7618.73730 Ω with 1 decimals of accuracy
[17:21:49][D][ntc:026]: 'Temperature' - Temperature: 31.2°C
[17:21:49][D][sensor:094]: 'Temperature': Sending state 31.24897 °C with 1 decimals of accuracy
[17:21:49][D][nspanel_lovelace:2121]: HA update: sensor.temperature state='31.2'
[17:21:53][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[17:21:53][D][esp32.preferences:114]: Saving 1 preferences to flash...
[17:21:53][D][esp32.preferences:143]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[17:22:00][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:22
[17:22:49][D][sensor:094]: 'ntc_source': Sending state 1.34100 V with 2 decimals of accuracy
[17:22:49][D][resistance:039]: 'resistance_sensor' - Resistance 7666.8Ω
[17:22:49][D][sensor:094]: 'resistance_sensor': Sending state 7666.76807 Ω with 1 decimals of accuracy
[17:22:49][D][ntc:026]: 'Temperature' - Temperature: 31.1°C
[17:22:49][D][sensor:094]: 'Temperature': Sending state 31.10162 °C with 1 decimals of accuracy
[17:22:49][D][nspanel_lovelace:2121]: HA update: sensor.temperature state='31.1'
[17:23:00][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:23
[17:23:49][D][sensor:094]: 'ntc_source': Sending state 1.33500 V with 2 decimals of accuracy
[17:23:49][D][resistance:039]: 'resistance_sensor' - Resistance 7609.2Ω
[17:23:49][D][sensor:094]: 'resistance_sensor': Sending state 7609.16064 Ω with 1 decimals of accuracy
[17:23:49][D][ntc:026]: 'Temperature' - Temperature: 31.3°C
[17:23:49][D][sensor:094]: 'Temperature': Sending state 31.27848 °C with 1 decimals of accuracy
[17:23:49][D][nspanel_lovelace:2121]: HA update: sensor.temperature state='31.3'
[17:23:54][D][nspanel_lovelace:2121]: HA update: sensor.boiler_outdoortemp state='28.3'
[17:24:00][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:24
[17:24:44][I][nspanel_lovelace_upload:205]: Nextion TFT upload requested
[17:24:44][D][nspanel_lovelace_upload:206]: URL: https://home.ditheo.eu:8123/local/nspanel.tft
[17:24:44][C][uart.idf:153]: UART 1 was reloaded.
[17:24:44][C][uart.idf:159]: UART Bus 1:
[17:24:44][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:44][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:44][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:44][C][uart.idf:165]:   Baud Rate: 115200 baud
[17:24:44][C][uart.idf:166]:   Data Bits: 8
[17:24:44][C][uart.idf:167]:   Parity: NONE
[17:24:44][C][uart.idf:168]:   Stop bits: 1
[17:24:44][D][nspanel_lovelace:1263]: Sending: DRAKJHSUYDGBNCJHGJKSHBDN
[17:24:44][D][nspanel_lovelace:1263]: Sending: connect
[17:24:44][D][nspanel_lovelace:1263]: Sending: ÿÿconnect
[17:24:44][D][nspanel_lovelace_upload:255]: TFT response: '1A'
[17:24:44][C][uart.idf:153]: UART 1 was reloaded.
[17:24:44][C][uart.idf:159]: UART Bus 1:
[17:24:44][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:44][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:44][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:44][C][uart.idf:165]:   Baud Rate: 19200 baud
[17:24:44][C][uart.idf:166]:   Data Bits: 8
[17:24:44][C][uart.idf:167]:   Parity: NONE
[17:24:44][C][uart.idf:168]:   Stop bits: 1
[17:24:44][D][nspanel_lovelace:1263]: Sending: DRAKJHSUYDGBNCJHGJKSHBDN
[17:24:44][D][nspanel_lovelace:1263]: Sending: connect
[17:24:44][D][nspanel_lovelace:1263]: Sending: ÿÿconnect
[17:24:44][D][nspanel_lovelace_upload:255]: TFT response: ''
[17:24:45][C][uart.idf:153]: UART 1 was reloaded.
[17:24:45][C][uart.idf:159]: UART Bus 1:
[17:24:45][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:45][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:45][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:45][C][uart.idf:165]:   Baud Rate: 9600 baud
[17:24:45][C][uart.idf:166]:   Data Bits: 8
[17:24:45][C][uart.idf:167]:   Parity: NONE
[17:24:45][C][uart.idf:168]:   Stop bits: 1
[17:24:45][D][nspanel_lovelace:1263]: Sending: DRAKJHSUYDGBNCJHGJKSHBDN
[17:24:45][D][nspanel_lovelace:1263]: Sending: connect
[17:24:45][D][nspanel_lovelace:1263]: Sending: ÿÿconnect
[17:24:45][D][nspanel_lovelace_upload:255]: TFT response: ''
[17:24:45][C][uart.idf:153]: UART 1 was reloaded.
[17:24:45][C][uart.idf:159]: UART Bus 1:
[17:24:45][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:45][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:45][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:45][C][uart.idf:165]:   Baud Rate: 57600 baud
[17:24:45][C][uart.idf:166]:   Data Bits: 8
[17:24:45][C][uart.idf:167]:   Parity: NONE
[17:24:45][C][uart.idf:168]:   Stop bits: 1
[17:24:45][D][nspanel_lovelace:1263]: Sending: DRAKJHSUYDGBNCJHGJKSHBDN
[17:24:45][D][nspanel_lovelace:1263]: Sending: connect
[17:24:45][D][nspanel_lovelace:1263]: Sending: ÿÿconnect
[17:24:45][D][nspanel_lovelace_upload:255]: TFT response: ''
[17:24:45][C][uart.idf:153]: UART 1 was reloaded.
[17:24:45][C][uart.idf:159]: UART Bus 1:
[17:24:45][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:45][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:45][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:45][C][uart.idf:165]:   Baud Rate: 38400 baud
[17:24:45][C][uart.idf:166]:   Data Bits: 8
[17:24:45][C][uart.idf:167]:   Parity: NONE
[17:24:45][C][uart.idf:168]:   Stop bits: 1
[17:24:45][D][nspanel_lovelace:1263]: Sending: DRAKJHSUYDGBNCJHGJKSHBDN
[17:24:45][D][nspanel_lovelace:1263]: Sending: connect
[17:24:45][D][nspanel_lovelace:1263]: Sending: ÿÿconnect
[17:24:45][D][nspanel_lovelace_upload:255]: TFT response: ''
[17:24:45][C][uart.idf:153]: UART 1 was reloaded.
[17:24:45][C][uart.idf:159]: UART Bus 1:
[17:24:45][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:45][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:45][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:45][C][uart.idf:165]:   Baud Rate: 4800 baud
[17:24:45][C][uart.idf:166]:   Data Bits: 8
[17:24:45][C][uart.idf:167]:   Parity: NONE
[17:24:45][C][uart.idf:168]:   Stop bits: 1
[17:24:45][D][nspanel_lovelace:1263]: Sending: DRAKJHSUYDGBNCJHGJKSHBDN
[17:24:45][D][nspanel_lovelace:1263]: Sending: connect
[17:24:45][D][nspanel_lovelace:1263]: Sending: ÿÿconnect
[17:24:45][D][nspanel_lovelace_upload:255]: TFT response: ''
[17:24:46][C][uart.idf:153]: UART 1 was reloaded.
[17:24:46][C][uart.idf:159]: UART Bus 1:
[17:24:46][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:46][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:46][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:46][C][uart.idf:165]:   Baud Rate: 2400 baud
[17:24:46][C][uart.idf:166]:   Data Bits: 8
[17:24:46][C][uart.idf:167]:   Parity: NONE
[17:24:46][C][uart.idf:168]:   Stop bits: 1
[17:24:46][D][nspanel_lovelace:1263]: Sending: DRAKJHSUYDGBNCJHGJKSHBDN
[17:24:46][D][nspanel_lovelace:1263]: Sending: connect
[17:24:46][D][nspanel_lovelace:1263]: Sending: ÿÿconnect
[17:24:46][D][nspanel_lovelace_upload:255]: TFT response: ''
[17:24:46][W][nspanel_lovelace_upload:266]: Failed to establish TFT connection, reverting to 115200 baud and attempting update anyway
[17:24:46][C][uart.idf:153]: UART 1 was reloaded.
[17:24:46][C][uart.idf:159]: UART Bus 1:
[17:24:46][C][uart.idf:160]:   TX Pin: GPIO16
[17:24:46][C][uart.idf:161]:   RX Pin: GPIO17
[17:24:46][C][uart.idf:163]:   RX Buffer Size: 256
[17:24:46][C][uart.idf:165]:   Baud Rate: 115200 baud
[17:24:46][C][uart.idf:166]:   Data Bits: 8
[17:24:46][C][uart.idf:167]:   Parity: NONE
[17:24:46][C][uart.idf:168]:   Stop bits: 1
[17:24:46][D][nspanel_lovelace_upload:274]: Initializing HTTP client
[17:24:46][D][nspanel_lovelace_upload:275]: Free heap: 2206027
[17:24:46][D][nspanel_lovelace_upload:297]: Check if the client could connect
[17:24:46][D][nspanel_lovelace_upload:298]: Free heap: 2199243
[17:24:48][D][nspanel_lovelace_upload:307]: Check the HTTP Status Code
[17:24:48][D][nspanel_lovelace_upload:308]: Free heap: 2176799
[17:24:48][D][nspanel_lovelace_upload:316]: TFT file size: 8373568 bytes
[17:24:48][D][nspanel_lovelace_upload:325]: File size check passed. Proceeding...
[17:24:48][D][nspanel_lovelace_upload:330]: Wake-up Nextion
[17:24:48][D][nspanel_lovelace:1263]: Sending: dims=100
[17:24:48][D][nspanel_lovelace:1263]: Sending: sleep=0
[17:24:48][D][nspanel_lovelace_upload:352]: Clear serial receive buffer
[17:24:49][D][nspanel_lovelace_upload:359]: Free heap: 2178623
[17:24:49][D][nspanel_lovelace:1263]: Sending: whmi-wris 8373568,115200,1
[17:24:49][D][nspanel_lovelace_upload:368]: Waiting for upgrade response
[17:24:49][D][nspanel_lovelace_upload:375]: Upgrade response is [05] - 1 byte(s)
[17:24:49][D][nspanel_lovelace_upload:376]: Free heap: 2176787
[17:24:49][D][nspanel_lovelace_upload:379]: Preparation for TFT upload done
[17:24:49][D][nspanel_lovelace_upload:389]: Change the method to GET before starting the download
[17:24:49][I][nspanel_lovelace_upload:396]: Uploading TFT to Nextion:
[17:24:49][I][nspanel_lovelace_upload:397]:   URL: https://home.ditheo.eu:8123/local/nspanel.tft
[17:24:49][I][nspanel_lovelace_upload:398]:   File size: 8373568 bytes
[17:24:49][I][nspanel_lovelace_upload:399]:   Free heap: 2176799
[17:24:49][D][nspanel_lovelace_upload:403]: Starting transfer by chunks loop
[17:24:49][D][nspanel_lovelace_upload:062]: Free heap: 2176791
[17:24:49][D][nspanel_lovelace_upload:064]: Range start: 0
[17:24:49][D][nspanel_lovelace_upload:072]: Opening HTTP connetion
[17:24:49][D][nspanel_lovelace_upload:079]: Fetch content length
[17:24:49][D][nspanel_lovelace_upload:081]: content_length = 8373568
[17:24:55][D][nspanel_lovelace_upload:144]: Uploaded 0.05%, remaining 8369472 bytes, free heap: 98896 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:55][D][nspanel_lovelace_upload:155]: recv_string [08.00.00.6D.00 (5)]
[17:24:55][I][nspanel_lovelace_upload:161]: Nextion reported new range 7143424
[17:24:55][D][nspanel_lovelace_upload:170]: Requesting range: bytes=7143424-8373568
[17:24:55][D][nspanel_lovelace_upload:418]: Free heap: 2198727, Bytes left: 1230144
[17:24:55][D][nspanel_lovelace_upload:062]: Free heap: 2196899
[17:24:55][D][nspanel_lovelace_upload:064]: Range start: 7143424
[17:24:55][D][nspanel_lovelace_upload:072]: Opening HTTP connetion
[17:24:57][D][nspanel_lovelace_upload:079]: Fetch content length
[17:24:57][D][nspanel_lovelace_upload:081]: content_length = 1230144
[17:24:57][D][nspanel_lovelace_upload:144]: Uploaded 85.36%, remaining 1226048 bytes, free heap: 97012 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:57][D][nspanel_lovelace_upload:144]: Uploaded 85.41%, remaining 1221952 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:58][D][nspanel_lovelace_upload:144]: Uploaded 85.46%, remaining 1217856 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:58][D][nspanel_lovelace_upload:144]: Uploaded 85.50%, remaining 1213760 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:59][D][nspanel_lovelace_upload:144]: Uploaded 85.55%, remaining 1209664 bytes, free heap: 97744 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:59][D][nspanel_lovelace_upload:144]: Uploaded 85.60%, remaining 1205568 bytes, free heap: 97744 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:59][D][nspanel_lovelace_upload:144]: Uploaded 85.65%, remaining 1201472 bytes, free heap: 97744 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:00][D][nspanel_lovelace_upload:144]: Uploaded 85.70%, remaining 1197376 bytes, free heap: 97744 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:00][D][nspanel_lovelace_upload:144]: Uploaded 85.75%, remaining 1193280 bytes, free heap: 98488 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:00][D][nspanel_lovelace_upload:144]: Uploaded 85.80%, remaining 1189184 bytes, free heap: 98488 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:01][D][nspanel_lovelace_upload:144]: Uploaded 85.85%, remaining 1185088 bytes, free heap: 98488 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:01][D][nspanel_lovelace_upload:144]: Uploaded 85.90%, remaining 1180992 bytes, free heap: 98488 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:02][D][nspanel_lovelace_upload:144]: Uploaded 85.95%, remaining 1176896 bytes, free heap: 98772 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:02][D][nspanel_lovelace_upload:144]: Uploaded 85.99%, remaining 1172800 bytes, free heap: 98772 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:02][D][nspanel_lovelace_upload:144]: Uploaded 86.04%, remaining 1168704 bytes, free heap: 98772 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:03][D][nspanel_lovelace_upload:144]: Uploaded 86.09%, remaining 1164608 bytes, free heap: 98772 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:03][D][nspanel_lovelace_upload:144]: Uploaded 86.14%, remaining 1160512 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:04][D][nspanel_lovelace_upload:144]: Uploaded 86.19%, remaining 1156416 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:04][D][nspanel_lovelace_upload:144]: Uploaded 86.24%, remaining 1152320 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:04][D][nspanel_lovelace_upload:144]: Uploaded 86.29%, remaining 1148224 bytes, free heap: 95316 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:05][D][nspanel_lovelace_upload:144]: Uploaded 86.34%, remaining 1144128 bytes, free heap: 96936 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:05][D][nspanel_lovelace_upload:144]: Uploaded 86.39%, remaining 1140032 bytes, free heap: 96936 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:06][D][nspanel_lovelace_upload:144]: Uploaded 86.43%, remaining 1135936 bytes, free heap: 96936 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:06][D][nspanel_lovelace_upload:144]: Uploaded 86.48%, remaining 1131840 bytes, free heap: 96936 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:06][D][nspanel_lovelace_upload:144]: Uploaded 86.53%, remaining 1127744 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:07][D][nspanel_lovelace_upload:144]: Uploaded 86.58%, remaining 1123648 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:07][D][nspanel_lovelace_upload:144]: Uploaded 86.63%, remaining 1119552 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:07][D][nspanel_lovelace_upload:144]: Uploaded 86.68%, remaining 1115456 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:08][D][nspanel_lovelace_upload:144]: Uploaded 86.73%, remaining 1111360 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:08][D][nspanel_lovelace_upload:144]: Uploaded 86.78%, remaining 1107264 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:09][D][nspanel_lovelace_upload:144]: Uploaded 86.83%, remaining 1103168 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:09][D][nspanel_lovelace_upload:144]: Uploaded 86.87%, remaining 1099072 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:09][D][nspanel_lovelace_upload:144]: Uploaded 86.92%, remaining 1094976 bytes, free heap: 96540 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:10][D][nspanel_lovelace_upload:144]: Uploaded 86.97%, remaining 1090880 bytes, free heap: 96540 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:10][D][nspanel_lovelace_upload:144]: Uploaded 87.02%, remaining 1086784 bytes, free heap: 96540 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:11][D][nspanel_lovelace_upload:144]: Uploaded 87.07%, remaining 1082688 bytes, free heap: 96540 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:11][D][nspanel_lovelace_upload:144]: Uploaded 87.12%, remaining 1078592 bytes, free heap: 96540 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:11][D][nspanel_lovelace_upload:144]: Uploaded 87.17%, remaining 1074496 bytes, free heap: 94812 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:12][D][nspanel_lovelace_upload:144]: Uploaded 87.22%, remaining 1070400 bytes, free heap: 94812 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:12][D][nspanel_lovelace_upload:144]: Uploaded 87.27%, remaining 1066304 bytes, free heap: 94812 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:13][D][nspanel_lovelace_upload:144]: Uploaded 87.31%, remaining 1062208 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:13][D][nspanel_lovelace_upload:144]: Uploaded 87.36%, remaining 1058112 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:13][D][nspanel_lovelace_upload:144]: Uploaded 87.41%, remaining 1054016 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:14][D][nspanel_lovelace_upload:144]: Uploaded 87.46%, remaining 1049920 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:14][D][nspanel_lovelace_upload:144]: Uploaded 87.51%, remaining 1045824 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:14][D][nspanel_lovelace_upload:144]: Uploaded 87.56%, remaining 1041728 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:15][D][nspanel_lovelace_upload:144]: Uploaded 87.61%, remaining 1037632 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:15][D][nspanel_lovelace_upload:144]: Uploaded 87.66%, remaining 1033536 bytes, free heap: 97008 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:16][D][nspanel_lovelace_upload:144]: Uploaded 87.71%, remaining 1029440 bytes, free heap: 95280 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:16][D][nspanel_lovelace_upload:144]: Uploaded 87.75%, remaining 1025344 bytes, free heap: 95280 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:16][D][nspanel_lovelace_upload:144]: Uploaded 87.80%, remaining 1021248 bytes, free heap: 95280 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:17][D][nspanel_lovelace_upload:144]: Uploaded 87.85%, remaining 1017152 bytes, free heap: 95280 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:17][D][nspanel_lovelace_upload:144]: Uploaded 87.90%, remaining 1013056 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:18][D][nspanel_lovelace_upload:144]: Uploaded 87.95%, remaining 1008960 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:18][D][nspanel_lovelace_upload:144]: Uploaded 88.00%, remaining 1004864 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:18][D][nspanel_lovelace_upload:144]: Uploaded 88.05%, remaining 1000768 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:19][D][nspanel_lovelace_upload:144]: Uploaded 88.10%, remaining 996672 bytes, free heap: 97024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:19][D][nspanel_lovelace_upload:144]: Uploaded 88.15%, remaining 992576 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:20][D][nspanel_lovelace_upload:144]: Uploaded 88.20%, remaining 988480 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:20][D][nspanel_lovelace_upload:144]: Uploaded 88.24%, remaining 984384 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:20][D][nspanel_lovelace_upload:144]: Uploaded 88.29%, remaining 980288 bytes, free heap: 97080 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:21][D][nspanel_lovelace_upload:144]: Uploaded 88.34%, remaining 976192 bytes, free heap: 97080 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:21][D][nspanel_lovelace_upload:144]: Uploaded 88.39%, remaining 972096 bytes, free heap: 97080 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:22][D][nspanel_lovelace_upload:144]: Uploaded 88.44%, remaining 968000 bytes, free heap: 97080 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:22][D][nspanel_lovelace_upload:144]: Uploaded 88.49%, remaining 963904 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:22][D][nspanel_lovelace_upload:144]: Uploaded 88.54%, remaining 959808 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:23][D][nspanel_lovelace_upload:144]: Uploaded 88.59%, remaining 955712 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:23][D][nspanel_lovelace_upload:144]: Uploaded 88.64%, remaining 951616 bytes, free heap: 97044 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:24][D][nspanel_lovelace_upload:144]: Uploaded 88.68%, remaining 947520 bytes, free heap: 95704 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:24][D][nspanel_lovelace_upload:144]: Uploaded 88.73%, remaining 943424 bytes, free heap: 95704 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:24][D][nspanel_lovelace_upload:144]: Uploaded 88.78%, remaining 939328 bytes, free heap: 95448 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:25][D][nspanel_lovelace_upload:144]: Uploaded 88.83%, remaining 935232 bytes, free heap: 95448 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:25][D][nspanel_lovelace_upload:144]: Uploaded 88.88%, remaining 931136 bytes, free heap: 94964 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:25][D][nspanel_lovelace_upload:144]: Uploaded 88.93%, remaining 927040 bytes, free heap: 94964 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:26][D][nspanel_lovelace_upload:144]: Uploaded 88.98%, remaining 922944 bytes, free heap: 94964 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:26][D][nspanel_lovelace_upload:144]: Uploaded 89.03%, remaining 918848 bytes, free heap: 94964 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:27][D][nspanel_lovelace_upload:144]: Uploaded 89.08%, remaining 914752 bytes, free heap: 96536 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:27][D][nspanel_lovelace_upload:144]: Uploaded 89.12%, remaining 910656 bytes, free heap: 96536 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:27][D][nspanel_lovelace_upload:144]: Uploaded 89.17%, remaining 906560 bytes, free heap: 96536 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:28][D][nspanel_lovelace_upload:144]: Uploaded 89.22%, remaining 902464 bytes, free heap: 96536 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:28][D][nspanel_lovelace_upload:144]: Uploaded 89.27%, remaining 898368 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:29][D][nspanel_lovelace_upload:144]: Uploaded 89.32%, remaining 894272 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:29][D][nspanel_lovelace_upload:144]: Uploaded 89.37%, remaining 890176 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:29][D][nspanel_lovelace_upload:144]: Uploaded 89.42%, remaining 886080 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:30][D][nspanel_lovelace_upload:144]: Uploaded 89.47%, remaining 881984 bytes, free heap: 96688 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:30][D][nspanel_lovelace_upload:144]: Uploaded 89.52%, remaining 877888 bytes, free heap: 96688 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:31][D][nspanel_lovelace_upload:144]: Uploaded 89.56%, remaining 873792 bytes, free heap: 96324 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:31][D][nspanel_lovelace_upload:144]: Uploaded 89.61%, remaining 869696 bytes, free heap: 96688 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:31][D][nspanel_lovelace_upload:144]: Uploaded 89.66%, remaining 865600 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:32][D][nspanel_lovelace_upload:144]: Uploaded 89.71%, remaining 861504 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:32][D][nspanel_lovelace_upload:144]: Uploaded 89.76%, remaining 857408 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:33][D][nspanel_lovelace_upload:144]: Uploaded 89.81%, remaining 853312 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:33][D][nspanel_lovelace_upload:144]: Uploaded 89.86%, remaining 849216 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:33][D][nspanel_lovelace_upload:144]: Uploaded 89.91%, remaining 845120 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:34][D][nspanel_lovelace_upload:144]: Uploaded 89.96%, remaining 841024 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:34][D][nspanel_lovelace_upload:144]: Uploaded 90.01%, remaining 836928 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:34][D][nspanel_lovelace_upload:144]: Uploaded 90.05%, remaining 832832 bytes, free heap: 95792 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:35][D][nspanel_lovelace_upload:144]: Uploaded 90.10%, remaining 828736 bytes, free heap: 95600 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:35][D][nspanel_lovelace_upload:144]: Uploaded 90.15%, remaining 824640 bytes, free heap: 95792 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:36][D][nspanel_lovelace_upload:144]: Uploaded 90.20%, remaining 820544 bytes, free heap: 95792 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:36][D][nspanel_lovelace_upload:144]: Uploaded 90.25%, remaining 816448 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:36][D][nspanel_lovelace_upload:144]: Uploaded 90.30%, remaining 812352 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:37][D][nspanel_lovelace_upload:144]: Uploaded 90.35%, remaining 808256 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:37][D][nspanel_lovelace_upload:144]: Uploaded 90.40%, remaining 804160 bytes, free heap: 95024 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:38][D][nspanel_lovelace_upload:144]: Uploaded 90.45%, remaining 800064 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:38][D][nspanel_lovelace_upload:144]: Uploaded 90.49%, remaining 795968 bytes, free heap: 95060 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:38][D][nspanel_lovelace_upload:144]: Uploaded 90.54%, remaining 791872 bytes, free heap: 95060 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:39][D][nspanel_lovelace_upload:144]: Uploaded 90.59%, remaining 787776 bytes, free heap: 95060 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:39][D][nspanel_lovelace_upload:144]: Uploaded 90.64%, remaining 783680 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:40][D][nspanel_lovelace_upload:144]: Uploaded 90.69%, remaining 779584 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:40][D][nspanel_lovelace_upload:144]: Uploaded 90.74%, remaining 775488 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:40][D][nspanel_lovelace_upload:144]: Uploaded 90.79%, remaining 771392 bytes, free heap: 96796 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:41][D][nspanel_lovelace_upload:144]: Uploaded 90.84%, remaining 767296 bytes, free heap: 96344 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:41][D][nspanel_lovelace_upload:144]: Uploaded 90.89%, remaining 763200 bytes, free heap: 96344 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:41][D][nspanel_lovelace_upload:144]: Uploaded 90.93%, remaining 759104 bytes, free heap: 96344 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:42][D][nspanel_lovelace_upload:144]: Uploaded 90.98%, remaining 755008 bytes, free heap: 96344 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:42][D][nspanel_lovelace_upload:144]: Uploaded 91.03%, remaining 750912 bytes, free heap: 96536 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:43][D][nspanel_lovelace_upload:144]: Uploaded 91.08%, remaining 746816 bytes, free heap: 96536 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:43][D][nspanel_lovelace_upload:144]: Uploaded 91.13%, remaining 742720 bytes, free heap: 96516 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:43][D][nspanel_lovelace_upload:144]: Uploaded 91.18%, remaining 738624 bytes, free heap: 96536 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:44][D][nspanel_lovelace_upload:144]: Uploaded 91.23%, remaining 734528 bytes, free heap: 94968 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:44][D][nspanel_lovelace_upload:144]: Uploaded 91.28%, remaining 730432 bytes, free heap: 93432 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:45][D][nspanel_lovelace_upload:144]: Uploaded 91.33%, remaining 726336 bytes, free heap: 93432 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:45][D][nspanel_lovelace_upload:144]: Uploaded 91.37%, remaining 722240 bytes, free heap: 93432 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:45][D][nspanel_lovelace_upload:144]: Uploaded 91.42%, remaining 718144 bytes, free heap: 94844 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:46][D][nspanel_lovelace_upload:144]: Uploaded 91.47%, remaining 714048 bytes, free heap: 94844 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:46][D][nspanel_lovelace_upload:144]: Uploaded 91.52%, remaining 709952 bytes, free heap: 94844 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:46][D][nspanel_lovelace_upload:144]: Uploaded 91.57%, remaining 705856 bytes, free heap: 94844 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:47][D][nspanel_lovelace_upload:144]: Uploaded 91.62%, remaining 701760 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:47][D][nspanel_lovelace_upload:144]: Uploaded 91.67%, remaining 697664 bytes, free heap: 93316 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:48][D][nspanel_lovelace_upload:144]: Uploaded 91.72%, remaining 693568 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:48][D][nspanel_lovelace_upload:144]: Uploaded 91.77%, remaining 689472 bytes, free heap: 93060 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:48][D][nspanel_lovelace_upload:144]: Uploaded 91.82%, remaining 685376 bytes, free heap: 95068 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:49][D][nspanel_lovelace_upload:144]: Uploaded 91.86%, remaining 681280 bytes, free heap: 93208 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:49][D][nspanel_lovelace_upload:144]: Uploaded 91.91%, remaining 677184 bytes, free heap: 93332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:50][D][nspanel_lovelace_upload:144]: Uploaded 91.96%, remaining 673088 bytes, free heap: 93332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:50][D][nspanel_lovelace_upload:144]: Uploaded 92.01%, remaining 668992 bytes, free heap: 94812 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:50][D][nspanel_lovelace_upload:144]: Uploaded 92.06%, remaining 664896 bytes, free heap: 94812 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:51][D][nspanel_lovelace_upload:144]: Uploaded 92.11%, remaining 660800 bytes, free heap: 94812 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:51][D][nspanel_lovelace_upload:144]: Uploaded 92.16%, remaining 656704 bytes, free heap: 94812 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:52][D][nspanel_lovelace_upload:144]: Uploaded 92.21%, remaining 652608 bytes, free heap: 94908 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:52][D][nspanel_lovelace_upload:144]: Uploaded 92.26%, remaining 648512 bytes, free heap: 95032 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:52][D][nspanel_lovelace_upload:144]: Uploaded 92.30%, remaining 644416 bytes, free heap: 95032 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:53][D][nspanel_lovelace_upload:144]: Uploaded 92.35%, remaining 640320 bytes, free heap: 95032 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:53][D][nspanel_lovelace_upload:144]: Uploaded 92.40%, remaining 636224 bytes, free heap: 95032 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:54][D][nspanel_lovelace_upload:144]: Uploaded 92.45%, remaining 632128 bytes, free heap: 95032 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:54][D][nspanel_lovelace_upload:144]: Uploaded 92.50%, remaining 628032 bytes, free heap: 95032 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:54][D][nspanel_lovelace_upload:144]: Uploaded 92.55%, remaining 623936 bytes, free heap: 95032 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:55][D][nspanel_lovelace_upload:144]: Uploaded 92.60%, remaining 619840 bytes, free heap: 93816 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:55][D][nspanel_lovelace_upload:144]: Uploaded 92.65%, remaining 615744 bytes, free heap: 93816 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:55][D][nspanel_lovelace_upload:144]: Uploaded 92.70%, remaining 611648 bytes, free heap: 93816 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:56][D][nspanel_lovelace_upload:144]: Uploaded 92.74%, remaining 607552 bytes, free heap: 93816 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:56][D][nspanel_lovelace_upload:144]: Uploaded 92.79%, remaining 603456 bytes, free heap: 94364 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:57][D][nspanel_lovelace_upload:144]: Uploaded 92.84%, remaining 599360 bytes, free heap: 94364 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:57][D][nspanel_lovelace_upload:144]: Uploaded 92.89%, remaining 595264 bytes, free heap: 94364 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:57][D][nspanel_lovelace_upload:144]: Uploaded 92.94%, remaining 591168 bytes, free heap: 94364 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:58][D][nspanel_lovelace_upload:144]: Uploaded 92.99%, remaining 587072 bytes, free heap: 95104 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:58][D][nspanel_lovelace_upload:144]: Uploaded 93.04%, remaining 582976 bytes, free heap: 95104 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:59][D][nspanel_lovelace_upload:144]: Uploaded 93.09%, remaining 578880 bytes, free heap: 95104 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:59][D][nspanel_lovelace_upload:144]: Uploaded 93.14%, remaining 574784 bytes, free heap: 95104 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:25:59][D][nspanel_lovelace_upload:144]: Uploaded 93.18%, remaining 570688 bytes, free heap: 93504 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:00][D][nspanel_lovelace_upload:144]: Uploaded 93.23%, remaining 566592 bytes, free heap: 93504 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:00][D][nspanel_lovelace_upload:144]: Uploaded 93.28%, remaining 562496 bytes, free heap: 93504 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:01][D][nspanel_lovelace_upload:144]: Uploaded 93.33%, remaining 558400 bytes, free heap: 93504 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:01][D][nspanel_lovelace_upload:144]: Uploaded 93.38%, remaining 554304 bytes, free heap: 92804 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:01][D][nspanel_lovelace_upload:144]: Uploaded 93.43%, remaining 550208 bytes, free heap: 92804 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:02][D][nspanel_lovelace_upload:144]: Uploaded 93.48%, remaining 546112 bytes, free heap: 92804 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:02][D][nspanel_lovelace_upload:144]: Uploaded 93.53%, remaining 542016 bytes, free heap: 92804 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:02][D][nspanel_lovelace_upload:144]: Uploaded 93.58%, remaining 537920 bytes, free heap: 94332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:03][D][nspanel_lovelace_upload:144]: Uploaded 93.62%, remaining 533824 bytes, free heap: 94332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:03][D][nspanel_lovelace_upload:144]: Uploaded 93.67%, remaining 529728 bytes, free heap: 94332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:04][D][nspanel_lovelace_upload:144]: Uploaded 93.72%, remaining 525632 bytes, free heap: 92596 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:04][D][nspanel_lovelace_upload:144]: Uploaded 93.77%, remaining 521536 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:04][D][nspanel_lovelace_upload:144]: Uploaded 93.82%, remaining 517440 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:05][D][nspanel_lovelace_upload:144]: Uploaded 93.87%, remaining 513344 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:05][D][nspanel_lovelace_upload:144]: Uploaded 93.92%, remaining 509248 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:06][D][nspanel_lovelace_upload:144]: Uploaded 93.97%, remaining 505152 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:06][D][nspanel_lovelace_upload:144]: Uploaded 94.02%, remaining 501056 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:06][D][nspanel_lovelace_upload:144]: Uploaded 94.07%, remaining 496960 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:07][D][nspanel_lovelace_upload:144]: Uploaded 94.11%, remaining 492864 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:07][D][nspanel_lovelace_upload:144]: Uploaded 94.16%, remaining 488768 bytes, free heap: 93332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:08][D][nspanel_lovelace_upload:144]: Uploaded 94.21%, remaining 484672 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:08][D][nspanel_lovelace_upload:144]: Uploaded 94.26%, remaining 480576 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:09][D][nspanel_lovelace_upload:144]: Uploaded 94.31%, remaining 476480 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:09][D][nspanel_lovelace_upload:144]: Uploaded 94.36%, remaining 472384 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:09][D][nspanel_lovelace_upload:144]: Uploaded 94.41%, remaining 468288 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:10][D][nspanel_lovelace_upload:144]: Uploaded 94.46%, remaining 464192 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:10][D][nspanel_lovelace_upload:144]: Uploaded 94.51%, remaining 460096 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:11][D][nspanel_lovelace_upload:144]: Uploaded 94.55%, remaining 456000 bytes, free heap: 92116 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:11][D][nspanel_lovelace_upload:144]: Uploaded 94.60%, remaining 451904 bytes, free heap: 92116 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:11][D][nspanel_lovelace_upload:144]: Uploaded 94.65%, remaining 447808 bytes, free heap: 92116 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:12][D][nspanel_lovelace_upload:144]: Uploaded 94.70%, remaining 443712 bytes, free heap: 92116 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:12][D][nspanel_lovelace_upload:144]: Uploaded 94.75%, remaining 439616 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:12][D][nspanel_lovelace_upload:144]: Uploaded 94.80%, remaining 435520 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:13][D][nspanel_lovelace_upload:144]: Uploaded 94.85%, remaining 431424 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:13][D][nspanel_lovelace_upload:144]: Uploaded 94.90%, remaining 427328 bytes, free heap: 93296 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:14][D][nspanel_lovelace_upload:144]: Uploaded 94.95%, remaining 423232 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:14][D][nspanel_lovelace_upload:144]: Uploaded 94.99%, remaining 419136 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:14][D][nspanel_lovelace_upload:144]: Uploaded 95.04%, remaining 415040 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:15][D][nspanel_lovelace_upload:144]: Uploaded 95.09%, remaining 410944 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:15][D][nspanel_lovelace_upload:144]: Uploaded 95.14%, remaining 406848 bytes, free heap: 93332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:16][D][nspanel_lovelace_upload:144]: Uploaded 95.19%, remaining 402752 bytes, free heap: 93332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:16][D][nspanel_lovelace_upload:144]: Uploaded 95.24%, remaining 398656 bytes, free heap: 93332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:16][D][nspanel_lovelace_upload:144]: Uploaded 95.29%, remaining 394560 bytes, free heap: 93332 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:17][D][nspanel_lovelace_upload:144]: Uploaded 95.34%, remaining 390464 bytes, free heap: 92704 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:17][D][nspanel_lovelace_upload:144]: Uploaded 95.39%, remaining 386368 bytes, free heap: 92704 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:18][D][nspanel_lovelace_upload:144]: Uploaded 95.43%, remaining 382272 bytes, free heap: 92704 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:18][D][nspanel_lovelace_upload:144]: Uploaded 95.48%, remaining 378176 bytes, free heap: 92704 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:18][D][nspanel_lovelace_upload:144]: Uploaded 95.53%, remaining 374080 bytes, free heap: 92632 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:19][D][nspanel_lovelace_upload:144]: Uploaded 95.58%, remaining 369984 bytes, free heap: 90892 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:19][D][nspanel_lovelace_upload:144]: Uploaded 95.63%, remaining 365888 bytes, free heap: 90892 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:19][D][nspanel_lovelace_upload:144]: Uploaded 95.68%, remaining 361792 bytes, free heap: 90892 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:20][D][nspanel_lovelace_upload:144]: Uploaded 95.73%, remaining 357696 bytes, free heap: 93224 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:20][D][nspanel_lovelace_upload:144]: Uploaded 95.78%, remaining 353600 bytes, free heap: 93224 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:21][D][nspanel_lovelace_upload:144]: Uploaded 95.83%, remaining 349504 bytes, free heap: 93224 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:21][D][nspanel_lovelace_upload:144]: Uploaded 95.88%, remaining 345408 bytes, free heap: 93224 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:21][D][nspanel_lovelace_upload:144]: Uploaded 95.92%, remaining 341312 bytes, free heap: 93368 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:22][D][nspanel_lovelace_upload:144]: Uploaded 95.97%, remaining 337216 bytes, free heap: 93368 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:22][D][nspanel_lovelace_upload:144]: Uploaded 96.02%, remaining 333120 bytes, free heap: 93368 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:23][D][nspanel_lovelace_upload:144]: Uploaded 96.07%, remaining 329024 bytes, free heap: 93368 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:23][D][nspanel_lovelace_upload:144]: Uploaded 96.12%, remaining 324928 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:24][D][nspanel_lovelace_upload:144]: Uploaded 96.17%, remaining 320832 bytes, free heap: 93260 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:24][D][nspanel_lovelace_upload:144]: Uploaded 96.22%, remaining 316736 bytes, free heap: 91532 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:24][D][nspanel_lovelace_upload:144]: Uploaded 96.27%, remaining 312640 bytes, free heap: 91532 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:25][D][nspanel_lovelace_upload:144]: Uploaded 96.32%, remaining 308544 bytes, free heap: 91072 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:25][D][nspanel_lovelace_upload:144]: Uploaded 96.36%, remaining 304448 bytes, free heap: 91568 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:26][D][nspanel_lovelace_upload:144]: Uploaded 96.41%, remaining 300352 bytes, free heap: 91568 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:26][D][nspanel_lovelace_upload:144]: Uploaded 96.46%, remaining 296256 bytes, free heap: 91568 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:26][D][nspanel_lovelace_upload:144]: Uploaded 96.51%, remaining 292160 bytes, free heap: 89876 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:27][D][nspanel_lovelace_upload:144]: Uploaded 96.56%, remaining 288064 bytes, free heap: 89876 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:27][D][nspanel_lovelace_upload:144]: Uploaded 96.61%, remaining 283968 bytes, free heap: 89876 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:28][D][nspanel_lovelace_upload:144]: Uploaded 96.66%, remaining 279872 bytes, free heap: 89876 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:28][D][nspanel_lovelace_upload:144]: Uploaded 96.71%, remaining 275776 bytes, free heap: 90884 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:28][D][nspanel_lovelace_upload:144]: Uploaded 96.76%, remaining 271680 bytes, free heap: 90884 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:29][D][nspanel_lovelace_upload:144]: Uploaded 96.80%, remaining 267584 bytes, free heap: 90884 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:29][D][nspanel_lovelace_upload:144]: Uploaded 96.85%, remaining 263488 bytes, free heap: 90884 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:30][D][nspanel_lovelace_upload:144]: Uploaded 96.90%, remaining 259392 bytes, free heap: 91604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:30][D][nspanel_lovelace_upload:144]: Uploaded 96.95%, remaining 255296 bytes, free heap: 89876 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:30][D][nspanel_lovelace_upload:144]: Uploaded 97.00%, remaining 251200 bytes, free heap: 89876 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:31][D][nspanel_lovelace_upload:144]: Uploaded 97.05%, remaining 247104 bytes, free heap: 89876 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:31][D][nspanel_lovelace_upload:144]: Uploaded 97.10%, remaining 243008 bytes, free heap: 90140 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:32][D][nspanel_lovelace_upload:144]: Uploaded 97.15%, remaining 238912 bytes, free heap: 90140 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:32][D][nspanel_lovelace_upload:144]: Uploaded 97.20%, remaining 234816 bytes, free heap: 90140 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:32][D][nspanel_lovelace_upload:144]: Uploaded 97.24%, remaining 230720 bytes, free heap: 90140 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:33][D][nspanel_lovelace_upload:144]: Uploaded 97.29%, remaining 226624 bytes, free heap: 91640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:33][D][nspanel_lovelace_upload:144]: Uploaded 97.34%, remaining 222528 bytes, free heap: 91640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:34][D][nspanel_lovelace_upload:144]: Uploaded 97.39%, remaining 218432 bytes, free heap: 91640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:34][D][nspanel_lovelace_upload:144]: Uploaded 97.44%, remaining 214336 bytes, free heap: 91640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:34][D][nspanel_lovelace_upload:144]: Uploaded 97.49%, remaining 210240 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:35][D][nspanel_lovelace_upload:144]: Uploaded 97.54%, remaining 206144 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:35][D][nspanel_lovelace_upload:144]: Uploaded 97.59%, remaining 202048 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:35][D][nspanel_lovelace_upload:144]: Uploaded 97.64%, remaining 197952 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:36][D][nspanel_lovelace_upload:144]: Uploaded 97.68%, remaining 193856 bytes, free heap: 89604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:36][D][nspanel_lovelace_upload:144]: Uploaded 97.73%, remaining 189760 bytes, free heap: 89604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:37][D][nspanel_lovelace_upload:144]: Uploaded 97.78%, remaining 185664 bytes, free heap: 89604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:37][D][nspanel_lovelace_upload:144]: Uploaded 97.83%, remaining 181568 bytes, free heap: 89604 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:37][D][nspanel_lovelace_upload:144]: Uploaded 97.88%, remaining 177472 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:38][D][nspanel_lovelace_upload:144]: Uploaded 97.93%, remaining 173376 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:38][D][nspanel_lovelace_upload:144]: Uploaded 97.98%, remaining 169280 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:39][D][nspanel_lovelace_upload:144]: Uploaded 98.03%, remaining 165184 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:39][D][nspanel_lovelace_upload:144]: Uploaded 98.08%, remaining 161088 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:39][D][nspanel_lovelace_upload:144]: Uploaded 98.13%, remaining 156992 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:40][D][nspanel_lovelace_upload:144]: Uploaded 98.17%, remaining 152896 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:40][D][nspanel_lovelace_upload:144]: Uploaded 98.22%, remaining 148800 bytes, free heap: 87948 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:40][D][nspanel_lovelace_upload:144]: Uploaded 98.27%, remaining 144704 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:41][D][nspanel_lovelace_upload:144]: Uploaded 98.32%, remaining 140608 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:41][D][nspanel_lovelace_upload:144]: Uploaded 98.37%, remaining 136512 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:42][D][nspanel_lovelace_upload:144]: Uploaded 98.42%, remaining 132416 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:42][D][nspanel_lovelace_upload:144]: Uploaded 98.47%, remaining 128320 bytes, free heap: 88448 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:42][D][nspanel_lovelace_upload:144]: Uploaded 98.52%, remaining 124224 bytes, free heap: 88448 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:43][D][nspanel_lovelace_upload:144]: Uploaded 98.57%, remaining 120128 bytes, free heap: 88448 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:43][D][nspanel_lovelace_upload:144]: Uploaded 98.61%, remaining 116032 bytes, free heap: 88448 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:44][D][nspanel_lovelace_upload:144]: Uploaded 98.66%, remaining 111936 bytes, free heap: 88124 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:44][D][nspanel_lovelace_upload:144]: Uploaded 98.71%, remaining 107840 bytes, free heap: 88124 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:44][D][nspanel_lovelace_upload:144]: Uploaded 98.76%, remaining 103744 bytes, free heap: 88124 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:45][D][nspanel_lovelace_upload:144]: Uploaded 98.81%, remaining 99648 bytes, free heap: 88124 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:45][D][nspanel_lovelace_upload:144]: Uploaded 98.86%, remaining 95552 bytes, free heap: 89316 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:46][D][nspanel_lovelace_upload:144]: Uploaded 98.91%, remaining 91456 bytes, free heap: 89316 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:46][D][nspanel_lovelace_upload:144]: Uploaded 98.96%, remaining 87360 bytes, free heap: 89192 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:46][D][nspanel_lovelace_upload:144]: Uploaded 99.01%, remaining 83264 bytes, free heap: 89316 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:47][D][nspanel_lovelace_upload:144]: Uploaded 99.05%, remaining 79168 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:47][D][nspanel_lovelace_upload:144]: Uploaded 99.10%, remaining 75072 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:48][D][nspanel_lovelace_upload:144]: Uploaded 99.15%, remaining 70976 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:48][D][nspanel_lovelace_upload:144]: Uploaded 99.20%, remaining 66880 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:48][D][nspanel_lovelace_upload:144]: Uploaded 99.25%, remaining 62784 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:49][D][nspanel_lovelace_upload:144]: Uploaded 99.30%, remaining 58688 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:49][D][nspanel_lovelace_upload:144]: Uploaded 99.35%, remaining 54592 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:49][D][nspanel_lovelace_upload:144]: Uploaded 99.40%, remaining 50496 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:50][D][nspanel_lovelace_upload:144]: Uploaded 99.45%, remaining 46400 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:50][D][nspanel_lovelace_upload:144]: Uploaded 99.49%, remaining 42304 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:51][D][nspanel_lovelace_upload:144]: Uploaded 99.54%, remaining 38208 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:51][D][nspanel_lovelace_upload:144]: Uploaded 99.59%, remaining 34112 bytes, free heap: 89676 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:51][D][nspanel_lovelace_upload:144]: Uploaded 99.64%, remaining 30016 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:52][D][nspanel_lovelace_upload:144]: Uploaded 99.69%, remaining 25920 bytes, free heap: 89448 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:52][D][nspanel_lovelace_upload:144]: Uploaded 99.74%, remaining 21824 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:53][D][nspanel_lovelace_upload:144]: Uploaded 99.79%, remaining 17728 bytes, free heap: 89640 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:53][D][nspanel_lovelace_upload:144]: Uploaded 99.84%, remaining 13632 bytes, free heap: 93976 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:53][D][nspanel_lovelace_upload:144]: Uploaded 99.89%, remaining 9536 bytes, free heap: 93976 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:54][D][nspanel_lovelace_upload:144]: Uploaded 99.94%, remaining 5440 bytes, free heap: 93976 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:54][D][nspanel_lovelace_upload:144]: Uploaded 99.98%, remaining 1344 bytes, free heap: 93976 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:54][D][nspanel_lovelace_upload:144]: Uploaded 100.00%, remaining 0 bytes, free heap: 96484 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:54][D][nspanel_lovelace_upload:190]: End of HTTP response reached
[17:26:54][D][nspanel_lovelace_upload:418]: Free heap: 2163875, Bytes left: 0
[17:26:54][D][nspanel_lovelace_upload:421]: Successfully uploaded TFT to Nextion!
[17:26:54][D][nspanel_lovelace_upload:423]: Close HTTP connection
[17:26:54][D][nspanel_lovelace_upload:426]: Connection closed
[17:26:54][I][nspanel_lovelace_upload:432]: Nextion TFT upload finished
[17:26:55][W][api.connection:1493]: Home Assistant 2024.9.1 (10.100.0.249): Packet write failed SOCKET_WRITE_FAILED errno=128
[17:26:55][D][api.connection:146]: Home Assistant 2024.9.1 (10.100.0.249): Sending keepalive failed 1 time(s), will retry in 1000 ms
[17:26:55][W][component:237]: Component api took a long time for an operation (131047 ms).
[17:26:55][W][component:238]: Components should block for at most 30 ms.
[17:26:55][D][sensor:094]: 'ntc_source': Sending state 1.33100 V with 2 decimals of accuracy
[17:26:55][D][resistance:039]: 'resistance_sensor' - Resistance 7570.9Ω
[17:26:55][D][sensor:094]: 'resistance_sensor': Sending state 7570.94971 Ω with 1 decimals of accuracy
[17:26:55][D][ntc:026]: 'Temperature' - Temperature: 31.4°C
[17:26:55][D][sensor:094]: 'Temperature': Sending state 31.39664 °C with 1 decimals of accuracy
[17:26:55][D][sensor:094]: 'WiFi Signal': Sending state -45.00000 dBm with 0 decimals of accuracy
[17:26:55][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:26
[17:26:55][D][api:102]: Accepted 10.100.0.249
[17:26:55][D][api.connection:1389]: Home Assistant 2024.9.1 (10.100.0.249): Connected successfully
[17:26:55][D][time:051]: Synchronized time: 2024-09-13 17:26:55
[17:26:55][D][nspanel_lovelace:1290]: TFT CMD OUT: date~Friday, 13. September 2024
[17:26:55][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:26
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.living_room supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.living_room color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.living_room state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.dining_room supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.dining_room color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.dining_room state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.kitchen_2 supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.kitchen_2 color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.kitchen_2 state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.sink supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.sink color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.sink state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.souzanna_bedroom supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.souzanna_bedroom color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.souzanna_bedroom state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.chronis_bedroom supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.chronis_bedroom color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.chronis_bedroom state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bedroom_light supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bedroom_light color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bedroom_light state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bathroom supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bathroom color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bathroom state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bathroom_small_right supported_color_modes='onoff'
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bathroom_small_right color_mode=''
[17:26:56][D][nspanel_lovelace:2121]: HA update: light.bathroom_small_right state='off'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.boiler_outdoortemp device_class='temperature'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.boiler_outdoortemp unit_of_measurement='°C'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.boiler_outdoortemp state='28.2'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.temperature device_class='temperature'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.temperature unit_of_measurement='°C'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.temperature state='31.4'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.kitchen_temperature device_class='temperature'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.kitchen_temperature unit_of_measurement='°C'
[17:26:56][D][nspanel_lovelace:2121]: HA update: sensor.kitchen_temperature state='27.43'
[17:26:56][D][nspanel_lovelace:2121]: HA update: alarm_control_panel.alarmo code_arm_required='on'
[17:26:57][D][nspanel_lovelace:2121]: HA update: alarm_control_panel.alarmo open_sensors=''
[17:26:57][D][nspanel_lovelace:2121]: HA update: alarm_control_panel.alarmo state='disarmed'
[17:26:57][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 temperature='20.0'
[17:26:57][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 current_temperature='27.3'
[17:26:57][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 target_temp_step='0.5'
[17:26:57][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 min_temp='5.0'
[17:26:57][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 max_temp='30.0'
[17:26:57][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 hvac_modes='auto,heat,off'
[17:26:57][D][nspanel_lovelace:2121]: HA update: climate.thermostat_hc1 state='auto'
[17:27:01][D][nspanel_lovelace:1290]: TFT CMD OUT: time~17:27
my config.yaml is :
# Advanced configuration example
# This includes some commented out configuration items showing what other functionality is available
# Available icons can be found in 'components\nspanel_lovelace\icons.json'. Icon colors range from 0 to 65535.

# NOTE: This project is in the beta stage so the configuration is subject to change without notice.
#       Please check your own configuration againist the latest example when updating.

esphome:
  name: nspanel
  name_add_mac_suffix: False
  
  comment: "ESPHome Advanced NSPanel Example"
  build_path: ./.build/nspanel-advanced

esp32:
  board: esp32dev
  framework:
    type: esp-idf
    sdkconfig_options:
      ## These are required to allow access to the PSRAM
      ## NOTE: This is temporary and will be removed in a 
      ##       future release when the build script is improved
      CONFIG_D0WD_PSRAM_CLK_IO: '5'
      CONFIG_D0WD_PSRAM_CS_IO: '18'

external_components:
  - source:
      type: git
      url: https://github.com/olicooper/esphome-nspanel-lovelace-native
      ref: dev
    refresh: 1s
    components: [nspanel_lovelace]

nspanel_lovelace:
  id: nspanel
  sleep_timeout: 10
  # locale:
    # temperature_unit: celcius
    # day_of_week_map:
    #   sunday: ['Sun', 'Sunday']
    #   monday: ['Mon', 'Monday']
    #   tuesday: ['Tue', 'Tuesday']
    #   wednesday: ['Wed', 'Wednesday']
    #   thursday: ['Thu', 'Thursday']
    #   friday: ['Fri', 'Friday']
    #   saturday: ['Sat', 'Saturday']
  screensaver:
    time_id: homeassistant_time
    ## For formatting options see: https://cplusplus.com/reference/ctime/strftime/
    # time_format: '%H:%M'
    # date_format: '%A, %d. %B %Y'
    weather:
      #entity_id: weather.spiti
      ## NOTE: use this version (after following the instructions on the README) with Home Assistant v4.4.0+
      entity_id: sensor.weather_forecast_daily
    # status_icon_left:
    #   entity_id: light.front_room_inner
    #   icon: hiking
    # status_icon_right:
    #   entity_id: light.front_room_outer
    #   icon:
    #     value: robot-outline
    #     color: 200
  cards:
    - type: cardGrid
      id: Front_House
      title: Front Room
      sleep_timeout: 10
      # hidden: true
      entities:
        - entity_id: light.living_room
          name: living_room
        - entity_id: light.dining_room
          name: Dining Room
        - entity_id: light.kitchen_2
          name: kitchen
        - entity_id: light.sink
          name: sink

    - type: cardGrid
      sleep_timeout: 10
      title: Bedroom Lights
      entities:
        - entity_id: light.souzanna_bedroom
          name: souzanna_bedroom
        - entity_id: light.chronis_bedroom
          name: chronis_bedroom
        - entity_id: light.bedroom_light
          name: Bedroom
        - entity_id: light.bathroom
          name: bathroom
        - entity_id: light.bathroom_small_right
          name: Small bathroom

    - type: cardEntities
      sleep_timeout: 30
      title: House Info
      entities:
        - entity_id: sensor.boiler_outdoortemp
          name: Outside Temp
        - entity_id: sensor.temperature
          name: Hall Temp
        - entity_id: sensor.kitchen_temperature
          name: kitchen_temperature

    #- type: cardQR
    #  sleep_timeout: 30
    #  title: Guest WiFi
    #  qr_text: !secret qrcard_text
    #  entities:
    #    - entity_id: !secret qrcard_ssid_itext
    #      name: SSID
    #      icon: wifi
    #    - entity_id: !secret qrcard_password_itext
    #      name: Password
    #      icon: key

    - type: cardAlarm
      sleep_timeout: 60
      title: Home Alarm
      alarm_entity_id: alarm_control_panel.alarmo

    - type: cardThermo
      sleep_timeout: 60
      title: Heating 
      thermo_entity_id: climate.thermostat_hc1
      # temperature_unit: celsius

logger:
  baud_rate: 115200
  level: DEBUG

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  #use_address: 10.100.0.153

api:
  services:
    ## Service to update the TFT firmware using a URL that is accessible to the nspanel
    - service: upload_tft
      variables:
        url: string
      then:
        - lambda: 'id(nspanel).upload_tft(url);'
    ## Service to display a notification on the screensaver
    - service: notify_on_screensaver
      variables:
        heading: string
        message: string
        ## Set to 0 (or remove) to keep message until screensaver refreshes
        timeout_ms: int
      then:
        - lambda: 'id(nspanel).notify_on_screensaver(heading, message, timeout_ms);'
        - rtttl.play: 'scale_up:d=32,o=5,b=100:c,c#,d#,e,f#,g#,a#,b'
    ## Service to send a command directly to the display (useful for testing)
    # - service: send_command
    #   variables:
    #     cmd: string
    #   then:
    #     - lambda: 'id(nspanel).send_display_command(cmd);'

ota:
  platform: esphome
  password: !secret ota_password

## UART for the Nextion display
uart:
  id: uart_nextion
  tx_pin: 16
  rx_pin: 17
  baud_rate: 115200

time:
  - platform: homeassistant
    id: homeassistant_time
    timezone: Europe/Athens
    on_time:
      ## At midnight
      - seconds: 0
        minutes: 0
        hours: 0
        then:
          - lambda: 'id(nspanel).set_display_dim(1, 50);'
      ## At 8:00 PM
      - seconds: 0
        minutes: 0
        hours: 20
        then:
          - lambda: 'id(nspanel).set_display_dim(20, 80);'
      ## At 7:00 AM
      - seconds: 0
        minutes: 0
        hours: 7
        then:
          - lambda: 'id(nspanel).set_display_dim(50, 100);'

switch:
  ## Physical relay 1
  - platform: gpio
    name: Relay 1
    id: relay_1
    pin:
      number: 19
    restore_mode: ALWAYS_OFF
  ## Physical relay 2
  - platform: gpio
    name: Relay 2
    id: relay_2
    pin:
      number: 22
    restore_mode: ALWAYS_OFF
  ## Turn screen power on/off
  - platform: gpio
    name: Screen Power
    id: screen_power
    entity_category: config
    pin:
      number: 4
      inverted: true
    restore_mode: ALWAYS_ON

sensor:
  ## WiFi signal strength sensor
  - platform: wifi_signal
    name: WiFi Signal
    update_interval: 300s
  ## Internal temperature sensor, adc value
  - platform: adc
    id: ntc_source
    pin: 38
    update_interval: 60s
    attenuation: 12db
  ## Internal temperature sensor, adc reading converted to resistance (calculation)
  - platform: resistance
    id: resistance_sensor
    sensor: ntc_source
    configuration: DOWNSTREAM
    resistor: 11.2kOhm
  ## Internal temperature sensor, resistance to temperature (calculation)
  - platform: ntc
    id: temperature
    sensor: resistance_sensor
    calibration:
      b_constant: 3950
      reference_temperature: 25°C
      reference_resistance: 10kOhm
    name: Temperature

binary_sensor:
  ## Left button below the display
  - platform: gpio
    name: Left Button
    pin:
      number: GPIO14
      inverted: true
    id: left_button
    internal: true
    on_multi_click:
      ####### Single click - toggle front_room_inner
      - timing:
          - ON for at most 1s
          - OFF for at least 0.4s
        then:
          - if:
              condition:
                  api.connected:
              then:
                - if:
                    condition:
                      switch.is_off: relay_1
                    then:
                      - switch.turn_on: relay_1
                    else:
                      - homeassistant.service:
                          service: light.toggle
                          data:
                            entity_id: light.front_room_inner
              else:
                - switch.toggle: relay_1
        ####### Triple click - restart the ESP32
      - timing:
          - ON for at most 1s
          - OFF for at most 0.3s
          - ON for at most 1s
          - OFF for at most 0.3s
          - ON for at most 1s
          - OFF for at least 0.3s
        then:
          - button.press: restart_switch
      ####### Single long click - toggle light relay 1
      - timing:
          - ON for 1.2s to 4s
          - OFF for at least 0.3s
        then:
          - switch.toggle: relay_1

  ## Right button below the display
  - platform: gpio
    name: Right Button
    pin:
      number: GPIO27
      inverted: true
    id: right_button
    internal: true
    on_multi_click:
    ####### Single click - toggle light front_room_outer
      - timing:
          - ON for at most 1s
          - OFF for at least 0.4s
        then:
          - if:
              condition:
                  api.connected:
              then:
                - if:
                    condition:
                      switch.is_off: relay_2
                    then:
                      - switch.turn_on: relay_2
                    else:
                      - homeassistant.service:
                          service: light.toggle
                          data:
                            entity_id: light.front_room_outer
              else:
                - switch.toggle: relay_2
      ####### Triple click - restart TFT
      - timing:
          - ON for at most 1s
          - OFF for at most 0.3s
          - ON for at most 1s
          - OFF for at most 0.3s
          - ON for at most 1s
          - OFF for at least 0.3s
        then:
          - switch.turn_off: screen_power
          - delay: 0.5s
          - switch.turn_on: screen_power
      ####### Single long click - toggle light relay 2
      - timing:
          - ON for 1.2s to 4s
          - OFF for at least 0.4s
        then:
          - switch.toggle: relay_2

button:
  - platform: restart
    id: restart_switch
    name: Restart

output:
  ## Buzzer for playing tones
  - platform: ledc
    id: buzzer_out
    pin: 21

## Rtttl function for buzzer
rtttl:
  id: buzzer
  output: buzzer_out

@olicooper
Copy link
Owner

It actually looks like your upload worked fine...

RAM usage fine, TFT reports a new range and continues uploading from 85.36%:

[17:24:55][D][nspanel_lovelace_upload:144]: Uploaded 0.05%, remaining 8369472 bytes, free heap: 98896 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:24:55][D][nspanel_lovelace_upload:155]: recv_string [08.00.00.6D.00 (5)]
[17:24:55][I][nspanel_lovelace_upload:161]: Nextion reported new range 7143424
[17:24:57][D][nspanel_lovelace_upload:144]: Uploaded 85.36%, remaining 1226048 bytes, free heap: 97012 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384

Then the upload finishes and the panel reboots:

[17:26:54][D][nspanel_lovelace_upload:144]: Uploaded 100.00%, remaining 0 bytes, free heap: 96484 (DRAM) + 2090519 (PSRAM) bytes, lblk 2064384
[17:26:54][I][nspanel_lovelace_upload:432]: Nextion TFT upload finished

What problems are you seeing?

@ditheo
Copy link

ditheo commented Sep 14, 2024 via email

@olicooper
Copy link
Owner

I don't think I have seen this before.. if the TFT reports that it has worked then it should be fine.
Is this the error you are seeing? https://ewelinkcommunity.net/wp-content/uploads/2023/02/NSPanel_System_Data_ERROR-768x1024.jpg
The UART bus which this library uses to communicate with the TFT doesn't output any command 'time out' logs from what I recall, where are you seeing this?

Maybe try these steps?

  • Remove the power from the nspanel to fully reboot the whole nspanel
  • Upload an older version of the TFT firmware (maybe the file is corrupt)
  • If that doesn't work, use a different server to upload (maybe the server is causing problems) e.g. http://nspanel.pky.eu/lui-release.tft

@ditheo
Copy link

ditheo commented Sep 14, 2024 via email

@olicooper
Copy link
Owner

Actually, hold off on that for a moment, I am going to update the code to add a delay before restarting the panel to see if that helps.

@ditheo
Copy link

ditheo commented Sep 14, 2024 via email

olicooper added a commit that referenced this issue Sep 14, 2024
olicooper added a commit that referenced this issue Sep 14, 2024
olicooper added a commit that referenced this issue Sep 14, 2024
@olicooper
Copy link
Owner

olicooper commented Sep 14, 2024

Try uploading my latest changes to your panel and try the TFT upload again after a full reboot?
(make sure esphome has actually pulled the latest changes and is not using a cached older version)

@olicooper
Copy link
Owner

olicooper commented Sep 14, 2024

It is on log 3rd and 4th row , also after the upload I can see that. If
you see on the log I have no information about the nextion display such as
firmware serial etc

These logs are normal, they just tell you that the system has sent a command 'OUT' to the TFT. So in the case of TFT CMD OUT: time~17:21 - the system sent the current time to the TFT.
When the system receives a command it will say TFT CMD IN too (when pressing buttons on the screen etc.)
The system will not output firmware or serial numbers as this hasn't been implemented. It requires sending specific commands to the display to get this info but it isn't required the the system to function.

@ditheo
Copy link

ditheo commented Sep 14, 2024

sorry , I didn't understand that, when I saw the log. Is it possible to write the commands that can give informations about the nextion display?

@ditheo
Copy link

ditheo commented Sep 14, 2024

Try uploading my latest changes to your panel and try the TFT upload again after a full reboot? (make sure esphome has actually pulled the latest changes and is not using a cached older version)

I am not right now on home. I have clean build files and I will try to cut off power to reboot and then try the new code

@ditheo
Copy link

ditheo commented Sep 15, 2024

Tried again, after a reboot ( I cut the power to nspanel for 2 minutes) and it didn't work . Maybe something is broken from the last nspanel.tft that was used. I tryto upload the panel.tft via direct serial or I try with tasmota and back to esphome

@olicooper
Copy link
Owner

Just to confirm, can you see these updates in the nspanel_lovelace_upload_idf.cpp file on your PC? I want to know if esphome has downloaded the latest changes. You could also try esphome clean config.yaml before building.

It is probably better to try Tasmota first as we know this works. I really don't know what is wrong with the TFT, maybe it could be faulty? We will know after uploading with Tasmota I think.

@ditheo
Copy link

ditheo commented Sep 22, 2024

I tasmotized the device , then I uplaod the tft via tasmotaand then back to your esphome yaml , the device works again.
For your reference all firmware updates are done via uart and not OTA!!! Keep in mind that tasmota after v13 use different partitions and on ESP32 it is complicated to do via OTA migrations! Use serial it is much safer!!!!

@marcelveldt
Copy link

marcelveldt commented Oct 17, 2024

Alternative workaround could be using this to get the TFT file uploaded to the device:
https://github.com/sairon/esphome-nspanel-lovelace-ui

And then switch to this firmware.

@olicooper
Copy link
Owner

@marcelveldt Has this method worked for you? The upload process is similar between these libraries so it shouldn't make a difference in theory. Tasmota is able to upgrade from the original NSPanel firmware which is what my recent updates tried to address (these aren't accounted for in the sairon's library) but there is probably something I am still missing to make it work reliably. PR's are welcome if anyone wants to figure it out👍

@marcelveldt
Copy link

@marcelveldt Has this method worked for you? The upload process is similar between these libraries so it shouldn't make a difference in theory. Tasmota is able to upgrade from the original NSPanel firmware which is what my recent updates tried to address (these aren't accounted for in the sairon's library) but there is probably something I am still missing to make it work reliably. PR's are welcome if anyone wants to figure it out👍

Yes, I just flashed a device that way. Worked perfectly fine. After that switched back to your version.

@olicooper
Copy link
Owner

Interesting.. do you have any logs? Maybe the code updates made it worse for some use cases?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants