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

Hello,
I'm new user of NSPanel easy which is running fine on my NSPanel EU.
First of all, thank you for this great advanced firmware and easiness setup via blueprint.

I go over the customization section and I tried to get the information myself but I didn't found the best practice to have hardware relays defined as light domain directly from the ESP.

I saw relay_1 and relay_2 as switch in the code but nothing in customization to handle those not as switch.blabla but light.blabla

If someone can guide me ?

FYI I was using GitHub - krizkontrolz/Home-Assistant-nextion_handler: An approach for integrating Nextion devices into Home Assistant, using a Python service that allows Nextion Events to send instructions to HA. · GitHub before moving

Probably the easiest would be setting to show the relay as a light in Home Assistant side.
You can open your panel’s page (under Settings > Devices and services > ESPHome), find the relay at the top, open it’s settings page (the gear icon in the top when showing the relay) and select “Light” on the “Show as” dropdown:

1 Like

@EdwardTFN
Thank you for the post.
It was one of my option. This is a valid easy workaround.
I wondering why it was never asked to have it as customization directly from ESPHome.

Another point which may be related to the documentation link to installation process where it's possible to use device name and friendly name.

My nsp1.yaml use device name as nsp1 and friendly name NSPanel Chambre which result on an issue with the blueprint reported after restart of HA with NSPanel Easy Configuration (v2026.5.2).
Automation want to use action with esphome.nspanel_chambre_component_text_list but the action available are created by the firmware with esphome.nsp1_component_text_list

Are you aware of this issue ?

As workaround, I change friendly_name to nsp1 and rename all entities via the feature available in HA and it's ok

I was not aware of this issue specifically
 I’ve seen some Issues related to friendly name but this was the first time I could understand what is happening
 it may not be hard to fix.
Thanks for sharing!!
Do you mind reporting it as an issue on GitHub so we keep track of?

1 Like

Proberly a long shot , but could it be possible to get a solid red bar across the screen or a section of it ? I have a panel on the outside of our bathroom and it would make a great "bathroom in use" sign, triggered by pressence or the toilet lid being up. Thanks for all the great work you do.

You can send notifications to the panel which show up in front of the main display.

2 Likes

Thank you, That works good enough, with the correct wording, as long as nobody presses the tick or cross, can they be disabled?

This is becoming advanced... :smiley:

After sending the notification call, you could send this to hide the buttons (and just remove the respective line if you wanna keep some button:

action: esphome.<YOUR PANEL NAME>_components_visibility
data:
  page: notification
  ids:
    - bt_accept    # The green check-mark button
    - bt_clear     # The big red X button
    - button_back  # The small x button in the top-right corner
  visible: false
3 Likes

Fantastic ! that works great, Thank you so much, This may give me reason to buy another for the downstairs toilet .

1 Like

Running the 2026.5.12 version, but getting this error :

The automation "NSPanel Easy hal boven" (automation.nspanel_easy_hal_boven) has an unknown action: esphome.nspanel_component_text.

This error prevents the automation from running correctly. Maybe this action is no longer available, or perhaps a typo caused it.

To fix this error, edit the automation and remove this action.

Select Submit below to confirm you have fixed this automation.

I already deleted this blueprint and set it up again, but this error repeats.
The config

alias: NSPanel Easy hal boven
description: ""
use_blueprint:
  path: edwardtfn/nspanel_easy_blueprint.yaml
  input:
    nspanel_name: 7d01cc9c2b7635033f6e7021aeaf798b
    date_format: "%A, %d %B"
    time_format: "%H:%M"
    left_button_entity: light.sam
    left_button_name: Lamp-Sam
    left_button_color:
      - 9
      - 25
      - 251
    right_button_entity: switch.nspanel_relay_1
    right_button_color:
      - 238
      - 231
      - 17
    right_button_name: Lamp-zolder
    weather_entity: weather.huis
    outdoortemp: sensor.tuin_lamp_voor_temperatuur_terras_voor
    home_outdoor_temp_label_color:
      - 70
      - 200
      - 226
    indoortemp: sensor.temperatuur_badkamer

Can somebody lead me the way, how.where to solve this ?

You must update your blueprint:

I need to update to NSPanel easy from a very old version of the Blackymas NSPanel HA Blueprint (version 4.3.12)

I know a lot has changed including changing from the android framework to ESP-IDF so I know I have to reflash via serial again.

I originally held off updating due to a boot looping issue, which I cant find any more on the old Github repo so remaining on 4.3.12 was the only way to remain stable over the winter( when the NSpanel "thermostat" was needed)

I'm not sure what will work from my existing configuration, as I use the hardware button to increase/decrease the temperature setpoint sort of like a real thermostat.

substitutions:
  # Settings - Editable values
  device_name: nspanel-down
  friendly_name: "NSPanel Down"
  wifi_ssid: !secret wifi_ssid
  wifi_password: !secret wifi_password
  nextion_update_url: "http://192.168.1.196:8123/local/nspanel_eu.tft"  # Optional


  # 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

button:
  - platform: factory_reset
    name: Restart with Factory Default Settings

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

# Core and optional configurations
packages:
  remote_package:
    url: https://github.com/Blackymas/NSPanel_HA_Blueprint
    ref: v4.3.12
    refresh: 300s
    files:
      - nspanel_esphome.yaml # Basic package
      # Optional advanced and add-on configurations
      # - esphome/nspanel_esphome_advanced.yaml
      # - esphome/nspanel_esphome_addon_ble_tracker.yaml
      # - esphome/nspanel_esphome_addon_bluetooth_proxy.yaml
      # - esphome/nspanel_esphome_addon_climate_cool.yaml
      - esphome/nspanel_esphome_addon_climate_heat.yaml
      # - esphome/nspanel_esphome_addon_climate_dual.yaml
      # - esphome/nspanel_esphome_addon_cover.yaml

will all of the customisation still work with NSPanel easy after changing all the url's etc to the new repo?

It seems the display doesn’t show the light entities with the corresponding colour anymore (and that for while now). I’m not sure if this is a bug, an error in my config or something intended. Can you confirm that normally I should see the colour of the light source like in the app or do I imagine only that it was the case before? If it should work, what do I need to set to get it work again?