Sonoff NSPanel Blueprint - Configure your own custom NSPanel easy via a Blueprint

I am having an issue with the nextion display. I managed to mess up the display firmware while upgrading, due I think to having blocked too much using Adguard so that an upgrade failed.

Running latest firmware 202510.0 the nextion upgrade writes a few percent and fails. The log suggests a timeout is causing the panel to reboot.

Is there a way to increase the timeout in the ESP which programs the nextion?

Try adding this to your panel’s yaml:

nspanel_ha_blueprint:
  task_wdt_timeout_s: 30  # The default is "5"

But please remember to remove this customization after you succeed with the upload.
And please share your results. :wink:

[NOTE]
Be aware that the 5s is a protection which restarts your ESP when it is stuck on some activity. By changing this you are basically removing this protection.

I don’t have an organized list, but all those have been mentioned on each release notes (I know it’s hard to keep track this way) :frowning:

I think one relevant was the ā€œUpdate TFT display - Baud rateā€, which was removed more because this functionality was broken (and I believe it will be fixed with ESPHome v2025.11.0).
A few of recently added entities (sound volume, boot sound and upload tft automatically) where also removed before users get used to. :wink:

whats the differences between :

   - esphome/nspanel_esphome_addon_climate_cool.yaml
  - esphome/nspanel_esphome_addon_climate_heat.yaml
   - esphome/nspanel_esphome_addon_climate_dual.yaml

The post above prompted me to ask this question. I have an ecobee thermostat connected with the Homekit integration. I have noticed recently that on my NSpanel I cannot change power it off or change the climate mode from heat to cool or to dual. Not sure when this stopped working as it is not something I change often. It still functions fine through the HA UI. ESPhome/TFT/Blueprint version 4.3.42 Esphome 2025.10.3

I watched the logs when I pressed the cool button (currently in heat mode)
and saw this

08:07:05.565][I][nspanel.hw.display:063]: Page changed: 'home'->'climate'
[08:07:05.566][D][text_sensor:085]: 'Current Page': Sending state 'climate'
[08:07:05.569][D][nspanel.hw.display:264]: Entity shown: 
[08:07:05.573][D][script:088]: Script 'timer_dim' restarting (mode: restart)
[08:07:05.576][D][nspanel.hw.display:411]: Waking up on page: climate
[08:07:05.596][D][script:088]: Script 'timer_sleep' restarting (mode: restart)
[08:07:05.648][D][text_sensor:085]: 'Detailed Entity': Sending state 'climate.my_ecobee'
[08:07:05.677][W][nspanel.hw.display:227]: Already the current page
[08:07:05.749][D][text_sensor:085]: 'Detailed Entity': Sending state 'climate.my_ecobee'
[08:07:07.034][D][script:088]: Script 'timer_page' restarting (mode: restart)
[08:07:07.034][D][script:088]: Script 'timer_dim' restarting (mode: restart)
[08:07:07.034][D][nspanel.hw.display:411]: Waking up on page: climate
[08:07:07.034][D][script:088]: Script 'timer_sleep' restarting (mode: restart)
[08:07:07.436][D][script:088]: Script 'timer_page' restarting (mode: restart)
[08:07:07.436][D][script:088]: Script 'timer_dim' restarting (mode: restart)
[08:07:07.439][D][nspanel.hw.display:411]: Waking up on page: climate
[08:07:07.440][D][script:088]: Script 'timer_sleep' restarting (mode: restart)
[08:07:07.440][D][text_sensor:085]: 'NSPanel local event': Sending state 'climate,hvac_mode,cool,0'
[08:07:07.445][D][nspanel.hw.display:207]: Send generic event to Home Assistant
[08:07:07.446][D][nspanel.hw.display:215]: Home Assistant generic event sent
[08:07:07.453][D][nextion_textsensor:014]: Text sensor: localevent='climate,hvac_mode,cool,0'
[08:07:08.910][D][script:088]: Script 'timer_page' restarting (mode: restart)
[08:07:08.910][D][script:088]: Script 'timer_dim' restarting (mode: restart)
[08:07:08.911][D][nspanel.hw.display:411]: Waking up on page: climate
[08:07:08.917][D][script:088]: Script 'timer_sleep' restarting (mode: restart)
[08:07:09.292][D][script:088]: Script 'timer_page' restarting (mode: restart)
[08:07:09.296][D][script:088]: Script 'timer_dim' restarting (mode: restart)
[08:07:09.301][D][nspanel.hw.display:411]: Waking up on page: climate
[08:07:09.302][D][script:088]: Script 'timer_sleep' restarting (mode: restart)
[08:07:09.307][D][text_sensor:085]: 'NSPanel local event': Sending state 'climate,hvac_mode,cool,0'
[08:07:09.309][D][nspanel.hw.display:207]: Send generic event to Home Assistant
[08:07:09.316][D][nspanel.hw.display:215]: Home Assistant generic event sent
[08:07:09.323][D][nextion_textsensor:014]: Text sensor: localevent='climate,hvac_mode,cool,0'
[08:07:10.799][D][sensor:131]: 'ntc_source': Sending state 1.76000 V with 2 decimals of accuracy
[08:07:10.806][D][resistance:042]: 'resistance_sensor' - Resistance 12800.0Ī©
[08:07:10.811][D][sensor:131]: 'resistance_sensor': Sending state 12799.99805 Ī© with 1 decimals of accuracy
[08:07:10.814][D][ntc:026]: 'Temperature' - Temperature: 19.5°C
[08:07:10.818][D][sensor:131]: 'Temperature': Sending state 19.54612 °C with 1 decimals of accuracy
[08:07:24.299][D][nspanel.hw.display:448]: Fallback to page Home
[08:07:24.310][I][nspanel.hw.display:063]: Page changed: 'climate'->'home'
[08:07:24.312][D][text_sensor:085]: 'Current Page': Sending state 'home'
[08:07:24.323][D][text_sensor:085]: 'Detailed Entity': Sending state ''
[08:07:24.327][D][script:088]: Script 'timer_dim' restarting (mode: restart)
[08:07:24.327][D][nspanel.hw.display:411]: Waking up on page: home
[08:07:24.331][D][script:088]: Script 'timer_sleep' restarting (mode: restart)
[08:07:30.454][D][nspanel.base:125]: The watchdog is starting a round
[08:07:30.460][D][nspanel.base:133]: The watchdog completed the round
[08:08:10.800][D][sensor:131]: 'ntc_source': Sending state 1.75867 V with 2 decimals of accuracy
[08:08:10.805][D][resistance:042]: 'resistance_sensor' - Resistance 12779.2Ī©

So It is seeing the button press ā€œclimate,hvac_mode,cool,0ā€ should the ā€œ0ā€ be a ā€œ1ā€
When I go to developer tools and change the HVAC mode the command is

ā€œclimate.set_hvac_modeā€ the button press does not have the ā€œsetā€ part.

Any ideas appreciated.

Craig

my guess is that one is for cooling only systems, one is for heating only systems and the other is for a system which provides both…

1 Like

Hello. Thank you very much for your hard work.
I am a beginner, and as such I have a possibly stupid question.
Is it possible to transmit a video image to the nspanel, for example from a doorbell camera.
Thanks and again I apologize if my question is stupid.

The NS Panels don’t have enough processing power to handle that kind of thing.

1 Like

Yes that is what they are for the problem I am having is when I press the buttons on the nspanel it is not changing from heat to cool to heat/cool

Craig

Only include this one:

- esphome/nspanel_esphome_addon_climate_dual.yaml

just found this after latest update:
ā€œNSPanel Configurationā€ auromation (automation.nspanel_configuration_2) has an unknown action: esphome.nsbianco_init_page_home.

I got sorted by using a local copy of the TFT and uploading it by:

  • defining the local URL in yaml
  • storing a copy on my server
  • choosing the local URL option in the settings before pressing Upload.

I still have a problem with my ISP whereby large downloads sometimes fail, which might be the cause of the original trouble. Because of that, i cant upgrade to espHome 2025.10.4, but my NSpanels do now work.
Thanks for your help

1 Like

Thanks that worked

1 Like

I have set up this blueprint for the first time on an NS Panel, flashing worked like charm, but now after installing the TFT, I have the issue that I cannot swipe between pages. Gestures don’t seem to work at all. Any ideas where to troubleshoot?

Edit: I just saw there was this issue. I am on version 2025110 and got the exact problem with not being able to swipe on home screen, but I can e.g. swipe through weather forecast.

1 Like

I just updated to new ESPhome 2025.11.0 without a problem.
Light entity seems to work but i have no idea if i will use it eventually.

1 Like

So swiping works without any issues? Are you on the EU version? What TFT did you use after flashing the firmware?

I wasn’t so lucky. I’m away from home so can’t fully diagnose yet but the first NS Panel I tried to update from ESPhome 2025.7.5 to 2025.11.0 is now offline…

I“m on EU with regular matching TFT.
I dont use swiping much but i had no problem swiping between my 2 screens.

I mean after flashing, within home assistant, what TFT did you install?

Strangely, it seems to autoinstall the tft.
I just updated the blueprint and the firmware.
The versions of blueprint, esphome and tft all say 202510
Firmware is compiled with ESPhome 2025.11.0