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

Dear users,

I’m so sorry if I missed the answer to the following question and I haven’t yet the device to test.

I would like to use those NSPANEL to replace several already existing two way switches that are ZigBee Controlled and dimmable with some Moses controller.

For this purpose, I plan on using the NSPANEL physical switches to turn on and off the lights, like the actual regular impulse switches. The internal relays are of no use for me and might cause issues with the Moe’s.

The reason for using the physical button of the NSPANEL is to prevent any issues in case of internet/home assistant black out (WAF).

Is it possible to disable the internal relays so that the switches would be only impulse, like regular two way switches?

Thanks for your help.

Well, it is possible, but in the end what you want, as I understood, still needing the internal relays, but instead of those toggle between on and off when the button is pressed, you wanna those to be on only when the button is pressed and then off when the button is released, is that correct?

If so, please take a look at this (the discussion is in English despite the title in German): DRINGEND: Aktion bei Drücken des Hardware-Buttons /URGENT: ACTION BY PRESSING HARDWARE BUTTON · Blackymas/NSPanel_HA_Blueprint · Discussion #968 · GitHub

Hi. Thanks for this Blueprint. It’s brilliant.

I have a small issue with lights in the custom buttons section on the Home screen.
I have a Sonoff 2 channel light switch flashed with Tasmota. On HA these show as toggle switches for the lights (relays). But on the NS Panel “Home page - Custom buttons” (buttons 1 and 2) when I tap either I get a light percentage slider instead of the light toggling. These lights don’t have any “advanced settings”. I’ve added the same entities to “buttons page 1” and they toggle normally from there.

How can I stop these extra pages popping up and just have the light toggle?

Cheers

2 Likes

Is there something I missed regarding the connection to the NSPanel?
Steps I went through

  • https://www.youtube.com/watch?v=3afPFg6kUdc
  • TTL cable that flashed other devices, set to 3,3v connected to my local PC, HA/ESPHome running on Pi that is accessed through the network on the exposed port. Then I tried with the TTL cable connected to the Pi, no change.
  • Removed board to not short circuit, connected just like the other ESPHome devices
  • Took Yaml file from Github, entered SSID & password, saved. Tried with local tft file and Github file, no change.
  • in Web IO it is connected and I can flash “prepare for first use”
  • install requires a bin file
  • But in my ESPHome I am unable to export the bin file because it is always looking for the NSPanel (which is of course connected to my local PC and not to the Pi where HA/ESPHome is running)

So is there a way to export the bin file to flash locally?

??
image

At least one issue was solved, here my errors for everybody to avoid:

  • My name was “NAPanel1” which was of course not correct but I did not notice because the last error message pointed me to the wrong direction
  • At first I did now read the whole (!) error message properly as it clearly said I should name it properly - now it is “nspanel1” and I get a step further.

Unfortunately at first it went only one step further, then it broke with

INFO ESPHome 2023.11.6
INFO Reading configuration /config/nspanel1.yaml...
INFO Updating https://github.com/Blackymas/NSPanel_HA_Blueprint@main
INFO Detected timezone 'Etc/UTC'
INFO Generating C++ source...
INFO Compiling app...
Processing nspanel1 (board: esp32dev; framework: espidf; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40405.230623 (4.4.5) 
 - tool-cmake @ 3.16.9 
 - tool-ninja @ 1.10.2 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Creating a new virtual environment for IDF Python dependencies
Installing ESP-IDF's Python dependencies
Collecting urllib3<2
  Using cached urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
Collecting cryptography<35.0.0,>=2.1.4
  Downloading cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 5.5 MB/s eta 0:00:00
Collecting future>=0.18.3
  Using cached future-0.18.3.tar.gz (840 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting pyparsing<2.4.0,>=2.0.3
  Using cached pyparsing-2.3.1-py2.py3-none-any.whl (61 kB)
Collecting kconfiglib~=13.7.1
  Using cached kconfiglib-13.7.1-py2.py3-none-any.whl (145 kB)
Collecting idf-component-manager~=1.0
  Using cached idf_component_manager-1.4.1-py2.py3-none-any.whl (140 kB)
Collecting cffi>=1.12
  Using cached cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466 kB)
Collecting packaging
  Using cached packaging-23.2-py3-none-any.whl (53 kB)
Collecting requests<3
  Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Collecting requests-file
  Using cached requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB)
Collecting requests-toolbelt
  Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
Collecting schema
  Using cached schema-0.7.5-py2.py3-none-any.whl (17 kB)
Collecting six
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting tqdm<5
  Using cached tqdm-4.66.1-py3-none-any.whl (78 kB)
Collecting colorama
  Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting pyyaml>5.2
  Using cached PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (732 kB)
Collecting cachecontrol[filecache]>0.12.6
  Using cached cachecontrol-0.13.1-py3-none-any.whl (22 kB)
Collecting contextlib2>0.6.0
  Using cached contextlib2-21.6.0-py2.py3-none-any.whl (13 kB)
Collecting click
  Using cached click-8.1.7-py3-none-any.whl (97 kB)
Collecting msgpack>=0.5.2
  Using cached msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (549 kB)
Collecting filelock>=3.8.0
  Using cached filelock-3.13.1-py3-none-any.whl (11 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting charset-normalizer<4,>=2
  Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (136 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.6-py3-none-any.whl (61 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2023.11.17-py3-none-any.whl (162 kB)
Installing collected packages: pyparsing, urllib3, tqdm, six, pyyaml, pycparser, packaging, msgpack, kconfiglib, idna, future, filelock, contextlib2, colorama, click, charset-normalizer, certifi, schema, requests, cffi, requests-toolbelt, requests-file, cryptography, cachecontrol, idf-component-manager
  DEPRECATION: future is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for future: started
  Running setup.py install for future: finished with status 'done'
Successfully installed cachecontrol-0.13.1 certifi-2023.11.17 cffi-1.16.0 charset-normalizer-3.3.2 click-8.1.7 colorama-0.4.6 contextlib2-21.6.0 cryptography-3.4.8 filelock-3.13.1 future-0.18.3 idf-component-manager-1.4.1 idna-3.6 kconfiglib-13.7.1 msgpack-1.0.7 packaging-23.2 pycparser-2.21 pyparsing-2.3.1 pyyaml-6.0.1 requests-2.31.0 requests-file-1.5.1 requests-toolbelt-1.0.0 schema-0.7.5 six-1.16.0 tqdm-4.66.1 urllib3-1.26.18
Reading CMake configuration...
-- Found Git: /usr/bin/git (found version "2.39.2") 
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /config/.esphome/platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /config/.esphome/platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /config/.esphome/platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /config/.esphome/platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-g++
-- Check for working CXX compiler: /config/.esphome/platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project is not inside a git repository, or git repository has no commits; will not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
-- Configuring incomplete, errors occurred!
See also "/config/.esphome/build/nspanel1/.pioenvs/nspanel1/bootloader/CMakeFiles/CMakeOutput.log".

fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at /config/.esphome/platformio/packages/framework-espidf/tools/cmake/component.cmake:219 (message):
  CMake Error at
  /config/.esphome/platformio/packages/framework-espidf/tools/cmake/scripts/component_get_requirements.cmake:3
  (include):

    include could not find load file:

  

      /config/.esphome/build/nspanel1/.pioenvs/nspanel1/bootloader/build_properties.temp.cmake

  

  

Call Stack (most recent call first):
  /config/.esphome/platformio/packages/framework-espidf/tools/cmake/build.cmake:497 (__component_get_requirements)
  /config/.esphome/platformio/packages/framework-espidf/tools/cmake/project.cmake:393 (idf_build_process)
  CMakeLists.txt:59 (project)



========================= [FAILED] Took 537.51 seconds =========================

Then I did exactly the same thing and now it simply processed, I just got & flashed the bin file. So next step is to power it up.

Sorry I didn’t noticed your answer.
I might have misunderstood what a relay is. I thought it is what makes the switch smart and comes in addition to the dumb switch.

However, I think this solution will fit my requirements. A huge thanks to you :+1:

1 Like

Chinese, Japanese and Korean (CJK) languages - We need help with translations · Blackymas/NSPanel_HA_Blueprint · Discussion #1447 (github.com)

same issue did you figure this out?

I am on version 4.1.4 and can’t seem to find the option to wake up to the climate page (introduced in 4.1.2). If someone could point me in the right direction I would appreciate it.

Thanks

Craig

I found it in the device page, I expected it in the blueprint so I didn’t think to look there. Thank you very much for adding that feature.

1 Like

Nope.
I even re-did the blueprint from scratch. Works, but still won’t load the current blueprint once I save it.

The blueprint works great for me, however I have two questions left:

  • Where does it pull the time zone from? Here NSPanel Time is Out by 1 Hour - #11 by Cabletwister it says “set the timezone in the appdaemon dockerfile” - but I don’t have this thing.
  • When is a recommended best practice to get custom fields onto the starting page like “Bus 123 leaves in 2min and 22min, Bus 456 leaves in 13min and 33min”?

hello my friend do you get acess to ESPHOME in home assistant in docker container?i know it’s a silly question i heard docker container is not same as a raspberry pi installation ! i got the same problem with time on my NSPANEL but now i fixed it after 2 days.

There are currently four containers running:

  • Z2M
  • MQTT
  • Home Assistant
  • ESPHome

But no Appdaemon

So the NSPanels pulls the time zone from ESPHome?

The timezone is provided by ESPHome when building/compiling your device’s firmware, but you can enforce a specific time zone as described here: (EN) Customization · Blackymas/NSPanel_HA_Blueprint Wiki · GitHub

This project is not using app daemon and that post looks to be related to another NSPanel implementation.
Please use the instructions from link I’ve shared: (EN) Customization · Blackymas/NSPanel_HA_Blueprint Wiki · GitHub

I would suggest you open a discussion on the GitHub repository as I’m sure other users will have ideas (and feature requests) to share, but I can anticipate you can use one of the 3 values shown on the home page to show the content of a text sensor with whatever info is there.

Yes! That is the case,

1 Like

I know this is an older message but I was wondering the same, is there a way to add a microphone to the NSPanel to support voice commands in HA?

There are a few gpio available, but the space is very limited, so it might be a bit challenging to fit a microphone without compromising sound quality.
Also, the system only have a buzz which is probably not suitable for voice, so you might have to fit an audio output also.

I’m yet to test it as I’ve so far not had any success getting a microphone with a standard D1 Mini ESP32 to work. Once I get that working I’ll try the NS Panel.

2 Likes

I’ve added the blueprint and all works fine. But then I got this. The panel is working fine . I’m a noob so not sure where to go from here or just ignore it

You need to go to Settings > Devices & Services > Esphome and click on “Configure” in front of your NSPanel device then tick “Allow the device to make Home Assistant service calls.”

2 Likes