Some time ago, there was a discussion about industrial timers in Node-RED (On-Delay, Off-Delay, Interval-On, etc.). I'm working on a custom node/node set, but in the meantime, I made some prototype subflows that work quite well.
They are all based on a common template structure with some custom gating logic in a function node
Delay is set in seconds by sending a message with delay property (similar to the delay node)
Here is a flow that contains the three types I've built so far (on-delay, off-delay, and interval-on)
timer-subflows.json (20.4 KB)
reference: Understanding Time Delay Relay Functions | Macromatic Industrial Controls, Inc.