Sonoff NSPanel by ITead - Smart Scene Wall Switch based on ESP32 and custom Nextion Touch Screen Panel Display (non-Pro variant)

Hi, did you manage to finish it?
Even if you didn’t, do you mind sharing the file? I love the design and I would like to reuse some aspects from it :slight_smile:

Hello again NSPanel lovers!

I would like to share an open source project which will be available to use with the NSPanel in not so long hopefully. This has been my dream project since i got my first NSPanel. We’ve come quite far and decided to create a kickstarter and see what the interest of a solution like this is. The goal is to make it easier to setup and manage your NSPanels, no code, no hmi stuff. We’ve created a standardized solution that will work in most homes. It’s both custom firmware, gui and management software. You set everything up with the help of API connections to both Home Assistant and Openhab. I’ve made a video about it. If your interested just check it out and you will see exactly how it works…


Has anyone an idea how to create this light page?

This is just the default light page with a CT or RGBW bulb. You shouldn’t need to do anything special. That said, on my NSPanel portrait US, it is quite glitchy/artifacty.

I just purchased one of these and plan to use the new NSPanel Manager later this month or when it becomes available, but when I received the panel it doesn’t look like it’ll fit in the 2 gang box even though it has two switches. I’m from the US and purchased this one

Has anyone in the US purchased one and was able to get it to fit in a standard 2 gang box? I was hoping there was a backplate to purchase but I haven’t found one yet.

This form factor is common to a number of smart switches from China. It fits into a single-gang box by itself, but does not play well with others. My usual approach for a 2-gang is to use a 3D printed adapter to mount them sideways. I bought a couple of these but I’m not sure if that person has stopped selling them or not. It’s easy to reproduce what they’ve done, but given that product is covered in patent messages, I’m not going to risk anything by sharing any clone I may have made for personal use while waiting for the store to restock.

Thanks. I was afraid this wasn’t going to be an easy fix.

If someone can tell me something more about the build in relay and how to add sensors to the panel on hardware-level, I would be very happy about a reply here:

Hi - If you do find something - Please share. I always felt there was room for additional sensors.

Has anyone had any luck getting the SimpleIcons appearing in @jobraun wonderful NSpanel solution?

I’ve got it working in HASS with normal Lovelace, but cannot get the icons to appear on the NSpanel.

Any ideas would be great !

All the best


Hi All,

I just went to update my Tasmota NSPanel to the latest version. I am currently on 12.2.0 and found a well known conversation.

Before I travel down this road with seven INSTALL units has anybody got advice on how they proceeded.

Yup - had same issue … solved it by this

  1. Read this post in the article - ESP32: Can’t Update to 13.0.0 due To Flash Size · arendst/Tasmota · Discussion #18983 · GitHub

  2. Follow procedure here under partition management - was painless and all items were retained
    Tasmota Application Files - Tasmota

1 Like

As you said works like a charm

  1. Upgrade to 12.5.0 - sometimes had to do things twice and a few extra restarts
  2. From here downloaded Partition Wizard - Tasmota Application Files - Tasmota
  3. Went to the tasmota url for my NSPanel
  4. Select Console
    5.Manage File System - Browse for Partition Wizard - Start Upload
  5. Restart
  6. Select Console - Then Partition Wizard - Choose Default - Resize FS
  7. Some Panels gave different results, but defaults keep working
    9 For the two panels with funny results I simply run this in the Console from the offical docs
  8. Backlog UrlFetch; Restart 1
1 Like

I’m trying to update my NSPanel from within the ESPHome add on in HA. The panel is connected within the menu and shows update available the screen however just shows “initialising” .
When I click the update wirelessly I get the following:

INFO ESPHome 2023.8.3
INFO Reading configuration /config/esphome/nspanel.yaml…
INFO Updating
Failed config

substitutions: None
baud_rate: 115200

Must be string, got <class ‘esphome.helpers.OrderedDict’>. did you forget putting quotes around the value?.

I can get a remote connection to the screen direct to the IP and would be able to do an OTA update. Not sure if that would fix and what file I would need. A
Any help appreciated.

I’m using ESPHome, so I don’t know how to do this under Tasmota. But I have successfully used the broken out pin ‘relay 3’ to add a motion sensor. I believe pin 2 is also available, but because we know there is no relay 3, the pin for that relay was the most obvious choice for me.

  - platform: gpio
    name: $device_name Prox Sensor
        number: 23
        inverted: true
        - lambda: |-
            your code here

Don’t know what will happen if I put the metal on again, there is no relay 3 so I don’t expect any problems. Otherwise I will just have to cut the pin.


Sorry I’ve read through this thread but I may have missed it. I tried to use the esp blueprint flash which kept getting the nextion user timeout and after days of trying different ways gave up.
I’m now using the Lovelace ui which is working great but want a couple of tweaks.

Is it possible to have a card directly to an entity so as soon as the screen is activated past the screensaver, I’m shown a WLED console?

I also can’t get the internal temperature sensor to be shown on the screensaver screen. Is it the same reference for all nspanels? So mine may be different to everyone else’s? If it’s the same, what is it?


Is there a possibility to round sensor values using appdaemon?

{{ states('sensor.active_power')|float)|round(0) }}

Does not work in the screensaver entity page.

please post your screensaver config, you can overwrite the value with a template like on all other entities

Hello !

I’m trying to format timeAdditionalTemplate to:

  1. Capitalise the first letter of the weather condition (so it shows as ‘Cloudy’ and not ‘cloudy’)
  2. possibly change the font size to make it larger
  3. I’m also trying to change the font color using tTimeAdd but not getting the syntax correct.

Any guidance would be awesome

    timeAdditionalTemplate: '{{states("weather.home")}}'
    tTimeAdd: [102,255,25]

      timeAdditionalTemplate: '{{states("weather.home") | capitalize }}'
        tTimeAdd: [102,255,25]    

There is no way to change the font size.