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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Schrittwerk mit einer Bedingung begrenzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hawell @mickym last edited by

      @mickym sagte in Schrittwerk mit einer Bedingung begrenzen:

      @hawell Ok - ich meine es funktioniert bei Dir ja. Insofern ist es doch OK. Ich mach mal eine Alternative ohne 100% sicher zu sein, ob das dann tut.

      ich bin mit dem Konstruckt auch nicht glücklich, da ich atkuell auch an einem "Doppelsprung" arbeite - wenn genug leistung ansteht, dann kann um "2" gesprugen werden.
      Übersichtlicher wird es damit aber nicht

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @hawell last edited by 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 1 Reply Last reply Reply Quote 0
        • H
          hawell @mickym last edited by

          @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.

          mickym 2 Replies Last reply Reply Quote 0
          • mickym
            mickym Most Active @hawell last edited by 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 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @hawell last edited by

              @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.

              1 Reply Last reply Reply Quote 0
              • H
                hawell @mickym last edited by

                @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.

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @hawell last edited by

                  @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 1 Reply Last reply Reply Quote 0
                  • H
                    hawell @mickym last edited by

                    @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

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @hawell last edited by mickym

                      gelöscht

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active last edited by mickym

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

                        H 2 Replies Last reply Reply Quote 0
                        • H
                          hawell @mickym last edited by

                          @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)

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @hawell last edited by

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • H
                              hawell @mickym last edited by

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              1.0k
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              2
                              22
                              958
                              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