# \[ANNOUNCE\] Ultimate (Swiss-Army-Knife) Node-Red Timer based flow control

**URL:** <https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560>\
**Category:** Share Your Nodes\
**Created:** [31 May 2020 09:28 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560 "2020-05-31T09:28:17Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hypnos](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hypnos/32/7566_2.png) [@Hypnos](https://discourse.nodered.org/u/Hypnos)\
**Post date:** [31 May 2020 09:28 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/1 "2020-05-31T09:28:17Z")

</div>

Hallo,

I would like to introduce my node collection [node-red-contrib-sun-position](https://flows.nodered.org/node/node-red-contrib-sun-position/).

The name is unfortunately misleading here and describes only a very small fraction of the possibilities of this package. Over the years, the possibilities have grown very strongly and in the meantime this package has reached a stable state.

This package contains everything that is required for timing for node red.

You could [start a flow by time](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/time-inject):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/7/8728f624f010baa7311841a8125cfbe20f69d9b3.png)

You could [control a flow by time](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/within-time):

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/7/a7b3c6ab611ac9b6bcc452cae5498724d12348c6.png)

You could [compare, parse, reformat times](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/time-comp):  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/e/de83f6ac89d15862a0d80c9d5098899e0a92188d.png)

You could [calculate time-spans](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/time-span):

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/e/eec3fef0197cd5f8aed208a4b0e023308323de1e.png)

The origin of the package is of course still there. This is how the [sun position](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/sun-position) or [moon position](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/moon-position) and there times can be determined:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/7/273a10ac2f38a15618fa5221e99d89449b0b3180.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/e/5e057776c3fd7a411c08c06ad916d612d777b0de.png)

For more complex scenarios exists a [clock timer](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/clock-timer) or a [blind control](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/blind-control) node:  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/8/48d747ef0279a8f5ed037f0d65324fefac0c044c.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/e/6e1801b79b4e3f3d549282c1c66d327f37262e18.png)

All time depending has a huge [configuration possibility](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/Base-Functions).

A lot of sun-times are supported:

| Time | Description | SunBH |
| --- | --- | --- |
| `astronomicalDawn` | night ends (morning astronomical twilight starts) | 18 |
| `amateurDawn` | amateur astronomical dawn (sun at 12° before sunrise) | 15 |
| `nauticalDawn` | nautical dawn (morning nautical twilight starts) | 12 |
| `blueHourDawnStart` | blue Hour start (time for special photography photos starts) | 8 |
| `civilDawn` | dawn (morning nautical twilight ends, morning civil twilight starts) | 6 |
| `blueHourDawnEnd` | blue Hour end (time for special photography photos end) | 4 |
| `goldenHourDawnStart` | morning golden hour (soft light, best time for photography) starts | -1 |
| `sunrise` | sunrise (top edge of the sun appears on the horizon) | 0.833 |
| `sunriseEnd` | sunrise ends (bottom edge of the sun touches the horizon) | 0.3 |
| `goldenHourDawnEnd` | morning golden hour (soft light, best time for photography) ends | -6 |
| `solarNoon` | solar noon (sun is in the highest position) | |
| `goldenHourDuskStart` | evening golden hour (soft light, best time for photography) starts | -6 |
| `sunsetStart` | sunset starts (bottom edge of the sun touches the horizon) | 0.3 |
| `sunset` | sunset (sun disappears below the horizon, evening civil twilight starts) | 0.833 |
| `goldenHourDuskEnd` | evening golden hour (soft light, best time for photography) ends | 1 |
| `blueHourDuskStart` | blue Hour start (time for special photography photos starts) | 4 |
| `civilDusk` | dusk (evening nautical twilight starts) | 6 |
| `blueHourDuskEnd` | blue Hour end (time for special photography photos end) | 8 |
| `nauticalDusk` | nautical dusk end (evening astronomical twilight starts) | 12 |
| `amateurDusk` | amateur astronomical dusk (sun at 12° after sunrise) | 15 |
| `astronomicalDusk` | night starts (dark enough for astronomical observations) | 18 |
| `nadir` | nadir (darkest moment of the night, sun is in the lowest position) | |

(SunBH is the angle of the sun below the horizon)

The greatest strength is that all nodes have a lot of possibilities. This goes until then that the JSONATA function has been [expanded](https://github.com/rdmtc/node-red-contrib-sun-position/wiki/Base-Functions#special-jsoata-functions) with additional functions.

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [1 June 2020 07:46 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/2 "2020-06-01T07:46:45Z")

</div>

Wow, thanks for sharing!  
That library is huge...I am still trying to comprehend all options and parameters available and how to use them.

Also, the idea of naming it the "Swiss Army Knife" of Timers is well deserved and, as it looks, well thought of 🤣 😊

Quick question, as this is what I am looking for ATM: Is there a way to generate a given number of timer events between sunrise and sunset each day, at equidistant intervals. Would this be easily possible with this knife?

keep up the good work!  
regards,  
hominidae

---

<div class="post-metadata">

**Author:** ![ristomatti](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ristomatti/32/5857_2.png) [@ristomatti](https://discourse.nodered.org/u/ristomatti)\
**Post date:** [1 June 2020 08:47 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/3 "2020-06-01T08:47:50Z")

</div>

> [@hominidae](#):
>
> Quick question, as this is what I am looking for ATM: Is there a way to generate a given number of timer events between sunrise and sunset each day, at equidistant intervals. Would this be easily possible with this knife?

That's quite a specific need to say the least. 😄

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [1 June 2020 09:49 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/4 "2020-06-01T09:49:59Z")

</div>

Yes, a far call, I agree...but specifically made tools is what a swiss army knife is made of, isn't it?

---

<div class="post-metadata">

**Author:** ![ristomatti](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ristomatti/32/5857_2.png) [@ristomatti](https://discourse.nodered.org/u/ristomatti)\
**Post date:** [1 June 2020 10:10 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/5 "2020-06-01T10:10:54Z")

</div>

> [@hominidae](#):
>
> specifically made tools is what a swiss army knife is made of, isn't it?

Isn't a Swiss army knife more like a general tool suitable for most tasks but not very specialized ones? 🙂

I would approach the problem by:

1. Finding a way to get the times for both events (may or may not be possible with existing nodes(?))
2. Calculate the difference and divide it by the X times required, then
3. a) send an event X times using the result as an interval or  
b) create an array of event times by adding the result interval to the start time (sunrise) X times, and then set timers to fire up during the times in the array

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [1 June 2020 14:36 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/6 "2020-06-01T14:36:51Z")

</div>

...nope, that is only if you are Angus "Mac" MacGuyver, but this includes carrying a pair of matches, a chewing gum, shoe strings and this: [https://www.victorinox.com/global/en/Products/Swiss-Army-Knives/Small-Pocket-Knives/Midnite-Manager/p/0.6366](https://www.victorinox.com/global/en/Products/Swiss-Army-Knives/Small-Pocket-Knives/Midnite-Manager/p/0.6366)

....this is for normal people and definitely not generic 🤣 😂  
[https://www.victorinox.com/global/en/Products/Swiss-Army-Knives/Medium-Pocket-Knives/Swiss-Champ-XAVT/p/1.6795.XAVT](https://www.victorinox.com/global/en/Products/Swiss-Army-Knives/Medium-Pocket-Knives/Swiss-Champ-XAVT/p/1.6795.XAVT).

Thanks for the hints...I thought into the same direction, maybe using schedex to configure the events by means of feeding it with them,. once I found out how to identify them.

---

<div class="post-metadata">

**Author:** ![Hypnos](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hypnos/32/7566_2.png) [@Hypnos](https://discourse.nodered.org/u/Hypnos)\
**Post date:** [1 June 2020 14:39 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/7 "2020-06-01T14:39:52Z")

</div>

> [@hominidae](#):
>
> Is there a way to generate a given number of timer events between sunrise and sunset each day, at equidistant intervals. Would this be easily possible with this knife?

Yes, the Inject node of this package can do this.  
It can be configured to have a start and an end time (fixed time, sun tine, moon time,...) and an intervall where the Payload should be send.

---

<div class="post-metadata">

**Author:** ![stefan24](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/stefan24/32/23075_2.png) [@stefan24](https://discourse.nodered.org/u/stefan24)\
**Post date:** [1 June 2020 15:27 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/8 "2020-06-01T15:27:12Z")

</div>

Just tested it! and afterwards deleted all other astro and sunevent nodes 😀  
Really impressive!

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [1 June 2020 17:49 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/9 "2020-06-01T17:49:41Z")

</div>

...thank for answering, that's great info!  
I'll give it a try asap. I actually browsed the docs but wasn't able to find the information regarding that feature.

---

<div class="post-metadata">

**Author:** ![ristomatti](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ristomatti/32/5857_2.png) [@ristomatti](https://discourse.nodered.org/u/ristomatti)\
**Post date:** [1 June 2020 22:07 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/10 "2020-06-01T22:07:16Z")

</div>

> [@Hypnos](#):
>
> Yes, the Inject node of this package can do this.  
> It can be configured to have a start and an end time (fixed time, sun tine, moon time,...) and an intervall where the Payload should be send.

If I understood correctly this is close to what @hominidae requested but not quite. The hope was to define a start and end time, during which an event would trigger X times at equal intervals (defined by the start/end time and the given repetitions).

If you'd ask from me, I'd say it'd be too obscure to implement as a reusable feature. 🙂 But I might have misinterpreted the question also!

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [2 June 2020 06:12 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/11 "2020-06-02T06:12:55Z")

</div>

Yes, @ristomatti did understand correctly.  
I investigated the library and it is able to accept a repeating interval for triggering in between start-&end-times. However, if these interval framing times would change over the year (like sunrise and sunset), the number of iterations between these times would change.  
What I would like to see is quite the opposite, keeping the number of iterations fixed, even if the interval length changes over the time of year (OK, and as a big, big extra bonus also submitting the counter of this time injection incident (number of iteration occured ) with the message).

Background to this idea/my request is, that I have access to a certain service API, where the number of calls allowed is limited to a certain number per day. I would like to maximize these request-calls to take place in between a certain time of day

---

<div class="post-metadata">

**Author:** ![Hypnos](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hypnos/32/7566_2.png) [@Hypnos](https://discourse.nodered.org/u/Hypnos)\
**Post date:** [2 June 2020 18:50 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/12 "2020-06-02T18:50:28Z")

</div>

😁 I need to explain a little more:

The inject node of this package has different configuration posibiities.

1. is only manual trigger of the inject.  
The advantage of the build in Inject node is then that the Node has much more option of the payload:  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/a/2a2a74e797e2a81f5386129b5812c91497621495.png)

There is the possibility to set an additional property of the message object (or a context) with additional payload:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/c/ac16b4f157f6a1e7a5f820313eed7c236ecf5b53.png)  
Einer der ursprünglichen Anwendungsfälle bestand darin, zusammen mit einem Einschaltsignal die Zeit für das Ausschalten mitzugeben. Das ist aber sehr flexibel gestaltet für beliebig andere Anwendungsfälle.

1. beside the manual trigger the node can be configured to send in a fixed interval the payload  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/7/9776a43b46685f0141737a95fc7ec009da182f7f.png)

2. The node can send the payload on a fixed timestamp:  

3. the Node can send in an interval between two timestamps:  

All timestamps could be a fixed time, a sun-time or moon-time.

However, the time between sending a message is a fixed time. This changes the number of iterations between the specified times, as these change over the year. Maybe at some point I could still implement the use case that the number is fixed.

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [28 June 2020 21:37 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/13 "2020-06-28T21:37:34Z")

</div>

...OK, here is a first demo-flow that can do what I want (generate a given number of timer events between sunrise and sunset each day, at equidistant intervals).  
I am using the suncalc node to get get the start/end-times, then calculate the interval in a change node..  
The iterations are injected using a dsm node with an interval config (from the dsm-node wiki, [https://github.com/cflurin/node-red-contrib-dsm/wiki/Interval](https://github.com/cflurin/node-red-contrib-dsm/wiki/Interval)) and start/stop events are fired from the inject nodes at sunrise/sunset..

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/d/dd2f830197b221a9d9dd4531b51450800b280a7f.png)

```auto
[{"id":"1fd8cac4.8f5445","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"313aadae.e6d532","type":"sun-position","z":"1fd8cac4.8f5445","name":"suncalc","positionConfig":"8c7609ce.dd5798","rules":[],"onlyOnChange":"true","topic":"interval","outputs":1,"start":"sunrise","startType":"pdsTime","startOffset":0,"startOffsetType":"none","startOffsetMultiplier":60000,"end":"sunset","endType":"pdsTime","endOffset":0,"endOffsetType":"none","endOffsetMultiplier":60000,"x":601,"y":120,"wires":[["cc99eed2.f5748"]]},{"id":"cc99eed2.f5748","type":"change","z":"1fd8cac4.8f5445","name":"set interval","rules":[{"t":"set","p":"iterations","pt":"msg","to":"20","tot":"num"},{"t":"set","p":"intervalLength","pt":"msg","to":"payload.endTime - payload.startTime","tot":"jsonata"},{"t":"set","p":"interval","pt":"msg","to":"$ceil(intervalLength / (iterations -1)\t)","tot":"jsonata"},{"t":"move","p":"interval","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":814,"y":120,"wires":[["98f9356d.380198"]]},{"id":"231aedc8.aa7d62","type":"inject","z":"1fd8cac4.8f5445","name":"start","topic":"start","payload":"my payload","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":670,"y":340,"wires":[["98f9356d.380198"]]},{"id":"d8bb28c.2b81fd8","type":"debug","z":"1fd8cac4.8f5445","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1208,"y":240,"wires":[]},{"id":"98f9356d.380198","type":"dsm","z":"1fd8cac4.8f5445","name":"interval","sm_config":"{\n \"stateOutput\": \"state\",\n \"currentState\": \"stopped\",\n \"states\": {\n \"stopped\": {\n \"start\": \"started\"\n },\n \"started\": {\n \"run\": \"running\",\n \"stop\": \"stopped\"\n },\n \"running\": {\n \"run\": \"running\",\n \"stop\": \"stopped\"\n }\n },\n \"data\": {\n \"interval\": 2000\n },\n \"methods\": {\n \"interval\": {\n \"name\": \"setData\"\n },\n \"start\": [\n \"if (sm.currentState === 'started') {\",\n \" node.send(msg);\",\n \" resume('run',msg);\",\n \"}\"\n],\n \"run\": [\n \"timeout.interval = setTimeout(function() {\",\n \" node.send(msg);\",\n \" resume('run',msg);\",\n \"}, sm.data.interval);\"\n],\n \"stop\": [\n \"if (timeout.interval) {\",\n \" clearTimeout(timeout.interval);\",\n \"}\"\n],\n \"onAfterTransition\": \"output = false;\",\n \"status\": {\n \"fill\": {\n \"get\": \"sm.currentState === 'running' ? 'green' : 'grey'\"\n },\n \"shape\": \"dot\",\n \"text\": {\n \"get\": \"sm.currentState === 'running' ? 'interval ' + sm.data.interval : sm.currentState\"\n }\n }\n }\n}","x":1018,"y":240,"wires":[["d8bb28c.2b81fd8"]]},{"id":"b39dce4e.2a689","type":"inject","z":"1fd8cac4.8f5445","name":"stop","topic":"stop","payload":"stopped","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":670,"y":382,"wires":[["98f9356d.380198"]]},{"id":"4cea86cf.cfe658","type":"inject","z":"1fd8cac4.8f5445","name":"","topic":"interval","payload":"5000","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":690,"y":464,"wires":[["98f9356d.380198"]]},{"id":"5551575d.3a2058","type":"time-inject","z":"1fd8cac4.8f5445","name":"","nameInt":"⏲ Sonnenaufgang Begin = Zeitpunkt","positionConfig":"8c7609ce.dd5798","payload":"","payloadType":"date","payloadTimeFormat":0,"payloadOffset":0,"payloadOffsetType":"none","payloadOffsetMultiplier":60000,"topic":"start","injectTypeSelect":"time","intervalCount":1,"intervalCountType":"num","intervalCountMultiplier":60000,"time":"sunrise","timeType":"pdsTime","offset":0,"offsetType":"none","offsetMultiplier":60000,"timeEnd":"","timeEndType":"entered","timeEndOffset":0,"timeEndOffsetType":"none","timeEndOffsetMultiplier":60000,"timeDays":"*","timeOnlyOddDays":false,"timeOnlyEvenDays":false,"timeMonths":"*","timedatestart":"","timedateend":"","property":"","propertyType":"none","propertyCompare":"true","propertyThreshold":"","propertyThresholdType":"num","timeAlt":"","timeAltType":"entered","timeAltDays":"*","timeAltOnlyOddDays":false,"timeAltOnlyEvenDays":false,"timeAltMonths":"*","timeAltOffset":0,"timeAltOffsetType":"none","timeAltOffsetMultiplier":60000,"once":false,"onceDelay":0.1,"addPayload1":"","addPayload1Type":"none","addPayload1Value":"","addPayload1ValueType":"date","addPayload1Format":"0","addPayload1Offset":0,"addPayload1OffsetType":"none","addPayload1OffsetMultiplier":60000,"addPayload1Next":true,"addPayload1Days":"*","addPayload2":"","addPayload2Type":"none","addPayload2Value":"","addPayload2ValueType":"date","addPayload2Format":"0","addPayload2Offset":0,"addPayload2OffsetType":"none","addPayload2OffsetMultiplier":60000,"addPayload2Next":true,"addPayload2Days":"*","addPayload3":"","addPayload3Type":"none","addPayload3Value":"","addPayload3ValueType":"date","addPayload3Format":"0","addPayload3Offset":0,"addPayload3OffsetType":"none","addPayload3OffsetMultiplier":60000,"addPayload3Next":true,"addPayload3Days":"*","recalcTime":2,"x":270,"y":200,"wires":[["313aadae.e6d532","cbc61aa9.459e58"]]},{"id":"9729d616.48af08","type":"time-inject","z":"1fd8cac4.8f5445","name":"","nameInt":"⏲ Sonnenuntergang Ende = Zeitpunkt","positionConfig":"8c7609ce.dd5798","payload":"","payloadType":"date","payloadTimeFormat":0,"payloadOffset":0,"payloadOffsetType":"none","payloadOffsetMultiplier":60000,"topic":"stop","injectTypeSelect":"time","intervalCount":1,"intervalCountType":"num","intervalCountMultiplier":60000,"time":"sunset","timeType":"pdsTime","offset":0,"offsetType":"none","offsetMultiplier":60000,"timeEnd":"","timeEndType":"entered","timeEndOffset":0,"timeEndOffsetType":"none","timeEndOffsetMultiplier":60000,"timeDays":"*","timeOnlyOddDays":false,"timeOnlyEvenDays":false,"timeMonths":"*","timedatestart":"","timedateend":"","property":"","propertyType":"none","propertyCompare":"true","propertyThreshold":"","propertyThresholdType":"num","timeAlt":"","timeAltType":"entered","timeAltDays":"*","timeAltOnlyOddDays":false,"timeAltOnlyEvenDays":false,"timeAltMonths":"*","timeAltOffset":0,"timeAltOffsetType":"none","timeAltOffsetMultiplier":60000,"once":false,"onceDelay":0.1,"addPayload1":"","addPayload1Type":"none","addPayload1Value":"","addPayload1ValueType":"date","addPayload1Format":"0","addPayload1Offset":0,"addPayload1OffsetType":"none","addPayload1OffsetMultiplier":60000,"addPayload1Next":true,"addPayload1Days":"*","addPayload2":"","addPayload2Type":"none","addPayload2Value":"","addPayload2ValueType":"date","addPayload2Format":"0","addPayload2Offset":0,"addPayload2OffsetType":"none","addPayload2OffsetMultiplier":60000,"addPayload2Next":true,"addPayload2Days":"*","addPayload3":"","addPayload3Type":"none","addPayload3Value":"","addPayload3ValueType":"date","addPayload3Format":"0","addPayload3Offset":0,"addPayload3OffsetType":"none","addPayload3OffsetMultiplier":60000,"addPayload3Next":true,"addPayload3Days":"*","recalcTime":2,"x":270,"y":300,"wires":[["cbc61aa9.459e58","313aadae.e6d532"]]},{"id":"e83dc62e.ada438","type":"inject","z":"1fd8cac4.8f5445","name":"","topic":"interval","payload":"1000","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":690,"y":424,"wires":[["98f9356d.380198"]]},{"id":"cbc61aa9.459e58","type":"delay","z":"1fd8cac4.8f5445","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":660,"y":240,"wires":[["98f9356d.380198"]]},{"id":"5b62f0eb.a59f","type":"inject","z":"1fd8cac4.8f5445","name":"","topic":"inject","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":200,"y":120,"wires":[["313aadae.e6d532"]]},{"id":"8c7609ce.dd5798","type":"position-config","z":"","name":"DACH-1","isValide":"true","longitude":"0","latitude":"0","angleType":"deg","timeZoneOffset":"99","timeZoneDST":"0","stateTimeFormat":"3","stateDateFormat":"12"}]

```

---

<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:** [30 July 2020 09:38 UTC](https://discourse.nodered.org/t/announce-ultimate-swiss-army-knife-node-red-timer-based-flow-control/27560/14 "2020-07-30T09:38:44Z")

</div>

This topic was automatically closed after 60 days. New replies are no longer allowed.
