NEWS
Betatest NSPanel-lovelace-ui v0.6.x
-
0,1 und 0,01 ergeben beide nur eine Nachkommastelle.
ja, kann den Fehler nachstellen, muss ich mir in Ruhe ansehen.
-
@hm_krause
Skript ausführen und Adapter neustarten.Das andere Projekt hat nichts mit diesem hier zu tun. ( außer den selben Betreuern)
Bin in ca 1h zuhause

-
-
prüfe im script, was hier hinter panelTopic steht, da muss
nspanel_1stehenconst config: ScriptConfig.Config = { panelTopic: 'SmartHome/NSPanel_1', weatherEntity: 'openweathermap.0.', defaultOffColor: Off, defaultOnColor: On, defaultBackgroundColor: HMIDark, weatherAddDefaultItems: false,der Name vom Script, muss gleich dem Namen vom Panel sein.
Script starten, danach adapter neu starten.
bitte auch mal das Log zeigen vom Scriptstart und Adapterstart.
-
@tt-tom
...vom Scriptjavascript.0 19:50:26.202 info Compiling TypeScript source script.js.nspanel-lovelace-ui_0.Panel_1 javascript.0 19:50:26.309 info source code did not change, using cached compilation result... javascript.0 19:50:26.321 info registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 19:50:26.522 info [ 'Panel for Topic: nspanel_1 Script version 0.9.1 is correct!', 'No navigation items found! This needs to be fixed!', 'done' ] javascript.0 19:50:26.588 info Stopping script script.js.nspanel-lovelace-ui_0.Panel_1...Adapter
nspanel-lovelace-ui.0 2025-08-14 19:52:02.321 info [Panel_1] Panel startup finished! nspanel-lovelace-ui.0 2025-08-14 19:52:02.320 debug [Panel_1] Set screeensaver timeout to 2s. nspanel-lovelace-ui.0 2025-08-14 19:52:02.220 debug [Panel_1] Set screeensaver timeout to 15s. nspanel-lovelace-ui.0 2025-08-14 19:52:01.867 debug [///Adapter-Info] Switch page to visible! nspanel-lovelace-ui.0 2025-08-14 19:52:00.070 debug [controller] Panel E4_65_B8_48_80_70 created nspanel-lovelace-ui.0 2025-08-14 19:51:59.867 warn [Panel_1-navigation] Dont find navigation main page for main nspanel-lovelace-ui.0 2025-08-14 19:51:59.867 warn [Panel_1-navigation] Dont find a navigation node with name main nspanel-lovelace-ui.0 2025-08-14 19:51:59.866 warn [Panel_1-navigation] Dont find a navigation node with name main nspanel-lovelace-ui.0 2025-08-14 19:51:57.927 warn [Panel_1] is offline! nspanel-lovelace-ui.0 2025-08-14 19:51:57.919 info [Panel_1] is online! nspanel-lovelace-ui.0 2025-08-14 19:51:57.754 debug [system-notifications] Received notifications from "system.host.iob-huawei": {"system":{"categories":{},"description":{"en":"These notifications are collected by the ioBroker system and point to issues you should check and fix.","de":"Diese Benachrichtigungen werden vom ioBroker-System erfasst und weisen auf Probleme hin, die überprüft und behoben werden sollten.","ru":"Эти уведомления собираются системой ioBroker и указывают на проблемы, которые вы должны проверить и исправить.","pt":"Essas notificações são coletadas pelo sistema ioBroker e apontam para problemas que você deve verificar e corrigir.","nl":"Deze meldingen worden verzameld door het ioBroker-systeem en wijzen op problemen die u moet controleren en oplossen.","fr":"Ces notifications sont collectées par le système ioBroker et indiquent des problèmes que vous devez vérifier et résoudre.","it":"Queste notifiche vengono raccolte dal sistema ioBroker e indicano problemi che dovresti controllare e correggere.","es":"Estas notificaciones son recopiladas por el sistema ioBroker y señalan problemas que debe verificar y solucionar.","pl":"Te powiadomienia są zbierane przez system ioBroker i wskazują problemy, które należy sprawdzić i naprawić.","uk":"Ці сповіщення збираються системою ioBroker і вказують на проблеми, які ви повинні перевірити та виправити.","zh-cn":"这些通知由ioBroker系统收集,并指出您应检查并修复的问题"},"name":{"en":"System Notifications","de":"System-Benachrichtigungen","ru":"Системные уведомления","pt":"Notificações do sistema","nl":"Systeemmeldingen","fr":"Notifications système","it":"Notifiche di sistema","es":"Notificaciones del sistema","pl":"Powiadomienia systemowe","uk":"Системні сповіщення","zh-cn":"系统通知"}}} nspanel-lovelace-ui.0 2025-08-14 19:51:57.748 debug [system-notifications] Request notifications from "system.host.iob-huawei" nspanel-lovelace-ui.0 2025-08-14 19:51:57.748 debug [system-notifications] Received notifications from "system.host.Iobroker": {} nspanel-lovelace-ui.0 2025-08-14 19:51:57.725 debug [system-notifications] Request notifications from "system.host.Iobroker" nspanel-lovelace-ui.0 2025-08-14 19:51:57.713 debug [mqttClient] subscripe to: nspanel_1/stat/# nspanel-lovelace-ui.0 2025-08-14 19:51:57.711 debug [mqttClient] subscripe to: nspanel_1/tele/# nspanel-lovelace-ui.0 2025-08-14 19:51:57.711 debug [Panel_1] Panel E4_65_B8_48_80_70 is initialised! nspanel-lovelace-ui.0 2025-08-14 19:51:57.671 debug [controller] Set current Date with time: Thu Aug 14 2025 19:51:57 GMT+0200 (Central European Summer Time) nspanel-lovelace-ui.0 2025-08-14 19:51:57.606 debug [mqttClient] subscripe to: nspanel_1/stat/RESULT nspanel-lovelace-ui.0 2025-08-14 19:51:57.559 debug [controller] controller created nspanel-lovelace-ui.0 2025-08-14 19:51:57.557 debug 42818.65625k nspanel-lovelace-ui.0 2025-08-14 19:51:57.556 info [mqttClient] Connection is active. nspanel-lovelace-ui.0 2025-08-14 19:51:57.502 debug Check configuration! nspanel-lovelace-ui.0 2025-08-14 19:51:55.469 info Force an MQTT reconnect from the Nspanel with the ip 192.168.178.56 in 10 seconds! nspanel-lovelace-ui.0 2025-08-14 19:51:55.391 debug [library] Load language de nspanel-lovelace-ui.0 2025-08-14 19:51:55.390 info Raw script config found for nspanel_1 nspanel-lovelace-ui.0 2025-08-14 19:51:55.388 error [config-manager] No navigation items found! This needs to be fixed! nspanel-lovelace-ui.0 2025-08-14 19:51:55.387 debug [config-manager] Screensaver pageItems count: 17 nspanel-lovelace-ui.0 2025-08-14 19:51:55.384 warn Invalid color value: "0_userdata.0.Abfallkalender.1.color" nspanel-lovelace-ui.0 2025-08-14 19:51:55.291 info [config-manager] Start converting configuration for nspanel_1 nspanel-lovelace-ui.0 2025-08-14 19:51:55.238 info starting. Version 0.2.4 (non-npm: ticaki/ioBroker.nspanel-lovelace-ui#955fb48e830b9ffc2f648d9d50adbbde0e5318ba) in /opt/iobroker/node_modules/iobroker.nspanel-lovelace-ui, node: v20.19.4, js-controller: 7.0.6 nspanel-lovelace-ui.0 2025-08-14 19:51:50.324 info terminating nspanel-lovelace-ui.0 2025-08-14 19:51:49.837 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason nspanel-lovelace-ui.0 2025-08-14 19:51:49.836 info terminating nspanel-lovelace-ui.0 2025-08-14 19:51:49.835 info [mqttClient] Connection is closed. nspanel-lovelace-ui.0 2025-08-14 19:51:49.833 debug [///Adapter-Info] Switch page to invisible! nspanel-lovelace-ui.0 2025-08-14 19:51:49.822 info Got terminate signal TERMINATE_YOURSELF -
Zeig mal den kompletten oberen Teil vom Skript.
-
Hab in der aktuellen Github version mal etwas mehr Log eingebaut damit das mit Topics besser zu sehen ist einmal beim startup:
... Configured panels: name#topic -> [ns_panel4#nspanel/ns_panel4], [nspanel6#nspanel/ns_panel6] ... Found 2 script configs for topics: nspanel/ns_panel4, nspanel/ns_panel6Beim übertragen des Skripts gibts noch zusätzlich:

Im log steht dann:
2025-08-14 21:06:18.038 - error: nspanel-lovelace-ui.0 (99753) [config-manager] Panel for Topic: nspanel/ns_panel67 not found in adapter config! -
@ticaki
hier bitteasync 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: false, } /************************************************************************************** ** ** ** https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki/Adapter-Installation ** ** ** *************************************************************************************/ /*********************************************************************** ** ** ** Page Configuration ** ** ** ***********************************************************************/ // Diese Konfiguration für den Fahrplan ist ein Beispiel was die interne Adapterkonfiguration benutzt, diese // ist recht komplex und wird nicht weiter erläutert. Da gibts später fertige Templates die man hier verwenden kann. // wie am Fahrplan Beispiel zu sehen ist. /* const fahrplan: any = { heading: 'Fahrplan Script', native: { card: 'cardEntities', dpInit: 'fahrplan.0.0', uniqueID: 'fahrplanrouten', template: 'entities.fahrplan.routes', } }; */ // Konfiguration findet im Admin statt, uniqueName muß gleich dem namen in der Adminkonfiguration sein. /* const qrCode: ScriptConfig.PageQR = { type: 'cardQR', uniqueName: 'qrCode' }; */ // Konfiguration findet im Admin statt, uniqueName muß gleich dem namen in der Adminkonfiguration sein. /* const chartHeizung: ScriptConfig.PageChart = { type: 'cardChart', uniqueName: 'temperatur' }; */ // Ein Beispiel für eine Gridseite mit verschiedenen Farbskalen /* const irgendeinName: ScriptConfig.PageGrid = { type: 'cardGrid', uniqueName: 'main', heading: 'Wohnzimmer', useColor: true, items: [ {id: 'alias.0.Temperatur', name: 'standard', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40}}, {id: 'alias.0.Temperatur', name: 'hue', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue'}}, {id: 'alias.0.Temperatur', name: 'cie', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie'}}, {id: 'alias.0.Temperatur', name: 'standard log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, log10: 'min'}}, {id: 'alias.0.Temperatur', name: 'hue log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue', log10: 'min'}}, {id: 'alias.0.Temperatur', name: 'cie log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie', log10: 'min'}}, {id: 'alias.0.Temperatur', name: 'standard', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40}}, {id: 'alias.0.Temperatur', name: 'hue', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue'}}, {id: 'alias.0.Temperatur', name: 'cie', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie'}}, {id: 'alias.0.Temperatur', name: 'standard log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, log10: 'max'}}, {id: 'alias.0.Temperatur', name: 'hue log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue', log10: 'max'}}, {id: 'alias.0.Temperatur', name: 'cie log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie', log10: 'max'}}, ] }; */ /* const grid1: ScriptConfig.PageGrid = { uniqueName: 'grid1', // keine Navigation, am besten uniqueName von config.ts übernehmen heading: 'Grid 1', items: [ {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'} ], type: 'cardGrid', useColor: true } */ const config: ScriptConfig.Config = { panelTopic: 'nspanel_1', weatherEntity: 'pirate-weather.0', defaultOffColor: Off, defaultOnColor: On, defaultBackgroundColor: HMIDark, weatherAddDefaultItems: false, // Als Gedankenstütze, die Hauptseite muß main heißen! //panelName: 'NSPanel', //unique name for the panel // Seiteneinteilung / Page division // Hauptseiten / Mainpages pages: [ //irgendeinName, //grid1, //qrCode, //chartHeizung, ], // Unterseiten / Subpages subPages: [ //fahrplan ], /*********************************************************************** ** ** ** Screensaver Configuration ** ** ** ***********************************************************************/ favoritScreensaverEntity: [ { type: 'template', template: 'text.openweathermap.favorit', dpInit: `/^openweathermap\\.0.+/`, modeScr: 'favorit', } ], alternateScreensaverEntity: [ // only used with alternate Screensaver ], indicatorScreensaverEntity: [ // indicatorScreensaverEntity 1 (only Advanced Screensaver) { type: 'script', ScreensaverEntity: 'alias.0.NSPanel.allgemein.Status_offene_Fenster.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'window-open-variant', ScreensaverEntityIconOff: 'window-closed-variant', ScreensaverEntityText: 'Fenster', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {val_min: 0, val_max: 1}, }, // indicatorScreensaverEntity 2 (only Advanced Screensaver) { type: 'script', ScreensaverEntity: 'alias.0.NSPanel.allgemein.Status_offene_Tuer.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'door-open', ScreensaverEntityIconOff: 'door-closed', ScreensaverEntityText: 'Tür', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {val_min: 0, val_max: 1}, }, // indicatorScreensaverEntity 3 (only Advanced Screensaver) { type: 'script', ScreensaverEntity: 'alias.0.NSPanel.allgemein.Status_Licht_An.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'lightbulb', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Licht', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {val_min: 0, val_max: 1}, }, // indicatorScreensaverEntity 4 (only Advanced Screensaver) { type: 'script', ScreensaverEntity: 'alias.0.Türschloss.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'lock', ScreensaverEntityIconOff: 'lock-open', ScreensaverEntityText: 'Türschloss', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {val_min: 0, val_max: 1, val_best: 1}, }, // indicatorScreensaverEntity 5 (only Advanced Screensaver) { type: 'script', ScreensaverEntity: 'alias.0.NSPanel.allgemein.Auto.Safety.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'car-key', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Auto', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {val_min: 0, val_max: 1, val_best: 1}, }, ], bottomScreensaverEntity: [ // bottomScreensaverEntity 1 { type: 'template', template: 'text.openweathermap.sunriseset', dpInit: `/^openweathermap\\.0\\.forecast\\.current.+/`, modeScr: 'bottom', }, // bottomScreensaverEntity 2 /*{ type: 'template', template: 'text.hmip.windcombo', dpInit: 'hmip.0.devices.3014F711A000185F2999676C', modeScr: 'bottom', //readOptions: {directionOfPanel: 81} },*/ { type: 'script', ScreensaverEntity: 'openweathermap.0.forecast.current.windSpeed', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'weather-windy', ScreensaverEntityIconOff: null, ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'm/s', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} }, // bottomScreensaverEntity 3 { type: 'script', ScreensaverEntity: 'openweathermap.0.forecast.current.windGust', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 1, ScreensaverEntityIconOn: 'weather-tornado', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Böen', ScreensaverEntityUnitText: 'm/s', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} }, // bottomScreensaverEntity 4 { type: 'template', template: 'text.openweathermap.winddirection', dpInit: `/^openweathermap\\.0./`, modeScr: 'bottom', }, // bottomScreensaverEntity 5 (Advanced Screensaver) { type: 'script', ScreensaverEntity: 'openweathermap.0.forecast.current.humidity', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'water-percent', ScreensaverEntityIconOff: null, ScreensaverEntityText: 'Feuchte', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 60} }, // bottomScreensaverEntity 6 (for Advanced Screensaver) // the 6th day from dasWetter { type: 'native', native: dasWetterBottomScreensaverEntity6 }, // Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400 // Some templates for the screensaver uncomment the lines to use them // If u use an other instance for the weather data, change the instance in the following lines // If you want to have them all, set weatherAddDefaultItems=true in the config and leave the following lines as they are! -
und
javascript.0 21:19:50.614 info Compiling TypeScript source script.js.nspanel-lovelace-ui_0.Panel_1 javascript.0 21:19:50.697 info source code did not change, using cached compilation result... javascript.0 21:19:50.709 info registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 21:19:50.767 info [ 'Panel for Topic: nspanel_1 Script version 0.9.1 is correct!', 'No navigation items found! This needs to be fixed!', 'done' ] javascript.0 21:19:50.992 info Stopping script script.js.nspanel-lovelace-ui_0.Panel_1 -
@hm_krause
Du hast alles auskommentiert - kein Wunder das da nix läuft.Wenn keine Seite mit dem uniqueName: 'main' vorhanden ist, ist das Verhalten des Adapter undefiniert. Kommentiere "irgendeinName" wieder ein entferne alle pageItems und kommentiere es auch in pages wieder ein - dann sollte zumindest was angezeigt werden... wobei hab noch net ausprobiert ob cardGrid mit 0 items geht.
EDIT: zu dem undefinierten Verhalten - ich muß vor dem Screensaver irgendwas anzeigen und das Skript funktioniert, auch wenn du die Datenpunkte nicht hast - ich dachte dann passen die User das an.
-
@ticaki
Danke erstmal,
werde das morgen nochmal in Ruhe angehen.
Ich habe von Scripte leider überhaupt keine Ahnung.
Bisher lief das mit anderen Sachen per Copy/Paste
Melde mich dann wieder... -
@hm_krause
Sry ich sehe gerade das TT-Tom das auskommentiert hat nicht du. Ich muß das jetzt mal selbst durch probieren. Ich teste halt sehr selten das neuerstellen - glaube ist schon 2 Monate herOk, bis auf die Fehlermeldungen gehts doch... ist echt zu warm heute

Egal machen wir morgen weiter - im Bespielskript sollte aber ne funktionierende Hauptseite sein - mal gucken wo ich states finde die jeder hat

-
@hm_krause
Füge im Skript unterhalb von/*********************************************************************** ** ** ** Page Configuration ** ** ** ***********************************************************************/das hier
const Hauptseite: ScriptConfig.PageGrid = { type: 'cardGrid', uniqueName: 'main', heading: 'Die Leere', items: [] };ein und und füge in pages
Hauptseiteein damit das so aussieht:pages: [ Hauptseite //irgendeinName, //grid1, //qrCode, //chartHeizung, ], -
Mal ein paar Vorlagen mit Erklärung dazu wo sie benutzt werden können und wie. (Das nächste glaube ich)Screensaver Vorlagen funktionieren nicht für cardGrid/cardEntites und umgedreht (muß das mal testen
).modeScrist immer variable - obs Sinn macht ist was anderes -> ein Bottomicon für wind im indicator anzuzeigen macht keinen Sinn.Allgemeines
dpInit: 'sainlogic.0',bezeichnet immer den Datenpfad unter dem man die dazu gehörigen Datenpunkte finden kann. Das muß zu eindeutigen Ergenissen führen. Wenn es also sainlogic.0 und sainlogic.1 mal gibt muß dortsainlogic.0odersainlogic.1stehenScreensaver: Windrichtung/-geschwindigkeit für sainlogic
{ type: 'template', template: 'text.sainlogic.windarrow', dpInit: 'sainlogic.0', modeScr: 'bottom', readOptions: {directionOfPanel: 0} //0-360 },readOptionsist optional und die darin enthaltende EigenschaftdirectionOfPanelbestimmt in welche Richtung die Person schaut, wenn sie auf das Panel sieht. Wenn dort nichts oder 0 steht ist der Pfeil genordet - also oben istnorden. Wenn man es anpasst wie beschrieben ist oben die Richtung relativ zur Person die drauf guckt zu sehen.Aussehen:

Screensaver: Windrichtung/-geschwindigkeit generisch
{ type: 'template', template: 'text.generic.windarrow', dpInit: 'Bitte anpassen', modeScr: 'bottom', readOptions: {directionOfPanel: 0} //0-360 },dpinitmuß hier angepasst werden und auf einen Order zeigen in dem 2 Datenpunkte mit folgenden Rolen und Typen zu finden sind.// Datenpunkt 1 für Richtung type: 'number', role: 'value.direction.wind', // Datenpunkt 2 für Geschwindigkeit type: 'number', role: 'value.speed.wind', unit:'km/h', // oder m/s oder was auch immerScreensaver: Batterieanzeige für bydhvs
Zeigt Ladestand in 10er Schritten an, ändert die Farbe wenn sie leer wird. Laden und entladen sind unterschiedliche Icons - werden ca. 20 verschiedene Icons verwendet.
{ type: 'template', template: 'text.battery.bydhvs', dpInit: 'bydhvs.0', modeScr: 'bottom', }sieht so aus:

Screensaver: Wetterdaten anzeigen für Pirate-Weather oder Openweathermap
Dazu findet man viel Beispiele für Wetterdaten im Konfigskript - Da der Adapter aber nichts im Nutzercode ändert, muß man für aktuelle Beispiele auf Github schauen: https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/blob/main/script/example_sendTo_script_iobroker.ts - ich kopiere die mal hier mit dazu:
OPENWEATHERMAP
//OPENWEATHERMAP // Bottom 1 - sunrise/set { type: 'template', template: 'text.openweathermap.favorit', dpInit: `/^openweathermap\\.0.+/`, modeScr: 'favorit', }, // Bottom 2 - Forecast Day 1 { type: 'template', template: 'text.openweathermap.bot2values', dpInit: `/^openweathermap\\.0.+?day0/`, modeScr: 'bottom', }, // Bottom 3 - Forecast Day 2 { type: 'template', template: 'text.openweathermap.bot2values', dpInit: `/^openweathermap\\.0.+?day1/`, modeScr: 'bottom', }, // Bottom 4 - Forecast Day 3 { type: 'template', template: 'text.openweathermap.bot2values', dpInit: `/^openweathermap\\.0.+?day2/`, modeScr: 'bottom', }, // Bottom 5 - Forecast Day 4 { type: 'template', template: 'text.openweathermap.bot2values', dpInit: `/^openweathermap\\.0.+?day3/`, modeScr: 'bottom', }, // Bottom 6 - Forecast Day 5 { type: 'template', template: 'text.openweathermap.bot2values', dpInit: `/^openweathermap\\.0.+?day4/`, modeScr: 'bottom', }, // Bottom 7 - Forecast Day 6 { type: 'template', template: 'text.openweathermap.bot2values', dpInit: `/^openweathermap\\.0.+?day5/`, modeScr: 'bottom', }, // Bottom 8 - Windgeschwindigkeit { type: 'template', template: 'text.openweathermap.windspeed', dpInit: `/^openweathermap\\.0./`, modeScr: 'bottom', }, // Bottom 9 - Böen { type: 'template', template: 'text.openweathermap.windgust', dpInit: `/^openweathermap\\.0./`, modeScr: 'bottom', }, // Bottom 10 - Windrichtung { type: 'template', template: 'text.openweathermap.winddirection', dpInit: `/^openweathermap\\.0./`, modeScr: 'bottom', },PIRATE-WEATHER
// PIRATE-WEATHER // Bottom 1 - sunrise/set { type: 'template', template: 'text.pirate-weather.sunriseset', dpInit: `/^pirate-weather\\.0\\.weather\\.daily\\.00.+/`, modeScr: 'bottom', }, // Bottom 2 - Forecast Day 1 { type: 'template', template: 'text.pirate-weather.bot2values', dpInit: `/^pirate-weather\\.0.+?\\.daily\\.01/`, modeScr: 'bottom', }, // Bottom 3 - Forecast Day 2 { type: 'template', template: 'text.pirate-weather.bot2values', dpInit: `/^pirate-weather\\.0.+?\\.daily\\.02/`, modeScr: 'bottom', }, // Bottom 4 - Forecast Day 3 { type: 'template', template: 'text.pirate-weather.bot2values', dpInit: `/^pirate-weather\\.0.+?\\.daily\\.03/`, modeScr: 'bottom', }, // Bottom 5 - Forecast Day 4 { type: 'template', template: 'text.pirate-weather.bot2values', dpInit: `/^pirate-weather\\.0.+?\\.daily\\.04/`, modeScr: 'bottom', }, // Bottom 6 - Forecast Day 5 { type: 'template', template: 'text.pirate-weather.bot2values', dpInit: `/^pirate-weather\\.0.+?\\.daily\\.05/`, modeScr: 'bottom', }, // Bottom 7 - Forecast Day 6 { type: 'template', template: 'text.pirate-weather.bot2values', dpInit: `/^pirate-weather\\.0.+?\\.daily\\.06/`, modeScr: 'bottom', }, // Bottom 8 - Windgeschwindigkeit { type: 'template', template: 'text.pirate-weather.windspeed', dpInit: `/^pirate-weather\\.0\\.weather\\.currently./`, modeScr: 'bottom', }, // Bottom 9 - Böen { type: 'template', template: 'text.pirate-weather.windgust', dpInit: `/^pirate-weather\\.0\\.weather\\.currently./`, modeScr: 'bottom', }, // Bottom 10 - Windrichtung { type: 'template', template: 'text.pirate-weather.winddirection', dpInit: `/^pirate-weather\\.0\\.weather\\.currently./`, modeScr: 'bottom', }, // Bottom 11 - UV-Index { type: 'template', template: 'text.pirate-weather.uvindex', dpInit: `/^pirate-weather\\.0\\.weather\\.currently./`, modeScr: 'bottom', }, // hier mit kann man dann eine Stundenübersicht erzeugen durch anpassen der 02 bzw. 04 { type: 'template', template: 'text.pirate-weather.hourlyweather', dpInit: `/^pirate-weather\\.0.+?\\.hourly\\.02/`, modeScr: 'bottom', }, { type: 'template', template: 'text.pirate-weather.hourlyweather', dpInit: `/^pirate-weather\\.0.+?\\.hourly\\.04/`, modeScr: 'bottom', },Da kann man sich einzelne Rauspicken und die dort anzeigen wo man möchte - also bottom geht als favorit und left als bottom usw. wie man möchte.
-
Pirate-Weather
Ist in der aktuellen Githubversion implementiert
-
@ticaki
Hallo,
leider immer noch der gleiche, nicht funktionende Stand.
Script:async 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: 'openweathermap.0.', defaultOffColor: Off, defaultOnColor: On, weatherAddDefaultItems: false, } /************************************************************************************** ** ** ** https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki/Adapter-Installation ** ** ** *************************************************************************************/ /*********************************************************************** ** ** ** Page Configuration ** ** ** ***********************************************************************/ // Beispiel Hauptseite / Mainpage // Diese Seite ist die Hauptseite, sie wird immer als erstes angezeigt und hat den uniqueName 'main'. // uniqueName 'main' muß mindestens einmal vorkommen, damit die Navigation funktioniert. const Hauptseite: ScriptConfig.PageGrid = { type: 'cardGrid', uniqueName: 'main', heading: 'Die Leere', items: [] }; // Diese Konfiguration für den Fahrplan ist ein Beispiel was die interne Adapterkonfiguration benutzt, diese // ist recht komplex und wird nicht weiter erläutert. Da gibts später fertige Templates die man hier verwenden kann. // wie am Fahrplan Beispiel zu sehen ist. /* const fahrplan: any = { heading: 'Fahrplan Script', native: { card: 'cardEntities', dpInit: 'fahrplan.0.0', uniqueID: 'fahrplanrouten', template: 'entities.fahrplan.routes', } }; */ // Konfiguration findet im Admin statt, uniqueName muß gleich dem namen in der Adminkonfiguration sein. /* const qrCode: ScriptConfig.PageQR = { type: 'cardQR', uniqueName: 'qrCode' }; */ // Konfiguration findet im Admin statt, uniqueName muß gleich dem namen in der Adminkonfiguration sein. /* const chartHeizung: ScriptConfig.PageChart = { type: 'cardChart', uniqueName: 'temperatur' }; */ // Ein Beispiel für eine Gridseite mit verschiedenen Farbskalen /* const irgendeinName: ScriptConfig.PageGrid = { type: 'cardGrid', uniqueName: 'main', heading: 'Wohnzimmer', items: [ {id: 'alias.0.Temperatur', name: 'standard', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40}}, {id: 'alias.0.Temperatur', name: 'hue', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue'}}, {id: 'alias.0.Temperatur', name: 'cie', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie'}}, {id: 'alias.0.Temperatur', name: 'standard log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, log10: 'min'}}, {id: 'alias.0.Temperatur', name: 'hue log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue', log10: 'min'}}, {id: 'alias.0.Temperatur', name: 'cie log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie', log10: 'min'}}, {id: 'alias.0.Temperatur', name: 'standard', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40}}, {id: 'alias.0.Temperatur', name: 'hue', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue'}}, {id: 'alias.0.Temperatur', name: 'cie', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie'}}, {id: 'alias.0.Temperatur', name: 'standard log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, log10: 'max'}}, {id: 'alias.0.Temperatur', name: 'hue log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue', log10: 'max'}}, {id: 'alias.0.Temperatur', name: 'cie log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie', log10: 'max'}}, ] }; */ /* const grid1: ScriptConfig.PageGrid = { uniqueName: 'grid1', // keine Navigation, am besten uniqueName von config.ts übernehmen heading: 'Grid 1', items: [ {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'} ], type: 'cardGrid', } */ const config: ScriptConfig.Config = { panelTopic: 'topic', weatherEntity: 'openweathermap.0.', defaultOffColor: Off, defaultOnColor: On, defaultBackgroundColor: HMIDark, weatherAddDefaultItems: false, // Als Gedankenstütze, die Hauptseite muß main heißen! //panelName: 'NSPanel', //unique name for the panel // Seiteneinteilung / Page division // Hauptseiten / Mainpages pages: [ Hauptseite //irgendeinName, //grid1, //qrCode, //chartHeizung, ], // Unterseiten / Subpages subPages: [ //fahrplan ],Script Log:
javascript.0 13:54:46.322 info Compiling TypeScript source script.js.nspanel-lovelace-ui_0.Panel_1 javascript.0 13:54:46.399 info source code did not change, using cached compilation result... javascript.0 13:54:46.420 info registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 13:54:46.538 info [ 'Panel for Topic: topic Script version 0.9.1 is correct!', 'done' ] javascript.0 13:54:46.673 info Stopping script script.js.nspanel-lovelace-ui_0.Panel_1Adapter:
nspanel-lovelace-ui.0 2025-08-15 13:55:54.566 info [Panel_1] Panel startup finished! nspanel-lovelace-ui.0 2025-08-15 13:55:54.566 debug [Panel_1] Set screeensaver timeout to 2s. nspanel-lovelace-ui.0 2025-08-15 13:55:54.465 debug [Panel_1] Set screeensaver timeout to 15s. nspanel-lovelace-ui.0 2025-08-15 13:55:54.455 debug [main] Switch page to visible! nspanel-lovelace-ui.0 2025-08-15 13:55:54.024 debug [controller] Panel E4_65_B8_48_80_70 created nspanel-lovelace-ui.0 2025-08-15 13:55:51.715 warn [Panel_1] is offline! nspanel-lovelace-ui.0 2025-08-15 13:55:51.707 info [Panel_1] is online! nspanel-lovelace-ui.0 2025-08-15 13:55:51.549 debug [system-notifications] Received notifications from "system.host.iob-huawei": {"system":{"categories":{},"description":{"en":"These notifications are collected by the ioBroker system and point to issues you should check and fix.","de":"Diese Benachrichtigungen werden vom ioBroker-System erfasst und weisen auf Probleme hin, die überprüft und behoben werden sollten.","ru":"Эти уведомления собираются системой ioBroker и указывают на проблемы, которые вы должны проверить и исправить.","pt":"Essas notificações são coletadas pelo sistema ioBroker e apontam para problemas que você deve verificar e corrigir.","nl":"Deze meldingen worden verzameld door het ioBroker-systeem en wijzen op problemen die u moet controleren en oplossen.","fr":"Ces notifications sont collectées par le système ioBroker et indiquent des problèmes que vous devez vérifier et résoudre.","it":"Queste notifiche vengono raccolte dal sistema ioBroker e indicano problemi che dovresti controllare e correggere.","es":"Estas notificaciones son recopiladas por el sistema ioBroker y señalan problemas que debe verificar y solucionar.","pl":"Te powiadomienia są zbierane przez system ioBroker i wskazują problemy, które należy sprawdzić i naprawić.","uk":"Ці сповіщення збираються системою ioBroker і вказують на проблеми, які ви повинні перевірити та виправити.","zh-cn":"这些通知由ioBroker系统收集,并指出您应检查并修复的问题"},"name":{"en":"System Notifications","de":"System-Benachrichtigungen","ru":"Системные уведомления","pt":"Notificações do sistema","nl":"Systeemmeldingen","fr":"Notifications système","it":"Notifiche di sistema","es":"Notificaciones del sistema","pl":"Powiadomienia systemowe","uk":"Системні сповіщення","zh-cn":"系统通知"}}} nspanel-lovelace-ui.0 2025-08-15 13:55:51.539 debug [system-notifications] Request notifications from "system.host.iob-huawei" nspanel-lovelace-ui.0 2025-08-15 13:55:51.538 debug [system-notifications] Received notifications from "system.host.Iobroker": {} nspanel-lovelace-ui.0 2025-08-15 13:55:51.534 debug [system-notifications] Request notifications from "system.host.Iobroker" nspanel-lovelace-ui.0 2025-08-15 13:55:51.503 debug [mqttClient] subscripe to: nspanel_1/stat/# nspanel-lovelace-ui.0 2025-08-15 13:55:51.501 debug [mqttClient] subscripe to: nspanel_1/tele/# nspanel-lovelace-ui.0 2025-08-15 13:55:51.501 debug [Panel_1] Panel E4_65_B8_48_80_70 is initialised! nspanel-lovelace-ui.0 2025-08-15 13:55:51.451 debug [controller] Set current Date with time: Fri Aug 15 2025 13:55:51 GMT+0200 (Central European Summer Time) nspanel-lovelace-ui.0 2025-08-15 13:55:51.395 debug [mqttClient] subscripe to: nspanel_1/stat/RESULT nspanel-lovelace-ui.0 2025-08-15 13:55:51.343 debug [controller] controller created nspanel-lovelace-ui.0 2025-08-15 13:55:51.342 debug 46401.5234375k nspanel-lovelace-ui.0 2025-08-15 13:55:51.340 info [mqttClient] Connection is active. nspanel-lovelace-ui.0 2025-08-15 13:55:51.295 debug Check configuration! nspanel-lovelace-ui.0 2025-08-15 13:55:49.263 info Force an MQTT reconnect from the Nspanel with the ip 192.168.178.56 in 10 seconds! nspanel-lovelace-ui.0 2025-08-15 13:55:49.166 debug [library] Load language de nspanel-lovelace-ui.0 2025-08-15 13:55:49.165 info Raw script config found for nspanel_1 nspanel-lovelace-ui.0 2025-08-15 13:55:49.161 debug [config-manager] Screensaver pageItems count: 17 nspanel-lovelace-ui.0 2025-08-15 13:55:49.158 warn Invalid color value: "0_userdata.0.Abfallkalender.1.color" nspanel-lovelace-ui.0 2025-08-15 13:55:49.088 info [config-manager] Start converting configuration for nspanel_1 nspanel-lovelace-ui.0 2025-08-15 13:55:49.035 info starting. Version 0.2.4 (non-npm: ticaki/ioBroker.nspanel-lovelace-ui#955fb48e830b9ffc2f648d9d50adbbde0e5318ba) in /opt/iobroker/node_modules/iobroker.nspanel-lovelace-ui, node: v20.19.4, js-controller: 7.0.6 host.Iobroker 2025-08-15 13:55:47.616 info instance system.adapter.nspanel-lovelace-ui.0 in version "0.2.4" (non-npm: ticaki/ioBroker.nspanel-lovelace-ui#955fb48e830b9ffc2f648d9d50adbbde0e5318ba) started with pid 45081 host.Iobroker 2025-08-15 13:55:44.162 info instance system.adapter.nspanel-lovelace-ui.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) nspanel-lovelace-ui.0 2025-08-15 13:55:44.054 info terminating host.Iobroker 2025-08-15 13:55:43.614 info stopInstance system.adapter.nspanel-lovelace-ui.0 send kill signal nspanel-lovelace-ui.0 2025-08-15 13:55:43.569 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason nspanel-lovelace-ui.0 2025-08-15 13:55:43.568 info terminating nspanel-lovelace-ui.0 2025-08-15 13:55:43.567 info [mqttClient] Connection is closed. nspanel-lovelace-ui.0 2025-08-15 13:55:43.564 debug [main] Switch page to invisible! nspanel-lovelace-ui.0 2025-08-15 13:55:43.553 info Got terminate signal TERMINATE_YOURSELF host.Iobroker 2025-08-15 13:55:43.550 info stopInstance system.adapter.nspanel-lovelace-ui.0 (force=false, process=true) -
Definiere bitte "nicht funktionende Stand." was genau funktioniert nicht? Bin zuhause - und klimatisiert - heißt ich hab zeit und bin nicht kurz vorm ausflippen wegen hitze

-
@ticaki
Panel sagt:
waiting for content..... -
Ist das alles an log was kommt für den adapter?
-
@ticaki
nochmal:nspanel-lovelace-ui.0 2025-08-15 14:06:32.642 info [Panel_1] Panel startup finished! nspanel-lovelace-ui.0 2025-08-15 14:06:32.641 debug [Panel_1] Set screeensaver timeout to 2s. nspanel-lovelace-ui.0 2025-08-15 14:06:32.541 debug [Panel_1] Set screeensaver timeout to 15s. nspanel-lovelace-ui.0 2025-08-15 14:06:32.474 debug [main] Switch page to visible! nspanel-lovelace-ui.0 2025-08-15 14:06:31.942 debug [controller] Panel E4_65_B8_48_80_70 created nspanel-lovelace-ui.0 2025-08-15 14:06:29.324 warn [Panel_1] is offline! nspanel-lovelace-ui.0 2025-08-15 14:06:29.315 info [Panel_1] is online! nspanel-lovelace-ui.0 2025-08-15 14:06:29.134 debug [system-notifications] Received notifications from "system.host.iob-huawei": {"system":{"categories":{},"description":{"en":"These notifications are collected by the ioBroker system and point to issues you should check and fix.","de":"Diese Benachrichtigungen werden vom ioBroker-System erfasst und weisen auf Probleme hin, die überprüft und behoben werden sollten.","ru":"Эти уведомления собираются системой ioBroker и указывают на проблемы, которые вы должны проверить и исправить.","pt":"Essas notificações são coletadas pelo sistema ioBroker e apontam para problemas que você deve verificar e corrigir.","nl":"Deze meldingen worden verzameld door het ioBroker-systeem en wijzen op problemen die u moet controleren en oplossen.","fr":"Ces notifications sont collectées par le système ioBroker et indiquent des problèmes que vous devez vérifier et résoudre.","it":"Queste notifiche vengono raccolte dal sistema ioBroker e indicano problemi che dovresti controllare e correggere.","es":"Estas notificaciones son recopiladas por el sistema ioBroker y señalan problemas que debe verificar y solucionar.","pl":"Te powiadomienia są zbierane przez system ioBroker i wskazują problemy, które należy sprawdzić i naprawić.","uk":"Ці сповіщення збираються системою ioBroker і вказують на проблеми, які ви повинні перевірити та виправити.","zh-cn":"这些通知由ioBroker系统收集,并指出您应检查并修复的问题"},"name":{"en":"System Notifications","de":"System-Benachrichtigungen","ru":"Системные уведомления","pt":"Notificações do sistema","nl":"Systeemmeldingen","fr":"Notifications système","it":"Notifiche di sistema","es":"Notificaciones del sistema","pl":"Powiadomienia systemowe","uk":"Системні сповіщення","zh-cn":"系统通知"}}} nspanel-lovelace-ui.0 2025-08-15 14:06:29.122 debug [system-notifications] Request notifications from "system.host.iob-huawei" nspanel-lovelace-ui.0 2025-08-15 14:06:29.121 debug [system-notifications] Received notifications from "system.host.Iobroker": {} nspanel-lovelace-ui.0 2025-08-15 14:06:29.117 debug [system-notifications] Request notifications from "system.host.Iobroker" nspanel-lovelace-ui.0 2025-08-15 14:06:29.112 debug [mqttClient] subscripe to: nspanel_1/stat/# nspanel-lovelace-ui.0 2025-08-15 14:06:29.110 debug [mqttClient] subscripe to: nspanel_1/tele/# nspanel-lovelace-ui.0 2025-08-15 14:06:29.109 debug [Panel_1] Panel E4_65_B8_48_80_70 is initialised! nspanel-lovelace-ui.0 2025-08-15 14:06:29.065 debug [controller] Set current Date with time: Fri Aug 15 2025 14:06:29 GMT+0200 (Central European Summer Time) nspanel-lovelace-ui.0 2025-08-15 14:06:29.003 debug [mqttClient] subscripe to: nspanel_1/stat/RESULT nspanel-lovelace-ui.0 2025-08-15 14:06:28.955 debug [controller] controller created nspanel-lovelace-ui.0 2025-08-15 14:06:28.954 debug 42802.5078125k nspanel-lovelace-ui.0 2025-08-15 14:06:28.952 info [mqttClient] Connection is active. nspanel-lovelace-ui.0 2025-08-15 14:06:28.901 debug Check configuration! nspanel-lovelace-ui.0 2025-08-15 14:06:26.865 info Force an MQTT reconnect from the Nspanel with the ip 192.168.178.56 in 10 seconds! nspanel-lovelace-ui.0 2025-08-15 14:06:26.774 debug [library] Load language de nspanel-lovelace-ui.0 2025-08-15 14:06:26.774 info Raw script config found for nspanel_1 nspanel-lovelace-ui.0 2025-08-15 14:06:26.769 debug [config-manager] Screensaver pageItems count: 17 nspanel-lovelace-ui.0 2025-08-15 14:06:26.765 warn Invalid color value: "0_userdata.0.Abfallkalender.1.color" nspanel-lovelace-ui.0 2025-08-15 14:06:26.686 info [config-manager] Start converting configuration for nspanel_1 nspanel-lovelace-ui.0 2025-08-15 14:06:26.623 info starting. Version 0.2.4 (non-npm: ticaki/ioBroker.nspanel-lovelace-ui#955fb48e830b9ffc2f648d9d50adbbde0e5318ba) in /opt/iobroker/node_modules/iobroker.nspanel-lovelace-ui, node: v20.19.4, js-controller: 7.0.6 nspanel-lovelace-ui.0 2025-08-15 14:06:21.536 info terminating nspanel-lovelace-ui.0 2025-08-15 14:06:21.250 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason nspanel-lovelace-ui.0 2025-08-15 14:06:21.249 info terminating nspanel-lovelace-ui.0 2025-08-15 14:06:21.249 info [mqttClient] Connection is closed. nspanel-lovelace-ui.0 2025-08-15 14:06:21.245 debug [main] Switch page to invisible! nspanel-lovelace-ui.0 2025-08-15 14:06:21.035 info Got terminate signal TERMINATE_YOURSELF nspanel-lovelace-ui.0 2025-08-15 14:06:09.678 debug [config-manager] Screensaver pageItems count: 17 nspanel-lovelace-ui.0 2025-08-15 14:06:09.669 warn Invalid color value: "0_userdata.0.Abfallkalender.1.color" nspanel-lovelace-ui.0 2025-08-15 14:06:09.498 info [config-manager] Start converting configuration for topic nspanel-lovelace-ui.0 2025-08-15 14:06:09.497 debug {"command":"ScriptConfig","message":{"panelTopic":"topic","weatherEntity":"openweathermap.0.","defaultOffColor":{"red":253,"green":128,"blue":0},"defaultOnColor":{"red":253,"green":216,"blue":53},"defaultBackgroundColor":{"red":29,"green":29,"blue":29},"weatherAddDefaultItems":false,"pages":[{"type":"cardGrid","uniqueName":"main","heading":"Die Leere","items":[]}],"subPages":[],"favoritScreensaverEntity":[{"type":"template","template":"text.openweathermap.favorit","dpInit":"/^openweathermap\\.0.+/","modeScr":"favorit"}],"alternateScreensaverEntity":[],"indicatorScreensaverEntity":[{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Status_offene_Fenster.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"window-open-variant","ScreensaverEntityIconOff":"window-closed-variant","ScreensaverEntityText":"Fenster","ScreensaverEntityUnitText":"%","ScreensaverEntityIconColor":{"val_min":0,"val_max":1}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Status_offene_Tuer.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"door-open","ScreensaverEntityIconOff":"door-closed","ScreensaverEntityText":"Tür","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Status_Licht_An.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"lightbulb","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Licht","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1}},{"type":"script","ScreensaverEntity":"alias.0.Türschloss.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"lock","ScreensaverEntityIconOff":"lock-open","ScreensaverEntityText":"Türschloss","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1,"val_best":1}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Auto.Safety.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"car-key","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Auto","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1,"val_best":1}}],"bottomScreensaverEntity":[{"type":"template","template":"text.openweathermap.sunriseset","dpInit":"/^openweathermap\\.0\\.forecast\\.current.+/","modeScr":"bottom"},{"type":"script","ScreensaverEntity":"openweathermap.0.forecast.current.windSpeed","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"weather-windy","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Wind","ScreensaverEntityUnitText":"m/s","ScreensaverEntityIconColor":{"val_min":0,"val_max":120}},{"type":"script","ScreensaverEntity":"openweathermap.0.forecast.current.windGust","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"weather-tornado","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Böen","ScreensaverEntityUnitText":"m/s","ScreensaverEntityIconColor":{"val_min":0,"val_max":120}},{"type":"template","template":"text.openweathermap.winddirection","dpInit":"/^openweathermap\\.0./","modeScr":"bottom"},{"type":"script","ScreensaverEntity":"openweathermap.0.forecast.current.humidity","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"water-percent","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Feuchte","ScreensaverEntityUnitText":"%","ScreensaverEntityIconColor":{"val_min":0,"val_max":100,"val_best":60}},{"type":"native","native":{"type":"native","native":{"role":"2values","dpInit":"","type":"text","modeScr":"bottom","data":{"entity1":{"value":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Minimale_Temperatur_value"},"decimal":{"type":"const","constVal":0},"unit":{"type":"const","constVal":"° "}},"entity2":{"value":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Maximale_Temperatur_value"},"decimal":{"type":"const","constVal":0},"unit":{"type":"const","constVal":"°"}},"icon":{"true":{"value":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Wetter_Symbol_id","read":"{\n switch (val) {\n case 1: // Sonnig\n return 'weather-sunny'; // sunny\n\n case 2: // Teils bewölkt\n case 3: // Bewölkt\n return 'weather-partly-cloudy'; // partlycloudy\n \n case 4: // Bedeckt\n return 'weather-cloudy'; // cloudy\n \n case 5: // Teils bewölkt mit leichtem Regen\n case 6: // Bewölkt mit leichtem Regen\n case 8: // Teils bewölkt mit mäßigem Regen\n case 9: // Bewölkt mit mäßigem Regen\n return 'weather-partly-rainy'; // partly-rainy\n \n case 7: // Bedeckt mit leichtem Regen\n return 'weather-rainy'; // rainy\n \n case 10: // Bedeckt mit mäßigem Regen\n return 'weather-pouring'; // pouring\n \n case 11: // Teils bewölkt mit starken Regenschauern\n case 12: // Bewölkt mit stürmischen Regenschauern\n return 'weather-partly-lightning'; // partlylightning\n \n case 13: // Bedeckt mit stürmischen Regenschauern\n return 'weather-lightning'; // lightning\n \n case 14: // Teils bewölkt mit stürmischen Regenschauern und Hagel\n case 15: // Bewölkt mit stürmischen Regenschauern und Hagel\n case 16: // Bedeckt mit stürmischen Regenschauern und Hagel\n return 'weather-hail'; // Hail\n\n case 17: // Teils bewölkt mit Schnee\n case 18: // Bewölkt mit Schnee\n return 'weather-partly-snowy'; // partlysnowy\n\n case 19: // Bedeckt mit Schneeschauern\n return 'weather-snowy'; // snowy\n\n case 20: // Teils bewölkt mit Schneeregen\n case 21: // Bewölkt mit Schneeregen\n return 'weather-partly-snowy-rainy';\n\n case 22: // Bedeckt mit Schneeregen\n return 'weather-snowy-rainy'; // snowy-rainy\n\n default:\n return 'alert-circle-outline';\n }\n }"},"color":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Wetter_Symbol_id","read":"{\n switch (val) {\n case 1: // Sonnig\n return Color.swSunny;\n\n case 2: // Teils bewölkt\n case 3: // Bewölkt\n return Color.swPartlycloudy;\n\n case 4: // Bedeckt\n return Color.swCloudy;\n\n case 5: // Teils bewölkt mit leichtem Regen\n case 6: // Bewölkt mit leichtem Regen\n case 8: // Teils bewölkt mit mäßigem Regen\n case 9: // Bewölkt mit mäßigem Regen\n return Color.swRainy;\n\n case 7: // Bedeckt mit leichtem Regen\n return Color.swRainy;\n\n case 10: // Bedeckt mit mäßigem Regen\n return Color.swPouring;\n\n case 11: // Teils bewölkt mit starken Regenschauern\n case 12: // Bewölkt mit stürmischen Regenschauern\n return Color.swLightningRainy;\n\n case 13: // Bedeckt mit stürmischen Regenschauern\n return Color.swLightning;\n\n case 14: // Teils bewölkt mit stürmischen Regenschauern und Hagel\n case 15: // Bewölkt mit stürmischen Regenschauern und Hagel\n case 16: // Bedeckt mit stürmischen Regenschauern und Hagel\n return Color.swHail;\n\n case 17: // Teils bewölkt mit Schnee\n case 18: // Bewölkt mit Schnee\n return Color.swSnowy;\n\n case 19: // Bedeckt mit Schneeschauern\n return Color.swSnowy;\n\n case 20: // Teils bewölkt mit Schneeregen\n case 21: // Bewölkt mit Schneeregen\n return Color.swSnowyRainy; // snowy-rainy\n\n case 22: // Bedeckt mit Schneeregen\n return Color.swSnowyRainy;\n\n default:\n return Color.White;\n }\n }"}},"false":{}},"text":{"true":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Tag_value","read":"{\n return (val).substring(0,2);\n }"}}}}}}],"leftScreensaverEntity":[{"type":"script","ScreensaverEntity":"alias.0.NSPanel.Flur.Sensor.ANALOG.Temperature.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"thermometer","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Temperatur","ScreensaverEntityUnitText":"°C","ScreensaverEntityIconColor":{"val_min":0,"val_max":35,"val_best":22}},{"type":"script","ScreensaverEntity":"alias.0.Heizung.WärmeTagesVerbrauch.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"counter","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Wärme","ScreensaverEntityUnitText":" kWh","ScreensaverEntityIconColor":{"red":255,"green":235,"blue":156}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Abfall.event1.INFO","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityDateFormat":{"year":"numeric","month":"2-digit","day":"2-digit"},"ScreensaverEntityIconOn":"trash-can","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Abfall","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":"0_userdata.0.Abfallkalender.1.color"}],"mrIcon1ScreensaverEntity":{"type":"script","ScreensaverEntity":"Relay.1","ScreensaverEntityIconOn":"lightbulb","ScreensaverEntityIconOff":null,"ScreensaverEntityValue":null,"ScreensaverEntityValueDecimalPlace":0,"ScreensaverEntityValueUnit":null,"ScreensaverEntityOnColor":{"red":253,"green":216,"blue":53},"ScreensaverEntityOffColor":{"red":68,"green":115,"blue":158}},"mrIcon2ScreensaverEntity":{"type":"script","ScreensaverEntity":"Relay.2","ScreensaverEntityIconOn":"lightbulb","ScreensaverEntityIconOff":null,"ScreensaverEntityValue":null,"ScreensaverEntityValueDecimalPlace":0,"ScreensaverEntityValueUnit":null,"ScreensaverEntityOnColor":{"red":253,"green":216,"blue":53},"ScreensaverEntityOffColor":{"red":68,"green":115,"blue":158}},"buttonLeft":{"mode":"page","page":"main"},"buttonRight":null,"version":"0.9.1"},"from":"system.adapter.javascript.0","callback":{"message":{"panelTopic":"topic","weatherEntity":"openweathermap.0.","defaultOffColor":{"red":253,"green":128,"blue":0},"defaultOnColor":{"red":253,"green":216,"blue":53},"defaultBackgroundColor":{"red":29,"green":29,"blue":29},"weatherAddDefaultItems":false,"pages":[{"type":"cardGrid","uniqueName":"main","heading":"Die Leere","items":[]}],"subPages":[],"favoritScreensaverEntity":[{"type":"template","template":"text.openweathermap.favorit","dpInit":"/^openweathermap\\.0.+/","modeScr":"favorit"}],"alternateScreensaverEntity":[],"indicatorScreensaverEntity":[{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Status_offene_Fenster.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"window-open-variant","ScreensaverEntityIconOff":"window-closed-variant","ScreensaverEntityText":"Fenster","ScreensaverEntityUnitText":"%","ScreensaverEntityIconColor":{"val_min":0,"val_max":1}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Status_offene_Tuer.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"door-open","ScreensaverEntityIconOff":"door-closed","ScreensaverEntityText":"Tür","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Status_Licht_An.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"lightbulb","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Licht","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1}},{"type":"script","ScreensaverEntity":"alias.0.Türschloss.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"lock","ScreensaverEntityIconOff":"lock-open","ScreensaverEntityText":"Türschloss","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1,"val_best":1}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Auto.Safety.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"car-key","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Auto","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":{"val_min":0,"val_max":1,"val_best":1}}],"bottomScreensaverEntity":[{"type":"template","template":"text.openweathermap.sunriseset","dpInit":"/^openweathermap\\.0\\.forecast\\.current.+/","modeScr":"bottom"},{"type":"script","ScreensaverEntity":"openweathermap.0.forecast.current.windSpeed","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"weather-windy","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Wind","ScreensaverEntityUnitText":"m/s","ScreensaverEntityIconColor":{"val_min":0,"val_max":120}},{"type":"script","ScreensaverEntity":"openweathermap.0.forecast.current.windGust","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"weather-tornado","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Böen","ScreensaverEntityUnitText":"m/s","ScreensaverEntityIconColor":{"val_min":0,"val_max":120}},{"type":"template","template":"text.openweathermap.winddirection","dpInit":"/^openweathermap\\.0./","modeScr":"bottom"},{"type":"script","ScreensaverEntity":"openweathermap.0.forecast.current.humidity","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityIconOn":"water-percent","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Feuchte","ScreensaverEntityUnitText":"%","ScreensaverEntityIconColor":{"val_min":0,"val_max":100,"val_best":60}},{"type":"native","native":{"type":"native","native":{"role":"2values","dpInit":"","type":"text","modeScr":"bottom","data":{"entity1":{"value":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Minimale_Temperatur_value"},"decimal":{"type":"const","constVal":0},"unit":{"type":"const","constVal":"° "}},"entity2":{"value":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Maximale_Temperatur_value"},"decimal":{"type":"const","constVal":0},"unit":{"type":"const","constVal":"°"}},"icon":{"true":{"value":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Wetter_Symbol_id","read":"{\n switch (val) {\n case 1: // Sonnig\n return 'weather-sunny'; // sunny\n\n case 2: // Teils bewölkt\n case 3: // Bewölkt\n return 'weather-partly-cloudy'; // partlycloudy\n \n case 4: // Bedeckt\n return 'weather-cloudy'; // cloudy\n \n case 5: // Teils bewölkt mit leichtem Regen\n case 6: // Bewölkt mit leichtem Regen\n case 8: // Teils bewölkt mit mäßigem Regen\n case 9: // Bewölkt mit mäßigem Regen\n return 'weather-partly-rainy'; // partly-rainy\n \n case 7: // Bedeckt mit leichtem Regen\n return 'weather-rainy'; // rainy\n \n case 10: // Bedeckt mit mäßigem Regen\n return 'weather-pouring'; // pouring\n \n case 11: // Teils bewölkt mit starken Regenschauern\n case 12: // Bewölkt mit stürmischen Regenschauern\n return 'weather-partly-lightning'; // partlylightning\n \n case 13: // Bedeckt mit stürmischen Regenschauern\n return 'weather-lightning'; // lightning\n \n case 14: // Teils bewölkt mit stürmischen Regenschauern und Hagel\n case 15: // Bewölkt mit stürmischen Regenschauern und Hagel\n case 16: // Bedeckt mit stürmischen Regenschauern und Hagel\n return 'weather-hail'; // Hail\n\n case 17: // Teils bewölkt mit Schnee\n case 18: // Bewölkt mit Schnee\n return 'weather-partly-snowy'; // partlysnowy\n\n case 19: // Bedeckt mit Schneeschauern\n return 'weather-snowy'; // snowy\n\n case 20: // Teils bewölkt mit Schneeregen\n case 21: // Bewölkt mit Schneeregen\n return 'weather-partly-snowy-rainy';\n\n case 22: // Bedeckt mit Schneeregen\n return 'weather-snowy-rainy'; // snowy-rainy\n\n default:\n return 'alert-circle-outline';\n }\n }"},"color":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Wetter_Symbol_id","read":"{\n switch (val) {\n case 1: // Sonnig\n return Color.swSunny;\n\n case 2: // Teils bewölkt\n case 3: // Bewölkt\n return Color.swPartlycloudy;\n\n case 4: // Bedeckt\n return Color.swCloudy;\n\n case 5: // Teils bewölkt mit leichtem Regen\n case 6: // Bewölkt mit leichtem Regen\n case 8: // Teils bewölkt mit mäßigem Regen\n case 9: // Bewölkt mit mäßigem Regen\n return Color.swRainy;\n\n case 7: // Bedeckt mit leichtem Regen\n return Color.swRainy;\n\n case 10: // Bedeckt mit mäßigem Regen\n return Color.swPouring;\n\n case 11: // Teils bewölkt mit starken Regenschauern\n case 12: // Bewölkt mit stürmischen Regenschauern\n return Color.swLightningRainy;\n\n case 13: // Bedeckt mit stürmischen Regenschauern\n return Color.swLightning;\n\n case 14: // Teils bewölkt mit stürmischen Regenschauern und Hagel\n case 15: // Bewölkt mit stürmischen Regenschauern und Hagel\n case 16: // Bedeckt mit stürmischen Regenschauern und Hagel\n return Color.swHail;\n\n case 17: // Teils bewölkt mit Schnee\n case 18: // Bewölkt mit Schnee\n return Color.swSnowy;\n\n case 19: // Bedeckt mit Schneeschauern\n return Color.swSnowy;\n\n case 20: // Teils bewölkt mit Schneeregen\n case 21: // Bewölkt mit Schneeregen\n return Color.swSnowyRainy; // snowy-rainy\n\n case 22: // Bedeckt mit Schneeregen\n return Color.swSnowyRainy;\n\n default:\n return Color.White;\n }\n }"}},"false":{}},"text":{"true":{"type":"triggered","dp":"daswetter.0.NextDays.Location_1.Day_6.Tag_value","read":"{\n return (val).substring(0,2);\n }"}}}}}}],"leftScreensaverEntity":[{"type":"script","ScreensaverEntity":"alias.0.NSPanel.Flur.Sensor.ANALOG.Temperature.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"thermometer","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Temperatur","ScreensaverEntityUnitText":"°C","ScreensaverEntityIconColor":{"val_min":0,"val_max":35,"val_best":22}},{"type":"script","ScreensaverEntity":"alias.0.Heizung.WärmeTagesVerbrauch.ACTUAL","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":1,"ScreensaverEntityIconOn":"counter","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Wärme","ScreensaverEntityUnitText":" kWh","ScreensaverEntityIconColor":{"red":255,"green":235,"blue":156}},{"type":"script","ScreensaverEntity":"alias.0.NSPanel.allgemein.Abfall.event1.INFO","ScreensaverEntityFactor":1,"ScreensaverEntityDecimalPlaces":0,"ScreensaverEntityDateFormat":{"year":"numeric","month":"2-digit","day":"2-digit"},"ScreensaverEntityIconOn":"trash-can","ScreensaverEntityIconOff":null,"ScreensaverEntityText":"Abfall","ScreensaverEntityUnitText":"","ScreensaverEntityIconColor":"0_userdata.0.Abfallkalender.1.color"}],"mrIcon1ScreensaverEntity":{"type":"script","ScreensaverEntity":"Relay.1","ScreensaverEntityIconOn":"lightbulb","ScreensaverEntityIconOff":null,"ScreensaverEntityValue":null,"ScreensaverEntityValueDecimalPlace":0,"ScreensaverEntityValueUnit":null,"ScreensaverEntityOnColor":{"red":253,"green":216,"blue":53},"ScreensaverEntityOffColor":{"red":68,"green":115,"blue":158}},"mrIcon2ScreensaverEntity":{"type":"script","ScreensaverEntity":"Relay.2","ScreensaverEntityIconOn":"lightbulb","ScreensaverEntityIconOff":null,"ScreensaverEntityValue":null,"ScreensaverEntityValueDecimalPlace":0,"ScreensaverEntityValueUnit":null,"ScreensaverEntityOnColor":{"red":253,"green":216,"blue":53},"ScreensaverEntityOffColor":{"red":68,"green":115,"blue":158}},"buttonLeft":{"mode":"page","page":"main"},"buttonRight":null,"version":"0.9.1"},"id":15,"ack":false,"time":1755259569487},"_id":94552161}
