# Is it possible to delay payload, accept payload update, forward on a certain time interval/time?

**URL:** <https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697>\
**Category:** General\
**Created:** [25 December 2022 21:30 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697 "2022-12-25T21:30:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![AndKe](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andke/32/73023_2.png) [@AndKe](https://discourse.nodered.org/u/AndKe)\
**Post date:** [25 December 2022 21:30 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697/1 "2022-12-25T21:30:30Z")

</div>

my MQTT source can produce packets at a random intervals.  
I have no need for fast logging.  
Is it possible to make node-red provide this logic?  
at 10:10 , 10:20, 10:30 a certain payload object arrives, but only at 00minutes (once a hour) the last packet is forwarded to next step. so that at 11:00 - the payload from 10:30 is processed. (payload from 10:10 is overwritten by 10:20 , 10:20 payload os overwritten by 10:30 payload, which is let thru at 11:00)

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [25 December 2022 21:38 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697/2 "2022-12-25T21:38:14Z")

</div>

You can use a change node to store the value in flow or global context and then use an inject node to (at the desired time), grab the value from context & and use it as desired.

---

<div class="post-metadata">

**Author:** ![AndKe](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andke/32/73023_2.png) [@AndKe](https://discourse.nodered.org/u/AndKe)\
**Post date:** [26 December 2022 09:06 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697/3 "2022-12-26T09:06:16Z")

</div>

My attempt:

 ![Screenshot from 2022-12-26 10-00-26](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/2/c2560018441f931c0b8458bc6478d7218a9d0ab6.png)

![Screenshot from 2022-12-26 10-00-35](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/e/9e7fef9864d9c280ffcf04d68f5d9886dbc57a80.png)  
-the "deep copy value" was just an desperate attempt 🙂

---

<div class="post-metadata">

**Author:** ![AndKe](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andke/32/73023_2.png) [@AndKe](https://discourse.nodered.org/u/AndKe)\
**Post date:** [26 December 2022 09:07 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697/4 "2022-12-26T09:07:03Z")

</div>

limited to two pictures, so here is the rest:

 ![Screenshot from 2022-12-26 10-00-52](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/b/9b839228fa7e41f605fa63345dc6bb4bbe6fe921.png)

But the output is not as expected: I the debug shows me:  
 ![Screenshot from 2022-12-26 10-01-04](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/9/b974efb3072884ff08aa92eb9cf423bf6d3cb2fe.png)

I expected the msg.payload to look something like this ` { "battery": 57, "humidity": 52.37, "humidity": 52.31, "linkquality": 45, "power_outage_count": 9, "pressure": 997.3, "temperature": 4.08, "pressure": 997.4, "temperature": 4.14, "voltage": 2935 }`

What am I doing wrong?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [26 December 2022 09:10 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697/5 "2022-12-26T09:10:00Z")

</div>

The issue is you set global.last but then restore global.payload!

Use the context viewer on the right hand side bar to see what is stored where.

---

<div class="post-metadata">

**Author:** ![AndKe](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/andke/32/73023_2.png) [@AndKe](https://discourse.nodered.org/u/AndKe)\
**Post date:** [26 December 2022 09:14 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697/6 "2022-12-26T09:14:01Z")

</div>

Ouch - that was embarrassing.  
Thank you. -also for teaching me about the context viewer.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [9 January 2023 09:14 UTC](https://discourse.nodered.org/t/is-it-possible-to-delay-payload-accept-payload-update-forward-on-a-certain-time-interval-time/72697/7 "2023-01-09T09:14:25Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
