NSPanel Easy - Blueprint-configured NSPanel customization

NSPanel Easy is a comprehensive customization platform for the Sonoff NSPanel, continuing the excellent foundation built by Blackymas/NSPanel_HA_Blueprint. Built entirely on ESPHome and Home Assistant, it provides complete control over your panel through an intuitive Blueprint interface.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Key Features

  • Code-free configuration - Everything configured through Home Assistant Blueprint UI
  • Quick setup - Get your panel running in minutes with guided interface
  • Fully local - No cloud dependencies, works entirely offline after setup
  • Modular architecture - Include only the packages you need
  • Active development - Frequent releases keeping pace with ESPHome/HA evolution

What’s Different

NSPanel Easy builds directly on @Blackymas’s work but with streamlined development workflows enabling more frequent updates and architectural improvements. Same core functionality, same familiar structure.

Getting Started

Community & Support

Built by the community, for the community. Would love to hear your feedback and see what you create!

7 Likes

Hi Edward,

Now there is a new NSPanel blueprint, does this also imply that there will be two development streams, one for the “old” and one for the “new” one, or will the development of the old version be stopped.
So there might be different functionality in the future……

Panels now wake themselves for no apparent reason. Anyone else? I’m not on discord so unable(ain’t gonna) to join the conversation. Popped them of the wall so I won’t wake when they do.

I’m not planing to invest time developing on the old repository, but I would support a transition if someone wanna develop there, but I will be limited to the permissions I have on that repo and unfortunately I lost contact with @Blackymas since a while.
But I don’t wanna do this painful, so for some time I will be fixing if any change on ESPHome or Home Assistant breaks its functionality. I don’t know for how long I will be able to maintain this. :frowning:

It will be different functionalities in the future. In fact, there are some differences already.
You will feel the new system quite familiar, as 99% still just the same, but since a couple of months ago I’ve started some improvements and those are only on the NSPanel Easy repo.

No one else reported that so far.
Anyways, if it is not working as it should, it is a bug… :wink:

Ideally, please open an issue on GitHub, sharing a bit more information.

1 Like

Differences so far between NSPanel Easy and Blackymas/NSPanel_HA_Blueprint

A few things have changed since the fork. Listing what’s user-visible:

  • TFT upload defaults to 921600 baud (was 115200). Uploads are roughly 8x faster.
  • New light theme available alongside the dark one. Still being polished, feedback is welcome.
  • Light effect selector on the Light page.
  • New Button and Switch pages.
  • Chips now also rendered on the Screensaver, not only on the Home page.
  • Light page polished, with a few bugs from the original fixed.
  • Date is now rendered locally, so it stays correct on the panel even when the network is down (previously only the time survived offline).
  • Indoor temperature on the Home page can now be fed by either a sensor (temperature) or a climate entity (uses the entity’s current temperature, not the target).

That’s it for now. More to come… and if anyone spots something I forgot, please reply.

4 Likes

I have installed the blueprint on my 4 NSPanels. Easy to do and everything works great. Thanks for the new blueprint, great job….

1 Like

Heads up!

I’m about to release a milestone for NSPanel Easy.

Chips no longer run through the Blueprint automation. The panel subscribes directly to Home Assistant entity states and renders them itself. That means faster chip updates, far fewer automation traces and logbook entries, and less
background work for Home Assistant, noticeable if you’re on a Pi or running several panels.

Nothing changes in how you configure chips. Same Blueprint settings.

Two things to expect: the panel restarts once when you change which entity a chip points at (icon, colour and inverted don’t trigger this), and cover chips now show an amber arrow while opening or closing.

This is a big rewrite of how chips work, so please report (GitHub Issues) anything odd — a chip stuck hidden, a wrong icon, or repeated restarts. Only chips are affected; buttons, values and pages are untouched.

Known gap: chips pointed at a numeric sensor stay hidden for now. Fix coming.

Update the ESPHome firmware and the Blueprint together m. Neither works properly
without the other in this release.

5 Likes

Hi @EdwardTFN I am running a very old version of Blackymas nspanel version 4.3.12, due to issues with the nspanel constantly rebooting. would you recommend updating this one time via serial? as I think the framework change to ESP-IDF.

also I using a rather old config

  # Add-on configuration (if needed)
  ## Add-on climate
  heater_relay: "1"  # Possible values: "1" or "2"
  temp_min: "15" 
  temp_max: "23" 
  temp_step: "0.1"
  heat_deadband: "1"  # Temperature delta before engaging heat
  heat_overrun: "0.1"  # Temperature delta before disengaging heat

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

api:
  encryption:
    key: ""
    
climate:
  - id: !extend thermostat_embedded
    visual:
      temperature_step: ${temp_step}
    preset:
      - name: Home
        default_target_temperature_low: 19 ${temp_units}
        mode: "heat"

time:
  - id: !extend time_provider
    on_time:
      - hours: 05
        minutes: 0
        seconds: 0
        then:
          - climate.control:
              id: thermostat_embedded
              target_temperature: 19°C
      - hours: 22
        minutes: 0
        seconds: 0
        then:
          - climate.control:
              id: thermostat_embedded
              target_temperature: 18°C

binary_sensor:
  - id: !extend left_button
    # on_press: !remove  # This must be included with v4.4.0 (to be released soon)
    on_multi_click: !remove
    on_click:
      then:
        - &open_page_climate
          lambda: |-
            if (detailed_entity->state != "embedded_climate") {
              detailed_entity->publish_state("embedded_climate");
              disp1->goto_page("climate");  // Force a page reload if already there
            }
            goto_page->execute("climate");
        - climate.control:
            id: thermostat_embedded
            target_temperature: !lambda return (thermostat_embedded->target_temperature - 0.1);  # Decreases the temperature by 0.1 degrees

  - id: !extend right_button
    # on_press: !remove  # This must be included with v4.4.0 (to be released soon)
    on_multi_click: !remove
    on_click:
      then:
        - *open_page_climate
        - climate.control:
            id: thermostat_embedded
            target_temperature: !lambda return (thermostat_embedded->target_temperature + 0.1);  # Increases the temperature by 0.1 degrees

will the binary sensors work with hardware button presses if I now uncomment on_press ?

or is there a better way of doing this now with Nspanel Easy.

thank you for your assistance , I know your a busy person these days with the switch to Nspanel Easy.

Sorry for not replying earlier, but I’m not that frequently over here.

If you haven’t updated via serial since long time ago, you are probably using an older bootloader and maybe even using and ilder partiotiining and updating those can bring you more stability, however, with a bit of line code, you can do all of that wirelessly and avoid disassembling your panel.

You can find more here: ESPHome OTA Updates - ESPHome - Smart Home Made Simple

I’m far from my computer now, but this weekend I can try your yaml with the NSPanel Easy and propose changes (if needed, which is unlikely).

1 Like

Hi Edward! I wonder, is it possible to rotate US landscape screen? I have buttons on the left. Previously i’ve had to manually change this each time. Can you add US_landscape_reversed or similar?
THX!

That wouldn’t be hard to add, but some additional steps on every release, while I’m trying to instead reduce efforts during release.

I will play a bit and see if it is sustainable and let you know.

Do you mind reporting this as an enhancement request on GitHub? So I don’t forget.

1 Like

Sorry for not replying sooner, thanks for the advice on updating via OTA and thank you for any amendments that may be required. Its really appreciated.

1 Like

I take it all I really need to change is uncommenting on_press nothing more , the more I think about it even if there was a better way of doing it , this way works and works well so this is the only amendment I can see needs doing.