NEWS
Betatest NSPanel-lovelace-ui v0.6.x
-
@arteck sagte in Betatest NSPanel-lovelace-ui v0.2.x:
@asgothian sagte in Betatest NSPanel-lovelace-ui v0.2.x:
Hier bin ich eher vorsichtig - ich hab za. 4 Stunden gebraucht bis ich die TFT Firmware sauber geflasht hatte - mit häufigen Fehlermeldungen und seltsamen Effekten. Warum es am ende funktioniert hat weis sich nicht - deswegen die Frage nach der unbekannten TFT version.
Axel, und ich dachte bin da alleine mit...
Willkommen im Club

was soll ich mit meinen 13 Stueck da sagen.. das komische ist, bei manchen lief das in Nullkommanix durch, da dachte ich, er haette garnicht angefangen, dabei war er schon fertig, und andere haben mich viel Snickers gekostet..
Die Dinger sind jetzt wieder gesperrt und mit Tasmota 15.01 und TFT 5 am nspanel-Adapter soweit so gut, die Grundfunktionen laufen ohne Probleme, habe aber noch nicht viel Menus, meist nur eins, muss bei Gelegenheit dann alles weitere migrieren vom Script..
-
@teletapi
Da sollte aber ne Fehlermeldung im Skript gewesen sein - hab was falsch geprüft - bzw. KI hat mir ne überprüfungsroutine geschrieben die gleichlautend mit einer anderne war und wie es dann so geht. Behebe das. -
Ist gefixt - habs auf einer cardGrid getestet
so benutzen:
const subgrid1: PageType = { uniqueName: 'media2', heading: 'Grid 1', items: [ {native: {template: 'text.battery.low',dpInit: '0_userdata.0',},}, {id: 'alias.0.Licht.lights.Gerät_1'}, {id: 'alias.0.Licht.lights.Gerät_2'}, {id: '0_userdata.0.Einzelne_Geräte.dimmer'}, {id: 'alias.0.NSPanel.allgemein.hue', }, {navigate: true, targetPage: 'fahrplanrouten'}, {id: 'alias.0.NSPanel.allgemein.shutter'}, {id: '0_userdata.0.Einzelne_Geräte.volume', name: 'Volume', onColor: HMIOn, offColor: HMIOff, minValue: 0, maxValue: 100, navigate: true, targetPage:'hidden'} ], type: 'cardGrid', home:'hidden', parent: 'cardGrid1', hiddenByTrigger: false, }Wichtig geht nicht auf einer cardMedia - da gehen keine Templates, da die cardMedia die Menge an Datenpunkte auf die begrenzt, die unterhalb des Mediadevices liegen. Das gilt aber nur für templates - normale Sachen gehen da.
EDIT: grubbel und ich habs 30 Minuten auf der cardMedia probiert und den fehler nicht gefunden

EDIT2:
Wenn ich dir eine role sage - dann mußt die genauso in der role stehenEDIT3:
Und frage einfach, wenn ich etwas unverständlich erklärt habe - ich stecke da einfach zu tief drin um es zu bemerken. -
-
Nach längerer Diskussion mit skynet kam das hier bei raus - recht bunt find ich.
Mediaplayer (
cardMedia)Stand: 11.06.2025
Unterstützte Adapter:spotify-premium,alexa2,mpd,sonosDie Karte
cardMediazeigt einen Mediaplayer mit Titel/Artist, Play/Pause, Lautstärke u.v.m. an. Je nach Adapter werden unterschiedliche Funktionen automatisch erkannt (z. B. Playlisten, Shuffle, Seek).
Minimal-Setup
const pageMediaTest1: PageType = { type: 'cardMedia', heading: 'main', uniqueName: 'main', media: { id: 'sonos.0.root.192_168_178_209', // Dein Player }, items: [], };

media.id– Beispiele- alexa2:
alexa2.0.Echo-Devices.<DEINE_ID> - spotify:
spotify-premium.0 - mpd:
mpd.0 - sonos:
sonos.0.root.192_168_178_209
Hinweis: Gibst du nur den Adapternamen ohne Instanznummer an (z. B.
spotify), wird automatisch die kleinste vorhandene Instanz verwendet.
Eigene PageItems
itemsverhält sich wie beicardGrid/cardEntities. Du kannst eigene PageItems hinzufügen. Adapter‑interne Templates sind aufcardMedianicht anwendbar.
Wichtige
media‑Optionen (Kurzüberblick)Option Bedeutung Hinweise/Beispiele idQuelle/Player (Ordner/Device/Channel, kein State) Siehe Beispiele oben nameAnzeigename Leer lassen → Name wird automatisch ermittelt colorMediaIconFarbe für das Media‑Icon Verwende Farbnamen (z. B. Blue,MSRed)colorMediaArtistFarbe für die Artist‑Zeile s. Farbe colorMediaTitleFarbe für die Titel‑Zeile s. Farbe speakerListListe erlaubter/angezeigter Lautsprecher Sonos/Spotify: Auswahl ohne Liste → keine Speaker. Andere: Whitelist (leer = alle) favoriteListWhitelist für Favoriten‑Playlists Leer oder nicht gesetzt = zeige alle playListListe verfügbarer Playlists Alexa/Spotify: aus Adapter. Sonos: nutzergeneriert (Adapter kann sie nicht einlesen) minValueMinimale Lautstärke (Panel) Mapping auf Geräte‑Skala maxValueMaximale Lautstärke (Panel) Mapping auf Geräte‑Skala itemsColorOnOn‑Farbe für einzelne Standard‑PageItems pro Item überschreibbar (s. unten) itemsColorOffOff‑Farbe für einzelne Standard‑PageItems s. unten deactivateDefaultItemsStandard‑PageItems gezielt ausblenden s. unten + Beispiel Standard‑PageItems (für Farben/Deaktivieren)
trackList,speakerList,repeat,equalizer,playList,online,reminder,clock,favoriteList,crossfade
Farben verwenden: An dieser Stelle bitte Farbnamen wie
Blue,MSRed,HMIOn,HMIOffetc. benutzen – es ist auch möglich eigene zu verwenden{red:…, green:…, blue:…}‑JSON.
(Nur in Beispielen unten werden Farbnamen gezeigt – es gibt keine separate Farbtabelle in dieser Doku.)
Beispiele
1) Farben pro Item überschreiben
media: { id: 'spotify-premium.0', itemsColorOn: { playList: Blue, speakerList: MSRed, }, itemsColorOff: { playList: Gray, }, }2) Standard‑Items ausblenden
media: { id: 'alexa2.0.Echo-Devices.DEINE_ID', deactivateDefaultItems: { trackList: true, equalizer: true, crossfade: true, }, }3) Whitelist für Favoriten / eigene Playlists
media: { id: 'sonos.0.root.192_168_178_209', favoriteList: ['Best of 90s', 'Morning Vibes'], // Whitelist – nur diese anzeigen playList: ['Living Room Mix', 'Party'], // Sonos: nutzergeneriert }4) Lautstärke‑Range am Panel begrenzen
media: { id: 'mpd.0', minValue: 5, // Panel lässt nicht unter 5 maxValue: 80, // und nicht über 80 }
Hinweise & Verhalten
- Der Adapter sammelt je nach Quelle automatisch passende States (Titel, Artist, isPlaying, Shuffle, Volume …) und erzeugt passende PageItems. Nicht jeder Adapter kann alles (z. B. Playlists).
- Seek/Repeat/Crossfade/Shuffle/Speaker: Wenn die Quelle es anbietet, werden die Controls eingeblendet.
- Logo‑Feld: Je nach Quelle kann das Logo z. B. Play/Pause toggeln oder ein Seek‑Popup öffnen.
- alexa2:
-
@ticaki sagte in Betatest NSPanel-lovelace-ui v0.2.x:
Hab schon länger keines mehr neu eingerichtet - aber seit Berry 10 kommt es bei mir kaum noch vor das ich Probleme habe.
na ich guck mal
ahhh das sieht doch besser aus... ohne probleme geklappt..
saubere arbeit
-
Anleitung: Verwendung von Templates in NSPanel PageItems
Einleitung
Templates bieten eine einfache Möglichkeit, häufig verwendete Anzeige- und Steuerungselemente in PageItems zu integrieren.
Ein Template wird als Objekt imitems-Array einer Seite eingebunden und stellt automatisch die passende Visualisierung und Logik bereit.Verwendung
Ein Template wird über das Attribut
native.templatedefiniert.
ÜberdpInitwird die Datenpunkt-ID angegeben, an die das Template gebunden ist.Beispiel für eine Uhr (digitale Anzeige):
{ native: { template: 'text.clock', dpInit: '' } },Beispiel für Batterieanzeige (niedriger Batteriestand, mit
indicator.lowbat-Role):{ native: { template: 'text.battery.low', dpInit: 'hm-rpc.1.0000DYXSDSDEF71111B7.0.LOW_BAT' } },Navigationserweiterung
Alle Templates unterstützen zusätzlich die Attribute
navigateundtargetpage. Damit kann beim Auslösen eine andere Seite geöffnet werden.
Falls notwendig, musstype: 'button'ergänzt werden.{ navigate: true, targetpage: 'zielseite', native: { template: 'text.battery.low', dpInit: '', type: 'button' }, },Beispiele
Grid mit Template
Templates können in cardGrid-Seiten genutzt werden:
const subgrid1: PageType = { uniqueName: 'media2', heading: 'Grid 1', items: [ { native: { template: 'text.battery.low', dpInit: '0_userdata.0' } }, ], type: 'cardGrid', home: 'hidden', parent: 'cardGrid1', hiddenByTrigger: false, };Einschränkungen
-
Templates stehen in
cardMedia-Seiten nicht zur Verfügung.
Benutzerdefinierte PageItems können jedoch weiterhin genutzt werden.
BeicardMediaist der Suchpfad für Datenpunkte fest vorgegeben und nicht veränderbar. -
Bei Rollen muss die Schreibweise exakt stimmen (z. B.
indicator.lowbat).
Verfügbare Templates
Die folgende Übersicht zeigt gängige Templates und ihre Einsatzbereiche:
Template Beschreibung text.clockDigitale Uhr text.battery.lowBatterieanzeige (niedrig) text.batteryBatterieanzeige allgemein text.window.isOpenFenster offen text.window.isCloseFenster geschlossen text.temperatureTemperaturanzeige text.door.isOpenTür offen text.gate.isOpenTor offen text.motionBewegungserkennung text.infoInfotext text.warningWarnanzeige text.wlanWLAN-Status text.shutter.navigationRollladensteuerung (Navigation) text.lockSchlosszustand text.isOnlineOnline-/Offline-Status Zusätzlich existieren Templates für spezielle Anwendungsfälle (z. B.
text.sainlogic.windarrow,text.custom.windarrow,text.hmip.windcombo).Es gibt noch weitere Templates, die je nach Anwendungsfall genutzt werden können.
Die Benennung orientiert sich am vorgesehenen Einsatzgebiet (z. B.button,light,shutter).Eine vollständige Übersicht kann bei Bedarf bereitgestellt werden.
Erweiterte Anpassungen (für Experten)
Templates können vollständig angepasst werden – etwa Farbe, Icon oder auch die zugehörigen Datenpunkte.
Dies sollte jedoch nur von erfahrenen Anwendern und nach Rücksprache erfolgen, da solche Änderungen leicht zu Fehlern führen können.Ein Beispiel: Änderung der Farbe der Uhr (
text.clock) :// Beispiel 1: Feste Farbe (const) native: { template: 'text.clock', dpInit: '', data: { icon: { true: { color: { type: 'const', constVal: Red }, }, }, }, },// Beispiel 2: Dynamische Farbe aus einem State (RGB JSON-String) native: { template: 'text.battery.low', dpInit: 'hm-rpc.1.Battery-Device.0.LOW_BAT', data: { icon: { true: { color: { type: 'state', dp: '0_userdata.0.visuals.batteryColorRGB' }, }, }, }, },// Beispiel 3: Dynamische Farbe per Trigger (RGB JSON-String) native: { template: 'text.battery.low', dpInit: 'hm-rpc.1.Battery-Device.0.LOW_BAT', data: { icon: { true: { color: { type: 'triggered', dp: '0_userdata.0.visuals.triggeredBatteryColor' }, }, }, }, },Wichtige Hinweise zum Schluss
-
Für den Block
nativeexistieren keine Typdefinitionen im Konfigurationsskript.
Der Grund: Hier wird direkt die adapterinterne Konfiguration berührt, die aufwendig ist und sich teilweise noch ändern kann. -
Alle beschriebenen Möglichkeiten funktionieren grundsätzlich.
Es kann jedoch vorkommen, dass bestimmte Optionen noch nicht im Konfigurationsskript eingebaut sind.
Das Hinzufügen ist meist in wenigen Minuten erledigt – bitte einfach Bescheid sagen, wenn etwas fehlt oder nicht wie erwartet funktioniert.
-
-
Noch kurze dazu:
Ich hab die überwiegend für mich gemacht - und halt ein paar abwandlungen wie isOpen oder isClose - was hilft ein template für offene Fenster wenn es nur einen Datenpunkt gibt der true wird wenn es zu ist
Da kann man für shelly, zigbee, zigbee2mqtt usw. weitere templates hinzufügen, so das man nur noch das gerät angibt und dann wird daraus ne steckdose, ein rolladen, ne lampe usw ohne Aliase anlegen zu müssen.
Das mache ich aber nur auf Anfrage - keine Lust 100 Templates zu schreiben, die keiner braucht

-
Wichtig
Gestern abend gab es für ein paar Stunden eine "kaputte" Version des Adapters auf Github -> Panel reagiert merkwürdig und zeigt nix oder nur teile an. Falls ihr also gestern abend installiert habt, noch mal neu installieren bitte.
-
Wo kommt denn dieses "Schraubenschlüssel/Uhrzeit" Symbol zwischen Uhrzeit und Datum her?

-
@holgerwolf
Ja da will ich jetzt schon seit 3 Tagen nachgucken und habs bis jetzt immer wieder vergessen - dann mache ich das mal
Da sollte eigentlich nur ein Symbol erscheinen wenn man nicht up to date ist, mit dem tft. -
Immer dann wenn es etwas zum Aktualisieren gibt, erscheint das Symbol...
Kann im Adapter-Admin dann eine neue Scriptversion oder ein TFT Update, etc. sein
-
@holgerwolf
Deine Frage hat Armilar beantwortet - jedoch gibt es in dem Bezug auch einen Fehler durch Multitasking den ich hoffe ich jetzt behoben habe.EDIT - jetzt hab ich ihn gefunden und behoben

-
Benutzt eigentlich schon jemand den Adapter zur Mediensteuerung?
-
Ich habe jetzt meine Panels auch vom Script auf den Adpater umgestellt. Durch den Wechsel von accuweather zu pirate Weather machte das Sinn.
Ging eigentlich recht schnell und problemlos nur bei den Icons Farben passt was nicht. Ich habe die entities aus dem Script übernommen, aber die Farbwerte werden nicht angepasst:{ type: 'script', ScreensaverEntity: 'pirate-weather.0.weather.daily.00.precipProbability', ScreensaverEntityFactor: 1, //New ScreensaverEntityDecimalPlaces: 0, //New ScreensaverEntityIconOn: 'weather-pouring', ScreensaverEntityText: 'Regen', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} }, // bottomScreensaverEntity 2 { type: 'script', ScreensaverEntity: 'mqtt.0.openWB.LegacySmartHome.Devices.4.TemperatureSensor2', ScreensaverEntityFactor: 1, //New ScreensaverEntityDecimalPlaces: 0, //New ScreensaverEntityIconOn: 'water-boiler', ScreensaverEntityText: 'WP', ScreensaverEntityUnitText: '°C', ScreensaverEntityIconColor: {'val_min': 65, 'val_max': 10} }, // bottomScreensaverEntity 3 { type: 'script', ScreensaverEntity: 'alias.0.smart.chargelevel.chargeLevel', ScreensaverEntityFactor: 1, //New ScreensaverEntityDecimalPlaces: 0, //New ScreensaverEntityIconOn: 'car-electric', ScreensaverEntityText: 'SoC', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 100, 'val_max': 30} }, // bottomScreensaverEntity 4 { type: 'script', ScreensaverEntity: 'javascript.0.Photovoltaik.Leistung_DC_komplett', ScreensaverEntityFactor: 1, //New ScreensaverEntityDecimalPlaces: 0, //New ScreensaverEntityIconOn: 'solar-panel', ScreensaverEntityText: 'PV', ScreensaverEntityUnitText: 'W', ScreensaverEntityIconColor: {'val_min': 5000, 'val_max': 0} },Hier das Bild dazu:

Jemand ne Idee?
-
Versuche mal die erwarteten Farben zu definieren:
ScreensaverEntityOnColor: MSGreen, ScreensaverEntityOffColor: MSRed, -
@armilar sagte in Betatest NSPanel-lovelace-ui v0.2.x:
ScreensaverEntityOnColor: MSGreen,
ScreensaverEntityOffColor: MSRed,Schon besser. Aber jetzt wechselt er die Farben wohl nur zwischen grün und rot mit unterschiedlichen Helligkeiten. Ich glaube beim Script war dann 50% gelb oder so. Werde ich jetzt mal beobachten.
-
@holgerwolf
Es gibt Möglichkeiten ohne Ende - mehr als irgendwer braucht
Sag was du erreichen willst und ich gucke nach. 
EDIT:
du könntest mal//rot - gelb - grün / Übergang ScreensaverEntityIconColor: {val_min:123, val_max:234, mode: 'triGrad'},oder
//rot - gelb - grün - blau / Übergang ScreensaverEntityIconColor: {val_min:123, val_max:234, mode: 'quadriGrad'},- Zahlen müssen durch was sinnvolles ersetzt werden
ausprobieren, da gehen aber keine benutzerdefinierten Farben.
-
denke der (in der Mitte ist gelb) ist der "triGrad":
{ type: 'script', ScreensaverEntity: 'pirate-weather.0.weather.currently.windSpeed', ScreensaverEntityFactor: 3.6, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'weather-windy', ScreensaverEntityIconOff: null, ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'km/h', ScreensaverEntityOnColor: MSGreen, ScreensaverEntityOffColor: MSRed, ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 120, 'val_best': 0, mode: 'triGrad'} }, -
@armilar sagte in Betatest NSPanel-lovelace-ui v0.2.x:
denke der (in der Mitte ist gelb) ist der "triGrad":
Ja und mit
val_bestverankert man die mitte da wo man will.