NEWS
SONOFF NSPanel mit Lovelace UI
-
das usw. wäre schon interessant bis zur ersten wiederholung
-
javascript.0 14:01:01.030 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14315:31)
javascript.0 14:01:01.031 warn at HandleScreensaver (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:13894:5)
javascript.0 14:01:01.031 warn at HandleMessage (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5771:21)
javascript.0 14:01:01.031 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5458:21
javascript.0 14:01:01.031 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 14:01:01.031 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 14:01:01.031 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
javascript.0 14:01:01.031 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14315:31)
javascript.0 14:01:01.031 warn at HandleScreensaver (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:13894:5)
javascript.0 14:01:01.031 warn at HandleMessage (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5771:21)
javascript.0 14:01:01.031 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5458:21
javascript.0 14:01:01.031 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 14:01:01.031 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 14:01:01.031 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
javascript.0 14:01:01.032 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14315:31)
javascript.0 14:01:01.032 warn at HandleScreensaver (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:13894:5)
javascript.0 14:01:01.032 warn at HandleMessage (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5771:21)
javascript.0 14:01:01.032 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5458:21
javascript.0 14:01:01.032 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 14:01:01.032 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 14:01:01.032 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
javascript.0 14:01:01.032 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14315:31)
javascript.0 14:01:01.032 warn at HandleScreensaver (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:13894:5)
javascript.0 14:01:01.032 warn at HandleMessage (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5771:21)
javascript.0 14:01:01.032 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:5458:21
javascript.0 14:01:01.032 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 14:01:01.032 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 14:01:01.032 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
Dann wiederholt es sich etwa jede Minute.
VG MS
-
@mschmidt sagte in SONOFF NSPanel mit Lovelace UI:
14315
Danke - kopiere mir jetzt noch gerade hier rein was bei dir in Zeile
14315
im skript steht - wegen der Nutzer-Konfig ist das immer unterschiedlich. -
@mschmidt sagte in SONOFF NSPanel mit Lovelace UI:
Leider ohne Erfolg! Wird nur das Servicemenü angezeigt.
kein Screensaver?
Falls da doch ein Screensaver ist, was zeigt der an?
Hast du im neuen Script auch wieder das Pagearray eingefügt?
-
Ich hatte das selbe Problem, da war im Script bei den Screensavern noch openweather. ... anstatt pirate-weather hinterlegt..
-
Zeile 14315 wäre ein Kommentarende. Habe mal die Zeilen davor und danach mit dazugenommen:
/**
- Determines the icon ID for a given page item based on the provided value thresholds.
- If the icon3 property is missing or invalid, it immediately returns the fallback icon ID.
- Otherwise, it delegates to determineStatusIcon, passing the relevant parameters.
- @param {PageItem} pageItem - Contains icon references (icon, icon2, icon3) and threshold values.
- @param {number} val - The current value used to evaluate thresholds.
- @param {string} iconId - The fallback icon ID if no matching icon is found.
- @param {[string, string, string]} [def] - Optional array of default icons corresponding to threshold levels. [low, high, between]
- @returns {string} The icon ID determined by value, thresholds, and defaults.
*/ Zeile 14315
function determinePageItemStatusIcon (pageItem: PageItem, val: number, iconId: string, def?: [string, string, string]): string {
if (!pageItem.icon3 || typeof pageItem.icon3 !== 'string') {
return iconId;
}
const max = pageItem.maxValueLevel ?? pageItem.maxValue ?? 100;
const min = pageItem.minValueLevel ?? pageItem.minValue ?? 0;
return determineStatusIcon(pageItem.icon, pageItem.icon2, pageItem.icon3, val, min, max, iconId, def);
}
/**
- Determines an icon for the screensaver based on the provided value and icon configuration.
- @param {NSPanel.ScreenSaverElement} ss - Object containing the ScreensaverEntityIconSelect array.
- @param {number} val - The current value used to determine which icon to select.
- @param {string} iconId - A fallback icon ID if no suitable icon can be retrieved.
- @returns {string} The icon ID that matches the value thresholds, or the fallback icon ID.
*/
function determineScreensaverStatusIcon(ss: NSPanel.ScreenSaverElement, val: number, iconId: string): string {
if (!ss) {
return iconId;
}
if (!ss.ScreensaverEntityIconSelect || !Array.isArray(ss.ScreensaverEntityIconSelect)) {
return iconId;
}
ss.ScreensaverEntityIconSelect = ss.ScreensaverEntityIconSelect.filter((item) => item);
ss.ScreensaverEntityIconSelect = ss.ScreensaverEntityIconSelect.sort((a, b) => a.value - b.value);
for (const item of ss.ScreensaverEntityIconSelect) {
if (val <= item.value) {
return Icons.GetIcon(item.icon) || iconId;
}
}
return Icons.GetIcon(ss.ScreensaverEntityIconSelect[ss.ScreensaverEntityIconSelect.length - 1].icon) || iconId;
}
Bei Screensaver habe ich den standard gelassen, und der wird auch korrekt auf dem Display angezeigt!
-
Meinst du diese Stelle im Script?
// DE: Mögliche Wetteradapter 'pirate-weather.0.' oder 'brightsky.0.' oder 'openweathermap.0.' oder 'daswetter.0.' (deprecated) oder 'accuweather.0.' (deprecated)
// EN: Possible weather adapters 'pirate-weather.0.' or 'brightsky.0.' or 'openweathermap.0.' or 'daswetter.0.' (deprecated) or 'accuweather.0.' (deprecated)
const weatherAdapterInstance: string = 'pirate-weather.0.'; -
@mschmidt
Ja Mist, da wird das globale Skript davor kopiert, da stimmen die Zeilennummern nicht mehr. AFAIKGucke mal was Armilar meint, der kennt sich mit dem Skript richtig gut aus.
-
ok, dein Hinweis mit den Pages hat geholfen, dass ich die Seiten nun wieder aufrufen kann. Das hatte ich in der Tat vergessen!
Das mit den Warnungen habe ich aber immer noch.Beim Screensaver habe ich alles auf Standard gelassen. (Zeit mit Wettervorhersage der nächsten 4 Tage) Das wird auch angezeigt.
Das sind die Warnungen die sich dann immer wieder wiederholen:
#########
javascript.0 10:35:04.670 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14318:31)
javascript.0 10:35:04.670 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4229:17)
javascript.0 10:35:04.670 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 10:35:04.670 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 10:35:04.670 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
javascript.0 10:35:04.670 warn at __awaiter (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4:12)
javascript.0 10:35:04.670 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4225:12)
javascript.0 10:35:04.671 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14318:31)
javascript.0 10:35:04.671 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4229:17)
javascript.0 10:35:04.671 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 10:35:04.671 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 10:35:04.671 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
javascript.0 10:35:04.671 warn at __awaiter (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4:12)
javascript.0 10:35:04.671 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4225:12)
javascript.0 10:35:04.671 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14318:31)
javascript.0 10:35:04.671 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4229:17)
javascript.0 10:35:04.671 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 10:35:04.671 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 10:35:04.671 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
javascript.0 10:35:04.672 warn at __awaiter (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4:12)
javascript.0 10:35:04.672 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4225:12)
javascript.0 10:35:04.672 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14318:31)
javascript.0 10:35:04.672 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4229:17)
javascript.0 10:35:04.672 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
javascript.0 10:35:04.672 warn at Object.next (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14:53)
javascript.0 10:35:04.673 warn at script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:8:71
javascript.0 10:35:04.673 warn at __awaiter (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4:12)
javascript.0 10:35:04.673 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4225:12)7
################ -
2 Absätze darunter wird ein Alias durch das Script für den Wetteradapter erstellt. Dieser Alias wird nicht automatisch gelöscht. Am Besten ist, den Alias-Namen umzubenennen:
/***** 3. Weather adapter Config *****/ // DE: Mögliche Wetteradapter 'pirate-weather.0.' oder 'brightsky.0.' oder 'openweathermap.0.' oder 'daswetter.0.' (deprecated) oder 'accuweather.0.' (deprecated) // EN: Possible weather adapters 'pirate-weather.0.' or 'brightsky.0.' or 'openweathermap.0.' or 'daswetter.0.' (deprecated) or 'accuweather.0.' (deprecated) const weatherAdapterInstance: string = 'pirate-weather.0.'; // DE: Mögliche Werte: 'Min', 'Max' oder 'MinMax' im Screensaver // EN: Possible values: 'Min', 'Max' or 'MinMax' in the screensaver const weatherScreensaverTempMinMax: string = 'MinMax'; // DE: Dieser Alias wird automatisch für den gewählten Wetter erstellt und kann entsprechend angepasst werden // EN: This alias is automatically created for the selected weather and can be adjusted accordingly const weatherEntityPath: string = 'alias.0.PirateWeather'; //Please rename if change weatherAdapterInstance!
Und mal kurz dein Page-Array posten (siehe Post vom 8.10.)
https://forum.iobroker.net/post/1298989 -
/***** 3. Weather adapter Config *****/ // DE: Mögliche Wetteradapter 'pirate-weather.0.' oder 'brightsky.0.' oder 'openweathermap.0.' oder 'daswetter.0.' (deprecated) oder 'accuweather.0.' (deprecated) // EN: Possible weather adapters 'pirate-weather.0.' or 'brightsky.0.' or 'openweathermap.0.' or 'daswetter.0.' (deprecated) or 'accuweather.0.' (deprecated) const weatherAdapterInstance: string = 'pirate-weather.0.'; // DE: Mögliche Werte: 'Min', 'Max' oder 'MinMax' im Screensaver // EN: Possible values: 'Min', 'Max' or 'MinMax' in the screensaver const weatherScreensaverTempMinMax: string = 'MinMax'; // DE: Dieser Alias wird automatisch für den gewählten Wetter erstellt und kann entsprechend angepasst werden // EN: This alias is automatically created for the selected weather and can be adjusted accordingly const weatherEntityPath: string = 'alias.0.Pirate_Weather'; //Please rename if change weatherAdapterInstance!
ok das habe ich gefunden, aber ich stehe ein wenig auf dem Schlauch was ich dort ändern soll?
-
Nee ist okay... der ist ja schon umbenannt...
Gibt es zwischen den Warnungen auch richtige info Logs? Ich sehe da nur warn und damit kann ich nicht wirklich etwas anfangen...
Würde dennoch gerne einen Blick auf die Daten des
alias.0.Pirate_Weather
werfen:bei mir:
Übrigens kannst du wenn du die Infos geschrieben hast den entsprechenden Text markieren und dann auf
klicken... Dann wird der Inhalt besser formatiert dargestellt...
-
-
@mschmidt sagte in SONOFF NSPanel mit Lovelace UI:
Zu den Bildern... Ich hatte mir dabei erhofft, Werte zu sehen... Inhalte aus dem Pirate-Weather Adapter...
Hintergrund: In den Warnungen stehen Funktionen mit HandleScreensaverUpdate... Dort wird der Screensaver regelmäßig upgedatet und u.a. die Wetterdaten durchlaufen und aktualisiert. An dieser Stelle funktioniert etwas nicht...
Kann alles mögliche sein:
- Script ist nicht komplett erneuert und nicht 5.0.0.1 oder 5.0.0.2 (Voraussetzung für Pirate-Weather)
- Adapter Pirate-Weather liefert keine Min-Max Temperaturdaten oder Icon oder Zeitstempel
- Alias wurde erst umbenannt, dann der Adapter umgestellt --> Dann wären im Alias falsche Adapterdaten
- ioBroker nicht aktuell
- ioBroker lange nicht restartet
- niedrige nodeJS Version
- etc. (also alles mögliche)
Wenn du nicht minimalistisch mal etwas mehr zeigst, wird jegliche Hilfe sehr kompliziert...
-
Script ist nicht komplett erneuert und nicht 5.0.0.1 oder 5.0.0.2 (Voraussetzung für Pirate-Weather) -> noch mal neu erstellt mit der letzten verfügbaren Version von "https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/ioBroker/NsPanelTs.ts"
Adapter Pirate-Weather liefert keine Min-Max Temperaturdaten oder Icon oder Zeitstempel ->
aktuelle Wetterdaten sind in den Objekten unter pirate-weather zu sehenAlias wurde erst umbenannt, dann der Adapter umgestellt --> Dann wären im Alias falsche Adapterdaten
die Daten die in den Adapterobjekten zu sehen sind stimmen mit den alias Daten überein!
ioBroker nicht aktuell --> 7.7.2
ioBroker lange nicht restartet --> Uptime < 2h
niedrige nodeJS Version -> Node.js: v20.19.5Ich weiß leider nicht was du für Infos benötigt aber bin gerne bereit diese zu teilen wenn ich weiß welche!
-
okay passt...
Wenn du den Screensaver ansiehst, ist da etwas falsch dargestellt?
Muss nicht unbedingt nur das Wetter sein, kann auch jeder andere Wert sein... Falls weitere Datenpunkte dargestellt werden, die ggfs. ebenfalls aus anderen Adaptern kommen und evtl. nicht mehr existieren, kann das ebenfalls passieren.
Beispiel: Windgeschwindigkeit aus Accuweather definiert, aber Accuweather deinstalliert?
Bitte den Debug im Skript mal auf
true
stellen und das Log senden -
Hallo
Bekomme seit einigen Tagen diese Info im Protokoll Fenster.
Hat jemand ein Idee wie was das sein könnte?mqtt.0
2025-10-10 18:32:45.158 info Client [DVES_0B8CD4] connection closed: Error: read ECONNRESETmqtt.0
2025-10-10 18:30:47.717 info Client [DVES_0B8CD4] publishOnSubscribe send all known statesmqtt.0
2025-10-10 18:30:47.717 info Client [DVES_0B8CD4] publishOnSubscribe send all known statesmqtt.0
2025-10-10 18:30:47.715 info Client [DVES_0B8CD4] publishOnSubscribe send all known statesmqtt.0
2025-10-10 18:30:47.516 info Client [DVES_0B8CD4] subscribes on "cmnd/DVES_0B8CD4_fb/#" with regex /^mqtt.0.cmnd.DVES_0B8CD4_fb..*/mqtt.0
2025-10-10 18:30:47.516 info Client [DVES_0B8CD4] subscribes on "cmnd/DVES_0B8CD4_fb/#" with regex /^cmnd.DVES_0B8CD4_fb..*/mqtt.0
2025-10-10 18:30:47.516 info Client [DVES_0B8CD4] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^mqtt.0.SmartHome.tasmotas.cmnd..*/mqtt.0
2025-10-10 18:30:47.516 info Client [DVES_0B8CD4] subscribes on "SmartHome/tasmotas/cmnd/#" with regex /^SmartHome.tasmotas.cmnd..*/mqtt.0
2025-10-10 18:30:47.516 info Client [DVES_0B8CD4] subscribes on "SmartHome/NSPanel_2/cmnd/#" with regex /^mqtt.0.SmartHome.NSPanel_2.cmnd..*/mqtt.0
2025-10-10 18:30:47.516 info Client [DVES_0B8CD4] subscribes on "SmartHome/NSPanel_2/cmnd/#" with regex /^SmartHome.NSPanel_2.cmnd..*/mqtt.0
2025-10-10 18:30:47.463 info Client [DVES_0B8CD4] connected with secret 1760113847461_6512mqtt.0
2025-10-10 18:30:47.277 info Client [DVES_0B8CD4] connection closed: Error: Cannot parse topicmqtt.0
2025-10-10 18:30:47.277 info Client [DVES_0B8CD4] Received pubrel for unknown message ID: 25964mqtt.0
2025-10-10 18:30:47.277 info Client [DVES_0B8CD4] Received pubrel for unknown message ID: 25964mqtt.0
2025-10-10 18:30:47.277 info Client [DVES_0B8CD4] Received pubrel for unknown message ID: 25964mqtt.0
2025-10-10 18:30:42.684 info Client [DVES_0B8CD4] Received pubrel for unknown message ID: 25964mqtt.0
2025-10-10 18:30:42.558 info Client [DVES_0B8CD4] Received pubrel for unknown message ID: 25964mqtt.0
2025-10-10 18:30:42.268 info Client [DVES_0B8CD4] Received pubrel for unknown message ID: 25964