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. Function Node welche zwei Werte vergleicht

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Function Node welche zwei Werte vergleicht

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

      @mickym
      bei der Change Node setze flow.LaufzeitWP was muss ich da einstellen?

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

        @1984chris sagte in Function Node welche zwei Werte vergleicht:

        @mickym
        bei der Change Node setze flow.LaufzeitWP was muss ich da einstellen?

        Na die payload aus der mqtt-out Node enthält ja die gespeicherte Laufzeit und damit initialisieren wir wieder die Flowvariable LaufzeitWP

        a2229419-4333-4617-8294-d08293410b1d-image.png

        1 1 Reply Last reply Reply Quote 0
        • 1
          1984chris @mickym last edited by

          @mickym
          Danke,werde das probieren und muss mir noch überlegen wie ich das auf die Poolpumpe übertrage.

          1 1 Reply Last reply Reply Quote 0
          • 1
            1984chris @1984chris last edited by

            @1984chris
            für die brauche ich ja eine Mindestlaufzeit von 6 Stunden am Tag...

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

              @1984chris Na ja ich denke - wenn Du die Logik begreifst, dann wirst Du das schon selbst schaffen. 😉

              1 2 Replies Last reply Reply Quote 0
              • 1
                1984chris @mickym last edited by

                @mickym
                werde es probieren und melde mich.
                Danke

                1 Reply Last reply Reply Quote 0
                • 1
                  1984chris @mickym last edited by

                  @mickym
                  @mickym
                  ich begreife die Logik nicht.
                  Habs probiert.
                  Wieso bekommt jetzt nach Ablauf der Pause der shelly kein true mehr aber Pumpe schon?

                  [
                      {
                          "id": "c00995b3e526eedf",
                          "type": "shelly-gen2",
                          "z": "b7365eb2cd9f043a",
                          "hostname": "192.168.1.110",
                          "description": "",
                          "mode": "polling",
                          "server": "",
                          "outputmode": "event",
                          "uploadretryinterval": 5000,
                          "pollinginterval": "60000",
                          "pollstatus": true,
                          "getstatusoncommand": true,
                          "devicetype": "Relay",
                          "outputs": 1,
                          "x": 3020,
                          "y": 600,
                          "wires": [
                              [
                                  "f95b5910053d7931",
                                  "12d5210d37cca83a"
                              ]
                          ]
                      },
                      {
                          "id": "12d5210d37cca83a",
                          "type": "debug",
                          "z": "b7365eb2cd9f043a",
                          "name": "Status shelly",
                          "active": true,
                          "tosidebar": true,
                          "console": false,
                          "tostatus": false,
                          "complete": "payload",
                          "targetType": "msg",
                          "statusVal": "",
                          "statusType": "auto",
                          "x": 3230,
                          "y": 520,
                          "wires": []
                      },
                      {
                          "id": "f95b5910053d7931",
                          "type": "switch",
                          "z": "b7365eb2cd9f043a",
                          "name": "Check WP",
                          "property": "payload.switch0.output",
                          "propertyType": "msg",
                          "rules": [
                              {
                                  "t": "true"
                              }
                          ],
                          "checkall": "true",
                          "repair": false,
                          "outputs": 1,
                          "x": 3210,
                          "y": 600,
                          "wires": [
                              [
                                  "a81280bcde91cb43"
                              ]
                          ]
                      },
                      {
                          "id": "a81280bcde91cb43",
                          "type": "change",
                          "z": "b7365eb2cd9f043a",
                          "name": "Setze Laufzeit",
                          "rules": [
                              {
                                  "t": "set",
                                  "p": "payload",
                                  "pt": "msg",
                                  "to": "LaufzeitWP",
                                  "tot": "flow"
                              },
                              {
                                  "t": "set",
                                  "p": "payload",
                                  "pt": "msg",
                                  "to": "$exists(payload) ? payload : 0",
                                  "tot": "jsonata"
                              },
                              {
                                  "t": "set",
                                  "p": "payload",
                                  "pt": "msg",
                                  "to": "payload + 1",
                                  "tot": "jsonata"
                              },
                              {
                                  "t": "set",
                                  "p": "LaufzeitWP",
                                  "pt": "flow",
                                  "to": "payload",
                                  "tot": "msg"
                              }
                          ],
                          "action": "",
                          "property": "",
                          "from": "",
                          "to": "",
                          "reg": false,
                          "x": 3400,
                          "y": 600,
                          "wires": [
                              [
                                  "8dc301ec673ad604",
                                  "6952778507c39b73",
                                  "8b7cf8516fdd7fa9"
                              ]
                          ]
                      },
                      {
                          "id": "8dc301ec673ad604",
                          "type": "debug",
                          "z": "b7365eb2cd9f043a",
                          "name": "Laufzeit",
                          "active": true,
                          "tosidebar": true,
                          "console": false,
                          "tostatus": false,
                          "complete": "payload",
                          "targetType": "msg",
                          "statusVal": "",
                          "statusType": "auto",
                          "x": 3580,
                          "y": 520,
                          "wires": []
                      },
                      {
                          "id": "6952778507c39b73",
                          "type": "mqtt out",
                          "z": "b7365eb2cd9f043a",
                          "name": "",
                          "topic": "Laufzeit WP",
                          "qos": "",
                          "retain": "true",
                          "respTopic": "",
                          "contentType": "",
                          "userProps": "",
                          "correl": "",
                          "expiry": "",
                          "broker": "642915c7f69dceb8",
                          "x": 3570,
                          "y": 680,
                          "wires": []
                      },
                      {
                          "id": "8b7cf8516fdd7fa9",
                          "type": "switch",
                          "z": "b7365eb2cd9f043a",
                          "name": "Laufzeitlimit erreicht?",
                          "property": "payload",
                          "propertyType": "msg",
                          "rules": [
                              {
                                  "t": "gt",
                                  "v": "2",
                                  "vt": "num"
                              }
                          ],
                          "checkall": "true",
                          "repair": false,
                          "outputs": 1,
                          "x": 3640,
                          "y": 600,
                          "wires": [
                              [
                                  "a99fb16f9e1aaf53"
                              ]
                          ]
                      },
                      {
                          "id": "a99fb16f9e1aaf53",
                          "type": "trigger",
                          "z": "b7365eb2cd9f043a",
                          "name": "",
                          "op1": "false",
                          "op2": "0",
                          "op1type": "bool",
                          "op2type": "str",
                          "duration": "0",
                          "extend": false,
                          "overrideDelay": false,
                          "units": "ms",
                          "reset": "true",
                          "bytopic": "all",
                          "topic": "topic",
                          "outputs": 1,
                          "x": 3860,
                          "y": 600,
                          "wires": [
                              [
                                  "d32930fee61a93db"
                              ]
                          ]
                      },
                      {
                          "id": "d32930fee61a93db",
                          "type": "trigger",
                          "z": "b7365eb2cd9f043a",
                          "name": "PauseWP ",
                          "op1": "false",
                          "op2": "true",
                          "op1type": "bool",
                          "op2type": "bool",
                          "duration": "1",
                          "extend": false,
                          "overrideDelay": false,
                          "units": "min",
                          "reset": "",
                          "bytopic": "all",
                          "topic": "topic",
                          "outputs": 2,
                          "x": 4040,
                          "y": 600,
                          "wires": [
                              [
                                  "0df1fcecdcb502cd",
                                  "b7384ed837f983ef"
                              ],
                              [
                                  "878c47ba3fe7f98d",
                                  "b7384ed837f983ef"
                              ]
                          ]
                      },
                      {
                          "id": "d64cd3672f38dec5",
                          "type": "debug",
                          "z": "b7365eb2cd9f043a",
                          "name": "Ergebnis für Shelly 1",
                          "active": true,
                          "tosidebar": true,
                          "console": false,
                          "tostatus": false,
                          "complete": "payload",
                          "targetType": "msg",
                          "statusVal": "",
                          "statusType": "auto",
                          "x": 4480,
                          "y": 540,
                          "wires": []
                      },
                      {
                          "id": "0df1fcecdcb502cd",
                          "type": "change",
                          "z": "b7365eb2cd9f043a",
                          "name": "PauseWP",
                          "rules": [
                              {
                                  "t": "set",
                                  "p": "payload",
                                  "pt": "msg",
                                  "to": "{\t \"method\": \"Switch.Set\",\t \"parameters\" : {\t \"id\" : 0,\t \"on\": payload \t }\t}",
                                  "tot": "jsonata"
                              }
                          ],
                          "action": "",
                          "property": "",
                          "from": "",
                          "to": "",
                          "reg": false,
                          "x": 4220,
                          "y": 540,
                          "wires": [
                              [
                                  "d64cd3672f38dec5"
                              ]
                          ]
                      },
                      {
                          "id": "878c47ba3fe7f98d",
                          "type": "change",
                          "z": "b7365eb2cd9f043a",
                          "name": "",
                          "rules": [
                              {
                                  "t": "set",
                                  "p": "LaufzeitWP",
                                  "pt": "flow",
                                  "to": "0",
                                  "tot": "num"
                              }
                          ],
                          "action": "",
                          "property": "",
                          "from": "",
                          "to": "",
                          "reg": false,
                          "x": 4240,
                          "y": 720,
                          "wires": [
                              [
                                  "a99fb16f9e1aaf53"
                              ]
                          ]
                      },
                      {
                          "id": "dbb3de1955f4208b",
                          "type": "mqtt in",
                          "z": "b7365eb2cd9f043a",
                          "name": "",
                          "topic": "Laufzeit WP",
                          "qos": "2",
                          "datatype": "auto-detect",
                          "broker": "642915c7f69dceb8",
                          "nl": false,
                          "rap": true,
                          "rh": 0,
                          "inputs": 0,
                          "x": 3790,
                          "y": 740,
                          "wires": [
                              [
                                  "80e2f07516e1e78f"
                              ]
                          ]
                      },
                      {
                          "id": "80e2f07516e1e78f",
                          "type": "change",
                          "z": "b7365eb2cd9f043a",
                          "name": "",
                          "rules": [
                              {
                                  "t": "set",
                                  "p": "LaufzeitWP",
                                  "pt": "flow",
                                  "to": "payload",
                                  "tot": "msg"
                              }
                          ],
                          "action": "",
                          "property": "",
                          "from": "",
                          "to": "",
                          "reg": false,
                          "x": 3980,
                          "y": 740,
                          "wires": [
                              []
                          ]
                      },
                      {
                          "id": "b7384ed837f983ef",
                          "type": "change",
                          "z": "b7365eb2cd9f043a",
                          "name": "",
                          "rules": [
                              {
                                  "t": "set",
                                  "p": "payload",
                                  "pt": "msg",
                                  "to": "payload ? \"Pumpe ein 1\" : \"Pumpe aus 0\"",
                                  "tot": "jsonata"
                              }
                          ],
                          "action": "",
                          "property": "",
                          "from": "",
                          "to": "",
                          "reg": false,
                          "x": 4270,
                          "y": 600,
                          "wires": [
                              [
                                  "f44b626f907ee971"
                              ]
                          ]
                      },
                      {
                          "id": "f44b626f907ee971",
                          "type": "debug",
                          "z": "b7365eb2cd9f043a",
                          "name": "Ergebnis für Poolpumpe1 nach pause",
                          "active": true,
                          "tosidebar": true,
                          "console": false,
                          "tostatus": false,
                          "complete": "payload",
                          "targetType": "msg",
                          "statusVal": "",
                          "statusType": "auto",
                          "x": 4550,
                          "y": 600,
                          "wires": []
                      },
                      {
                          "id": "642915c7f69dceb8",
                          "type": "mqtt-broker",
                          "name": "",
                          "broker": "192.168.1.154",
                          "port": "1883",
                          "clientid": "",
                          "autoConnect": true,
                          "usetls": false,
                          "protocolVersion": "4",
                          "keepalive": "60",
                          "cleansession": true,
                          "autoUnsubscribe": true,
                          "birthTopic": "",
                          "birthQos": "0",
                          "birthPayload": "",
                          "birthMsg": {},
                          "closeTopic": "",
                          "closeQos": "0",
                          "closePayload": "",
                          "closeMsg": {},
                          "willTopic": "",
                          "willQos": "0",
                          "willPayload": "",
                          "willMsg": {},
                          "userProps": "",
                          "sessionExpiry": ""
                      }
                  ]
                  
                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @1984chris last edited by mickym

                    Nun Du musst den ganzen Flow beachten - sprich der obige Flow gehört ja mit dazu, da ja nicht in jedem Fall eingeschaltet werden soll, wenn die Laufzeit abgelaufen ist, sondern nur dann, wenn entsprechender Überschuss beim Pausenende vorhanden ist.

                    f43b46ee-bf51-4e32-b440-aeb27ca6cea3-image.png

                    Sowas ist schon macht keinen Sinn, weil Du gleichzeit AUS- und EINSCHALTEST.

                    bf36457f-624c-4bdd-952a-557bf4d0ab5e-image.png

                    Das ist der Originalflow und der SCHALTER nur die Pumpe aus und dann startet die Pause.

                    Gleichzeitig musst Du aber doch den Hauptflow betrachten.

                    d4324588-0fc8-4af0-99b7-206c53f13385-image.png

                    Hier wird doch ein Wiedereinschalten verhindert, weil die max. Laufzeit überschritten ist. Das Ausschalten spielt keine Rolle, weil es ja eh schon ausgeschaltet ist bzw. wie unten geändert ausgeschaltet wird.

                    Wenn die Zwangspause vorbei ist, dann wird gar nichts geschaltet, sondern lediglich die Laufzeit wieder auf 0 gesetzt und der Block zurückgesetzt.

                    55609d1b-d3ec-4060-bede-ba111e900964-image.png

                    Das Einschalten muss ja dann auch wieder der normalen Logik folgen und darf ja nur erfolgen, wenn Soc und Überschuss ein Einschalten erfordern. Trotzdem ist mir noch ein Fehler aufgefallen, da der Filter oben blockiert - deswegen musst Du das Ausschaltsignal nach oben zu dem Filter durchreichen! Ich zeig es dir in der folgenden Abbildung:

                    a61a2a87-bd47-4006-b4cb-b8a87e9d86bc-image.png

                    PS: Entschuldige manchmal meine Ausdrucksweise. Ich gebe mir wieder mehr Mühe um die korrekte Ausdrucksweise.

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

                      Was ggf. auch nochzu bedenken ist, ob Du die Laufzeit ggf. zurücksetzt, wenn eine Pause durch das Ausschalten der Pumpe nicht mehr erforderlich ist, da sie eh lange genug ausgeschaltet war.

                      1 mickym 2 Replies Last reply Reply Quote 0
                      • 1
                        1984chris @mickym last edited by

                        @mickym
                        jetztz bekomme ich aber am Ende kein ein mehr weder für Shelly noch für Homeserver

                        mickym 2 Replies Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @1984chris last edited by

                          @1984chris Ja weil wahrscheinlich die Laufzeit erreicht wurde. Lösche mal im Kontext die Laufzeit einfach.

                          358206ea-51af-4b8c-b5f8-1655828577e3-image.png

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

                            @mickym sagte in Function Node welche zwei Werte vergleicht:

                            Was ggf. auch nochzu bedenken ist, ob Du die Laufzeit ggf. zurücksetzt, wenn eine Pause durch das Ausschalten der Pumpe nicht mehr erforderlich ist, da sie eh lange genug ausgeschaltet war.

                            Hier mal die Änderung um die Auszeiten zu zählen - damit wird quasi auch wenn über Nacht eh alles ausgeschaltet ist, dass dann die Laufzeit zurückgestellt wird. Du musst halt die Pausenzeit genauso anpassen.

                            Hier zum Import:

                            [{"id":"1b6c6646565c829e","type":"switch","z":"517cd16e4d7e6ae4","name":"Check WP","property":"payload.switch0.output","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1630,"y":3840,"wires":[["a81280bcde91cb43"],["4b2dcbb7fa3c347f"]]},{"id":"66f1ebe9b8cf6467","type":"switch","z":"517cd16e4d7e6ae4","name":"Pausenlimit erreicht?","property":"payload","propertyType":"msg","rules":[{"t":"gt","v":"1","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":2060,"y":3940,"wires":[["878c47ba3fe7f98d"]]},{"id":"4b2dcbb7fa3c347f","type":"change","z":"517cd16e4d7e6ae4","name":"Setze PauseWP","rules":[{"t":"set","p":"payload","pt":"msg","to":"PauseWP","tot":"flow"},{"t":"set","p":"payload","pt":"msg","to":"$exists(payload) ? payload : 0","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"payload + 1","tot":"jsonata"},{"t":"set","p":"PauseWP","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1840,"y":3940,"wires":[["66f1ebe9b8cf6467"]]}]
                            

                            5a540149-b093-45be-ad84-1140d6fda835-image.png

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

                              @1984chris sagte in Function Node welche zwei Werte vergleicht:

                              @mickym
                              jetztz bekomme ich aber am Ende kein ein mehr weder für Shelly noch für Homeserver

                              Ach ja und vergiss nicht das Pollintervall in der Shelly Node auf 60000 ms zu setzen. Die Werte für die Laufzeit und die Pause sind ja Minuten.

                              1 1 Reply Last reply Reply Quote 0
                              • 1
                                1984chris @mickym last edited by

                                @mickym
                                es wird kein ein signal durchgeleitet...

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

                                  @1984chris Gut - dann musst Du mit debug Nodes schauen, wo es hängen bleibt.

                                  Aktiviere halt mal alle Debug Nodes bzw. schau wie weit die Nachrichten kommen - ggf. neue Debug Nodes dran machen.

                                  dbc8352b-5802-4642-942f-7fcc203a6cbc-image.png

                                  Hast Du in dem Switch

                                  56e76390-32e1-409f-9bac-2212dd2b2ef0-image.png

                                  auch die max. Laufzeit richtig eingetragen?

                                  1 1 Reply Last reply Reply Quote 0
                                  • 1
                                    1984chris @mickym last edited by

                                    @mickym
                                    es liegt an der Laufzeitlimit erreicht Node im Hauptast habe dahinter ein Debug Node und da wird nix angezeigt.

                                    1 mickym 2 Replies Last reply Reply Quote 0
                                    • 1
                                      1984chris @1984chris last edited by

                                      @1984chris
                                      habe die Laufzeit auf 2 runtergesetzt zum testen...

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

                                        @1984chris Gut und hast Du den Wert da drin angepasst - da waren ja noch 5 Minuten drin zum Test.

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

                                          @1984chris Nein im Gegenteil - das ist das Maximum an Laufzeit. In der Realität wenn Du 5 Stunden Laufzeit haben willst, muss da <= 300 drin stehen.

                                          Genauso wie Du unten dann Laufzeit erreicht > 300 einstellen musst.

                                          1 2 Replies Last reply Reply Quote 0
                                          • 1
                                            1984chris @mickym last edited by

                                            @mickym
                                            mit 2 hab ich Minuten gemeint.

                                            mickym 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            920
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            207
                                            18038
                                            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