Disconnect/Connect SpaceportClient

Wir haben einen SpaceportClient für die Alarmdepesche aufgesetzt.

Dieser lief jetzt einige Wochen ohne Probleme. Doch plötzlich überflutet er den Admin mit Disconnect/Connect Alarmen. Folgendes habe ich in den Spaceport Logs gefunden:

2025-11-15T09:26:25: SOCKET       | Client has been disconnected |  ping timeout
2025-11-15T09:26:29: SOCKET       | Error: websocket error
2025-11-15T09:26:36: APP          | Client-Version: 2.0.2
2025-11-15T09:26:36: CONFIG       | config directory exists.
2025-11-15T09:26:36: CONFIG       | config file exists. loading condfig now from disk
2025-11-15T09:26:36: CONFIG       | loaded configuration from disk
2025-11-15T09:26:36: CONFIG       | GUUID of this client: 0d8111f0-b419-11f0-bc16-fb800a8c2843
2025-11-15T09:26:43: APP          | Client-Version: 2.0.2
2025-11-15T09:26:43: CONFIG       | config directory exists.
2025-11-15T09:26:43: CONFIG       | config file exists. loading condfig now from disk
2025-11-15T09:26:43: CONFIG       | loaded configuration from disk
2025-11-15T09:26:43: CONFIG       | GUUID of this client: 0d8111f0-b419-11f0-bc16-fb800a8c2843
2025-11-15T09:26:50: APP          | Client-Version: 2.0.2
2025-11-15T09:26:50: CONFIG       | config directory exists.
2025-11-15T09:26:50: CONFIG       | config file exists. loading condfig now from disk
2025-11-15T09:26:50: CONFIG       | loaded configuration from disk
2025-11-15T09:26:50: CONFIG       | GUUID of this client: 0d8111f0-b419-11f0-bc16-fb800a8c2843
2025-11-15T09:26:58: APP          | Client-Version: 2.0.2
2025-11-15T09:26:58: CONFIG       | config directory exists.
2025-11-15T09:26:58: CONFIG       | config file exists. loading condfig now from disk
2025-11-15T09:26:58: CONFIG       | loaded configuration from disk
2025-11-15T09:26:58: CONFIG       | GUUID of this client: 0d8111f0-b419-11f0-bc16-fb800a8c2843
2025-11-15T09:26:58: PRINTMANAGER | Reading now all available printers
2025-11-15T09:26:58: WEBUI        | WEBUI listening now at port 3000
2025-11-15T09:26:58: PRINTMANAGER | available printer found: Brother_FAX-2840
2025-11-15T09:26:58: PRINTMANAGER | Read now the set default printer
2025-11-15T09:26:58: PRINTMANAGER | default printer is set to: Brother_FAX-2840
2025-11-15T09:26:58: SOCKET       | Connecting now to server: ws://192.168.2.123:5555
2025-11-15T09:27:00: SOCKET       | Connected successfully

und im error log:

2025-11-15T09:26:29: RangeError: Maximum call stack size exceeded
2025-11-15T09:26:29:     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:835:9)
2025-11-15T09:26:29:     at WebSocket.dispatchEvent (node:internal/event_target:762:26)
2025-11-15T09:26:29:     at fireEvent (node:internal/deps/undici/undici:11853:14)
2025-11-15T09:26:29:     at failWebsocketConnection (node:internal/deps/undici/undici:11934:9)
2025-11-15T09:26:29:     at closeWebSocketConnection (node:internal/deps/undici/undici:12205:9)
2025-11-15T09:26:29:     at WebSocket.close (node:internal/deps/undici/undici:12866:9)
2025-11-15T09:26:29:     at WS.doClose (/root/spclient/node_modules/engine.io-client/lib/transports/websocket.js:248:13)
2025-11-15T09:26:29:     at Transport.close (/root/spclient/node_modules/engine.io-client/lib/transport.js:98:10)
2025-11-15T09:26:29:     at Socket.onClose (/root/spclient/node_modules/engine.io-client/lib/socket.js:713:20)
2025-11-15T09:26:29:     at Socket.onError (/root/spclient/node_modules/engine.io-client/lib/socket.js:691:8)
2025-11-15T09:26:36: TypeError: console.err is not a function
2025-11-15T09:26:36:     at configManager.loadConfig (/root/spclient/models/configmanager.js:94:21)
2025-11-15T09:26:36:     at new SpaceportClient (/root/spclient/app.js:24:28)
2025-11-15T09:26:36:     at Object.<anonymous> (/root/spclient/app.js:270:23)
2025-11-15T09:26:36:     at Module._compile (node:internal/modules/cjs/loader:1706:14)
2025-11-15T09:26:36:     at Object..js (node:internal/modules/cjs/loader:1839:10)
2025-11-15T09:26:36:     at Module.load (node:internal/modules/cjs/loader:1441:32)
2025-11-15T09:26:36:     at Function._load (node:internal/modules/cjs/loader:1263:12)
2025-11-15T09:26:36:     at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
2025-11-15T09:26:36:     at Module._compile (node:internal/modules/cjs/loader:1706:14)
2025-11-15T09:26:36:     at Object..js (node:internal/modules/cjs/loader:1839:10)
2025-11-15T09:26:43: TypeError: console.err is not a function
2025-11-15T09:26:43:     at configManager.loadConfig (/root/spclient/models/configmanager.js:94:21)
2025-11-15T09:26:43:     at new SpaceportClient (/root/spclient/app.js:24:28)
2025-11-15T09:26:43:     at Object.<anonymous> (/root/spclient/app.js:270:23)
2025-11-15T09:26:43:     at Module._compile (node:internal/modules/cjs/loader:1706:14)
2025-11-15T09:26:43:     at Object..js (node:internal/modules/cjs/loader:1839:10)
2025-11-15T09:26:43:     at Module.load (node:internal/modules/cjs/loader:1441:32)
2025-11-15T09:26:43:     at Function._load (node:internal/modules/cjs/loader:1263:12)
2025-11-15T09:26:43:     at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
2025-11-15T09:26:43:     at Module._compile (node:internal/modules/cjs/loader:1706:14)
2025-11-15T09:26:43:     at Object..js (node:internal/modules/cjs/loader:1839:10)
2025-11-15T09:26:50: TypeError: console.err is not a function
2025-11-15T09:26:50:     at configManager.loadConfig (/root/spclient/models/configmanager.js:94:21)
2025-11-15T09:26:50:     at new SpaceportClient (/root/spclient/app.js:24:28)
2025-11-15T09:26:50:     at Object.<anonymous> (/root/spclient/app.js:270:23)
2025-11-15T09:26:50:     at Module._compile (node:internal/modules/cjs/loader:1706:14)
2025-11-15T09:26:50:     at Object..js (node:internal/modules/cjs/loader:1839:10)
2025-11-15T09:26:50:     at Module.load (node:internal/modules/cjs/loader:1441:32)
2025-11-15T09:26:50:     at Function._load (node:internal/modules/cjs/loader:1263:12)
2025-11-15T09:26:50:     at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
2025-11-15T09:26:50:     at Module._compile (node:internal/modules/cjs/loader:1706:14)
2025-11-15T09:26:50:     at Object..js (node:internal/modules/cjs/loader:1839:10)
2025-11-15T09:28:21: RangeError: Maximum call stack size exceeded
2025-11-15T09:28:21:     at [nodejs.internal.kHybridDispatch] (node:internal/event_target:835:9)
2025-11-15T09:28:21:     at WebSocket.dispatchEvent (node:internal/event_target:762:26)
2025-11-15T09:28:21:     at fireEvent (node:internal/deps/undici/undici:11853:14)
2025-11-15T09:28:21:     at failWebsocketConnection (node:internal/deps/undici/undici:11934:9)
2025-11-15T09:28:21:     at closeWebSocketConnection (node:internal/deps/undici/undici:12205:9)
2025-11-15T09:28:21:     at WebSocket.close (node:internal/deps/undici/undici:12866:9)
2025-11-15T09:28:21:     at WS.doClose (/root/spclient/node_modules/engine.io-client/lib/transports/websocket.js:248:13)
2025-11-15T09:28:21:     at Transport.close (/root/spclient/node_modules/engine.io-client/lib/transport.js:98:10)
2025-11-15T09:28:21:     at Socket.onClose (/root/spclient/node_modules/engine.io-client/lib/socket.js:713:20)
2025-11-15T09:28:21:     at Socket.onError (/root/spclient/node_modules/engine.io-client/lib/socket.js:691:8)

Der TypeError scheint mir da eigentlich nicht hinzugehören.

Kann es sein, dass da noch ein Bug im Error Handling ist, wenn der websocket wegbricht?

Alarmiator: 1.5.1
SpacePort Client: 2.0.2

Hi,

ich gucks mir an, bisher ist mir noch nichts aufgefallen. Die Unterbrechungen liegen aber an ner instabilen Netzwerkverbindung, evtl. WLAN?

Ja, ist halt ein Raspi Zero 2W. Wobei jetzt bei den beiden anderen Zeros, die die Wallboards anzeigen, nichts großartig aufgefallen ist. Aktuell habe ich in einer Screen session einen ping laufen. Mal sehen was die Statistik von sich gibt.

Aktuell ist der Client stabil. Wäre ja auch kein Beinbruch, wenn er mal wegbricht, wenn es dann aber x Benachrichtigungen gibt, dann ist das unschön.

console.err sollte wohl console.error heissen…

Und ich werde mir erstmal damit behelfen, dass ich die Alarmierung für den Connect und Disconnect eines Spaceport Clients deaktivieren werde.