NsPanel Lovelace UI: a Home Assistant dashboard on a wall panel
Custom Firmware for NsPanel with the design of HomeAssistant's lovelace UI in mind, works with Tasmota.
At a glance
- What is it?
- NsPanel Lovelace UI is a custom firmware for the Nextion screen inside a Sonoff NsPanel, replacing the stock display with a dashboard that looks like the Home Assistant Lovelace interface. The parts that make it usable are a YAML configuration that needs no code and no work in the Nextion editor, an AppDaemon application for Home Assistant, and community backends for other automation systems.
- Who is it for?
- The firmware fits a homeowner who has a NsPanel on the wall, runs Home Assistant through AppDaemon, and wants the panel to behave like a real dashboard rather than a temperature display, and it fits a builder who wants a cheap wall tablet that is configured from a file rather than compiled from a vendor tool.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the firmware replaces
The target device is small and specific. An NsPanel is a Sonoff product that combines a wall panel with a small touchscreen, and that touchscreen is a Nextion display, which is a closed piece of hardware with its own drawing tool and its own compiled project format. The panel has to be flashed with Tasmota before this firmware can drive the display. This firmware replaces that screen entirely with an interface modelled on the Home Assistant Lovelace dashboard, so the panel on the wall behaves like the interface you already know, with cards, pages and a screensaver. The firmware is written in TypeScript, the repository is licensed under the GPL-3.0, and it is published as releases with a HACS badge, which means it is distributed through the Home Assistant Community Store alongside the documentation. Both the European and the American panel models are supported, in portrait and in landscape orientation.
The pages and the entity coverage
The feature list is the best available description of the interface. There is an entities page, which is the workhorse, and it covers a long list of domains: covers, switches, input booleans, binary sensors, sensors, buttons, numbers, scenes, scripts, input buttons, lights, read-only input text, locks, fans, timers and automations. There is a separate grid page with a smaller set of the same domains, and detail pages for the two entity types that need more than a toggle, lights with brightness, colour temperature and colour, and covers with a position control. Then there is a thermostat page, a media player card, an alarm control card, a screensaver that shows the time, the date and the weather, and a card that renders a QR code with the wireless network details so a guest can join the guest network. Localisation is supported, and the README says thirty-eight languages are available today.
Configuration from YAML, and why that matters
The feature the README bolds is that everything is dynamically configurable through a YAML configuration, with no need to code and no need to touch the Nextion editor. That is a large departure from how this kind of display is normally built. A Nextion interface is a graphical project drawn in the vendor tool and compiled into a binary that is flashed onto the panel, so changing a label or adding a card meant redrawing it in a desktop application and recompiling. Here the layout, the entities and the behaviour are described in a file, so the panel can be reconfigured by editing text, and a dashboard that changes with the house can be updated without the vendor tool anywhere in the loop. The documentation site carries the installation instructions and the configuration reference, and the repository keeps a Nextion project directory alongside the firmware, which is where the drawn assets live.
The backend arrangement, and the alternatives
The panel is driven over MQTT, and something has to translate between the automation system and the panel. For Home Assistant that something is an AppDaemon application, which the repository ships in its own directory, and the README links to the AppDaemon project for the general idea of an automation application. For ioBroker there is a third-party TypeScript backend maintained by other people, and the repository keeps a directory for it. The same pattern repeats for other systems, with community implementations for IP Symcon, SmartHomeNG, OpenHAB and Node-RED, and a variant that runs against ESPHome with no backend at all. The repository also contains a script for generating test messages, which is the sort of tool that makes it possible to develop a backend without the physical panel on the desk. So the architecture is deliberately headless on the panel side, with the display as a terminal rather than a controller.
The chain of dependencies, and where it breaks
The fragility comes from the length of the chain. A panel showing a Home Assistant dashboard needs Tasmota firmware on the controller, an MQTT broker reachable from it, a backend process translating the automation state into MQTT messages, and the automation system itself, and every one of those has its own release cycle. A change in the Tasmota display contract or in the AppDaemon API breaks the link in the middle. The hardware constrains it too, because a Nextion screen is a closed platform with a limited processor and memory, which is why the detail pages are limited to the few things a small display can usefully show, and why the rendering is a set of pre-drawn pages rather than a real interface. The project structure shows the same split, with a directory for the firmware, one for the AppDaemon application, one for the Tasmota pieces and one for each community backend, so a fork usually means picking one of them.
Where the project stands
The published releases tell a slightly awkward story. The newest release is v4.7.4 from the middle of 2025, with the two before it in June and May of the same year, and their titles are ordinary bug fixes and feature work such as hourly weather forecasts and rounding of temperatures. The last push to the branch, on the other hand, is dated 2026-10-16, so the repository is being worked on while the released version stays where it is. The README also carries a donation link, which is a small signal about the shape of the project, one maintainer with a documentation site on its own domain and a community of people writing the backends for the automation systems that are not Home Assistant. The practical advice is to read the documentation site before flashing anything, and to check which release you are actually installing, because a panel is not a place you want to debug.
The alternative: a browser on the wall
The nearest alternative is not another panel firmware, it is a cheap tablet or a repurposed phone running a browser with the Home Assistant dashboard full screen, which gives a far better interface on far better hardware and needs no flashing, no MQTT bridge and no Nextion project. The NsPanel route is justified by two things. It costs a fraction of a tablet. And the firmware is the Lovelace look on a screen that was never designed for it, which for some houses is exactly the point and for others is a compromise. A house that has a NsPanel already, or that wants a panel with a physical switch in it, is the case where this firmware is the right answer, and a house that is choosing hardware today would usually pick the screen that was made for the job.
Editorial conclusion
The firmware fits a homeowner who has a NsPanel on the wall, runs Home Assistant through AppDaemon, and wants the panel to behave like a real dashboard rather than a temperature display, and it fits a builder who wants a cheap wall tablet that is configured from a file rather than compiled from a vendor tool. It does not fit somebody who wants a single device to own the display, because the chain of Tasmota, MQTT, a backend and Home Assistant has several places to fail, and it does not fit a house with no wall panel. Before you flash anything, read the documentation site, and check the version in the published releases against the branch, because the newest release tag is from mid-2025 while the repository has been worked on since.
Frequently asked questions
What is NsPanel Lovelace UI?
It is a custom firmware for the Nextion screen inside a Sonoff NsPanel that reproduces the Home Assistant Lovelace dashboard, driven over MQTT and working with Tasmota, released under the GPL-3.0 licence.
What do I need before installing it?
The panel has to be flashed with Tasmota, or through a third-party component built on ESPHome, and the panel then needs a backend, the AppDaemon application for Home Assistant or the ioBroker backend, following the instructions on the project documentation site.
Which entities does the entities page support?
Covers, switches, input booleans, binary sensors, sensors, buttons, numbers, scenes, scripts, input buttons, lights, read-only input text, locks, fans, timers and automations, while the grid page covers a smaller set of the same domains.
Do I have to use the Nextion editor to configure the panel?
No. The README states that everything is dynamically configurable through a YAML configuration, with no need to write code or touch the Nextion editor.
Which NsPanel models are supported?
Both the European and the American models, in portrait and in landscape orientation, and the documentation shows the layouts for each.
Which licence applies to the NsPanel Lovelace UI firmware?
The GPL-3.0 licence, with the terms in the LICENSE file at the repository root, and the project is published through the Home Assistant Community Store as well as through GitHub releases.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/jobr99-nspanel-lovelace-ui)Was this useful?