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. Schrittwerk mit einer Bedingung begrenzen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Schrittwerk mit einer Bedingung begrenzen

Geplant Angeheftet Gesperrt Verschoben Node-Red
22 Beiträge 2 Kommentatoren 1.6k 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.
  • mickymM mickym

    @hawell Schau mal, ob das tut was Du brauchst:

    46b39409-dfe6-4693-820a-f5f1f6305a46-image.png

    [
       {
           "id": "4bbe3cb139220b42",
           "type": "switch",
           "z": "fbeffc2c8bcc1d00",
           "name": "",
           "property": "payload",
           "propertyType": "msg",
           "rules": [
               {
                   "t": "gte",
                   "v": "2",
                   "vt": "num"
               },
               {
                   "t": "btwn",
                   "v": "-699",
                   "vt": "num",
                   "v2": "1",
                   "v2t": "num"
               },
               {
                   "t": "lt",
                   "v": "-700",
                   "vt": "num"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 3,
           "x": 330,
           "y": 400,
           "wires": [
               [
                   "034c5314770775c6"
               ],
               [
                   "b554f04062367f31"
               ],
               [
                   "07f087d511c8b3e2"
               ]
           ]
       },
       {
           "id": "034c5314770775c6",
           "type": "change",
           "z": "fbeffc2c8bcc1d00",
           "name": "-1",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "-1",
                   "tot": "num"
               },
               {
                   "t": "set",
                   "p": "topic",
                   "pt": "msg",
                   "to": "action",
                   "tot": "str"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 490,
           "y": 340,
           "wires": [
               [
                   "95c9633ab4777657"
               ]
           ]
       },
       {
           "id": "07f087d511c8b3e2",
           "type": "change",
           "z": "fbeffc2c8bcc1d00",
           "name": "+1",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "1",
                   "tot": "num"
               },
               {
                   "t": "set",
                   "p": "topic",
                   "pt": "msg",
                   "to": "action",
                   "tot": "str"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 490,
           "y": 460,
           "wires": [
               [
                   "95c9633ab4777657"
               ]
           ]
       },
       {
           "id": "458ecde97817f777",
           "type": "inject",
           "z": "fbeffc2c8bcc1d00",
           "name": "100",
           "props": [
               {
                   "p": "payload"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "payload": "100",
           "payloadType": "num",
           "x": 110,
           "y": 360,
           "wires": [
               [
                   "4bbe3cb139220b42"
               ]
           ]
       },
       {
           "id": "9a176b2bfce3c5bc",
           "type": "inject",
           "z": "fbeffc2c8bcc1d00",
           "name": "-500",
           "props": [
               {
                   "p": "payload"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "payload": "-500",
           "payloadType": "num",
           "x": 110,
           "y": 420,
           "wires": [
               [
                   "4bbe3cb139220b42"
               ]
           ]
       },
       {
           "id": "dbb92ef2ecce8bdb",
           "type": "inject",
           "z": "fbeffc2c8bcc1d00",
           "name": "-2000",
           "props": [
               {
                   "p": "payload"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "payload": "-2000",
           "payloadType": "num",
           "x": 110,
           "y": 480,
           "wires": [
               [
                   "4bbe3cb139220b42"
               ]
           ]
       },
       {
           "id": "b554f04062367f31",
           "type": "change",
           "z": "fbeffc2c8bcc1d00",
           "name": "0",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "0",
                   "tot": "num"
               },
               {
                   "t": "set",
                   "p": "topic",
                   "pt": "msg",
                   "to": "action",
                   "tot": "str"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 490,
           "y": 400,
           "wires": [
               [
                   "95c9633ab4777657"
               ]
           ]
       },
       {
           "id": "95c9633ab4777657",
           "type": "rbe",
           "z": "fbeffc2c8bcc1d00",
           "name": "",
           "func": "rbe",
           "gap": "",
           "start": "",
           "inout": "out",
           "septopics": false,
           "property": "payload",
           "topi": "topic",
           "x": 630,
           "y": 400,
           "wires": [
               [
                   "85d35cf6ea80789b"
               ]
           ]
       },
       {
           "id": "85d35cf6ea80789b",
           "type": "trigger",
           "z": "fbeffc2c8bcc1d00",
           "name": "",
           "op1": "",
           "op2": "",
           "op1type": "nul",
           "op2type": "payl",
           "duration": "5",
           "extend": true,
           "overrideDelay": false,
           "units": "s",
           "reset": "",
           "bytopic": "all",
           "topic": "topic",
           "outputs": 1,
           "x": 780,
           "y": 400,
           "wires": [
               [
                   "712d4e4919ac7f2d"
               ]
           ]
       },
       {
           "id": "712d4e4919ac7f2d",
           "type": "trigger",
           "z": "fbeffc2c8bcc1d00",
           "name": "",
           "op1": "",
           "op2": "0",
           "op1type": "pay",
           "op2type": "str",
           "duration": "-5",
           "extend": false,
           "overrideDelay": false,
           "units": "s",
           "reset": "0",
           "bytopic": "all",
           "topic": "topic",
           "outputs": 1,
           "x": 980,
           "y": 400,
           "wires": [
               [
                   "f21d6c44133561ef",
                   "e16d9f5e94d3229f"
               ]
           ]
       },
       {
           "id": "f21d6c44133561ef",
           "type": "debug",
           "z": "fbeffc2c8bcc1d00",
           "name": "action",
           "active": true,
           "tosidebar": true,
           "console": false,
           "tostatus": false,
           "complete": "payload",
           "targetType": "msg",
           "statusVal": "",
           "statusType": "auto",
           "x": 970,
           "y": 460,
           "wires": []
       }
    ]
    

    Falls der Energiemanager aus irgendeinem Grund gar nicht mehr tut - kannst Du das periodische Senden ja dann auch unterbinden.

    H Offline
    H Offline
    hawell
    schrieb am zuletzt editiert von
    #12

    @mickym sagte in Schrittwerk mit einer Bedingung begrenzen:

    erschreckenderweise tut es was es soll ...
    bis auf, dass es immer die gleichen Zeiten nimmt, ich konnte schneller runterschalten, als hoch.

    mickymM 2 Antworten Letzte Antwort
    0
    • H hawell

      @mickym sagte in Schrittwerk mit einer Bedingung begrenzen:

      erschreckenderweise tut es was es soll ...
      bis auf, dass es immer die gleichen Zeiten nimmt, ich konnte schneller runterschalten, als hoch.

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #13

      @hawell Ja gut - die Zyklik bleibt gleich - aber Du könntest ja in der Switch Node noch andere Werte einsetzen, um schneller hoch und runter zu schalten.

      6797b744-9d47-4881-8c45-22f697ebd432-image.png

      Sobald Du an der Rändern bist - wird ja durch die hintere filter Node die Nachrichtenanzahl beschränkt.

      Aber soweit ich verstanden habe - kommt aus dem Energiemanager ja alle Sekunden ein trigger - insofern ist es ja egal, ob Du einen eigenen Taktgeber verwendest und nicht den vom Energiemanager.

      Aber ist ja nur ein Alternativvorschlag. Deines hat ja funktioniert.

      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.

      H 1 Antwort Letzte Antwort
      0
      • H hawell

        @mickym sagte in Schrittwerk mit einer Bedingung begrenzen:

        erschreckenderweise tut es was es soll ...
        bis auf, dass es immer die gleichen Zeiten nimmt, ich konnte schneller runterschalten, als hoch.

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #14

        @hawell Wenn Du den Takt vom Energiemanager behalten willst - dann kannst Du dieses Mal auch eine function Node verwenden. Ich mach Dir mal einen Vorschlag.

        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.

        1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @hawell Ja gut - die Zyklik bleibt gleich - aber Du könntest ja in der Switch Node noch andere Werte einsetzen, um schneller hoch und runter zu schalten.

          6797b744-9d47-4881-8c45-22f697ebd432-image.png

          Sobald Du an der Rändern bist - wird ja durch die hintere filter Node die Nachrichtenanzahl beschränkt.

          Aber soweit ich verstanden habe - kommt aus dem Energiemanager ja alle Sekunden ein trigger - insofern ist es ja egal, ob Du einen eigenen Taktgeber verwendest und nicht den vom Energiemanager.

          Aber ist ja nur ein Alternativvorschlag. Deines hat ja funktioniert.

          H Offline
          H Offline
          hawell
          schrieb am zuletzt editiert von
          #15

          @mickym
          das skalieren mit größeren Schritten hatte ich schon getestet das geht super.

          zwei Sachen verstehe ich aber nicht.
          wieso sendet der letzte Trigger nur bei Zahlen außer "0" alle 5 sek ? und bei 0 Macht er nichts ??

          und leider gibt der Trigger den Wert aus, welcher "auf den Weg bebracht wurde", auch wenn sich schon die Richtung geändert wurde.
          also wenn +1 wiederholt wird, und dann auch 0 umspringt, wird trotzdem noch einmal hochgeschaltet und dann erst gestoppt.

          man müsste den laufenden Tigger bei Wertänderung unterbrechen.

          und zwei unterschiedliche zeitliche Trigger paralell laufen lassen (einen fürs hochschalten und einen fürs runter Schalten.

          mickymM 1 Antwort Letzte Antwort
          0
          • H hawell

            @mickym
            das skalieren mit größeren Schritten hatte ich schon getestet das geht super.

            zwei Sachen verstehe ich aber nicht.
            wieso sendet der letzte Trigger nur bei Zahlen außer "0" alle 5 sek ? und bei 0 Macht er nichts ??

            und leider gibt der Trigger den Wert aus, welcher "auf den Weg bebracht wurde", auch wenn sich schon die Richtung geändert wurde.
            also wenn +1 wiederholt wird, und dann auch 0 umspringt, wird trotzdem noch einmal hochgeschaltet und dann erst gestoppt.

            man müsste den laufenden Tigger bei Wertänderung unterbrechen.

            und zwei unterschiedliche zeitliche Trigger paralell laufen lassen (einen fürs hochschalten und einen fürs runter Schalten.

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #16

            @hawell sagte in Schrittwerk mit einer Bedingung begrenzen:

            @mickym
            das skalieren mit größeren Schritten hatte ich schon getestet das geht super.

            zwei Sachen verstehe ich aber nicht.
            wieso sendet der letzte Trigger nur bei Zahlen außer "0" alle 5 sek ? und bei 0 Macht er nichts ??

            Na das hatte ich aus Deinem alten Flow so verstanden, da alles rückgesetzt wurde - das dann nichts mehr gesendet werden soll.

            und leider gibt der Trigger den Wert aus, welcher "auf den Weg bebracht wurde", auch wenn sich schon die Richtung geändert wurde.
            also wenn +1 wiederholt wird, und dann auch 0 umspringt, wird trotzdem noch einmal hochgeschaltet und dann erst gestoppt.

            Nun ja - da musst aber mal logisch überlegen - dass ja EXTRA eine Zeit abgewartet wird, bis eine Änderung registriert wird.

            man müsste den laufenden Tigger bei Wertänderung unterbrechen.

            In dem Fall werde ich Dir mal mit einer function Node helfen, die Du dann wieder nur vom Energiemanager getriggert wird und nur bei +1 oder -1

            und zwei unterschiedliche zeitliche Trigger paralell laufen lassen (einen fürs hochschalten und einen fürs runter Schalten.

            Nein das ergibt Chaos.

            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.

            H 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @hawell sagte in Schrittwerk mit einer Bedingung begrenzen:

              @mickym
              das skalieren mit größeren Schritten hatte ich schon getestet das geht super.

              zwei Sachen verstehe ich aber nicht.
              wieso sendet der letzte Trigger nur bei Zahlen außer "0" alle 5 sek ? und bei 0 Macht er nichts ??

              Na das hatte ich aus Deinem alten Flow so verstanden, da alles rückgesetzt wurde - das dann nichts mehr gesendet werden soll.

              und leider gibt der Trigger den Wert aus, welcher "auf den Weg bebracht wurde", auch wenn sich schon die Richtung geändert wurde.
              also wenn +1 wiederholt wird, und dann auch 0 umspringt, wird trotzdem noch einmal hochgeschaltet und dann erst gestoppt.

              Nun ja - da musst aber mal logisch überlegen - dass ja EXTRA eine Zeit abgewartet wird, bis eine Änderung registriert wird.

              man müsste den laufenden Tigger bei Wertänderung unterbrechen.

              In dem Fall werde ich Dir mal mit einer function Node helfen, die Du dann wieder nur vom Energiemanager getriggert wird und nur bei +1 oder -1

              und zwei unterschiedliche zeitliche Trigger paralell laufen lassen (einen fürs hochschalten und einen fürs runter Schalten.

              Nein das ergibt Chaos.

              H Offline
              H Offline
              hawell
              schrieb am zuletzt editiert von
              #17

              @mickym sagte in Schrittwerk mit einer Bedingung begrenzen:

              @hawell sagte in Schrittwerk mit einer Bedingung begrenzen:

              @mickym
              das skalieren mit größeren Schritten hatte ich schon getestet das geht super.

              zwei Sachen verstehe ich aber nicht.
              wieso sendet der letzte Trigger nur bei Zahlen außer "0" alle 5 sek ? und bei 0 Macht er nichts ??

              Na das hatte ich aus Deinem alten Flow so verstanden, da alles rückgesetzt wurde - das dann nichts mehr gesendet werden soll.

              das ist auch richtig, aber wieso macht die Node das - ich ich finde die entsprechende Einstellung nicht. oder liegt es am dem Befehl "0" dieser Stoppt den Trigger?

              und leider gibt der Trigger den Wert aus, welcher "auf den Weg bebracht wurde", auch wenn sich schon die Richtung geändert wurde.
              also wenn +1 wiederholt wird, und dann auch 0 umspringt, wird trotzdem noch einmal hochgeschaltet und dann erst gestoppt.

              Nun ja - da musst aber mal logisch überlegen - dass ja EXTRA eine Zeit abgewartet wird, bis eine Änderung registriert wird.

              man müsste den laufenden Tigger bei Wertänderung unterbrechen.

              In dem Fall werde ich Dir mal mit einer function Node helfen, die Du dann wieder nur vom Energiemanager getriggert wird und nur bei +1 oder -1

              und zwei unterschiedliche zeitliche Trigger paralell laufen lassen (einen fürs hochschalten und einen fürs runter Schalten.

              Nein das ergibt Chaos.

              geht das nicht so ? 0 hat immer Priorität und setzt die Laufenden Trigger zurück?

              Screenshot 2023-10-07 233611.png

              mickymM 1 Antwort Letzte Antwort
              0
              • H hawell

                @mickym sagte in Schrittwerk mit einer Bedingung begrenzen:

                @hawell sagte in Schrittwerk mit einer Bedingung begrenzen:

                @mickym
                das skalieren mit größeren Schritten hatte ich schon getestet das geht super.

                zwei Sachen verstehe ich aber nicht.
                wieso sendet der letzte Trigger nur bei Zahlen außer "0" alle 5 sek ? und bei 0 Macht er nichts ??

                Na das hatte ich aus Deinem alten Flow so verstanden, da alles rückgesetzt wurde - das dann nichts mehr gesendet werden soll.

                das ist auch richtig, aber wieso macht die Node das - ich ich finde die entsprechende Einstellung nicht. oder liegt es am dem Befehl "0" dieser Stoppt den Trigger?

                und leider gibt der Trigger den Wert aus, welcher "auf den Weg bebracht wurde", auch wenn sich schon die Richtung geändert wurde.
                also wenn +1 wiederholt wird, und dann auch 0 umspringt, wird trotzdem noch einmal hochgeschaltet und dann erst gestoppt.

                Nun ja - da musst aber mal logisch überlegen - dass ja EXTRA eine Zeit abgewartet wird, bis eine Änderung registriert wird.

                man müsste den laufenden Tigger bei Wertänderung unterbrechen.

                In dem Fall werde ich Dir mal mit einer function Node helfen, die Du dann wieder nur vom Energiemanager getriggert wird und nur bei +1 oder -1

                und zwei unterschiedliche zeitliche Trigger paralell laufen lassen (einen fürs hochschalten und einen fürs runter Schalten.

                Nein das ergibt Chaos.

                geht das nicht so ? 0 hat immer Priorität und setzt die Laufenden Trigger zurück?

                Screenshot 2023-10-07 233611.png

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #18

                gelöscht

                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.

                1 Antwort Letzte Antwort
                0
                • mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #19

                  Na ich glaube Du behälst Deinen ursprünglichen Flow.

                  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.

                  H 2 Antworten Letzte Antwort
                  0
                  • mickymM mickym

                    Na ich glaube Du behälst Deinen ursprünglichen Flow.

                    H Offline
                    H Offline
                    hawell
                    schrieb am zuletzt editiert von
                    #20

                    @mickym
                    ich schau mir das morgen mal genauer an.
                    aber der letzte flox ist buggy, der gibt teilweise nur 1 aus egal was man drückt (mit oder ohne warten; mit oder ohne 0 drücken)

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • H hawell

                      @mickym
                      ich schau mir das morgen mal genauer an.
                      aber der letzte flox ist buggy, der gibt teilweise nur 1 aus egal was man drückt (mit oder ohne warten; mit oder ohne 0 drücken)

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #21

                      @hawell sagte in Schrittwerk mit einer Bedingung begrenzen:

                      @mickym
                      ich schau mir das morgen mal genauer an.
                      aber der letzte flox ist buggy, der gibt teilweise nur 1 aus egal was man drückt (mit oder ohne warten; mit oder ohne 0 drücken)

                      Ja bleib bei dem ursprünglichen Flow - ich glaube das ist wahrscheinlich am Besten.

                      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.

                      1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        Na ich glaube Du behälst Deinen ursprünglichen Flow.

                        H Offline
                        H Offline
                        hawell
                        schrieb am zuletzt editiert von
                        #22

                        @mickym sagte in Schrittwerk mit einer Bedingung begrenzen:

                        Na ich glaube Du behälst Deinen ursprünglichen Flow.

                        gar nicht so einfach .. ;-)

                        ich finde deinen ansatz mit der vereinfachten Form gut, evtl bau ich mir da was draus.
                        aber heut nicht mehr -> morgen wieder ..

                        ich danke dir vielmals für die Unterstützung !!!

                        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

                        728

                        Online

                        32.6k

                        Benutzer

                        82.2k

                        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