Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    9
    1
    80

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

[gelöst] Node Red Timer zwischen Injects

Geplant Angeheftet Gesperrt Verschoben Node-Red
7 Beiträge 3 Kommentatoren 716 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Lenny.CBL Online
    Lenny.CBL Online
    Lenny.CB
    Most Active
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von 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+RabbitMQ+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 Antwort Letzte Antwort
      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 Online
        Lenny.CBL Online
        Lenny.CB
        Most Active
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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+RabbitMQ+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 Antwort Letzte Antwort
          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 Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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 Online
              Lenny.CBL Online
              Lenny.CB
              Most Active
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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 Online
                Lenny.CBL Online
                Lenny.CB
                Most Active
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                692

                Online

                32.5k

                Benutzer

                81.7k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe