Harsch-Systems / node-red-contrib-pi-plates

Control Pi-Plates from Node-RED
Apache License 2.0
6 stars 7 forks source link

don't fail silently at startup #10

Open mharsch opened 3 years ago

mharsch commented 3 years ago

If there are unmet dependencies (such as 'pygame' for some reason), the NodeRED UI should be updated to indicate a failure to initialize the plate associated with pi-plates nodes.

mharsch commented 3 years ago

There is a worse version of this issue that causes Node-RED to crash and (by default) systemd attempts to restart the service. This crash sequence loops forever. The case seen in the field was when the pi-plates python package was not installed (a prerequisite to running these Node-RED nodes). The missing python package causes the node-pi-plates underlying python script to crash, then Node-RED crashes when the node-red-contrib-pi-plates node tries to write to the (now gone) python process. We need to: 1.) detect missing dependencies and log them if they're not met 2.) not crash the plate_io.py script in the above case (return an error that can be handled upstream) 3.) detect and report (via node label) this class of underlying plate communication failure