NEWS
Test Adapter NSPanel-lovelace-ui v0.17.x
-
ich hab da mal was indirekt mit der neuen Version zu tun, hab lange keine neuen DP's hinzugefügt.
jetzt wollte ich noch den Akkustand hinzufügenconst horst: ScriptConfig.PageGrid = { type: 'cardGrid', uniqueName: 'main', heading: 'Horst', useColor: true, items: [ { id: 'alias.0.NSPanel.Garten.horstLos', name: 'mit Rasenkant', icon: 'robot-mower', icon2: 'robot-mower', onColor: Green, offColor: colorRadio}, { id: 'alias.0.NSPanel.Garten.horstNoRasenkante', name: 'ohne Rasenkant', icon: 'robot-mower-outline', icon2: 'robot-mower-outline', onColor: Green, offColor: colorRadio}, { id: 'alias.0.NSPanel.Garten.horstReset', name: 'reset', icon: 'cancel', icon2: 'cancel', onColor: Red, offColor: Red}, { id: 'alias.0.NSPanel.Garten.horstOnline', name: 'pin: 1304', offColor: Red, onColor: MSGreen, useValue: true, fontSize: 2}, // { id: 'alias.0.NSPanel.Garten.horstAkku', name: 'Batterie', offColor: Red, onColor: MSGreen, useValue: true, fontSize: 2}, ] };wenn ich den alias.0.NSPanel.Garten.horstAkku dazunehme bekomme ich
[config-manager] Configuration error in page Horst with uniqueName main pageitem - Error: Object alias.0.NSPanel.Garten.horstAkku not found!und ja der alias ist da

{ "_id": "alias.0.NSPanel.Garten.horstAkku.ACTUAL", "common": { "name": "ACTUAL", "role": "battery", "type": "number", "read": true, "write": false, "alias": { "id": "worx.0.2019301984020008727F.mower.batteryState" } }, "native": {}, "type": "state", "acl": { "object": 1638, "state": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1776230446336 } -
ok neuer Ansatz

'Panel for Topic: nspanel_garten name: nspanel_garten Script version 0.20.1 is correct!', 'Required: ACTUAL: alias.0.NSPanel.Garten.horstAkku, channel role: info - missing - searching for dp: alias.0.NSPanel.Garten.horstAkku.ACTUAL, type: ["string","number","boolean","mixed"], role: "state"', 'Configuration error in page Horst with uniqueName main pageitem - Missing datapoints! check log for details', 'done',{ "_id": "alias.0.NSPanel.Garten.horstAkku.ACTUAL", "common": { "name": "ACTUAL", "role": "state", "type": "number", "read": true, "write": false, "alias": { "id": "worx.0.2019301984020008727F.mower.batteryState" }, "unit": "%" }, "native": {}, "type": "state", "acl": { "object": 1638, "state": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1776233804016 }der will mich doch verarschen
-
Moin,
Ein Alias hat bei uns immer im Channel eine role und dann wird daraus die nachfolgende Prüfung ermittelt. Da es keine Vorbereitete Role für batterie gibt kannst du entweder die role
infooder eine der anderen "nur lese" role nehmen z.B.temperature, humidity(weiß gerade nicht ob boolean roles useValue unterstützen)
Dann die common.role von ACTUAL anpassen und es sollte laufen:https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/blob/main/ALIAS.md
EDIT: sehe gerade im 2. hast du die channel role ausgefüllt - das hatte ich übersehen.
-
Moin,
Ein Alias hat bei uns immer im Channel eine role und dann wird daraus die nachfolgende Prüfung ermittelt. Da es keine Vorbereitete Role für batterie gibt kannst du entweder die role
infooder eine der anderen "nur lese" role nehmen z.B.temperature, humidity(weiß gerade nicht ob boolean roles useValue unterstützen)
Dann die common.role von ACTUAL anpassen und es sollte laufen:https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/blob/main/ALIAS.md
EDIT: sehe gerade im 2. hast du die channel role ausgefüllt - das hatte ich übersehen.
@ticaki @arteck Welche Version hast du im Einsatz??
laut alias Tabelle sollte bei Channelrolle info info der State ACTUAL die Rolle state sein.
was mir auffällt ist das deine Unit nicht angezeigt wird im Objektordner
{ "_id": "alias.0.Info.ACTUAL", "type": "state", "common": { "name": "Status", "type": "number", "alias": { "id": "0_userdata.0.example_state" }, "desc": "Manuell erzeugt", "role": "state", "read": true, "write": false, "unit": "%" }, "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1754729530863 }so sieht der Alias bei mir aus und funktioniert mit dem Chanel Info, der gleicht auch deinem. eventuell hat sich da etwas mit dem JavescriptAdapter aufgehangnen. eventuell mal den neu starten.
-
@ticaki @arteck Welche Version hast du im Einsatz??
laut alias Tabelle sollte bei Channelrolle info info der State ACTUAL die Rolle state sein.
was mir auffällt ist das deine Unit nicht angezeigt wird im Objektordner
{ "_id": "alias.0.Info.ACTUAL", "type": "state", "common": { "name": "Status", "type": "number", "alias": { "id": "0_userdata.0.example_state" }, "desc": "Manuell erzeugt", "role": "state", "read": true, "write": false, "unit": "%" }, "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1754729530863 }so sieht der Alias bei mir aus und funktioniert mit dem Chanel Info, der gleicht auch deinem. eventuell hat sich da etwas mit dem JavescriptAdapter aufgehangnen. eventuell mal den neu starten.
-
also ich kann da kein Fehler erkennen. das einzige was mir da wirklich ein fällt ist der Javascript Adapter, da er eine eigene DB erstellt für die ganzen Objekte. Wir haben im laufe der Zeit ein paar Mal festgestellt das der Sync zw IoBroker DB und Javascript DB nicht immer passt. meistens hat es geholfen den javascript Adapter neu zu starten.
-
Welche Version hast du im Einsatz??
0.17.3
die anderen Aliase funktionieren auch bei mir.. nur halt der neue nicht
Was es auch sein kann - der Adapter cacht objekt - wenn die sich ändern braucht es einen neustart. Neue Objekt werden eingelesen, aber änderungen an objekten die schon benutzt wurden erfordern einen neustart (nur da laufen die ganzen prüfungen)
Der Cache sollte sich zwar zurück setzen, aber das habe ich noch nicht ausgiebig getestet.
-
Ich habe mir die 0.17.3 installiert. Irgendwie habe ich es noch nicht ganz verstanden wann das neue Script greift und wann man die Einstellungen im Adapter vornimmt. Konkret habe ich folgendes Problem mit der Anzeige des Müllkalenders: seit Umstellung vom ursprünglichen (nur) Script auf Adapter werden mir die drei Müllsorten in der gleichen Farbe angezeigt. Nun habe ich im Adapter es soweit eingestellt, dass er sich die Daten vom iCal-Adapter in den nspanel-Adapter holt. Aber wie geht es nun weiter? Am Panel passiert erstmal nichts, läuft alles wie vorher. Muss ich zusätzlich noch Änderungen im Script machen?
-
Ich habe mir die 0.17.3 installiert. Irgendwie habe ich es noch nicht ganz verstanden wann das neue Script greift und wann man die Einstellungen im Adapter vornimmt. Konkret habe ich folgendes Problem mit der Anzeige des Müllkalenders: seit Umstellung vom ursprünglichen (nur) Script auf Adapter werden mir die drei Müllsorten in der gleichen Farbe angezeigt. Nun habe ich im Adapter es soweit eingestellt, dass er sich die Daten vom iCal-Adapter in den nspanel-Adapter holt. Aber wie geht es nun weiter? Am Panel passiert erstmal nichts, läuft alles wie vorher. Muss ich zusätzlich noch Änderungen im Script machen?
zeige mal bitte einen Screenshot von der Einstellung der PageTrash im Admin
deine alte Abfall-Seite im Script kannst du erstmal deaktivieren, in dem du sie hier aus kommentierst und dann das Script starten
pages: [ main, //start2, //abfallseite, ], // Unterseiten / Subpages subPages: [ bad_thermo, //wz_thermo, //chartline, ], -
zeige mal bitte einen Screenshot von der Einstellung der PageTrash im Admin
deine alte Abfall-Seite im Script kannst du erstmal deaktivieren, in dem du sie hier aus kommentierst und dann das Script starten
pages: [ main, //start2, //abfallseite, ], // Unterseiten / Subpages subPages: [ bad_thermo, //wz_thermo, //chartline, ], -
Da ist ein "Fehler" in der Navigationszuweisung, mal sehen wie man den am besten behebt. (hatt TT-Tom gefunden)
-
Da ist ein "Fehler" in der Navigationszuweisung, mal sehen wie man den am besten behebt. (hatt TT-Tom gefunden)
-
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)
zusätzlich haben wir noch Navigation Flow aus dem expert genommen, der wird jetzt immer angezeigt und die Systemseiten sind per default ausgeblendet.
-
Hi, habe den Adapter installiert und ein Panel erfolgreich angemeldet.
Probleme hab ich mit dem Wetter und einer weiteren Fehlermeldung:
admin.0 2026-04-18 20:55:01.145 warn nspanel-lovelace-ui has an invalid jsonConfig: [{"instancePath":"/items/pagePower/items/pagePowerdata/items/6","schemaPath":"#/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"attr"},"message":"must NOT have additional properties"},{"instancePath":"/items/pagePower/items/pagePowerdata/items/6","schemaPath":"#/items/allOf/18/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/pagePower/items/pagePowerdata","schemaPath":"#/patternProperties/%5E.%2B/allOf/57/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/pagePower","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/11/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}] admin.0 2026-04-18 20:53:28.180 warn nspanel-lovelace-ui has an invalid jsonConfig: [{"instancePath":"/items/pagePower/items/pagePowerdata/items/6","schemaPath":"#/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"attr"},"message":"must NOT have additional properties"},{"instancePath":"/items/pagePower/items/pagePowerdata/items/6","schemaPath":"#/items/allOf/18/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/pagePower/items/pagePowerdata","schemaPath":"#/patternProperties/%5E.%2B/allOf/57/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/pagePower","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/11/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}] nspanel-lovelace-ui.0 2026-04-18 20:52:01.455 info [NsPanelWohnzimmer] Panel startup finished! nspanel-lovelace-ui.0 2026-04-18 20:52:00.890 info [NsPanelWohnzimmer] is online! nspanel-lovelace-ui.0 2026-04-18 20:51:59.351 info [controller] 1 Panels initialized nspanel-lovelace-ui.0 2026-04-18 20:51:56.835 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.currently./ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.832 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.currently./ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.801 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.currently./ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.772 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.daily\.00.+/ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.769 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.daily\.00.+/ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.766 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.daily\.00.+/ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.730 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.currently\./ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.729 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.currently\./ dpinit is object nspanel-lovelace-ui.0 2026-04-18 20:51:56.723 warn [StatesDB] Dont finds states for /^pirate-weather\.0\.weather\.currently\./ dpinit is objectWetter ist hier eingetragen:

Version ist die 17.4
Im script:
sync function configuration (): Promise<void> { const overrideConfig: Partial<ScriptConfig.Config> = { // hier kann man die Werte von unten überschreiben bzw nicht ewig im Skript suchen wo nochmal die Farbe steht :) // pages und subpages geht hier nicht, weil die Seiten ja erst später angelegt werden. Bei const gehts nach Reihenfolge. // panelTopic: 'nspanel/ns_panel4', weatherEntity: 'pirate-weather.0.', defaultOffColor: Off, defaultOnColor: On, // weatherAddDefaultItems: // - true => alle Standard-Wetterelemente hinzufügen // - false => keine hinzufügen // - { ... } => selektiv per Schlüssel aktivieren: // sunriseSet, forecastDay1, forecastDay2, forecastDay3, forecastDay4, forecastDay5, forecastDay6, // windSpeed, windGust, windDirection, uvIndex, solar // Hinweis: Die einzelnen Schlüssel funktionieren nur, wenn der gewählte Wetteranbieter // die entsprechenden Daten liefert und diese im Adapter vorbereitet wurden "weatherAddDefaultItems": false } -
Das Skript soll auch als Beispiel dienen um zu zeigen wie man was macht. Die Einstellung im Admin treffen nur zu wenn im Skript nichts ist das sie überschreibt:
Standard im Skript ist:
z.B.
favoritScreensaverEntity: [ { type: 'template', template: 'text.pirate-weather.favorit', dpInit: `/^pirate-weather\\.0\\.weather\\.currently\\./`, modeScr: 'favorit', } ],Mache daraus:
´´´
favoritScreensaverEntity: [],
´´´Das selbe gilt für:
bottomScreensaverEntity: [],@tt-tom
sollen wir das alles auskommentieren im Script und als reines Beispiel drin lassen? -
Dass hat geklappt, Danke :-)
Musste aber auch den Adapter neu starten:
admin.0 2026-04-18 21:17:00.479 info <== Disconnect system.user.admin from ::ffff:192.168.178.52 javascript admin.0 2026-04-18 21:17:00.479 info <== Disconnect system.user.admin from ::ffff:192.168.178.52 javascript nspanel-lovelace-ui.0 2026-04-18 21:16:57.415 info [controller] Panel NsPanelWohnzimmer removed! nspanel-lovelace-ui.0 2026-04-18 21:16:57.283 warn [NsPanelWohnzimmer] is offline! nspanel-lovelace-ui.0 2026-04-18 21:16:57.283 info [NsPanelWohnzimmer] Goint offline because delete panel! nspanel-lovelace-ui.0 2026-04-18 21:16:57.282 error [NsPanelWohnzimmer] Model missmatch! Config model is eu but panel send us-p. Check your config! nspanel-lovelace-ui.0 2026-04-18 21:16:57.282 info [NsPanelWohnzimmer] is online! javascript.0 2026-04-18 21:16:56.953 info script.js.nspanel-lovelace-ui_0.NsPanelWohnzimmer: Stopping script javascript.0 2026-04-18 21:16:56.708 info script.js.nspanel-lovelace-ui_0.NsPanelWohnzimmer: [ 'Panel for Topic: NsPanelWohnzimmer name: NsPanelWohnzimmer Script version 0.20.1 is correct!', 'done', '✅ Panel "08_D1_F9_A4_ED_44" reloaded with updated configuration.'] nspanel-lovelace-ui.0 2026-04-18 21:16:56.706 info ✅ Panel "08_D1_F9_A4_ED_44" reloaded with updated configuration. -
keine ahnung wo das hier "[NsPanelWohnzimmer] Model missmatch! Config model is eu but panel send us-p. Check your config!
" herkommt - das sollte da nicht stehen wenns shcon mal lief -
kann ich das aus dem alten script einfach in den neuen Kopieren ?
/*********************************************************************** ** ** ** Screensaver Configuration ** ** ** ***********************************************************************/ leftScreensaverEntity: [ // Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400 ], bottomScreensaverEntity: [ // bottomScreensaverEntity 1 { ScreensaverEntity: 'brightsky.0.daily.00.sunrise', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityDateFormat: {hour: '2-digit', minute: '2-digit'}, // Description at Wiki-Pages ScreensaverEntityIconOn: 'weather-sunset-up', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Sonne', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: MSYellow //{'val_min': 0, 'val_max': 100} }, // bottomScreensaverEntity 2 { ScreensaverEntity: 'sainlogic.0.weather.current.windspeed', ScreensaverEntityFactor: (1000 / 3600), ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'weather-windy', ScreensaverEntityIconOff: null, ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'm/s', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} }, // bottomScreensaverEntity 3 { ScreensaverEntity: 'sainlogic.0.weather.current.windgustspeed', ScreensaverEntityFactor: (1000 / 3600), ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'weather-tornado', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Böen', ScreensaverEntityUnitText: 'm/s', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} }, // bottomScreensaverEntity 4 { ScreensaverEntity: 'brightsky.0.current.wind_bearing_text', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'windsock', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Windr.', ScreensaverEntityUnitText: '°', ScreensaverEntityIconColor: White }, // bottomScreensaverEntity 5 (for Alternative and Advanced Screensaver) { ScreensaverEntity: 'sainlogic.0.weather.current.outdoorhumidity', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'water-percent', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Feuchte', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} }, // bottomScreensaverEntity 6 (for Advanced Screensaver) { ScreensaverEntity: NSPanel_Path + 'Relay.1', ScreensaverEntityIconOn: 'coach-lamp-variant', ScreensaverEntityText: 'Street', ScreensaverEntityOnColor: Yellow, ScreensaverEntityOffColor: White, ScreensaverEntityOnText: 'Is ON', ScreensaverEntityOffText: 'Not ON' }, // Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400 ], indicatorScreensaverEntity: [ // Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400 ], // Status Icon mrIcon1ScreensaverEntity: { ScreensaverEntity: NSPanel_Path + 'Relay.1', ScreensaverEntityIconOn: 'ceiling-fan', ScreensaverEntityIconOff: null, ScreensaverEntityValue: null, ScreensaverEntityValueDecimalPlace: 0, ScreensaverEntityValueUnit: null, ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff }, mrIcon2ScreensaverEntity: { ScreensaverEntity: NSPanel_Path + 'Relay.2', ScreensaverEntityIconOn: 'lightbulb', ScreensaverEntityIconOff: null, ScreensaverEntityValue: null, ScreensaverEntityValueDecimalPlace: 0, ScreensaverEntityValueUnit: null, ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff }, // ------ DE: Ende der Screensaver Einstellungen -------------------- // ------ EN: End of screensaver settings --------------------------- -
kann ich mit https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki/PageThermo2 ein whirlpool ansteuern ?
die DP's hätte ich gerne in der Card

werd aber mal wieder aus der Beschreibung nicht schlau..
-
Ja,
ne cardThermo2 ist ne cardGrid2 mit nem Thermostat.
Da bei items (NICHT thermoItems) machste die schalter/anzeigen für filter, heater, session usw rein, wie bei einer cardGrid
const this_Thermostat: PageType = { 'type': 'cardThermo2', 'heading': 'Wohnzimmer', uniqueName: 'this_Thermostat', thermoItems: [ { id: 'alias.0.NSPanel.1.usr.Temperatur.G.Wohnzimmer.1', name: 'Heizung', name2: 'Klimaanlage', minValue: 16, maxValue: 28, stepValue: 0.1, } ], 'parent': 'main', 'items': [] };Ich steuere damit meine Klimaanlage an, du müsstest name2 weg lassen
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden


