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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Hilfe bei debuggen einer übernommenen Funktion

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

      @bf0911 Einmal musst natürlich auch das komplette Objekt nach dem Einlesen in deine Flowvariable einlesen, das hatte ich noch vergessen:

      9d8089ab-208f-4623-b823-bcf01201b49d-image.png
      a0ce0b39-4273-404b-983f-32d7cc5780d7-image.png

      Ich frage mich nur im Nachhinein, warum Dein Skript alles mit globalen Variablen und x unterschiedlichen Flows gemacht hat. Wenn ich mir das bis jetzt so anschaue

      48333882-a1dd-4395-bf49-c7ea1ab4c2ef-image.png

      ist der Flow doch nicht so groß und komplex??

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            767
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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