Skip to content

Latest commit

 

History

1,617 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

ioBroker.nspanel-lovelace-ui

NPM version Downloads Number of Installations Current version in stable repository

NPM

Tests: Test and Release

Übersetzungsstatus

nspanel-lovelace-ui adapter for ioBroker

NsPanel Lovelace UI is a Firmware for the nextion screen inside of NSPanel in the Design of Lovelace UI Design.

Short Description

The NSPanel Lovelace UI is an alternative user interface for the Sonoff NSPanel, specifically designed for integration with iobroker. It typically relies on Tasmota (firmware) and MQTT (messaging protocol) to provide custom controls and displays directly on the NSPanel's small touchscreen.

What is the NSPanel?

The Sonoff NSPanel is a smart wall switch with:

  • two physical relay switches
  • a 3.5-inch touchscreen
  • temperature and brightness sensors

It was originally developed for the eWeLink app, but can be integrated much more powerfully with ioBroker using alternative firmware

What does the "NSPanel Lovelace UI" do?

With this custom UI, you can:

  • Display Lovelace-like Cards on the NSPanel
  • Display sensor values ​​(e.g., temperature, humidity)
  • Control scenes and automations
  • Control lights, thermostats, and other devices directly on the screen

Installation & Questions

Adapter Wiki: https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki
Adapter Community (ioBroker Forum): Forum


The following HMI components are already integrated into the NSPanel adapter:

HMI Cards

  • screensaver
  • screensaver2
  • screensaver3
  • cardChart
  • cardLChart
  • cardLChart2 (new - in progress)
  • cardEntities
  • cardSchedule
  • cardGrid
  • cardGrid2
  • cardGrid3
  • cardThermo
  • cardMedia
  • cardUnlock
  • cardQR
  • cardAlarm
  • cardPower

HMI Popups

  • popupInSel
  • popupFan
  • popupThermo
  • popupNotify
  • popupShutter
  • popupShutter2
  • popupLight
  • popupLight2
  • popupTimer
  • popupSlider
  • popupColor (new - in progress)

Buzzer Control

The adapter supports buzzer control for NSPanel devices using the Tasmota Buzzer command. This enables button sounds, urgent message notifications, and general buzzer control.

Prerequisites

To use the buzzer functionality, ensure your NSPanel Tasmota firmware has SetOption111 1 enabled. This uses BuzzerPwm for piezo buzzer frequency output instead of on/off signal.

Usage Methods

1. State-based Control

Each panel has a buzzer control state: panels.{panelName}.cmd.buzzer

// Set buzzer command (tone, duration, count, frequency)
setState('nspanel-lovelace-ui.0.panels.Panel1.cmd.buzzer', '1,2,3,0xF54');

// Examples:
setState('nspanel-lovelace-ui.0.panels.Panel1.cmd.buzzer', '1'); // Single beep
setState('nspanel-lovelace-ui.0.panels.Panel1.cmd.buzzer', '1,5'); // Longer beep
setState('nspanel-lovelace-ui.0.panels.Panel1.cmd.buzzer', '2,3,5'); // 5 beeps

2. SendTo Interface

// Basic buzzer command
sendTo('nspanel-lovelace-ui.0', 'buzzer', {
    panel: 'panelTopic',
    command: '1,2,3,0xF54',
});

// Button feedback sound
sendTo('nspanel-lovelace-ui.0', 'buzzer', {
    panel: 'kitchen_panel',
    command: '1',
});

// Urgent notification
sendTo('nspanel-lovelace-ui.0', 'buzzer', {
    panel: 'living_room',
    command: '3,5,10,0x800', // High-pitched, multiple beeps
});

Buzzer Command Format

The buzzer command follows Tasmota's format: tone,duration,count,frequency

  • tone: 1-4 (tone type)
  • duration: 1-10 (duration units, ~100ms each)
  • count: 1-255 (number of beeps)
  • frequency: 0x100-0xFFFF (piezo frequency in hex)

Examples:

  • 1 - Single short beep
  • 1,5 - Single longer beep
  • 2,3,5 - 5 medium beeps with tone 2
  • 1,2,3,0xF54 - 3 short beeps with custom frequency

Changelog

1.0.0 (2026-08-18)

  • (copilot) BREAKING: Adapter requires node.js >= 22 now
  • (GermanBluefox) BREAKING: Admin UI migrated to React 19 / MUI 9 / @iobroker/gui-components – requires admin 8.0.0 or newer
  • (ticaki) cardPower configuration migrated to the new react based page config tab
  • (ticaki) admin: previous/next buttons in the navigation assignment panel were swapped
  • (ticaki) berry driver generation 11 added (beta), the automatic berry driver update was removed

0.17.8 (2026-04-25)

  • (ticaki) fixed: Cannot read properties of undefined (reading 'trim')

0.17.7 (2026-04-24)

  • (ticaki) Added panels.{id}.cmd.activated state to enable/disable a panel; toggle visible in TabMaintain and TabPanelinfo admin UI
  • (ticaki) Fixed textSize/fontSize value 0 being rejected by the admin and ignored in some cases

0.17.6 (2026-04-22)

  • (ticaki) Added useValueConditions to pageItem. This can be used to set conditions for when the value and when the icon should be displayed.
  • (ticaki) textSize=0 was rejected by the admin

0.17.5 (2026-04-18)

  • (ticaki) When the panel was restarted by the script, the model was set to ‘eu’

0.17.4 (2026-04-16)

  • (ticaki) The admin navigation has been assembled incorrectly.
  • (ticaki) Improved selection of custom button IDs
  • (tt-tom17) fixed: ChannelConfigDialog bottom cut off on small laptop screens (save/color buttons not reachable)

0.17.3 (2026-04-14)

  • (ticaki) fixed: textSize/fontSize 0-5 and tooltip, us-p admin layout, not update emu berry, textSize for custom item, activate trigger for custom id

0.17.2 (2026-04-13)

  • (ticaki) bugfix: pageitem name / icon as id for most roles / textSize

0.17.1 (2026-04-12)

  • (ticaki) bugfix: longpress

0.17.0 (2026-04-12)

  • (tt-tom17) added: ChannelColorDialog
  • (ticaki) added: customItem, longPress, targetPageLongPress, icons as id, div.

0.16.2 (2026-04-09)

  • (ticaki) fixed: channel duplicate error
  • (tt-tom17) fixed: ChannelConfigDialog – error messages (datapointErrors, datapointDuplicates, checkResult) are now properly reset when reopening the dialog

0.16.1 (2026-04-09)

  • (ticaki) The native configuration in pageitems is available to everyone. It corresponds exactly to the script configuration for a page item.

0.16.0 (2026-04-09)

  • (ticaki) feat: new visual page editor in the admin UI – configure cardGrid, cardGrid2, cardGrid3, cardEntities and cardSchedule pages including their items directly in the admin.

0.15.4 (2026-04-04)

  • (tt-tom17) fixed: iCal / trash page – date display year format (2-digit vs. 4-digit) was swapped for short and long item lists
  • (ticaki) fixed: panel rule timer increased from 120 s to 140 s to reduce false "panel disconnected" events after startup
  • (ticaki) fixed: setPopupNotification now returns { error: 'No Panels Online' } via callback when no panel is online instead of silently ignoring the call

0.15.2 (2026-03-26)

  • (tt-tom17) added: message dialog when berry installation fails due to missing internet access on the panel
  • (ticaki) added: improved offline detection for panels
  • (ticaki) improved: version info caching (15–60 min) to reduce external API calls
  • (ticaki) fixed: admin panel info tab now displays state labels in the correct system language

0.15.1 (2026-03-18)

  • (ticaki) added: internet access check for Tasmota device before berry installation

0.15.0 (2026-03-16)

  • (ticaki) added: ScreensaverEntityFillIfBelowMin – fills screensaver slots when too few items are visible (default: true)
  • (ticaki) fixed: various bug fixes and improvements in the admin UI

0.14.0 (2026-03-14)

  • (tt-tom17) refactored: timezone selection code moved from adapter to admin handler (internal, no UI changes)
  • (ticaki) added: TempOffset configurable in objects and admin tab (#629)
  • (ticaki) added: "Update scripts for all panels" button in Maintain tab

0.13.4 (2026-03-07)

  • (ticaki) added: buttonOnDelayOff / buttonOffDelayOn / buttonDelayOn / buttonDelayOff modes for HW button actions

0.13.3 (2026-03-04)

  • (ticaki) fixed critical bug when using internal MQTT server

0.13.2 (2026-03-02)

  • (ticaki) Maintain table: proper semver comparison for Tasmota and TFT versions (upgrade vs. downgrade detection)
  • (ticaki) TabPanelinfo: openTasmotaConsole button fixed
  • (ticaki) Some minor fixes (settings model, tab model, field types)

0.13.1 (2026-03-01)

  • (ticaki) New Admin tab for quick overview and minor settings
  • (tt-tom17)(ticaki) Panel status system with badge (online/offline/setup/flashing states)
  • (tt-tom17) Panel management improvements (IP selector, delete/edit panels, init button)
  • (tt-tom17) MQTT configuration UI design improvements
  • (tt-tom17)(ticaki) Various fixes (badge flickering, tab focus, jsonConfig, translations, hex colors)

0.12.1 (2026-02-20)

  • (ticaki) fixed: brightsky template
  • (ticaki) fixed: malfunction of the update icon in the screensaver
  • (ticaki) fixed: When sending the script, the restart was confirmed with the wrong panel name.

0.12.0 (2026-02-19)

  • (ticaki) NSPanel TFT version is displayed correctly depending on the model.
  • (ticaki)(tt-tom17) Option to write Tasmota telemetry data into states.
  • (tt-tom17) Admin-Tab globalSetting convert to React
  • (tt-tom17) Admin-Tab Maintain convert to React
  • (tt-tom17) Add icon selector to trash entries

0.10.0 (2026-01-17)

  • (ticaki) Confirmation click for role button
  • (ticaki) Some duplicate unique names were overlooked during script transfer.
  • (tt-tom17) bug fixes for role 'blind'
  • (ticaki) minor bug fixes

0.9.1 (2025-11-29)

  • (ticaki) Fixed: Under certain circumstances, the adapter crashes when a pop-up is called.

0.9.0 (2025-11-21)

  • (armilar) HMI: long press added (v5.1.1)
  • (ticaki) Replace double-click with long press
  • (ticaki) pageItem type=button long press added
  • (ticaki) custom pageitem added
  • (ticaki) script ID is found uniquely

0.8.1 (2025-11-15)

  • (ticaki) first Version at latest
  • (ticaki) New attempt to get MQTT TLS keys into the backup

0.8.0 (2025-11-13)

  • (Armilar) IMPORTANT: update to TFT Version 5.1.0
  • (ticaki) pagePopup added
  • (ticaki) color for brightsky favorit/bottom day fixed
  • (ticaki) unlock pin fail fixed

Older changelogs can be found there

License

MIT License

Copyright (c) 2024-2026 ticaki github@renopoint.de
Copyright (c) 2024-2026 tt-tom17 tgb@kabelmail.de

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Controls NSPanels in conjunction with custom firmware

Topics

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages