Hallo zusammen,
ich habe das selbe Problem, dass meine getrennte Node-Red-Installation abstürzt, wenn keine Verbindung zu CCU hergestellt werden kann.
Node-Red läuft bei mir in einem Debian Container (LXC) auf einem auf einem Proxmox-Server, die CCU wird auf einem Raspi 4 mit Raspberrymatic betrieben.
Ich bin aktuell in der Umstellung von Redmatic (auf dem o.g. Raspi 4 mit Raspberrymatic) auf die getrennte Node-Red-Instanz. Nachdem ich nun die Überwachung der Node-Red-Instanz implementiert habe, ist mit das von euch beschriebene Verhalten auch aufgefallen.
Hier der Auszug aus dem Syslog des Node-Red-LXC, in diesem Beispiel habe ich die CCU neugestartet.
Code: Alles auswählen
an 12 10:06:39 Node-Red Node-RED[4600]: 12 Jan 10:06:39 - [error] [ccu-connection:Raspberrymatic] < CUxD ping Error: response timeout
Jan 12 10:06:39 Node-Red Node-RED[4600]: 12 Jan 10:06:39 - [info] [ccu-connection:Raspberrymatic] Interface CUxD disconnected
Jan 12 10:06:54 Node-Red Node-RED[4600]: 12 Jan 10:06:54 - [error] [ccu-connection:Raspberrymatic] < CUxD ping Error: response timeout
Jan 12 10:07:00 Node-Red Node-RED[4600]: 12 Jan 10:07:00 - [info] [ccu-connection:Raspberrymatic] Interface ReGaHSS disconnected
Jan 12 10:07:00 Node-Red Node-RED[4600]: 12 Jan 10:07:00 - [error] [ccu-connection:Raspberrymatic] getRegaVariables Error: connect ECONNREFUSED 192.168.12.4:8181
Jan 12 10:07:00 Node-Red Node-RED[4600]: 12 Jan 10:07:00 - [error] [ccu-connection:Raspberrymatic] getRegaPrograms Error: connect ECONNREFUSED 192.168.12.4:8181
Jan 12 10:07:04 Node-Red Node-RED[4600]: 12 Jan 10:07:04 - [warn] [ccu-connection:Raspberrymatic] ping timeout CUxD 67
Jan 12 10:07:04 Node-Red Node-RED[4600]: 12 Jan 10:07:04 - [info] [ccu-connection:Raspberrymatic] init CUxD binrpc://192.168.12.201:2090 nr_MytSUE_CUxD
Jan 12 10:07:04 Node-Red Node-RED[4600]: 12 Jan 10:07:04 - [error] [ccu-connection:Raspberrymatic] < CUxD init Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
Jan 12 10:07:04 Node-Red Node-RED[4600]: 12 Jan 10:07:04 - [error] [ccu-connection:Raspberrymatic] < CUxD init Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
Jan 12 10:07:04 Node-Red Node-RED[4600]: 12 Jan 10:07:04 - [error] [ccu-connection:Raspberrymatic] Cannot call write after a stream was destroyed
Jan 12 10:07:05 Node-Red Node-RED[4600]: 12 Jan 10:07:05 - [error] [ccu-connection:Raspberrymatic] < BidCos-RF ping Error: connect ECONNREFUSED 192.168.12.4:2001
Jan 12 10:07:05 Node-Red Node-RED[4600]: 12 Jan 10:07:05 - [info] [ccu-connection:Raspberrymatic] Interface BidCos-RF disconnected
Jan 12 10:07:05 Node-Red Node-RED[4600]: 12 Jan 10:07:05 - [error] [ccu-connection:Raspberrymatic] < BidCos-Wired ping Error: connect ECONNREFUSED 192.168.12.4:2000
Jan 12 10:07:05 Node-Red Node-RED[4600]: 12 Jan 10:07:05 - [info] [ccu-connection:Raspberrymatic] Interface BidCos-Wired disconnected
Jan 12 10:07:05 Node-Red Node-RED[4600]: 12 Jan 10:07:05 - [error] [ccu-connection:Raspberrymatic] < BidCos-Wired ping Error: connect ECONNREFUSED 192.168.12.4:2000
Jan 12 10:07:11 Node-Red Node-RED[4600]: 12 Jan 10:07:11 - [red] Uncaught Exception:
Jan 12 10:07:11 Node-Red Node-RED[4600]: 12 Jan 10:07:11 - [error] Error: connect ECONNREFUSED 192.168.12.4:8701
Jan 12 10:07:11 Node-Red Node-RED[4600]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1138:16)
Jan 12 10:07:11 Node-Red systemd[1]: nodered.service: Main process exited, code=exited, status=1/FAILURE
Jan 12 10:07:11 Node-Red systemd[1]: nodered.service: Failed with result 'exit-code'.
Jan 12 10:07:11 Node-Red systemd[1]: nodered.service: Consumed 9.608s CPU time.
Jan 12 10:07:31 Node-Red systemd[1]: nodered.service: Scheduled restart job, restart counter is at 6.
Jan 12 10:07:31 Node-Red systemd[1]: Stopped Node-RED graphical event wiring tool.
Jan 12 10:07:31 Node-Red systemd[1]: nodered.service: Consumed 9.608s CPU time.
Jan 12 10:07:31 Node-Red systemd[1]: Started Node-RED graphical event wiring tool.
Jan 12 10:07:31 Node-Red Node-RED[4640]: 12 Jan 10:07:31 - [info]
Jan 12 10:07:31 Node-Red Node-RED[4640]: Welcome to Node-RED
Jan 12 10:07:31 Node-Red Node-RED[4640]: ===================
Nach etwas Testen konnte ich den Absturz von Node-Red bei einem Neustart der CCU verhindern, indem ich den RPC-Ping-Timeout im CCU-Connection-Config-Node von 60s auf 240s erhöht habe. In dieser Zeit schafft es die CCU neuzustarten, ohne dass der Connection-Node in einen Timeout läuft.
Ich muss mal sehen, ob ich den Timeout noch weiter erhöhe, um z.B. auch ein Neustart nach einem Update von Raspberrymatic abzufangen.
Meine aktuelle Vermutung ist, dass es ein Bug in "node-red-contrib-ccu" ist, und irgendwie der RPC-Timeout nicht richtig abgefangen wird. Leider kann ich aber den vermeintlichen Fehler in dem SW-Paket, mangels ausreichender Programmierkenntnisse, weder finden noch beheben.
Vielleicht helfen meine Infos aber anderen
Wenn sonst jemand Ideen hat, gerne melden.
Danke
Patrick