Hallo zusammen,
erst einmal ein großes Dankeschön für dieses tolle Forum und all die hilfreichen Beiträge – ich konnte mir schon sehr viel Wissen aneignen!
Aktuell habe ich jedoch ein Problem mit meinen beiden NSPanel-Skripten. Sie stürzen regelmäßig ab, sobald bestimmte Datenpunkte verwendet werden. Nach längerer Fehlersuche konnte ich das Problem scheinbar auf den Bereich mrIcon2ScreensaverEntity eingrenzen.
Solange ich z. B. folgenden Eintrag verwende, funktioniert alles stabil:
mrIcon2ScreensaverEntity: {
ScreensaverEntity: NSPanel_Path + 'Relay.2',
ScreensaverEntityIconOn: 'ceiling-light-multiple',
ScreensaverEntityIconOff: null,
ScreensaverEntityValue: null,
ScreensaverEntityValueDecimalPlace: 0,
ScreensaverEntityValueUnit: null,
ScreensaverEntityOnColor: On,
ScreensaverEntityOffColor: HMIOff
}
Sobald ich aber ScreensaverEntity durch z. B. mqtt.0.wled.All.state oder mqtt.0.zigbee2mqtt.AllWindows.state ersetze, crasht das Skript sofort, sobald sich der Status des Datenpunkts ändert.
Kurios: Beide Datenpunkte funktionieren einwandfrei unter mrIcon1ScreensaverEntity, aber eben nicht unter mrIcon2ScreensaverEntity.
Fehlerbild:
Nach Änderung des Status bricht das gesamte Skript (und alle weiteren) ab. Im ioBroker-Log erscheinen dann Meldungen wie:
State "0_userdata.0.NSPanel.2.Relay." not found
Es sieht so aus, als ob das Skript weiterhin versucht, auf Relay. zuzugreifen, obwohl dieser gar nicht mehr verwendet wird – oder durch die neue Quelle ein Wert erwartet wird, der nicht im erwarteten Format vorliegt?
Logauszug (gekürzt):
Caught by controller[1]: State "0_userdata.0.NSPanel.2.Relay." not found
Terminated (UNCAUGHT_EXCEPTION)
Unhandled promise rejection
Ich vermute, dass entweder ein Fehler beim Wechsel der Datenquelle auftritt. Ich bin aber leider nicht fit genug in JS um den Fehler selber zurückzuverfolgen.
Hat jemand eine Idee, woran das liegen könnte? Muss ich ggf. zusätzliche Abfragen einbauen oder das Format prüfen, bevor ich die Datenquelle eintrage?
Bin für jeden Hinweis dankbar!
Logs aus dem Skript sind jeweils identisch:
14.4.2025, 11:30:52.930 [warn ]: javascript.0 (2143) at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2924:47)
14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at step (script.js.NSPanel.nspanel_705674_PC:33:23)
14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53)
14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at script.js.NSPanel.nspanel_705674_PC:8:71
14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at __awaiter (script.js.NSPanel.nspanel_705674_PC:4:12)
14.4.2025, 11:30:52.931 [warn ]: javascript.0 (2143) at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2917:32)
14.4.2025, 11:30:52.933 [warn ]: javascript.0 (2143) at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2925:62)
14.4.2025, 11:30:52.933 [warn ]: javascript.0 (2143) at step (script.js.NSPanel.nspanel_705674_PC:33:23)
14.4.2025, 11:30:52.933 [warn ]: javascript.0 (2143) at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53)
14.4.2025, 11:30:52.934 [warn ]: javascript.0 (2143) at script.js.NSPanel.nspanel_705674_PC:8:71
14.4.2025, 11:30:53.040 [info ]: javascript.0 (2143) Stopping script script.js.NSPanel.nspanel_705674_PC
IOBROKER Logs sind:
host.2b4bdf4ea464
2025-04-14 11:30:53.730 warn Do not restart adapter system.adapter.javascript.0 because restart loop detected
host.2b4bdf4ea464
2025-04-14 11:30:53.730 info Restart adapter system.adapter.javascript.0 because enabled
host.2b4bdf4ea464
2025-04-14 11:30:53.729 error instance system.adapter.javascript.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
host.2b4bdf4ea464
2025-04-14 11:30:53.729 error Caught by controller[3]: State "0_userdata.0.NSPanel.1.Relay." not found
host.2b4bdf4ea464
2025-04-14 11:30:53.728 error Caught by controller[2]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
host.2b4bdf4ea464
2025-04-14 11:30:53.728 error Caught by controller[1]: State "0_userdata.0.NSPanel.2.Relay." not found
host.2b4bdf4ea464
2025-04-14 11:30:53.725 error Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
javascript.0
2025-04-14 11:30:53.538 info terminating
mqtt.0
2025-04-14 11:30:53.094 info send2Server mqtt.0.TasmotaDevices.nspanel_0DBF90.cmnd.CustomSend[TasmotaDevices/nspanel_0DBF90/cmnd/CustomSend]
mqtt.0
2025-04-14 11:30:53.093 info send2Server mqtt.0.TasmotaDevices.nspanel_0DBF90.cmnd.CustomSend[TasmotaDevices/nspanel_0DBF90/cmnd/CustomSend]
mqtt.0
2025-04-14 11:30:53.090 info send2Server mqtt.0.TasmotaDevices.nspanel_0DBF90.cmnd.CustomSend[TasmotaDevices/nspanel_0DBF90/cmnd/CustomSend]
mqtt.0
2025-04-14 11:30:53.088 info send2Server mqtt.0.TasmotaDevices.nspanel_705674.cmnd.CustomSend[TasmotaDevices/nspanel_705674/cmnd/CustomSend]
mqtt.0
2025-04-14 11:30:53.086 info send2Server mqtt.0.TasmotaDevices.nspanel_705674.cmnd.CustomSend[TasmotaDevices/nspanel_705674/cmnd/CustomSend]
mqtt.0
2025-04-14 11:30:53.081 info send2Server mqtt.0.TasmotaDevices.nspanel_705674.cmnd.CustomSend[TasmotaDevices/nspanel_705674/cmnd/CustomSend]
javascript.0
2025-04-14 11:30:53.059 warn Terminated (UNCAUGHT_EXCEPTION): Without reason
javascript.0
2025-04-14 11:30:53.058 info terminating
javascript.0
2025-04-14 11:30:53.047 error undefined
javascript.0
2025-04-14 11:30:53.046 error unhandled promise rejection: undefined
javascript.0
2025-04-14 11:30:53.046 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
javascript.0
2025-04-14 11:30:53.042 info Stopping script script.js.NSPanel.nspanel_0DBF90_Door
javascript.0
2025-04-14 11:30:53.040 info Stopping script script.js.NSPanel.nspanel_705674_PC
javascript.0
2025-04-14 11:30:53.038 info Stopping script script.js.common.Weather.CheckRain
javascript.0
2025-04-14 11:30:52.952 error undefined
javascript.0
2025-04-14 11:30:52.952 error unhandled promise rejection: undefined
javascript.0
2025-04-14 11:30:52.951 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
javascript.0
2025-04-14 11:30:52.944 warn at new Promise (<anonymous>)
javascript.0
2025-04-14 11:30:52.944 warn at script.js.NSPanel.nspanel_0DBF90_Door:8:71
javascript.0
2025-04-14 11:30:52.944 warn at Object.next (script.js.NSPanel.nspanel_0DBF90_Door:14:53)
javascript.0
2025-04-14 11:30:52.944 warn at step (script.js.NSPanel.nspanel_0DBF90_Door:33:23)
javascript.0
2025-04-14 11:30:52.944 warn at Object.<anonymous> (script.js.NSPanel.nspanel_0DBF90_Door:2925:62)
javascript.0
2025-04-14 11:30:52.944 warn at setStateAsync (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2276:20)
javascript.0
2025-04-14 11:30:52.944 warn at new Promise (<anonymous>)
javascript.0
2025-04-14 11:30:52.943 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2277:17
javascript.0
2025-04-14 11:30:52.943 warn State "0_userdata.0.NSPanel.1.Relay." not found
javascript.0
2025-04-14 11:30:52.943 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1452:38)
javascript.0
2025-04-14 11:30:52.943 warn at Object.<anonymous> (script.js.NSPanel.nspanel_0DBF90_Door:2917:32)
javascript.0
2025-04-14 11:30:52.943 warn at __awaiter (script.js.NSPanel.nspanel_0DBF90_Door:4:12)
javascript.0
2025-04-14 11:30:52.943 warn at new Promise (<anonymous>)
javascript.0
2025-04-14 11:30:52.943 warn at script.js.NSPanel.nspanel_0DBF90_Door:8:71
javascript.0
2025-04-14 11:30:52.942 warn at Object.next (script.js.NSPanel.nspanel_0DBF90_Door:14:53)
javascript.0
2025-04-14 11:30:52.942 warn at step (script.js.NSPanel.nspanel_0DBF90_Door:33:23)
javascript.0
2025-04-14 11:30:52.942 warn at Object.<anonymous> (script.js.NSPanel.nspanel_0DBF90_Door:2924:47)
javascript.0
2025-04-14 11:30:52.937 warn getState "0_userdata.0.NSPanel.1.Relay." not found (3)
javascript.0
2025-04-14 11:30:52.934 warn at new Promise (<anonymous>)
javascript.0
2025-04-14 11:30:52.934 warn at script.js.NSPanel.nspanel_705674_PC:8:71
javascript.0
2025-04-14 11:30:52.933 warn at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53)
javascript.0
2025-04-14 11:30:52.933 warn at step (script.js.NSPanel.nspanel_705674_PC:33:23)
javascript.0
2025-04-14 11:30:52.933 warn at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2925:62)
javascript.0
2025-04-14 11:30:52.933 warn at setStateAsync (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2276:20)
javascript.0
2025-04-14 11:30:52.933 warn at new Promise (<anonymous>)
javascript.0
2025-04-14 11:30:52.933 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2277:17
javascript.0
2025-04-14 11:30:52.931 warn State "0_userdata.0.NSPanel.2.Relay." not found
javascript.0
2025-04-14 11:30:52.931 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1452:38)
javascript.0
2025-04-14 11:30:52.931 warn at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2917:32)
javascript.0
2025-04-14 11:30:52.931 warn at __awaiter (script.js.NSPanel.nspanel_705674_PC:4:12)
javascript.0
2025-04-14 11:30:52.931 warn at new Promise (<anonymous>)
javascript.0
2025-04-14 11:30:52.931 warn at script.js.NSPanel.nspanel_705674_PC:8:71
javascript.0
2025-04-14 11:30:52.931 warn at Object.next (script.js.NSPanel.nspanel_705674_PC:14:53)
javascript.0
2025-04-14 11:30:52.931 warn at step (script.js.NSPanel.nspanel_705674_PC:33:23)
javascript.0
2025-04-14 11:30:52.930 warn at Object.<anonymous> (script.js.NSPanel.nspanel_705674_PC:2924:47)
javascript.0
2025-04-14 11:30:52.916 warn getState "0_userdata.0.NSPanel.2.Relay." not found (3)