Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. [gelöst] Node Red Timer zwischen Injects

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [gelöst] Node Red Timer zwischen Injects

    This topic has been deleted. Only users with topic management privileges can see it.
    • Lenny.CB
      Lenny.CB Most Active last edited by 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 Berg mickym 2 Replies Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active @Lenny.CB last edited by 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.CB 1 Reply Last reply Reply Quote 1
        • Lenny.CB
          Lenny.CB Most Active @Marc Berg last edited by

          @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 Berg 1 Reply Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @Lenny.CB last edited by 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.CB 1 Reply Last reply Reply Quote 1
            • mickym
              mickym Most Active @Lenny.CB last edited by 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.CB 1 Reply Last reply Reply Quote 1
              • Lenny.CB
                Lenny.CB Most Active @Marc Berg last edited by

                @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 Reply Quote 0
                • Lenny.CB
                  Lenny.CB Most Active @mickym last edited by

                  @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 Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  959
                  Online

                  31.6k
                  Users

                  79.5k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  412
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo