I started a new flow to automate adding my solar panel data to a MariaDB.
I added three nodes to the palette
crontab
rsync
python3
intention was to trigger rsync every day after sundown (around 23:00) to sync my inverter's USB storage, which collects each day's .csv file with a folder on my desktop, where I've collected all these files, since 2012. Previously, I've manually run LuckyBackup occasionally.
Half an hour later I was planning to run a python script on my desktop (via ssh) that parses the non-trivial .csv file(s) to insert the power & full timestamp to a desktop bases DB.
I hadn't decided whether I'd execute the python script directly on my desktop or run it on the Pi and just update the DB on my desktop. I installed a python3 node in the palette and dragged an instance into a flow, so I could take a look at its capability. Node-red stopped working and
root@DietPi:/# systemctl status node-red
â—Ź node-red.service - Node-RED (DietPi)
Loaded: loaded (/etc/systemd/system/node-red.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/node-red.service.d
└─dietpi-services_edit.conf
Active: failed (Result: exit-code) since Sat 2025-10-18 15:22:29 BST; 7min ago
Process: 31673 ExecStart=/mnt/dietpi_userdata/node-red/node_modules/.bin/node-red -u />
Main PID: 31673 (code=exited, status=1/FAILURE)
CPU: 7.017s
Oct 18 15:22:29 DietPi node-red[31673]: 18 Oct 15:22:29 - [error] [mqtt out:8e45101283d9fa>
Oct 18 15:22:29 DietPi node-red[31673]: 18 Oct 15:22:29 - [info] Started flows
Oct 18 15:22:29 DietPi node-red[31673]: [red] Uncaught Exception:
Oct 18 15:22:29 DietPi node-red[31673]: 18 Oct 15:22:29 - [error] Error: spawn python ENOE>
Oct 18 15:22:29 DietPi node-red[31673]: at ChildProcess._handle.onexit (node:internal/>
Oct 18 15:22:29 DietPi node-red[31673]: at onErrorNT (node:internal/child_process:484:>
Oct 18 15:22:29 DietPi node-red[31673]: at process.processTicksAndRejections (node:int>
Oct 18 15:22:29 DietPi systemd[1]: node-red.service: Main process exited, code=exited, sta>
Oct 18 15:22:29 DietPi systemd[1]: node-red.service: Failed with result 'exit-code'.
Oct 18 15:22:29 DietPi systemd[1]: node-red.service: Consumed 7.017s CPU time.
Which contains Error: spawn python ENOE> which leads me to believe this node caused the problem.
I don't know where/how to expunge this node instance and palette entry via ssh (editor & dashboard don't work)
If only I could start the editor to see the installed nodes (and their full names)? Alas, I can't and
root@DietPi:/# node-red-admin list
AggregateError
So, sorry not sure how?
Reason for python is that I already have a moderately complex python script that parses the file header to extract date and concatenate it with each line's time-stamp to create a full timestamp and has all the DB login working amongst other features, so I just wanted to not rewrite in another language, given that it just works.
I have to cd /root/node_modules/.bin/ and ./node-red --safe, which returns
(node:37945) [DEP0044] DeprecationWarning: The `util.isArray` API is deprecated. Please use `Array.isArray()` instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
/root/node_modules/node-red/red.js:500
util.log('[red] Uncaught Exception:');
^
TypeError: util.log is not a function
at process.<anonymous> (/root/node_modules/node-red/red.js:500:14)
at process.emit (node:events:508:28)
at process._fatalException (node:internal/process/execution:159:25)
at throwUnhandledRejectionsMode (node:internal/process/promises:394:5)
at processPromiseRejections (node:internal/process/promises:475:17)
at process.processTicksAndRejections (node:internal/process/task_queues:106:32)
Node.js v24.8.0
If you need to run a python script from node red I think the best way is to use an Exec node to run it. Make sure you specify the full path to the python interpreter and to the script file.