But here is a little function that updates a status every 200ms to give you an idea as to how far along the timer is
Its not foolproof but maybe useful to you
[{"id":"c76c2161.917d","type":"inject","z":"71db5e1b.7cbed","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":210,"y":340,"wires":[["ae83771e.491038"]]},{"id":"ae83771e.491038","type":"change","z":"71db5e1b.7cbed","name":"","rules":[{"t":"set","p":"delay","pt":"msg","to":"3000","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":340,"wires":[["8c55d222.76656"]]},{"id":"fa95d926.fae128","type":"delay","z":"71db5e1b.7cbed","name":"","pauseType":"delayv","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":640,"y":340,"wires":[["3192cecb.d702b2"]]},{"id":"3192cecb.d702b2","type":"debug","z":"71db5e1b.7cbed","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":810,"y":340,"wires":[]},{"id":"f3788271.0c67a","type":"change","z":"71db5e1b.7cbed","name":"","rules":[{"t":"set","p":"delay","pt":"msg","to":"4000","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":380,"wires":[["8c55d222.76656"]]},{"id":"3096fbe5.c91524","type":"inject","z":"71db5e1b.7cbed","name":"","topic":"","payload":"2","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":210,"y":380,"wires":[["f3788271.0c67a"]]},{"id":"8c55d222.76656","type":"function","z":"71db5e1b.7cbed","name":"","func":"\nreturn msg;","outputs":1,"noerr":0,"x":535,"y":340,"wires":[["fa95d926.fae128","4aeff8d7.a51188"]],"icon":"node-red/arrow-in.svg","l":false},{"id":"4aeff8d7.a51188","type":"function","z":"71db5e1b.7cbed","name":"","func":"var delay, starttime;\n\n/**\n * Describe this function...\n */\nfunction decTime() {\n delay = (typeof delay == 'number' ? delay : 0) + -200;\n node.status({fill:\"blue\", shape:\"ring\", text:delay});\n if (delay <= 0) {\n clearInterval(t);\n }\n}\n\n\ntry { clearInterval(t) } catch (e) { };\ndelay = (msg['delay']);\nstarttime = new Date().getTime();\nnode.status({fill:\"blue\", shape:\"ring\", text:delay});\nt=setInterval(decTime,200);","outputs":0,"noerr":0,"x":630,"y":280,"wires":[]}]