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

      Ahh, verstehe. Dann habe ich es verstanden.

      Vielen, vielen Dank!

      mickym 1 Reply Last reply Reply Quote 0
      • 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
                                            • 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