NEWS
SONOFF NSPanel mit Lovelace UI
-
@armilar Vielen Dank für die schnelle Antwort.
Meinst du das hier? Das steht alles auf pirate-weather.***** 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!
???
LG aus dem Sauerland
Jörg
-
Dein Alias zeigt aber auf OWM
Ist der alias.0.Pirate_Weather auch vorhanden? Und in allen 13 Skripten drin?
-
@armilar Ja, die sind auch vorhanden. Ich habe ein Reservepanel, falls mal eins defekt ist. Damit habe ich das skript angepasst. Anschließend habe ich dieses skript kopiert und nur noch die Pfade angepasst. Somit sollten sie alle gleich sein.
-
@c3b Hi Amilar
Du bist der beste. Ich habe es gefunden. Ich habe ein skript für den simulator. Das lief noch und das habe ich nicht umgestellt.
Dafür habe ich ja einen ESP32 und die Nextionsoftware. Damit hatte ich versucht das aktuelle skript anzupassen. Das bekomme ich aber nicht mehr ans laufen. Das sollte aber doch auch noch gehen, oder?
Ich habe dieses skript gestoppt und beobachte mein log.
Ich gebe Rückmeldung.
Vielen Dank erst einmal.
LG aus dem Sauerland
Jörg
-
Nicht mehr relevant
-
@c3b sagte in SONOFF NSPanel mit Lovelace UI:
Dafür habe ich ja einen ESP32 und die Nextionsoftware. Damit hatte ich versucht das aktuelle skript anzupassen. Das bekomme ich aber nicht mehr ans laufen. Das sollte aber doch auch noch gehen, oder?
Ja geht auch... Nur der Berry bleibt der alte für die Emulation
-
@armilar Guten Morgen.
Kurze Rückmeldung: Alles wieder super. Auch die Simulation läuft wieder.Danke schön und schönen Feiertag.
LG aus dem Sauerland
Jörg
-
SONOFF NSPanel mit Lovelace UI - Scriptupdate 4.7.12 --> 5.0.0.1
Hi, nachdem ja Accuwetter keinen free Account mehr anbietet, wollte ich auch das Script auf die aktuelle Version anpassen.
Nach einigen Schwierigkeiten mit der TFT Firmware sehe ich am Panel wieder die Serviceseite. Nachdem Start des Scripts läuft einstmal der MQTT Check:
javascript.0 12:13:03.650 info Compiling TypeScript source script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001
javascript.0 12:13:04.605 info source code did not change, using cached compilation result...
javascript.0 12:13:04.960 info --- start of NsPanelTs: 0_userdata.0.NSPanels.NSPanel-UG-KZ. ---
javascript.0 12:13:05.067 info setObjects enabled - create Alias Channels possible
javascript.0 12:13:05.069 info weather alias for pirate-weather.0. already exists
javascript.0 12:13:05.097 info registered 41 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
javascript.0 12:13:05.100 info No Updates for NSPanel available
javascript.0 12:13:05.303 info Desired TFT Firmware: 59 / v5.0.0
javascript.0 12:13:05.303 info Installed TFT Firmware: 59 / v5.0.0
javascript.0 12:13:05.467 info Debug mode disabled
javascript.0 12:13:06.548 info Desired TFT Firmware: 59 / v5.0.0
javascript.0 12:13:06.549 info Installed TFT Firmware: 59 / v5.0.0
javascript.0 12:13:06.673 info hidden Cards disabled
javascript.0 12:13:08.286 info Start MQTT-Port-Check -------------------------------------
javascript.0 12:13:08.286 info -- admin.0 - 8081
javascript.0 12:13:08.286 info -- hm-rpc.0 - 1870
javascript.0 12:13:08.286 info -- hm-rpc.1 - 1200
javascript.0 12:13:08.286 info -- hm-rpc.2 - 1201
javascript.0 12:13:08.286 info -- hue.0 - 443
javascript.0 12:13:08.286 info -- influxdb.0 - 8086
javascript.0 12:13:08.286 info -- mqtt.0 - 1887
javascript.0 12:13:08.286 info -- node-red.0 - 1880
javascript.0 12:13:08.286 info -- shelly.0 - 1886
javascript.0 12:13:08.286 info -- telegram.0 - 8443
javascript.0 12:13:08.286 info -- web.0 - 8082
javascript.0 12:13:08.287 info - MQTT-Port-Check OK: Instance of Adapter: mqtt.0 is running on Port:1887
javascript.0 12:13:08.287 info End MQTT-Port-Check ---------------------------------------Leider kommen dann nach einer kurzen Pause jede Menge Warnungen:
javascript.0 12:13:35.143 warn at HandleScreensaverUpdate (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:14315:31)
javascript.0 12:13:35.143 warn at Object.<anonymous> (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:4226:17)
javascript.0 12:13:35.143 warn at step (script.js.NSPANELS.NSPanel-UG-KZ.NSPanel-UG-KZv5001:33:23)
usw.Ich habe dann versucht noch meine Pages aus dem alten Script wieder einzufügen. Leider ohne Erfolg! Wird nur das Servicemenü angezeigt.
Bin für jeden Hinweis dankbar.
VG MS
-
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...