NEWS
SONOFF NSPanel mit Lovelace UI
-
Prima - die Hürden sind überwunden und der eigentliche Spaßfaktor kann beginnen
Warum es ab und an zu diesen Problemchen mit dem CustomSend bei der Erstkonfiguration kommt, kann ich auch nicht sagen... Wenn er ihn erst einmal abonniert hat, dann gibt es auf Lebenszeit des Panels auch keine Probleme mehr...
-
Hallo,
zunächst mal Gratulation zu der tollen Arbeit die hier schon mit dem NSPanel geliefert wurden. Ist wirklich ein tolles Werkzeug.
Eine bitte hätte ich für meinen Gebrauch. Ich verwende einen MPD-Musikserver und auch den MPD-Adapter und würde gerne das NSPanel so wie es auch beim Sonos bzw Spotify Möglich ist hier die Bedienung über den MPD Adapter steuern. Wäre es auch möglich hier den MPD-Adapter zu unterstützen?
vG Etze
-
Was für Datenpunkte zur Steuerung werden vom Adapter angelegt.
Kannst du da ein paar Informationen liefern.
Zeige auch mal eine Übersicht der Datenpunkte.
Lege dazu bitte ein issues an auf Github. -
Hi Tom, danke für das rasche Feedback. Ich habe den issue wie gewünscht angelegt. Lass mich wissen, sollte ich mit weiteren Details unterstützen können.
https://github.com/joBr99/nspanel-lovelace-ui/issues/1321
vg
Etze -
Kannst das bitte auch hier eröffnen per c&p https://github.com/ticaki/ioBroker.nspanel-lovelace-ui
-
@ticaki
Hallo, habe ich gemacht....https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/issues/238
vG
-
https://github.com/joBr99/nspanel-lovelace-ui/issues/1321
Kannst die cardMedia für den Media Player Daemon (MPD) gerne testen
Ist aktuell noch im DEV v4.7.0.3 NSPanelTs.ts :
https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/DEV/NSPanelTs.tsFolgende Funktionen sind aktuell implementiert:
- Standardelemente: Play, Pause, Stop (Power-Button), Next, Previous, Volume
- Shuffle über random (on/off)
- Repeat mit Single (Repeat Queue, Repeat Track, Repeat off)
- Wahlweise Seek (%) oder Crossfade (Sekunden) mit Klick auf das Player-Logo
- Playlist (gespeicherte Playlists werden in Queue geladen --> clear/load/play)
- Tracklist (Auswahl eines Titels in der aktuellen Queue)
- AOD (Always On Display)
- Automatische Erstellung des erforderlichen Media-Alias-Channels
// Variable for "Music Player Daemon (MDP) Adapter Instance" // Please do not use "const" as the arrays are actively used let MPD: PageType = { 'type': 'cardMedia', 'heading': 'MPD Client', 'hiddenByTrigger': true, 'items': [{ id: AliasPath + 'Media.PlayerMPD', // Path of the Media-Alias-Channel in alias.0. adapterPlayerInstance: 'mpd.0.', // Instance of the MDP-Server / MDP-Player speakerList: [], // Do not Delete or Change playList: [], // Do not Delete or Change colorMediaIcon: White, // Color of the Player-Icon colorMediaTitle: Yellow, // Color of Text-Row for Title (Row 1) colorMediaArtist: Yellow, // Color of Text-Row for Artist (Row 2) crossfade: true, // false = Seek; true = Crossfade in Logo of Player alwaysOnDisplay: true, // true = Always On Display (AOD); false = Dimmode and Screensaver-Timeout autoCreateALias : true // Create automatically required Media-Alias-Channel }] };
Viel Spaß beim Test
EDIT: Wenn der Test erfolgreich ist, schiebe ich das gerne ins Stable...
-
hallo, vielen Dank für die wirklich rasche Umsetzung. Ich komme erst morgen zum Player damit ich sehen kann wie die Musikausgabe funktioniert, aber die Datenpunkte reagieren und das Display auch!! Bin sehr zuversichtlich!!
Echt tolle Sache!!! Werden morgen noch mehr berichten!
vG
Etze -
Sag bescheid, wenn etwas fehlt
-
Hi, kann es sein das diese beiden links zum TFT Update für die US Version (noch) nicht funktionieren?
TFT US-L STABLE Version: http://nspanel.de/nspanel-us-l-v4.6.0.tft
TFT US-P STABLE Version: http://nspanel.de/nspanel-us-p-v4.6.0.tft -
@armilar
Hi, also ich habe es jetzt auch Life probiert, und es funktioniert einwandfrei!! Vielen Dank nochmals!! Das wertet für mich die Funktionalität des NSPanel wesentlich auf!! -
Stimmt... habs nochmal geprüft... ich muss die beiden US-Versionen noch nachziehen. Wird dann die v4.7.1 werden. Hatte mich bei den Erweiterungen für den Adapter zunächst auf die eu-Versionen konzentriert...
Welche Version setzt du ein? us-p oder us-l? Dann weiß ich womit ich beginnen kann
-
Update v4.7.1.2
PanelTs.ts v4.7.1.2
https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
Unteren Teil ersetzen:
TFT 56 / v4.7.1
TFT EU STABLE Version:
FlashNextion http://nspanel.de/nspanel-v4.7.1.tft
TFT US-L STABLE Version:
FlashNextion http://nspanel.de/nspanel-us-l-v4.7.1.tft
TFT US-P STABLE Version:
FlashNextion http://nspanel.de/nspanel-us-p-v4.7.1.tft
Das Update beinhaltet:
-
den MPD-Player
// Variable for "Music Player Daemon (MDP) Adapter Instance" // Please do not use "const" as the arrays are actively used let MPD: PageType = { 'type': 'cardMedia', 'heading': 'MPD Client', 'hiddenByTrigger': true, 'items': [{ id: AliasPath + 'Media.PlayerMPD', // Path of the Media-Alias-Channel in alias.0. adapterPlayerInstance: 'mpd.0.', // Instance of the MDP-Server / MDP-Player speakerList: [], // Do not Delete or Change playList: [], // Do not Delete or Change playerMediaIcon: 'logo-mpd', // "logo-mpd" (Picture-Logo) or a Icon-Logo like "alpha-m-circle" (default) colorMediaIcon: White, // Color of the Player-Icon colorMediaTitle: Yellow, // Color of Text-Row for Title (Row 1) colorMediaArtist: Yellow, // Color of Text-Row for Artist (Row 2) crossfade: true, // false = Seek; true = Crossfade in Logo of Player alwaysOnDisplay: true, // true = Always On Display (AOD); false = Dimmode and Screensaver-Timeout autoCreateALias : true // Create automatically required Media-Alias-Channel }] };
-
Media Player mit Adapter-Logo (der Variable einfach unter items z.B. die Zeile
playerMediaIcon: 'logo-alexa',
hinzufügen)folgende Logos sind möglich
- logo-alexa
- logo-bose
- logo-dlna (z.B. Squeezebox; Logitech)
- logo-mpd
- logo-sonos
- logo-spotify
- logo-volumio
- logo-alexa
-
Media Player mit Icon eigener Wahl (der Variable einfach unter items z.B. die Zeile
playerMediaIcon: "alpha-a-circle",
hinzufügen)weitere Icons wie immer unter: https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html
-
-
Hallo zusammen,
erst einmal ein großes Dankeschön für dieses tolle Forum und all die hilfreichen Beiträge – ich konnte mir schon sehr viel Wissen aneignen!
Aktuell habe ich jedoch ein Problem mit meinen beiden NSPanel-Skripten. Sie stürzen regelmäßig ab, sobald bestimmte Datenpunkte verwendet werden. Nach längerer Fehlersuche konnte ich das Problem scheinbar auf den Bereich mrIcon2ScreensaverEntity eingrenzen.
Solange ich z. B. folgenden Eintrag verwende, funktioniert alles stabil:
javascript
Kopieren
Bearbeiten
mrIcon2ScreensaverEntity: {
ScreensaverEntity: NSPanel_Path + 'Relay.2',
ScreensaverEntityIconOn: 'ceiling-light-multiple',
ScreensaverEntityIconOff: null,
ScreensaverEntityValue: null,
ScreensaverEntityValueDecimalPlace: 0,
ScreensaverEntityValueUnit: null,
ScreensaverEntityOnColor: On,
ScreensaverEntityOffColor: HMIOff
}
Sobald ich aber ScreensaverEntity durch z. B. mqtt.0.wled.All.state oder mqtt.0.zigbee2mqtt.AllWindows.state ersetze, crasht das Skript sofort, sobald sich der Status des Datenpunkts ändert.Kurios: Beide Datenpunkte funktionieren einwandfrei unter mrIcon1ScreensaverEntity, aber eben nicht unter mrIcon2ScreensaverEntity.
Fehlerbild:
Nach Änderung des Status bricht das gesamte Skript (und alle weiteren) ab. Im ioBroker-Log erscheinen dann Meldungen wie:nginx
Kopieren
Bearbeiten
State "0_userdata.0.NSPanel.2.Relay." not found
Es sieht so aus, als ob das Skript weiterhin versucht, auf Relay. zuzugreifen, obwohl dieser gar nicht mehr verwendet wird – oder durch die neue Quelle ein Wert erwartet wird, der nicht im erwarteten Format vorliegt?Logauszug (gekürzt):
Caught by controller[1]: State "0_userdata.0.NSPanel.2.Relay." not found Terminated (UNCAUGHT_EXCEPTION) Unhandled promise rejection
Ich vermute, dass entweder ein Fehler beim Wechsel der Datenquelle auftritt. Ich bin aber leider nicht fit genug in JS um den Fehler selber zurückzuverfolgen.
Hat jemand eine Idee, woran das liegen könnte? Muss ich ggf. zusätzliche Abfragen einbauen oder das Format prüfen, bevor ich die Datenquelle eintrage?
Bin für jeden Hinweis dankbar!
Logs aus dem Skript sind jeweils identisch:
14.4.2025, 11:30:52.930 [warn ]: javascript.0 (2143) at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2924:47) 14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at step (script.js.NSPanel.nspanel_705674_PC:33:23) 14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53) 14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at script.js.NSPanel.nspanel_705674_PC:8:71 14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at __awaiter (script.js.NSPanel.nspanel_705674_PC:4:12) 14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2917:32) 14.4.2025, 11:30:52.933 [warn ]: javascript.0 (2143) at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2925:62) 14.4.2025, 11:30:52.933 [warn ]: javascript.0 (2143) at step (script.js.NSPanel.nspanel_705674_PC:33:23) 14.4.2025, 11:30:52.933 [warn ]: javascript.0 (2143) at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53) 14.4.2025, 11:30:52.934 [warn ]: javascript.0 (2143) at script.js.NSPanel.nspanel_705674_PC:8:71 14.4.2025, 11:30:53.040 [info ]: javascript.0 (2143) Stopping script script.js.NSPanel.nspanel_705674_PC
IOBROKER Logs sind:
host.2b4bdf4ea464 2025-04-14 11:30:53.730 warn Do not restart adapter system.adapter.javascript.0 because restart loop detected host.2b4bdf4ea464 2025-04-14 11:30:53.730 info Restart adapter system.adapter.javascript.0 because enabled host.2b4bdf4ea464 2025-04-14 11:30:53.729 error instance system.adapter.javascript.0 terminated with code 6 (UNCAUGHT_EXCEPTION) host.2b4bdf4ea464 2025-04-14 11:30:53.729 error Caught by controller[3]: State "0_userdata.0.NSPanel.1.Relay." not found host.2b4bdf4ea464 2025-04-14 11:30:53.728 error Caught by controller[2]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: host.2b4bdf4ea464 2025-04-14 11:30:53.728 error Caught by controller[1]: State "0_userdata.0.NSPanel.2.Relay." not found host.2b4bdf4ea464 2025-04-14 11:30:53.725 error Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: javascript.0 2025-04-14 11:30:53.538 info terminating mqtt.0 2025-04-14 11:30:53.094 info send2Server mqtt.0.TasmotaDevices.nspanel_0DBF90.cmnd.CustomSend[TasmotaDevices/nspanel_0DBF90/cmnd/CustomSend] mqtt.0 2025-04-14 11:30:53.093 info send2Server mqtt.0.TasmotaDevices.nspanel_0DBF90.cmnd.CustomSend[TasmotaDevices/nspanel_0DBF90/cmnd/CustomSend] mqtt.0 2025-04-14 11:30:53.090 info send2Server mqtt.0.TasmotaDevices.nspanel_0DBF90.cmnd.CustomSend[TasmotaDevices/nspanel_0DBF90/cmnd/CustomSend] mqtt.0 2025-04-14 11:30:53.088 info send2Server mqtt.0.TasmotaDevices.nspanel_705674.cmnd.CustomSend[TasmotaDevices/nspanel_705674/cmnd/CustomSend] mqtt.0 2025-04-14 11:30:53.086 info send2Server mqtt.0.TasmotaDevices.nspanel_705674.cmnd.CustomSend[TasmotaDevices/nspanel_705674/cmnd/CustomSend] mqtt.0 2025-04-14 11:30:53.081 info send2Server mqtt.0.TasmotaDevices.nspanel_705674.cmnd.CustomSend[TasmotaDevices/nspanel_705674/cmnd/CustomSend] javascript.0 2025-04-14 11:30:53.059 warn Terminated (UNCAUGHT_EXCEPTION): Without reason javascript.0 2025-04-14 11:30:53.058 info terminating javascript.0 2025-04-14 11:30:53.047 error undefined javascript.0 2025-04-14 11:30:53.046 error unhandled promise rejection: undefined javascript.0 2025-04-14 11:30:53.046 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). javascript.0 2025-04-14 11:30:53.042 info Stopping script script.js.NSPanel.nspanel_0DBF90_Door javascript.0 2025-04-14 11:30:53.040 info Stopping script script.js.NSPanel.nspanel_705674_PC javascript.0 2025-04-14 11:30:53.038 info Stopping script script.js.common.Weather.CheckRain javascript.0 2025-04-14 11:30:52.952 error undefined javascript.0 2025-04-14 11:30:52.952 error unhandled promise rejection: undefined javascript.0 2025-04-14 11:30:52.951 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). javascript.0 2025-04-14 11:30:52.944 warn at new Promise (<anonymous>) javascript.0 2025-04-14 11:30:52.944 warn at script.js.NSPanel.nspanel_0DBF90_Door:8:71 javascript.0 2025-04-14 11:30:52.944 warn at Object.next (script.js.NSPanel.nspanel_0DBF90_Door:14:53) javascript.0 2025-04-14 11:30:52.944 warn at step (script.js.NSPanel.nspanel_0DBF90_Door:33:23) javascript.0 2025-04-14 11:30:52.944 warn at Object.<anonymous> (script.js.NSPanel.nspanel_0DBF90_Door:2925:62) javascript.0 2025-04-14 11:30:52.944 warn at setStateAsync (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2276:20) javascript.0 2025-04-14 11:30:52.944 warn at new Promise (<anonymous>) javascript.0 2025-04-14 11:30:52.943 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2277:17 javascript.0 2025-04-14 11:30:52.943 warn State "0_userdata.0.NSPanel.1.Relay." not found javascript.0 2025-04-14 11:30:52.943 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1452:38) javascript.0 2025-04-14 11:30:52.943 warn at Object.<anonymous> (script.js.NSPanel.nspanel_0DBF90_Door:2917:32) javascript.0 2025-04-14 11:30:52.943 warn at __awaiter (script.js.NSPanel.nspanel_0DBF90_Door:4:12) javascript.0 2025-04-14 11:30:52.943 warn at new Promise (<anonymous>) javascript.0 2025-04-14 11:30:52.943 warn at script.js.NSPanel.nspanel_0DBF90_Door:8:71 javascript.0 2025-04-14 11:30:52.942 warn at Object.next (script.js.NSPanel.nspanel_0DBF90_Door:14:53) javascript.0 2025-04-14 11:30:52.942 warn at step (script.js.NSPanel.nspanel_0DBF90_Door:33:23) javascript.0 2025-04-14 11:30:52.942 warn at Object.<anonymous> (script.js.NSPanel.nspanel_0DBF90_Door:2924:47) javascript.0 2025-04-14 11:30:52.937 warn getState "0_userdata.0.NSPanel.1.Relay." not found (3) javascript.0 2025-04-14 11:30:52.934 warn at new Promise (<anonymous>) javascript.0 2025-04-14 11:30:52.934 warn at script.js.NSPanel.nspanel_705674_PC:8:71 javascript.0 2025-04-14 11:30:52.933 warn at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53) javascript.0 2025-04-14 11:30:52.933 warn at step (script.js.NSPanel.nspanel_705674_PC:33:23) javascript.0 2025-04-14 11:30:52.933 warn at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2925:62) javascript.0 2025-04-14 11:30:52.933 warn at setStateAsync (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2276:20) javascript.0 2025-04-14 11:30:52.933 warn at new Promise (<anonymous>) javascript.0 2025-04-14 11:30:52.933 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2277:17 javascript.0 2025-04-14 11:30:52.931 warn State "0_userdata.0.NSPanel.2.Relay." not found javascript.0 2025-04-14 11:30:52.931 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1452:38) javascript.0 2025-04-14 11:30:52.931 warn at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2917:32) javascript.0 2025-04-14 11:30:52.931 warn at __awaiter (script.js.NSPanel.nspanel_705674_PC:4:12) javascript.0 2025-04-14 11:30:52.931 warn at new Promise (<anonymous>) javascript.0 2025-04-14 11:30:52.931 warn at script.js.NSPanel.nspanel_705674_PC:8:71 javascript.0 2025-04-14 11:30:52.931 warn at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53) javascript.0 2025-04-14 11:30:52.931 warn at step (script.js.NSPanel.nspanel_705674_PC:33:23) javascript.0 2025-04-14 11:30:52.930 warn at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2924:47) javascript.0 2025-04-14 11:30:52.916 warn getState "0_userdata.0.NSPanel.2.Relay." not found (3)
-
@sarlochin
Bitte benutze für die Lesbarkeit Code-Tags.Ich habe das bereits für die meisten Logs nachgeholt (was ich beim Überfliegen sehen konnte), mag aber nicht den ganzen Post zeilenweise durchsuchen.
-
@sarlochin sagte in SONOFF NSPanel mit Lovelace UI:
Da passieren sehr merkwürdige Dinge... wie z.B.
mqtt.0 2025-04-14 11:30:53.094 info send2Server mqtt.0.TasmotaDevices.nspanel_0DBF90.cmnd.CustomSend[TasmotaDevices/nspanel_0DBF90/cmnd/CustomSend] javascript.0 2025-04-14 11:30:52.943 warn State "0_userdata.0.NSPanel.1.Relay." not found javascript.0 2025-04-14 11:30:52.916 warn getState "0_userdata.0.NSPanel.2.Relay." not found (3)
Könntest du mal die komplette Screensaver-Config aus dem Script posten, welche die gewünschte Konfiguration beinhaltet?
Bitte in den Code-Tags aus der Menüleiste des Beitrags wie bereits von @Samson71 korrigiert. Ansonsten ist das sehr schlecht lesbar...