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. Hilfe bei debuggen einer übernommenen Funktion

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Hilfe bei debuggen einer übernommenen Funktion

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

      @mickym

      Warum globale Variable etc benutzt wurden kann ich dir nicht sagen.

      Mein Flow ist etwas größer als deiner bzw. wird noch größer wegen dem Dashboard usw

      Ich hab den Flow mit dem Dashboard zu übernommen, aber es lassen sich keine Zahlen einstellen
      Das springt immer

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

        @bf0911 Na wenn du es wirklich übernommen hast, dann sollte es nicht passieren.

        Schau mal ob du die Nachrichten nicht durchreichst?

        856825fa-dda0-4b1f-b5d4-1f92a99b394f-image.png

        das muss natürlich deaktiviert sein.

        Ggf. musst DU natürlich bei ALLEN Dashboard Feldern schauen, dass Du die Nachrichten nicht durchreichst!!! (Also auch nicht bei Schaltern(switches) etc.)

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

          @bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:

          Ich hab den Flow mit dem Dashboard zu übernommen, aber es lassen sich keine Zahlen einstellen
          Das springt immer

          Und ggf. immer Debug Nodes an die letzte Node vorne und direkt dahinter machen. Prüfen, wenn Du das Kabel vorne trennst, ob es an ankommenden Nachrichten liegt oder nicht. Das ist ja nun das schöne, dass Du sowas gut debuggen kannst.

          1 Reply Last reply Reply Quote 0
          • B
            BF0911 @mickym last edited by BF0911

            @mickym

            Ist es bei mir!

            Ich hab deinen Flow natürlich mit meinen Variablen angepasst.
            Screenshot 2024-05-16 135642.png

            Jetzt scheint es zu funktionieren, obwohl ich nichts geändert habe

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

              @bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:

              Jetzt scheint es zu funktionieren, obwohl ich nichts geändert habe

              Na dann weiß ich auch nicht - und lässt sich ja auch nicht mehr nachvollziehen.

              Wenn ein undefined drin ist (wie bei der Pumpe ) oder was das für eine Node ist
              58e87989-3f4b-458e-9857-1cdf23803c70-image.png

              kann ich dir nicht sagen.

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

                @bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:

                Jetzt scheint es zu funktionieren, obwohl ich nichts geändert habe

                Vielleicht war auch noch was von Deinem alten Flow aktiv - dass den Kontext gesetzt hat? - Ich würde Dir raten den alten Flow komplett zu deaktivieren - damit Du nur noch die Nodes ggf. hast, um die raus zu kopieren.

                B 1 Reply Last reply Reply Quote 0
                • B
                  BF0911 @mickym last edited by

                  @mickym

                  Danke, habe den Flow direkt deaktiviert.

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

                    @bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:

                    @mickym

                    Danke, habe den Flow direkt deaktiviert.

                    Wie gesagt auch für später ist es immer wichtig die Stellen, wo Du was ausgibst möglichst übersichtlich hälst. Im Idealfall einmal - manchmal auch an mehreren Stellen, um das Ganze übersichtlich zu halten.

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

                      Ich verabschiede mich dann mal, wenn Du noch was auf dem Herzen hast dann schreibs rein. Entweder bekommst dann eine Antwort direkt, aber ich geh ja mal davon aus, dass Du am Nachmittag dann wieder ins reale Leben abtauchst. 😉

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        BF0911 @mickym last edited by

                        @mickym

                        Ich bedanke mich total bei dir!

                        Ich habe soviel gelernt und verstanden! Stark!

                        Ja, genau, ich bin gleich auch erstmal wieder in der echten Welt.

                        Werde mich aber sicherlich nochmal melden, spätestens wenn der Flow komplett ist!

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          BF0911 @BF0911 last edited by

                          Es scheint immer noch ein Problem mit dem "Vergleich" ist zu Gesamt-Laufzeit Ph-Pumpe zu geben

                          Egal, welche deiner beiden Nodes ich nutze, es wird kein true weitergeleitet.

                          Es kommt auf jeden Fall von "Chlor-Pumpe nicht aktiv?" noch ein True. Das habe debuggt.

                          Screenshot 2024-05-16 150527.png

                          mickym B 2 Replies Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @BF0911 last edited by

                            @bf0911 Na sowas kann ich doch gar nicht beantworten.

                            b9c86ba1-59f5-4fac-9c99-19110b15d16b-image.png

                            Du verdoppelst die Nachricht und deaktivierst die Tageslaufzeit.

                            Was kommt den wo raus?

                            1 Reply Last reply Reply Quote 0
                            • B
                              BF0911 @BF0911 last edited by

                              Und bei den Schaltern für den Automatik-Modus Chlor und PH gibt es Problem.

                              Die Schalter werden bei den Strings "ON" und "OFF" geschaltet.

                              Da muss offensichtlich was anderes rein

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                BF0911 @BF0911 last edited by

                                Der Debug-Node "Chlor-Pumpe nicht aktiv?" gibt ein True aus, das soll ja durch "<max. Laufzeit" oder "max.Laufzeit nicht erreicht?" weitergeleitet werden, auf die Abfrage "PH-Automatik aktiv?" und dann ja die PH-Pumpe einschalten.

                                Die beiden Nodes sind jetzt aus Testgründen zusammen drin.

                                Nehme ich die Max-Tageslaufzeit-Abfrage raus, funktioniert die Logik und die PH-Pumpe schaltet

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

                                  @bf0911 Wie gesagt teste es in dem Du Dir die Switches aus dem Flow einzeln testest:

                                  Test Deine Switch Nodes halt getrennt vom Flow:

                                  36ac5300-b1c4-4761-9a7c-789edec24cd0-image.png

                                  Oben lässt durch, weil die Automatik auf OFF steht.
                                  f53abb4c-fa8a-4465-984b-27869845cfe6-image.png

                                  [
                                     {
                                         "id": "5a06d880e13db423",
                                         "type": "switch",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "property": "PH_Parameter.PH_Pumpe_Automatik",
                                         "propertyType": "flow",
                                         "rules": [
                                             {
                                                 "t": "eq",
                                                 "v": "OFF",
                                                 "vt": "str"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 1,
                                         "x": 1270,
                                         "y": 3120,
                                         "wires": [
                                             [
                                                 "2a46d8527419d1de"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "2a46d8527419d1de",
                                         "type": "debug",
                                         "z": "d25606275138920f",
                                         "name": "test",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 1410,
                                         "y": 3120,
                                         "wires": []
                                     },
                                     {
                                         "id": "228a6ad0adf15765",
                                         "type": "inject",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "Dies ist ein Test",
                                         "payloadType": "str",
                                         "x": 1100,
                                         "y": 3120,
                                         "wires": [
                                             [
                                                 "5a06d880e13db423"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "b0e46ea62e68cf43",
                                         "type": "switch",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "property": "PH_Parameter.PH_Pumpe_Automatik",
                                         "propertyType": "flow",
                                         "rules": [
                                             {
                                                 "t": "eq",
                                                 "v": "ON",
                                                 "vt": "str"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 1,
                                         "x": 1270,
                                         "y": 3180,
                                         "wires": [
                                             [
                                                 "9de1a93d06536ca7"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "9de1a93d06536ca7",
                                         "type": "debug",
                                         "z": "d25606275138920f",
                                         "name": "test",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 1410,
                                         "y": 3180,
                                         "wires": []
                                     },
                                     {
                                         "id": "c6a98dc4bce67b4b",
                                         "type": "inject",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "Dies ist ein Test",
                                         "payloadType": "str",
                                         "x": 1100,
                                         "y": 3180,
                                         "wires": [
                                             [
                                                 "b0e46ea62e68cf43"
                                             ]
                                         ]
                                     }
                                  ]
                                  

                                  und bei der Laufzeit das Gleiche - wie gesagt die Konstante unten rein.

                                  e0e17bdc-7016-4163-ac27-198d81327838-image.png

                                  Wie du siehst wird bei 8 Minuten geblockt und unter 7 Minuten nicht.

                                  [
                                     {
                                         "id": "b4a85244852fce78",
                                         "type": "switch",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "property": "PHPumpe_Laufzeit_Total.minutes",
                                         "propertyType": "flow",
                                         "rules": [
                                             {
                                                 "t": "lte",
                                                 "v": "PH_Parameter.MaxTagesLaufzeit_min",
                                                 "vt": "flow"
                                             }
                                         ],
                                         "checkall": "true",
                                         "repair": false,
                                         "outputs": 1,
                                         "x": 1290,
                                         "y": 3340,
                                         "wires": [
                                             [
                                                 "5ca9c435503069b0"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "265b29ab0aaaec2f",
                                         "type": "inject",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "Dies ist ein Test",
                                         "payloadType": "str",
                                         "x": 680,
                                         "y": 3300,
                                         "wires": [
                                             [
                                                 "76b45739cd7ee3fa"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "76b45739cd7ee3fa",
                                         "type": "change",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "PHPumpe_Laufzeit_Total.minutes",
                                                 "pt": "flow",
                                                 "to": "0",
                                                 "tot": "num"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 990,
                                         "y": 3300,
                                         "wires": [
                                             [
                                                 "b4a85244852fce78"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "5ca9c435503069b0",
                                         "type": "debug",
                                         "z": "d25606275138920f",
                                         "name": "test",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 1430,
                                         "y": 3340,
                                         "wires": []
                                     },
                                     {
                                         "id": "fff4e08af65548df",
                                         "type": "inject",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "Dies ist ein Test",
                                         "payloadType": "str",
                                         "x": 680,
                                         "y": 3360,
                                         "wires": [
                                             [
                                                 "aed3d5cc1789e01b"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "aed3d5cc1789e01b",
                                         "type": "change",
                                         "z": "d25606275138920f",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "PHPumpe_Laufzeit_Total.minutes",
                                                 "pt": "flow",
                                                 "to": "8",
                                                 "tot": "num"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 990,
                                         "y": 3360,
                                         "wires": [
                                             [
                                                 "b4a85244852fce78"
                                             ]
                                         ]
                                     }
                                  ]
                                  

                                  Was im Kleinen funktioniert, funktioniert dann auch im Flow.

                                  Die Anzeige des Kontexts musst Du bei jeder Ansicht neu aktualisieren:

                                  5978fade-c0bb-4b46-98a1-0cbe940f8094-image.png

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    BF0911 @mickym last edited by

                                    @mickym

                                    Node passt jetzt und der PH-Automatik-Zweig läuft (so wie er soll).

                                    Danke!

                                    Was ich eben noch festgestellt habe, ist dass wenn ich die Filter-Pumpe manuell per (Soft- oder Hardware)-Schalter einschalte, dass hier natürlich die Laufzeit auf eine Minute begrenzt ist, weil ja, die Zeitsteuerung nicht aktiv ist.

                                    Das ist suboptimal. Was wäre hier ein sinnvoller Weg? Doch mit einem Betriebsmodus zu arbeiten?

                                    Ideal wäre es, wenn ich die Pumpe zusätzlich zum Scheduler einschalten kann, sie dann aber so lange läuft bis der Scheduler ein False sendet.

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

                                      @bf0911 sagte in Hilfe bei debuggen einer übernommenen Funktion:

                                      Was ich eben noch festgestellt habe, ist dass wenn ich die Filter-Pumpe manuell per (Soft- oder Hardware)-Schalter einschalte, dass hier natürlich die Laufzeit auf eine Minute begrenzt ist, weil ja, die Zeitsteuerung nicht aktiv ist.

                                      Das widerspricht sich doch in der Aussage?

                                      Die Laufzeit ist doch nicht begrenzt, wenn die Zeitsteuerung nich aktiv ist?
                                      Die Zeitsteuerung hat doch nur die ph-Pumpe gesteuert?

                                      Und wenn Du willst, dass die ph-Pumpen Steuerung immer aktiv ist, egal ob manuell oder automatisch geschaltet wird, dann musst Du halt einfach den ganzen Block rausnehmen und dann ist er unabhängig von der Filterpumpen automatik.

                                      Ansonsten kannst Du oben ja nochmal gerne nur den Automatikmodus ermitteln und ggf. unten noch blockieren.

                                      cbdcf17b-a076-4ffd-a8fd-82fe898fe534-image.png

                                      [
                                         {
                                             "id": "b72cf3fd45869c96",
                                             "type": "change",
                                             "z": "d25606275138920f",
                                             "name": "Automatikmodus ermitteln",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "$not(payload.settings.disabledDevices~>$reduce(function($result,$v){$v=\"0\" or $result},false))",
                                                     "tot": "jsonata"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "topic",
                                                     "pt": "msg",
                                                     "to": "Pumpenautomatik",
                                                     "tot": "str"
                                                 },
                                                 {
                                                     "t": "set",
                                                     "p": "Pumpenautomatik",
                                                     "pt": "flow",
                                                     "to": "payload",
                                                     "tot": "msg"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 550,
                                             "y": 1700,
                                             "wires": [
                                                 [
                                                     "03cc276ea13023ba"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "03cc276ea13023ba",
                                             "type": "debug",
                                             "z": "d25606275138920f",
                                             "name": "Zeitautomatik",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 800,
                                             "y": 1700,
                                             "wires": []
                                         },
                                         {
                                             "id": "734dada8a6cc2f4e",
                                             "type": "json",
                                             "z": "d25606275138920f",
                                             "name": "",
                                             "property": "payload",
                                             "action": "",
                                             "pretty": false,
                                             "x": 330,
                                             "y": 1700,
                                             "wires": [
                                                 [
                                                     "b72cf3fd45869c96"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "51faf2b5bfa34119",
                                             "type": "switch",
                                             "z": "d25606275138920f",
                                             "name": "Pumpenautomatik aktiv?",
                                             "property": "Pumpenautomatik",
                                             "propertyType": "flow",
                                             "rules": [
                                                 {
                                                     "t": "true"
                                                 }
                                             ],
                                             "checkall": "true",
                                             "repair": false,
                                             "outputs": 1,
                                             "x": 370,
                                             "y": 1960,
                                             "wires": [
                                                 [
                                                     "b8bcbf73e79b080b",
                                                     "b6a4b77cf6b5b8e4"
                                                 ]
                                             ]
                                         }
                                      ]
                                      

                                      Ich würde jedoch sauberer die ph-Pumpen oder welche Pumpen auch immer aus dem Automatikast entfernen, wenn diese Logik auch erhalten bleiben soll unabhängig, ob die Filterpumpenautomatik aktiv ist.

                                      Aber letztlich glaube ich, dass Du das selbst nun umsetzen kannst. Das sind ja nun keine technischen Probleme mehr. 😉 Wie gesagt oben habe ich Dir nochmal die Nodes zur Verfügung gestellt mit der Du prüfen bzw. eine Flowvariable setzen kannst, um zu prüfen ob der Automatikmodus der scheduler Node für die Filterpumpe aktiv ist.

                                      B 1 Reply Last reply Reply Quote 0
                                      • B
                                        BF0911 @mickym last edited by

                                        @mickym

                                        Ich werde mich nächste Woche mal ransetzen, danke!

                                        Doch, die Laufzeit der Filterpumpe ist ja auf 1 Minute begrenzt, wenn der Scheduler ein "False" ausgibt.

                                        Screenshot 2024-05-17 150502.png

                                        Das nur noch als Info.

                                        Ich melde mich, wenn ich eine Lösung "programmiert" habe.

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

                                          @bf0911 Ok ich habe Dir ja unten eine Lösung gepostet, der den ganzen Flow blockiert, wenn die Automatik abgeschaltet wurde.

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            BF0911 @mickym last edited by

                                            @mickym

                                            ich hab am langen Wochenende festgestellt, dass die PH-Pumpe noch lief und die Filter-Pumpe sich aber schon ausgeschaltet hatte.

                                            Jetzt stehe ich etwas auf dem Schlauch, woran, dass gelegen haben könnte.

                                            Ich vermute mal, dass der PH-Pumpe-Logik-Pfad noch durch ein "True" der Filterpumpe getriggert wurde, dann entsprechend gepumpt hat. Was ich aber nicht verstehe, ist warum die PH-Pumpe, durch diesen Zweig, nicht ausgeschaltet wurde.

                                            Screenshot 2024-05-22 075739.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            157
                                            9432
                                            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