Has something changed with the delay node?

Hello everyone, its been a while :sweat_smile:

This finding is prior to 3.1 (i'm sure it is), but Mrs Davies keeps bringing it up, because of the effect its having with automation.

I have noticed the delay node WILL pass a message that has msg.reset if:

  • Its set to rate limit
  • There is no other message being held.

I believe this is behaviour that started maybe 1-2 versions ago?

See below for a demo.
If this is expected (new behaviour or otherwise) then cool, but not sure if this was intended?

Sep-12-2023 07-17-03

[{"id":"847f3a065f5f8cdd","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"b0f341d4815fa7ea","type":"debug","z":"847f3a065f5f8cdd","name":"debug 4","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1115,"y":100,"wires":[]},{"id":"a4a9b730b905294c","type":"delay","z":"847f3a065f5f8cdd","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"hour","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":910,"y":100,"wires":[["b0f341d4815fa7ea"]]},{"id":"351578f6dd252a3f","type":"inject","z":"847f3a065f5f8cdd","name":"reset","props":[{"p":"reset","v":"true","vt":"bool"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":680,"y":220,"wires":[["a4a9b730b905294c"]]},{"id":"c944b4bae18a02ea","type":"inject","z":"847f3a065f5f8cdd","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":680,"y":100,"wires":[["a4a9b730b905294c"]]}]

I just tried this on one of my old NR instances on a PiZero in my kitchen, running V1.1.3 and can confirm that msg.reset messages are not let through at all

1 Like

So seems this is new behaviour.
I'll wait for someone from the core team to chip in before I raise anything on Github (as i'm not sure if this is now expected)

Also can concur, msg.reset is not let through on a Pi2B or PiZero running NR 3.0.2 but is on NR 3.1.0 on a PiZero 2.

1 Like

messages with msg.reset is allowed through the delay node · Issue #4337 · node-red/node-red (github.com)

Can confirm. Using 3.1.0 on Windows 11/Edge. From the example flow, having issued a couple of the injects, clicking the reset inject does NOT let the first msg through but it then DOES let subsequent reset messages through.

1 Like