nspanel-lovelace-ui-Adapter für ioBroker
NsPanel Lovelace UI ist eine Firmware für den Nextion-Bildschirm innerhalb von NSPanel im Design von Lovelace UI.
Kurzbeschreibung
Die NSPanel Lovelace-Benutzeroberfläche ist eine alternative Oberfläche für das Sonoff NSPanel, die speziell für die Integration mit iobroker entwickelt wurde. Sie nutzt in der Regel Tasmota (Firmware) und MQTT (Messaging-Protokoll), um benutzerdefinierte Steuerelemente und Anzeigen direkt auf dem kleinen Touchscreen des NSPanel bereitzustellen.
Was ist das NSPanel?
Das Sonoff NSPanel ist ein intelligenter Wandschalter mit folgenden Eigenschaften:
- zwei physische Relaisschalter
- ein 3,5-Zoll-Touchscreen
- Temperatur- und Helligkeitssensoren
Es wurde ursprünglich für die eWeLink-App entwickelt, lässt sich aber mithilfe alternativer Firmware wesentlich leistungsfähiger in ioBroker integrieren.
Was bewirkt die "NSPanel Lovelace UI"?
Mit dieser benutzerdefinierten Benutzeroberfläche können Sie:
- Lovelace-ähnliche Karten auf dem NSPanel anzeigen
- Anzeige der Sensorwerte (z. B. Temperatur, Luftfeuchtigkeit)
- Szenen und Automatisierungen steuern
- Steuern Sie Beleuchtung, Thermostate und andere Geräte direkt über den Bildschirm.
Installation & Fragen
Adapter-Wiki: https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki
Adapter-Community (ioBroker-Forum): Forum
Folgende HMI-Komponenten sind bereits in den NSPanel-Adapter integriert:
HMI-Karten
- Bildschirmschoner
- Bildschirmschoner2
- Bildschirmschoner3
- Kartendiagramm
- cardLChart
- cardLChart2 (neu - in Bearbeitung)
- Kartenentitäten
- Kartenplan
- Kartenraster
- Kartenraster2
- Kartenraster 3
- cardThermo
- cardMedia
- Karte entsperren
- Karten-QR
- Kartenalarm
- Kartenleistung
HMI-Popups
- popupInSel
- Popup-Lüfter
- Popup-Thermo
- Popup-Benachrichtigung
- Popup-Verschluss
- Popup-Verschluss 2
- Popup-Licht
- popupLight2
- Popup-Timer
- Popup-Slider
- popupColor (neu - in Bearbeitung)
Summersteuerung
Der Adapter unterstützt die Summersteuerung für NSPanel-Geräte mithilfe von Tasmota.Buzzer Befehl. Dies aktiviert Tastentöne, Benachrichtigungen über dringende Meldungen und die allgemeine Summersteuerung.
Voraussetzungen
Um die Summerfunktion nutzen zu können, stellen Sie sicher, dass Ihre NSPanel Tasmota-Firmware über die entsprechende Firmware verfügt.SetOption111 1 Aktiviert. Hierbei wird BuzzerPwm für die Frequenzausgabe des Piezo-Summers anstelle eines Ein-/Aus-Signals verwendet.
Anwendungsmethoden
1. Zustandsbasierte Steuerung
Jedes Bedienfeld verfügt über einen Summer-Steuerungszustand: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-Schnittstelle
// 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
});
Summer-Befehlsformat
Der Buzzer-Befehl folgt dem Format von Tasmota:tone,duration,count,frequency
- Tonhöhe : 1-4 (Tonart)
- Dauer : 1-10 (Dauereinheiten, jeweils ca. 100 ms)
- Anzahl : 1-255 (Anzahl der Pieptöne)
- Frequenz : 0x100-0xFFFF (Piezo-Frequenz in Hexadezimaldarstellung)
Beispiele:
1- Einzelner kurzer Piepton1,5- Einzelner längerer Piepton2,3,5- 5 mittlere Pieptöne mit Ton 21,2,3,0xF54- 3 kurze Pieptöne mit benutzerdefinierter Frequenz
Changelog
1.1.0 (2026-09-06)
- (ticaki) fix: a panel card marked with
Check!was hard to read - white text on the beige card in the dark themes, almost invisible input frames in the new light one. The icons of the icon picker were invisible in thebluetheme - (ticaki) fix: passwords no longer reach the log in plain text
- (ticaki) fix: setting a panel up failed with
Invalid response from adapterorthe message from the admin is incomplete. It runs as three steps now and shows how far it got - (ticaki) fix: the timezone dropdown froze the browser, is a searchable field now, and the chosen zone reaches the panel at last
- (ticaki) fix: a switched off panel was marked as such in english and german only, and hard to tell from an offline one
- (ticaki) the start page can now be set in the admin: a checkbox marks any admin page as start page, it replaces the one from the configuration script and is marked with
(main) - (ticaki) a panel no longer needs a page named
mainin the configuration script, so it can be set up in the admin alone (script version 0.21.1) - (ticaki) navigation flow: nodes are coloured by origin, pages linked with
nextandprevshare one edge, a long press target and a navigation target read from a state get a connection of their own, and hovering or clicking highlights what belongs together - (ticaki) navigation flow: an option shows the states and channels each page works with as nodes of their own, with an info panel listing what a page item makes of them
- (ticaki) navigation flow: the page info starts with the page name and its headline and links to the page configuration of an admin page
- (ticaki) admin: the navigation assignment marks a navigation target that does not exist on an assigned panel
- (ticaki) fixed: replacing a script page from the admin tore the navigation apart and could cut off the access to the service pages
- (ticaki) fixed: a panel without its own start page could show the start page of another panel
- (ticaki) fixed: after sending the configuration script the reloaded panel lost the pages of all other panels until the adapter was restarted
- (ticaki) fixed: a
cardQR,cardAlarmorcardUnlockpage in the configuration script stopped all following pages from being created - (ticaki) fixed: the page configuration of a cardTrash page did not open when the entry carries no waste types yet
- (ticaki) fixed: the state
mainNavigationPointwas not translated
1.0.1 (2026-09-01)
- (tt-tom17) cardChart (line): the x-axis no longer uses a fixed 24 h window, it now follows the configured hours range
- (tt-tom17) admin: the trash page now shows a status line after an .ics upload, including the number of appointments found
- (ticaki) admin: fixed the target page selection in the page item dialog – the dropdown stayed empty and could crash the page config tab (
null is not an object (evaluating 'x.current.removeAttribute'))
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.activatedstate to enable/disable a panel; toggle visible in TabMaintain and TabPanelinfo admin UI - (ticaki) Fixed
textSize/fontSizevalue0being rejected by the admin and ignored in some cases
0.17.6 (2026-04-22)
- (ticaki) Added
useValueConditionstopageItem. 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:
setPopupNotificationnow 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
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.