Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. [gelöst] Node Red Timer zwischen Injects

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    916

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[gelöst] Node Red Timer zwischen Injects

Scheduled Pinned Locked Moved Node-Red
7 Posts 3 Posters 768 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Lenny.CBL Offline
    Lenny.CBL Offline
    Lenny.CB
    Most Active
    wrote on last edited by Lenny.CB
    #1

    Bin ganz neu in NodeRed unterwegs. Habe schon vieles durch probieren raus finden können.
    Bei einem Punkt verzweifele ich grad:

    ich habe mehrere Injects die alle nacheinander, mit Pausen abgeearbeitet werden sollen.
    367b467d-438d-4e13-aacf-b61ab94a85cd-image.png

    gedacht hätte ich mir sowas:

    function inject() {
      setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10000, "type": "uint16", "count": 62}');}, 1000);
      setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10500, "type": "uint16", "count": 35}');}, 1000);
      setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10800, "type": "uint16", "count": 17}');}, 1000);
    }
    schedule("*/5 * * * * *", inject); //alle 5 Sekunden starten
    

    wie kann man das in NodeRed lösen?

    Marc BergM mickymM 2 Replies Last reply
    0
    • Lenny.CBL Lenny.CB

      Bin ganz neu in NodeRed unterwegs. Habe schon vieles durch probieren raus finden können.
      Bei einem Punkt verzweifele ich grad:

      ich habe mehrere Injects die alle nacheinander, mit Pausen abgeearbeitet werden sollen.
      367b467d-438d-4e13-aacf-b61ab94a85cd-image.png

      gedacht hätte ich mir sowas:

      function inject() {
        setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10000, "type": "uint16", "count": 62}');}, 1000);
        setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10500, "type": "uint16", "count": 35}');}, 1000);
        setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10800, "type": "uint16", "count": 17}');}, 1000);
      }
      schedule("*/5 * * * * *", inject); //alle 5 Sekunden starten
      

      wie kann man das in NodeRed lösen?

      Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      wrote on last edited by Marc Berg
      #2

      @lenny-cb

      Vielleicht so?

      19f6f114-981b-430f-8df0-561154f3a534-grafik.png

      Ein Inject Node und vier Trigger, die zu unterschiedlicher Zeit ablaufen und bei "dann sende" den erforderlichen Wert weitergeben.

      564a01a3-f521-4b3f-bcc4-ea87d968d857-grafik.png

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      Lenny.CBL 1 Reply Last reply
      1
      • Marc BergM Marc Berg

        @lenny-cb

        Vielleicht so?

        19f6f114-981b-430f-8df0-561154f3a534-grafik.png

        Ein Inject Node und vier Trigger, die zu unterschiedlicher Zeit ablaufen und bei "dann sende" den erforderlichen Wert weitergeben.

        564a01a3-f521-4b3f-bcc4-ea87d968d857-grafik.png

        Lenny.CBL Offline
        Lenny.CBL Offline
        Lenny.CB
        Most Active
        wrote on last edited by
        #3

        @marc-berg sagte in Node Red Timer zwischen Injects:

        @lenny-cb

        Vielleicht so?

        19f6f114-981b-430f-8df0-561154f3a534-grafik.png

        Ein Inject Node und vier Trigger, die zu unterschiedlicher Zeit ablaufen und bei "dann sende" den erforderlichen Wert weitergeben.

        564a01a3-f521-4b3f-bcc4-ea87d968d857-grafik.png

        ich habe 4 Injects mit 4 verschiedenen payloads. Die sollen in einer Schleife abgearbeitet werden. Zwischen den Injects eine Pause.

        Marc BergM 1 Reply Last reply
        0
        • Lenny.CBL Lenny.CB

          @marc-berg sagte in Node Red Timer zwischen Injects:

          @lenny-cb

          Vielleicht so?

          19f6f114-981b-430f-8df0-561154f3a534-grafik.png

          Ein Inject Node und vier Trigger, die zu unterschiedlicher Zeit ablaufen und bei "dann sende" den erforderlichen Wert weitergeben.

          564a01a3-f521-4b3f-bcc4-ea87d968d857-grafik.png

          ich habe 4 Injects mit 4 verschiedenen payloads. Die sollen in einer Schleife abgearbeitet werden. Zwischen den Injects eine Pause.

          Marc BergM Offline
          Marc BergM Offline
          Marc Berg
          Most Active
          wrote on last edited by Marc Berg
          #4

          @lenny-cb sagte in Node Red Timer zwischen Injects:

          ich habe 4 Injects mit 4 verschiedenen payloads. Die sollen in einer Schleife abgearbeitet werden. Zwischen den Injects eine Pause.

          Naja, das geht doch damit. Die verschiedenen Payloads stecken in den Trigger Nodes. Was der Inject-Node sendet, ist egal. Und wenn man den Inject Node auf z.B. 2 Sekunden Wiederholung stellt, ist die Anforderung erfült.

          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

          Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

          Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

          Lenny.CBL 1 Reply Last reply
          1
          • Lenny.CBL Lenny.CB

            Bin ganz neu in NodeRed unterwegs. Habe schon vieles durch probieren raus finden können.
            Bei einem Punkt verzweifele ich grad:

            ich habe mehrere Injects die alle nacheinander, mit Pausen abgeearbeitet werden sollen.
            367b467d-438d-4e13-aacf-b61ab94a85cd-image.png

            gedacht hätte ich mir sowas:

            function inject() {
              setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10000, "type": "uint16", "count": 62}');}, 1000);
              setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10500, "type": "uint16", "count": 35}');}, 1000);
              setTimeout(() => {setState("mqtt.0.cmnd.tasmota_7711D7.ModBusSend", '{"deviceaddress": 1, "functioncode": 3, "startaddress": 10800, "type": "uint16", "count": 17}');}, 1000);
            }
            schedule("*/5 * * * * *", inject); //alle 5 Sekunden starten
            

            wie kann man das in NodeRed lösen?

            mickymM Online
            mickymM Online
            mickym
            Most Active
            wrote on last edited by mickym
            #5

            @lenny-cb

            Nimm einfach eine Delay Node und begrenze die Nachrichtenrate.

            f4f77114-e593-4574-a59c-1570c99a5384-image.png

            Wenn Du sicher gehen willst, dass das die Reihenfolge garantiert werden soll, dann nimm nicht mehrere Inject-Nodes, sondern eine einzige mit einem Array

            5bccb84c-47f9-4eb2-92d2-91ef4beaa348-image.png

            [
               {
                   "id": "c58170adfd4ea5d5",
                   "type": "inject",
                   "z": "289f539dcc33814e",
                   "name": "",
                   "props": [
                       {
                           "p": "payload"
                       },
                       {
                           "p": "topic",
                           "vt": "str"
                       }
                   ],
                   "repeat": "20",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "",
                   "payload": "[10000,10500,10800,12000]",
                   "payloadType": "json",
                   "x": 2530,
                   "y": 4340,
                   "wires": [
                       [
                           "8ab74f1d3a836440"
                       ]
                   ]
               },
               {
                   "id": "8ab74f1d3a836440",
                   "type": "split",
                   "z": "289f539dcc33814e",
                   "name": "",
                   "splt": "\\n",
                   "spltType": "str",
                   "arraySplt": 1,
                   "arraySpltType": "len",
                   "stream": false,
                   "addname": "",
                   "x": 2670,
                   "y": 4340,
                   "wires": [
                       [
                           "97a6156be8662927"
                       ]
                   ]
               },
               {
                   "id": "97a6156be8662927",
                   "type": "delay",
                   "z": "289f539dcc33814e",
                   "name": "",
                   "pauseType": "rate",
                   "timeout": "5",
                   "timeoutUnits": "seconds",
                   "rate": "1",
                   "nbRateUnits": "5",
                   "rateUnits": "second",
                   "randomFirst": "1",
                   "randomLast": "5",
                   "randomUnits": "seconds",
                   "drop": false,
                   "allowrate": false,
                   "outputs": 1,
                   "x": 2860,
                   "y": 4340,
                   "wires": [
                       [
                           "cb5265cffb7dcb48"
                       ]
                   ]
               },
               {
                   "id": "cb5265cffb7dcb48",
                   "type": "debug",
                   "z": "289f539dcc33814e",
                   "name": "Ausgabe",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "payload",
                   "targetType": "msg",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 3060,
                   "y": 4340,
                   "wires": []
               }
            ]
            

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            Lenny.CBL 1 Reply Last reply
            1
            • Marc BergM Marc Berg

              @lenny-cb sagte in Node Red Timer zwischen Injects:

              ich habe 4 Injects mit 4 verschiedenen payloads. Die sollen in einer Schleife abgearbeitet werden. Zwischen den Injects eine Pause.

              Naja, das geht doch damit. Die verschiedenen Payloads stecken in den Trigger Nodes. Was der Inject-Node sendet, ist egal. Und wenn man den Inject Node auf z.B. 2 Sekunden Wiederholung stellt, ist die Anforderung erfült.

              Lenny.CBL Offline
              Lenny.CBL Offline
              Lenny.CB
              Most Active
              wrote on last edited by
              #6

              @marc-berg sagte in Node Red Timer zwischen Injects:

              Was der Inject-Node sendet, ist egal. Und wenn man den Inject Node auf z.B. 2 Sekunden Wiederholung stellt, ist die Anforderung erfült.

              Ich werde es versuchen. Vielen Dank!

              1 Reply Last reply
              0
              • mickymM mickym

                @lenny-cb

                Nimm einfach eine Delay Node und begrenze die Nachrichtenrate.

                f4f77114-e593-4574-a59c-1570c99a5384-image.png

                Wenn Du sicher gehen willst, dass das die Reihenfolge garantiert werden soll, dann nimm nicht mehrere Inject-Nodes, sondern eine einzige mit einem Array

                5bccb84c-47f9-4eb2-92d2-91ef4beaa348-image.png

                [
                   {
                       "id": "c58170adfd4ea5d5",
                       "type": "inject",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "20",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "[10000,10500,10800,12000]",
                       "payloadType": "json",
                       "x": 2530,
                       "y": 4340,
                       "wires": [
                           [
                               "8ab74f1d3a836440"
                           ]
                       ]
                   },
                   {
                       "id": "8ab74f1d3a836440",
                       "type": "split",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "splt": "\\n",
                       "spltType": "str",
                       "arraySplt": 1,
                       "arraySpltType": "len",
                       "stream": false,
                       "addname": "",
                       "x": 2670,
                       "y": 4340,
                       "wires": [
                           [
                               "97a6156be8662927"
                           ]
                       ]
                   },
                   {
                       "id": "97a6156be8662927",
                       "type": "delay",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "pauseType": "rate",
                       "timeout": "5",
                       "timeoutUnits": "seconds",
                       "rate": "1",
                       "nbRateUnits": "5",
                       "rateUnits": "second",
                       "randomFirst": "1",
                       "randomLast": "5",
                       "randomUnits": "seconds",
                       "drop": false,
                       "allowrate": false,
                       "outputs": 1,
                       "x": 2860,
                       "y": 4340,
                       "wires": [
                           [
                               "cb5265cffb7dcb48"
                           ]
                       ]
                   },
                   {
                       "id": "cb5265cffb7dcb48",
                       "type": "debug",
                       "z": "289f539dcc33814e",
                       "name": "Ausgabe",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 3060,
                       "y": 4340,
                       "wires": []
                   }
                ]
                

                Lenny.CBL Offline
                Lenny.CBL Offline
                Lenny.CB
                Most Active
                wrote on last edited by
                #7

                @mickym sagte in Node Red Timer zwischen Injects:

                @lenny-cb

                Nimm einfach eine Delay Node und begrenze die Nachrichtenrate.

                f4f77114-e593-4574-a59c-1570c99a5384-image.png

                Wenn Du sicher gehen willst, dass das die Reihenfolge garantiert werden soll, dann nimm nicht mehrere Inject-Nodes, sondern eine einzige mit einem Array

                5bccb84c-47f9-4eb2-92d2-91ef4beaa348-image.png

                [
                   {
                       "id": "c58170adfd4ea5d5",
                       "type": "inject",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "20",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "[10000,10500,10800,12000]",
                       "payloadType": "json",
                       "x": 2530,
                       "y": 4340,
                       "wires": [
                           [
                               "8ab74f1d3a836440"
                           ]
                       ]
                   },
                   {
                       "id": "8ab74f1d3a836440",
                       "type": "split",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "splt": "\\n",
                       "spltType": "str",
                       "arraySplt": 1,
                       "arraySpltType": "len",
                       "stream": false,
                       "addname": "",
                       "x": 2670,
                       "y": 4340,
                       "wires": [
                           [
                               "97a6156be8662927"
                           ]
                       ]
                   },
                   {
                       "id": "97a6156be8662927",
                       "type": "delay",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "pauseType": "rate",
                       "timeout": "5",
                       "timeoutUnits": "seconds",
                       "rate": "1",
                       "nbRateUnits": "5",
                       "rateUnits": "second",
                       "randomFirst": "1",
                       "randomLast": "5",
                       "randomUnits": "seconds",
                       "drop": false,
                       "allowrate": false,
                       "outputs": 1,
                       "x": 2860,
                       "y": 4340,
                       "wires": [
                           [
                               "cb5265cffb7dcb48"
                           ]
                       ]
                   },
                   {
                       "id": "cb5265cffb7dcb48",
                       "type": "debug",
                       "z": "289f539dcc33814e",
                       "name": "Ausgabe",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 3060,
                       "y": 4340,
                       "wires": []
                   }
                ]
                

                Ich probiere. Vielen Dank!

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                339

                Online

                32.6k

                Users

                82.2k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe